Manual/Going further
Skills and workflow mode
A skill is a packaged recipe for a kind of job — "review this code", "plan this feature", "diagnose this bug". moh loads a skill only when it is needed, and each one appears as a command that starts with a slash.
Workflow mode: the bundled recipes
moh ships with a complete set of skills for planning and delivering work. Turn them on with:
/workflow on
They then appear in the / menu. With /workflow off they disappear
and moh behaves exactly as before — the base behaviour never changes.
| Command | Use it to… |
|---|---|
/grilling | Be questioned about an idea until it is clear, before any code exists. |
/to-spec | Turn a clear idea into a written specification. |
/to-tickets | Break a specification into small, ordered tasks. |
/implement | Build a task, with tests — for example /implement #457 for an issue. |
/tdd | Work test first: a failing test, then the code that passes it. |
/code-review | Get a careful review of a change. |
/diagnosing-bugs | Track a bug down methodically instead of guessing. |
/report-bug, /triage | Write up a problem properly; sort incoming issues. |
/pr | Prepare a pull request. |
/retro | Review what to improve (see Retro). |
The set also includes /prototype, /research, /handoff,
/wait-what, /to-questionnaire and more; the workflow is a port of
the Matt Pocock agent workflow (plan, spec, tickets, implement, review). With workflow mode
on, ctrl+f opens the frontier panel: what is ready to work on
next.
Not sure which one? Ask
/ask-moh followed by a question in plain words points you to the right skill
or command — or answers questions about moh itself from this manual, telling you which
section it used. With no question, it shows an overview of which flow fits which
situation.
› /ask-moh how do I move this task to my other laptop? › /ask-moh I have a vague idea for a feature, where do I start?
Good to know
moh carries its own manual inside the program. Whenever you ask it about its own features, it reads that manual first and cites the page — and if no page covers the question, it says so instead of guessing.
Write your own skills
A skill is a short text file of instructions. Put yours in ~/.moh/skills/ (just
for you) or in the project's .moh/skills/ (for everyone on the project; the
project's version wins). It appears in the / menu like the bundled ones.
A skill can take arguments, filled in from the command you type:
› /releaser 1.2.3 draft=yes # inside the skill: $1 is "1.2.3", ${draft:-no} is "yes"
If you leave an argument out, moh pre-fills it in your message so you can complete it before sending.
Written for moh 0.61. Inside moh, ctrl+h opens the built-in manual for your exact version.
