Write standard operating procedures that a person or an agent can follow cold: scope and ownership, task decomposition, numbered steps with named actors, decision points, acceptance criteria, deviation handling, records, and a controlled review cycle. Use when someone asks for an SOP, a procedure document, work instructions for recurring work, or a rewrite of a vague procedure. For incident response use a runbook skill instead; for analysing a process use business process mapping.
./install.sh sop-writingname: sop_writing description: "Write standard operating procedures that a person or an agent can follow cold: scope and ownership, task decomposition, numbered steps with named actors, decision points, acceptance criteria, deviation handling, records, and a controlled review cycle. Use when someone asks for an SOP, a procedure document, work instructions for recurring work, or a rewrite of a vague procedure. For incident response use a runbook skill instead; for analysing a process use business process mapping."
An SOP is a controlled document for work that repeats. It fixes one approved way to do a task so that two competent people, or two agent runs, produce the same result. This skill covers the full job: deciding whether a task needs an SOP, breaking the work into steps, writing those steps so they can be followed without guessing, testing the draft on a real performer, and keeping the document current after it ships.
Know the neighbouring document types and pick the right one:
| Document | Job | Test | | --- | --- | --- | | Policy | States a rule and who it binds | Can you audit against it? | | SOP | Describes a recurring process end to end: who, what order, what counts as done | Can a trained newcomer run it start to finish? | | Work instruction | Covers one task inside an SOP in fine detail | Can someone do that single task from it alone? | | Runbook | Guides a response to a known failure or alert | Can a tired operator act on it at 3am? | | Checklist | Confirms steps were done, in order | Can each line be ticked yes or no? |
If the work happens once, write a plan. If it happens in response to an incident, write a runbook. If it repeats on a schedule or on demand, write an SOP.
Collect these facts first. Interview the person who does the work now, and watch one real run if you can. Notes from memory produce SOPs that describe the work people wish they did.
Decide the boundary. An SOP that covers three processes is three SOPs with cross references. One process, one document, one owner.
Break the process into phases, then into steps. Work down until each step passes three tests:
Group steps into phases of roughly five to nine steps. Name each phase for its outcome, for example "Verify the request" rather than "Step 1 part 2". Mark handoffs, waits, and approvals as their own steps, since that is where real processes stall.
Use assets/sop-template.md. Every SOP carries these sections, in this order:
Each step follows the same shape: actor, imperative verb, object, and the limit or standard that makes it checkable.
Rules for step text:
Every fork gets the same treatment: the condition, how the performer tests it, and where each answer leads.
Decision D2: Is the request total over 5,000?
- Test: read the Total field on the approved request form.
- Yes: route to the budget holder for approval (step 4.3), then continue at step 5.1.
- No: continue at step 5.1.
- Cannot tell: treat as Yes and note the reason in the run record.
Rules: give each decision an ID, state the default when the test cannot be run, and never let a branch end without a next step, an exit, or an escalation.
Acceptance criteria describe the finished output, not the effort. Write them so a person who did not do the work can check them in minutes:
Pair every criterion with the record that proves it. If a step matters, it leaves evidence. If it leaves no evidence, say so on purpose in the records section rather than by accident.
Real runs fail in predictable places: a system is down, an input is missing, a value falls outside every branch. For each likely failure, state who can authorise a workaround, what workaround is allowed, what is never allowed, and how the deviation gets recorded and reviewed. A deviation that is recorded is data for the next revision. A deviation that is hidden becomes the unofficial process.
Do not publish an untested SOP. Run both tests in references/review-checklists.md:
Fix the defects, then have the owner approve. Approval means the owner accepts the review date and the duty to keep the document true.
Review early when any trigger fires: the process changes, a tool or system changes, an incident traces back to the procedure, an audit raises a finding, the same deviation appears twice, or a performer reports a step that no longer matches reality. At review, the owner confirms the document still matches practice, folds recorded deviations into the text where they have become the real method, bumps the version, and logs the change in the revision history. Retire an SOP when the process ends, and say where its records live now.
For agent executed SOPs, add three fields to the run record: the agent or model identity, the inputs exactly as received, and any step where the agent stopped and asked a human. Agent runs drift in ways human runs do not, and the record is how you find out.
Deliver, in this order:
assets/sop-template.md, with no placeholder text left standing.A worked example ships in references/worked-example.md (refunding a duplicate charge). Match its level of detail: every step checkable, every branch closed, every run leaving a record.
[OWNER TO CONFIRM: ...] rather than guessing, and list every such marker in your delivery note.bin/check_sop.py <draft.md> before review. It flags missing sections, banned vague words, steps with no verb, and decision points with no default. Treat its output as a defect list, fix what it finds, and note any flag you accept on purpose.publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e
No ratings yet — be the first to rate it.