@evolvehq/docflow 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,82 @@
1
+ ---
2
+ name: new-adr
3
+ description: Author a new ADR — record a DECISION (what the system must do, or how it is built) in a documentation-led repo. Picks the next contiguous number, chooses the shape (capability vs technology), fills the template, sets status Proposed, regenerates INDEX, updates domain READMEs, handles supersede/deprecate linkage, commits. Use when the user says "add an ADR", "new ADR", "record a decision", "create an architecture decision record", or invokes /new-adr. NOT for queueing a unit of work against an existing decision (use /new-plan) and NOT for recording a reusable rule, practice, or naming/process standard (use /add-convention).
4
+ ---
5
+
6
+ # new-adr
7
+
8
+ Author one new ADR, consistent with this repo's conventions.
9
+
10
+ ## Step 0 — Preconditions and context
11
+
12
+ 1. Confirm the repo is bootstrapped: `AGENTS.md`, `CONVENTIONS.md`, and
13
+ an `adr/` directory with at least `adr/0000-template.md` must exist.
14
+ If not, stop and offer to run the **bootstrap** skill first.
15
+ 2. Read `CONVENTIONS.md` to learn this repo's choices: ADR shape
16
+ (single vs. capability/technology split and the cutoff number),
17
+ status lifecycle, language mandate (if any), whether `domains/`
18
+ groupings exist, and the multi-agent mode.
19
+ 3. Read `INDEX.md` and `ls adr/` to learn existing numbers and titles.
20
+
21
+ ## Step 1 — Determine shape and number
22
+
23
+ - **Shape.** If the repo uses a single ADR shape, use
24
+ `adr/0000-template.md`. If it uses the split, decide capability vs.
25
+ technology from the user's intent (what the system must do →
26
+ capability; how it is built → technology); confirm with the user if
27
+ ambiguous. Use `adr/0000-template.md` (capability) or the technology
28
+ template (`adr/NNNN-template.md`).
29
+ - **Number.** Next contiguous integer after the highest existing ADR,
30
+ zero-padded to 4 digits. No gaps, no reuse. For a split repo, keep
31
+ capability ADRs below the cutoff and technology ADRs at/above it.
32
+
33
+ ## Step 2 — Gather content
34
+
35
+ Ask for the pieces the chosen template needs, one prompt at a time:
36
+ - Title (sentence case), Context.
37
+ - Capability ADR: capability statement, user stories, **numbered,
38
+ testable** acceptance criteria.
39
+ - Technology ADR: decision, rationale (**name alternatives considered
40
+ and give specific rejection reasons** — reject "simpler"/"idiomatic"
41
+ as insufficient), consequences, acceptance criteria.
42
+
43
+ Honour the language mandate if one is set.
44
+
45
+ ## Step 3 — Supersede / deprecate (only if replacing an ADR)
46
+
47
+ If this ADR replaces an existing one:
48
+ - Set `supersedes:` on the new ADR and `superseded-by:` on the old.
49
+ - Advance the old ADR's `status:` to `Superseded`, append a Revision
50
+ History row noting the successor.
51
+ - A pure deprecation (no successor) sets the target to `Deprecated`
52
+ with a Revision History row — and is usually done directly, not via
53
+ this skill.
54
+
55
+ ## Step 4 — Write
56
+
57
+ - Copy the chosen template, fill all placeholders. Status `Proposed`,
58
+ today's date, owner = current agent/human.
59
+ - Seed the Revision History with an `r1 — Initial draft` row. Leave the
60
+ Approvals table empty (it populates on Accepted).
61
+ - **Do not invent acceptance criteria or rationale to fill space.** If
62
+ the user hasn't supplied enough to make a section meaningful, ask.
63
+
64
+ ## Step 5 — Wire up
65
+
66
+ - Regenerate `INDEX.md` from ADR metadata.
67
+ - If `domains/` exists, add the ADR to the owning domain's `README.md`
68
+ ADR list.
69
+ - Multi-agent mode 2: claim the file in `_agent/LOCKS.md` before
70
+ editing, remove on commit. Mode 3: you are on a branch/worktree.
71
+
72
+ ## Step 6 — Commit
73
+
74
+ Conventional Commit, `Rationale:` footer (this touches an ADR). No
75
+ `Co-Authored-By` trailer unless the repo's Git contract requires one.
76
+
77
+ ## Step 7 — Offer the next step
78
+
79
+ A new ADR is `Proposed`, not actionable yet. Offer to:
80
+ - Walk it to `Accepted` (populate Approvals, change status, regen INDEX)
81
+ when the user is ready; and
82
+ - Create a `plan/todo/` item for it (hand off to the **new-plan** skill).
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: new-plan
3
+ description: Queue a UNIT OF WORK in the plan/todo queue of a documentation-led repo, tracing to an existing ADR — names the owning ADR(s), scope, exit criteria mapped to acceptance criteria, dependencies, and queue position. Use when the user says "add a plan item", "queue this work", "create a todo for ADR X", "new plan", "put this on the backlog", or invokes /new-plan. NOT for recording the decision itself (use /new-adr) and NOT for shipping/completing an item already queued (use /ship-item).
4
+ ---
5
+
6
+ # new-plan
7
+
8
+ Add one item to the implementation queue.
9
+
10
+ ## Step 0 — Preconditions and context
11
+
12
+ 1. Confirm the repo is bootstrapped and a `plan/` queue exists. If the
13
+ repo was bootstrapped without a plan folder (Q4a = skip), stop and
14
+ say so — there is no queue to add to.
15
+ 2. Read `CONVENTIONS.md` for the plan-folder convention and the
16
+ completion event, and `plan/README.md` if present.
17
+ 3. `ls plan/todo/` to learn existing numbers and priority ordering.
18
+
19
+ ## Step 1 — Identify the owning ADR(s)
20
+
21
+ - Ask which ADR(s) this work implements. Validate they exist in
22
+ `adr/`.
23
+ - Normally a queue item tracks an **Accepted** ADR. If the named ADR is
24
+ still `Proposed`, warn — you can queue ahead of acceptance, but the
25
+ work is not yet authorised. If it has no ADR at all, suggest running
26
+ the **new-adr** skill first; plan items should trace to a decision.
27
+
28
+ ## Step 2 — Pick number and position
29
+
30
+ - `plan/todo/NNNN-<slug>.md`, zero-padded. **Lower numbers run first** —
31
+ ask where this sits in priority and renumber neighbours only if the
32
+ user wants it inserted ahead of existing items.
33
+
34
+ ## Step 3 — Write the item
35
+
36
+ The file names, at minimum:
37
+ - Owning ADR(s) by relative path.
38
+ - Scope — what is in, what is explicitly out.
39
+ - Exit criteria — map directly to the ADR's numbered acceptance
40
+ criteria where possible.
41
+ - Dependencies — other plan items or ADRs that must land first.
42
+
43
+ ## Step 4 — Commit
44
+
45
+ Conventional Commit. If the file references an ADR by number in its
46
+ body that is fine (the plan queue is internal — the ADR-privacy rule
47
+ only forbids ADR references in **user-visible product** surfaces).
@@ -0,0 +1,66 @@
1
+ ---
2
+ name: ship-item
3
+ description: Ship a plan/todo item in a documentation-led repo — run the verify gate, integrate per the repo's model (fast-forward or PR), git mv todo→done with a shipped footer, advance the owning ADR(s) to Implemented, regenerate INDEX, append WORKLOG, update the live snapshot. Use when the user says "ship this", "complete the plan item", "mark done", "close out the queue item", or invokes /ship-item.
4
+ ---
5
+
6
+ # ship-item
7
+
8
+ Execute the completion event for one queue item. This is the most
9
+ order-sensitive operation in the system — follow the steps exactly.
10
+
11
+ ## Step 0 — Preconditions and context
12
+
13
+ 1. Confirm the repo is bootstrapped with a `plan/` queue.
14
+ 2. Read `CONVENTIONS.md` and `AGENTS.md` for: the **integration model**
15
+ (direct-to-main fast-forward vs. PR-based with required CI), the
16
+ **verify gate** command, the **multi-agent mode**, and the Git
17
+ contract (signed commits, tags, trailers).
18
+
19
+ ## Step 1 — Select the item
20
+
21
+ Default to the lowest-numbered `plan/todo/` file, or the one the user
22
+ names. Read it and the owning ADR(s) in full.
23
+
24
+ ## Step 2 — Verify
25
+
26
+ Run the repo's verify gate. **Require a pass.** Do not bypass with
27
+ `--no-verify` or equivalent. If it fails, stop, surface the failure,
28
+ fix the root cause, re-run.
29
+
30
+ ## Step 3 — Integrate (per the repo's model)
31
+
32
+ - **Direct-to-main, fast-forward:** `git merge --ff-only <branch>` (or
33
+ the work is already on `main`), then `git push origin main`. The
34
+ verify gate ran locally in Step 2.
35
+ - **PR-based:** push the branch, `gh pr create --draft --fill`, wait
36
+ for CI green (`gh pr checks --watch`), `gh pr ready`, then
37
+ `gh pr merge` with the repo's strategy. Confirm the merge landed on
38
+ `main` before continuing.
39
+
40
+ ## Step 4 — Move the queue item
41
+
42
+ Once the change is on `main`:
43
+ - `git mv plan/todo/NNNN-<slug>.md plan/done/<YYYY-MM-DD>-<slug>.md`
44
+ (today's date prefix).
45
+ - Amend the moved file with a footer: **"Shipped at HEAD `<sha>`"** plus
46
+ any artefact id, image tag, deploy id, or PR link.
47
+
48
+ ## Step 5 — Advance the ADR(s) and regenerate
49
+
50
+ - Advance each owning ADR's `status:` from `Accepted` to `Implemented`.
51
+ - Append a Revision History row if the status change is substantive
52
+ (it is). Regenerate `INDEX.md` to match.
53
+
54
+ ## Step 6 — Record
55
+
56
+ - Append a one-line `_agent/WORKLOG.md` row: branch, HEAD, verify
57
+ result, any deferral.
58
+ - Update the live snapshot: `_agent/CURRENT_FOCUS.md` in single-checkout
59
+ modes; in worktree mode (Q5 mode 3) remove this worktree's row from
60
+ `_agent/IN_FLIGHT.md` instead (CURRENT_FOCUS is local-only there).
61
+
62
+ ## Step 7 — Commit
63
+
64
+ Conventional Commit, `Rationale:` footer (touches an ADR). Group the
65
+ move + status advance + INDEX + WORKLOG into one coherent commit where
66
+ possible so the completion event is atomic in history.