@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.
- package/LICENSE +21 -0
- package/README.md +188 -0
- package/USAGE.md +289 -0
- package/package.json +31 -0
- package/skills/add-convention/SKILL.md +61 -0
- package/skills/agent-wave/SKILL.md +89 -0
- package/skills/audit/SKILL.md +65 -0
- package/skills/bootstrap/SKILL.md +347 -0
- package/skills/bootstrap/templates/AGENTS.md +157 -0
- package/skills/bootstrap/templates/CLAUDE.md +1 -0
- package/skills/bootstrap/templates/CONVENTIONS.md +165 -0
- package/skills/bootstrap/templates/_agent-CURRENT_FOCUS.md +32 -0
- package/skills/bootstrap/templates/_agent-HANDOFF.md +28 -0
- package/skills/bootstrap/templates/_agent-IN_FLIGHT.md +16 -0
- package/skills/bootstrap/templates/_agent-LOCKS.md +17 -0
- package/skills/bootstrap/templates/_agent-ROLES.md +23 -0
- package/skills/bootstrap/templates/_agent-WORKLOG.md +16 -0
- package/skills/bootstrap/templates/_agent-prompts-autonomous.md +100 -0
- package/skills/bootstrap/templates/adr-capability.md +58 -0
- package/skills/bootstrap/templates/adr-technology.md +67 -0
- package/skills/bootstrap/templates/plan-README.md +37 -0
- package/skills/brainstorm/SKILL.md +56 -0
- package/skills/new-adr/SKILL.md +82 -0
- package/skills/new-plan/SKILL.md +47 -0
- package/skills/ship-item/SKILL.md +66 -0
|
@@ -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.
|