@punks/cli 1.0.7 → 2.0.0-beta.1

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.
Files changed (42) hide show
  1. package/AGENTS.md +4 -5
  2. package/README.md +2 -2
  3. package/dist/data/catalog/hooks.ts +7 -0
  4. package/dist/data/catalog/lint.ts +7 -21
  5. package/dist/data/catalog/packs.ts +263 -21
  6. package/dist/data/catalog/skills.ts +352 -38
  7. package/dist/data/hooks/require-tests-for-pr.mjs +206 -0
  8. package/dist/data/hooks.test.ts +29 -0
  9. package/dist/data/scripts/sync-subagents.mjs +64 -6
  10. package/dist/data/subagents/manifest.mjs +15 -49
  11. package/dist/index.js +14368 -3445
  12. package/dist/skills/agnostic/debug/debugging-phase/SKILL.md +87 -0
  13. package/dist/skills/agnostic/docs/docs-ingest-phase/SKILL.md +87 -0
  14. package/dist/skills/agnostic/docs/docs-ingest-phase/agents/openai.yaml +4 -0
  15. package/dist/skills/agnostic/docs/{docs-maintenance → docs-ingest-phase}/references/concept-pages.md +1 -1
  16. package/dist/skills/agnostic/docs/{docs-maintenance → docs-ingest-phase}/references/flow-pages.md +1 -1
  17. package/dist/skills/agnostic/docs/docs-ingest-phase/references/fumadocs-routing.md +88 -0
  18. package/dist/skills/agnostic/docs/docs-ingest-phase/references/repo-docs.md +38 -0
  19. package/dist/skills/agnostic/docs/docs-ingest-phase/references/wiki-ingest.md +131 -0
  20. package/dist/skills/agnostic/planning/create-plan/SKILL.md +11 -9
  21. package/dist/skills/agnostic/planning/create-spec/SKILL.md +20 -18
  22. package/dist/skills/agnostic/planning/delivery-phase/SKILL.md +82 -0
  23. package/dist/skills/agnostic/planning/goalify/EXAMPLES.md +72 -0
  24. package/dist/skills/agnostic/planning/goalify/SKILL.md +97 -0
  25. package/dist/skills/agnostic/planning/implement-spec/SKILL.md +3 -3
  26. package/dist/skills/agnostic/planning/implement-spec/assets/IMPLEMENTATION-NOTES-TEMPLATE.md +6 -0
  27. package/dist/skills/agnostic/planning/implement-spec/references/lifecycle.md +23 -2
  28. package/dist/skills/agnostic/planning/resolve-debt-phase/SKILL.md +87 -0
  29. package/dist/skills/agnostic/requirements/requirements-grill/SKILL.md +4 -3
  30. package/dist/skills/agnostic/requirements/requirements-grill/references/artifact-output.md +56 -2
  31. package/dist/skills/agnostic/requirements/requirements-grill/references/grilling-flow.md +16 -4
  32. package/dist/skills/agnostic/requirements/requirements-grill/references/wiki-output.md +6 -2
  33. package/dist/skills/agnostic/requirements/requirements-phase/SKILL.md +67 -0
  34. package/dist/skills/agnostic/research/review-phase/SKILL.md +99 -0
  35. package/package.json +17 -7
  36. package/dist/skills/agnostic/docs/docs-maintenance/SKILL.md +0 -193
  37. package/dist/skills/agnostic/docs/docs-maintenance/agents/openai.yaml +0 -4
  38. package/docs/README.md +0 -35
  39. package/docs/harness-intelligence-grill-log.md +0 -39
  40. package/docs/harness-intelligence-grill-status.md +0 -25
  41. package/docs/reference/dp-requirements.md +0 -225
  42. package/docs/runbooks/dp-cli-scaffolding.md +0 -261
@@ -0,0 +1,72 @@
1
+ # Goalify Examples
2
+
3
+ Use these as structure, not fixed templates. Keep the generated goal prompt matched to the user context.
4
+
5
+ ## Delivery-Style Goal
6
+
7
+ ```text
8
+ /goal Deliver <objective> in <repo/path> without stopping until the implementation is reviewed, validated, and documented or a concrete blocker is proven.
9
+
10
+ Scope:
11
+ - repo/path: <path>
12
+ - in scope: <bounded changes>
13
+ - out of scope: <explicit non-goals>
14
+
15
+ Use these skills/tools:
16
+ - <skills/phases/tools named by context>
17
+
18
+ Read first:
19
+ - <handoff/spec/plan/issue paths>
20
+ - repo AGENTS.md and relevant scoped AGENTS.md files
21
+
22
+ Pinned context:
23
+ - <architecture decisions, invariants, branch constraints>
24
+
25
+ Workflow:
26
+ 1. Inspect read-first sources and confirm scope.
27
+ 2. Reuse or create required artifacts.
28
+ 3. Implement in checkpoints.
29
+ 4. Review changed work.
30
+ 5. Debug only when validation produces runtime evidence.
31
+ 6. Run docs ingest or record why it is not needed.
32
+
33
+ Validation:
34
+ - <exact commands/scenarios/artifacts>
35
+
36
+ Stopping condition:
37
+ - Done when <verifiable end state>.
38
+ - Stop early only if <concrete blocker condition>.
39
+
40
+ Progress reports:
41
+ - Report current checkpoint, what was verified, what remains, and whether blocked.
42
+
43
+ Final report:
44
+ - Changed files, validation evidence, unresolved questions, and follow-up goals if split.
45
+ ```
46
+
47
+ ## Debugging-Style Goal
48
+
49
+ ```text
50
+ /goal Debug <broken behavior> in <repo/path> until the failing scenario passes with evidence or a concrete external blocker is proven.
51
+
52
+ Read first:
53
+ - <logs/handoff/issues/specs>
54
+
55
+ Inputs:
56
+ - <recordings, commands, browser paths, fixtures>
57
+
58
+ Workflow:
59
+ 1. Build an evidence matrix for expected vs observed behavior.
60
+ 2. Reproduce the failure with the closest existing harness.
61
+ 3. Inspect logs and runtime events before patching.
62
+ 4. Patch only the proven cause.
63
+ 5. Add or update focused regression coverage.
64
+ 6. Rerun the failing scenario and targeted tests.
65
+
66
+ Validation:
67
+ - <commands/scenarios/log evidence>
68
+
69
+ Stopping condition:
70
+ - Done when <scenario> passes and evidence shows <events/outputs>.
71
+ - Stop early only if <missing input/access/external service blocker>.
72
+ ```
@@ -0,0 +1,97 @@
1
+ ---
2
+ name: goalify
3
+ description: Compile messy intent, handoffs, issues, logs, specs, or notes into a ready-to-paste `/goal` prompt with a durable objective and verifiable stopping condition. Use when the user asks to goalify a task, write a goal prompt, prepare goal mode, or turn context into a long-running Codex goal.
4
+ ---
5
+
6
+ # Goalify
7
+
8
+ `goalify` is a prompt compiler. It produces a `/goal` prompt; it does not run the
9
+ goal unless the user explicitly asks.
10
+
11
+ ## Use When
12
+
13
+ - The user asks to "goalify", "write the goal prompt", "prepare a goal", or "turn this into a goal".
14
+ - The input includes messy scope, handoffs, tracker issues, specs, plans, logs, recordings, evals, examples, or repo notes.
15
+ - The work is long-running enough to need independent Codex progress across turns.
16
+ - The desired output is a self-contained goal-mode contract.
17
+
18
+ ## Do Not Use When
19
+
20
+ - The user wants immediate execution, not a prompt.
21
+ - The task is tiny enough for one normal turn.
22
+ - Requirements are still materially unresolved; use requirements discovery first.
23
+ - You cannot name one objective, one stopping condition, and at least one validation signal.
24
+
25
+ ## Goal Criteria
26
+
27
+ Every generated goal prompt must include:
28
+
29
+ - one durable objective
30
+ - exact repo, path, branch, worktree, or environment when known
31
+ - scope and non-goals
32
+ - read-first sources
33
+ - relevant skills, tools, phases, or plugins from the supplied context
34
+ - pinned constraints, invariants, and guardrails
35
+ - workflow checkpoints
36
+ - validation commands, scenarios, or artifacts
37
+ - evidence expectations
38
+ - stopping condition
39
+ - early-stop or blocker conditions
40
+ - progress-report expectations
41
+ - final-report expectations
42
+
43
+ ## Workflow
44
+
45
+ 1. **Collect context.**
46
+ - Read supplied handoffs, issues, specs, plans, logs, examples, and scoped repo guidance when available.
47
+ - Preserve exact paths, issue ids, commands, URLs, recordings, and artifact names.
48
+ - If sources conflict, prefer repo/spec/log evidence over stale summaries.
49
+ 2. **Normalize the objective.**
50
+ - Reduce the request to one durable objective.
51
+ - Keep adjacent wishes as non-goals, follow-ups, or blocker conditions.
52
+ - If one objective cannot be named, ask one clarifying question instead of drafting.
53
+ 3. **Define proof.**
54
+ - Name what proves progress and what proves done.
55
+ - Prefer commands, test suites, browser checks, route generation, eval scores, scenario matrices, or log/event evidence.
56
+ - If proof is manual, state the exact human-verifiable scenario.
57
+ 4. **Compile the prompt.**
58
+ - Use [EXAMPLES.md](EXAMPLES.md) for structure.
59
+ - Include only context the future goal runner needs.
60
+ - Make the prompt self-contained enough to survive compaction.
61
+ 5. **Review before returning.**
62
+ - Confirm the prompt has one objective and one stopping condition.
63
+ - Confirm it says what to read first.
64
+ - Confirm it tells Codex when to stop early.
65
+ - Confirm validation is explicit, not "make sure it works".
66
+
67
+ ## Output Contract
68
+
69
+ Return:
70
+
71
+ 1. A ready-to-paste `/goal ...` prompt in a fenced `text` block.
72
+ 2. A short note listing any assumptions or missing inputs.
73
+ 3. No execution, no file edits, no tracker updates, and no commits unless separately requested.
74
+
75
+ ## Prompt Sections
76
+
77
+ Use these headings when they fit:
78
+
79
+ - Objective
80
+ - Scope
81
+ - Use these skills/tools
82
+ - Read first
83
+ - Pinned context
84
+ - Workflow
85
+ - Validation
86
+ - Stopping condition
87
+ - Progress reports
88
+ - Final report
89
+ - Guardrails
90
+
91
+ ## Gotchas
92
+
93
+ - Do not hardcode project-specific phase families; use the skills/phases named by the context.
94
+ - Do not turn a backlog grab bag into one goal. Split or ask.
95
+ - Do not bury the stopping condition near the end in vague prose.
96
+ - Do not include secrets, private tokens, or unnecessary personal data.
97
+ - Do not tell the future runner to mutate test inputs, recordings, fixtures, or handoffs unless the user explicitly asks.
@@ -11,9 +11,9 @@ description: Implement an approved spec folder while keeping `IMPLEMENTATION-NOT
11
11
  - **Entrypoint type:** public entrypoint
12
12
  - **Upstream:** reviewed spec folder with `SPEC.md` and `PLAN.md`
13
13
  - **Delegates to:** `$tdd`, `$simplify`, and internal worker orchestration in parallel mode
14
- - **Downstream:** `docs-maintenance` when the resulting spec folder should be ingested into domain knowledge
14
+ - **Downstream:** `docs-ingest-phase` when the resulting spec folder should be ingested into domain knowledge
15
15
  - **Entry conditions:** existing reviewed spec folder; stop and use `create-plan` if `PLAN.md` is missing
16
- - **Stop conditions:** shared acceptance audit complete, spec folder finalized, blocked work reported honestly
16
+ - **Stop conditions:** shared acceptance audit complete, final manual review checklist written, spec folder finalized, blocked work reported honestly
17
17
 
18
18
  ## Required Inner Skills
19
19
 
@@ -45,7 +45,7 @@ That means `implement-spec` itself owns all of the following in parallel mode:
45
45
  5. Execute only the chosen mode. Do not mix modes inside one run.
46
46
  6. After each completed task or wave, update `PLAN.md`, `IMPLEMENTATION-NOTES.md`, and spec-linked tech debt before advancing.
47
47
  7. If backlog sync is in scope, keep epic/story bodies product-facing and use native metadata or comments instead of execution handoff rewrites.
48
- 8. Finish with the shared acceptance audit and spec finalization contract.
48
+ 8. Finish with the shared acceptance audit, manual review checklist, and spec finalization contract.
49
49
 
50
50
  ## Mode selection
51
51
 
@@ -28,6 +28,12 @@
28
28
  |-----------|--------|-------|
29
29
  | | | |
30
30
 
31
+ ## Manual Review Checklist
32
+
33
+ | Area | Check | How to perform | Expected result |
34
+ |------|-------|----------------|-----------------|
35
+ | | | | |
36
+
31
37
  ## Pre-existing Issues
32
38
 
33
39
  -
@@ -126,18 +126,38 @@ Re-read `SPEC.md` acceptance criteria and mark each one:
126
126
 
127
127
  Record a reason for every unmet or blocked item in `IMPLEMENTATION-NOTES.md`.
128
128
 
129
- ## 11. Finalize the spec folder
129
+ ## 11. Write the manual review checklist
130
+
131
+ Before finalization, `IMPLEMENTATION-NOTES.md` must contain `## Manual Review Checklist`.
132
+
133
+ This section is a user handoff checklist, not an agent completion tracker. Derive it from completed tasks, `review_mode`, `tdd_target`, acceptance criteria, touched public surfaces, deviations, and risky integrations.
134
+
135
+ Use exactly this table shape:
136
+
137
+ | Area | Check | How to perform | Expected result |
138
+ |------|-------|----------------|-----------------|
139
+
140
+ Rules:
141
+
142
+ - Browser or mixed review tasks must include concrete user flows to try end to end.
143
+ - CLI review tasks must include exact commands, fixtures, or scenarios the user can rerun.
144
+ - Include manual-only checks for product behavior, visual review, integration smoke, tracker/docs review, or anything automation cannot prove.
145
+ - Empty checklist sections are invalid.
146
+ - If no manual review applies, write one explicit row explaining why there is no user-verifiable surface.
147
+
148
+ ## 12. Finalize the spec folder
130
149
 
131
150
  Before reporting back:
132
151
 
133
152
  - remove empty sections from `IMPLEMENTATION-NOTES.md`
134
153
  - ensure **Execution mode** reflects the mode actually used
135
154
  - ensure **Sanity checks** lists only commands actually run
155
+ - ensure **Manual Review Checklist** has at least one concrete row, or one explicit non-applicability row
136
156
  - ensure **Remaining work** matches any unmet or blocked criteria
137
157
  - set `SPEC.md` frontmatter `status: implemented`
138
158
  - set `PLAN.md` `**Status:** Complete` when that line exists
139
159
 
140
- ## 12. Final report shape
160
+ ## 13. Final report shape
141
161
 
142
162
  Summarize:
143
163
 
@@ -145,5 +165,6 @@ Summarize:
145
165
  - validation results
146
166
  - key deviations or surprises
147
167
  - acceptance-criteria status
168
+ - manual review checklist
148
169
  - blocked tasks needing input
149
170
  - whether the spec-linked tech-debt file was created or updated
@@ -0,0 +1,87 @@
1
+ ---
2
+ name: resolve-debt-phase
3
+ description: Resolves one candidate or accepted tech debt item through validation, resolution spec creation, delivery, and closeout. Use when the user asks to resolve a tech debt entry, process a debt candidate, or continue from a canonical `docs/reference/tech-debt/<domain>/<spec>/<debt-slug>.md` artifact.
4
+ ---
5
+
6
+ # Resolve Debt Phase
7
+
8
+ ## Contract
9
+
10
+ - **Role:** public lifecycle entrypoint for one tech debt phase item
11
+ - **Scope:** one candidate or accepted debt item, never generic debt management
12
+ - **Canonical input:** `docs/reference/tech-debt/<domain>/<spec>/<debt-slug>.md`
13
+ - **Source of truth:** debt file; backlog mirrors are secondary and may be stale
14
+ - **Delegates to:** `$parallel-research` for independent readonly checks; `$create-spec` or equivalent spec workflow for accepted debt; `$delivery-phase` for implementation
15
+ - **Stop conditions:** draft decision requested, accepted item handed to delivery, resolved item no-oped, or completed item marked resolved with links
16
+
17
+ ## Use When
18
+
19
+ - The user provides or points to one tech debt artifact under `docs/reference/tech-debt/`.
20
+ - The user asks to validate, accept, delete, or resolve one debt candidate.
21
+ - The user asks to continue an accepted tech debt item into implementation.
22
+
23
+ ## Do Not Use When
24
+
25
+ - Creating a broad debt register, backlog cleanup, or multi-item debt campaign.
26
+ - Resolving normal feature work with no canonical debt file.
27
+ - The backlog issue is the only artifact and no debt file can be found or created by the owning workflow.
28
+
29
+ ## Workflow
30
+
31
+ 1. Locate the debt file at `docs/reference/tech-debt/<domain>/<spec>/<debt-slug>.md`; stop if multiple items are implied.
32
+ 2. Read the debt file first and extract status, domain, originating spec, linked backlog mirror, evidence, and proposed resolution.
33
+ 3. Treat the debt file as canonical. Use backlog mirrors only to sync status or discover context.
34
+ 4. Branch by status: `draft`, `accepted`, or `resolved`. If missing or ambiguous, inspect context and ask before changing state.
35
+
36
+ ## Status Handling
37
+
38
+ ### `draft`
39
+
40
+ Run readonly validation before asking for a lifecycle decision.
41
+
42
+ 1. Inspect the debt file.
43
+ 2. Inspect original `SPEC.md`, `PLAN.md`, `IMPLEMENTATION-NOTES.md`, review notes, and related docs.
44
+ 3. Inspect current code, tests, runtime logs, docs, and external evidence needed to prove whether the debt is real, stale, already fixed, or underspecified.
45
+ 4. Use `$parallel-research` when checks can run independently across code, docs, tests, runtime evidence, or external sources.
46
+ 5. Synthesize evidence with citations to local files, commands, logs, or sources.
47
+ 6. Ask the user to choose exactly one: accept, delete, or authorize more research.
48
+
49
+ Do not create a resolution spec from a `draft` item until the user accepts it.
50
+
51
+ ### `accepted`
52
+
53
+ Move the one accepted item toward delivery.
54
+
55
+ 1. Create or update a debt-resolution spec tied to the original domain/spec and debt slug.
56
+ 2. The resolution spec must state the initial debt, why it matters, the bounded fix, non-goals, acceptance checks, and closeout requirements.
57
+ 3. Run `$delivery-phase` against that resolution spec.
58
+ 4. Keep implementation work scoped to resolving the accepted item, not adjacent cleanup.
59
+
60
+ ### `resolved`
61
+
62
+ No-op by default.
63
+
64
+ - Report that the item is already resolved.
65
+ - Include the resolution spec and implementation notes links if present.
66
+ - Inspect history only when the user explicitly asks.
67
+
68
+ ## After Delivery
69
+
70
+ When delivery finishes:
71
+
72
+ 1. Update the debt file status to `resolved`.
73
+ 2. Link the resolution spec.
74
+ 3. Link implementation notes or final delivery evidence.
75
+ 4. Record validation commands and outcomes.
76
+ 5. Sync the backlog mirror when available, without treating it as source of truth.
77
+ 6. Report any residual follow-up as new debt only if it is distinct from the resolved item.
78
+
79
+ ## Output Contract
80
+
81
+ Always report:
82
+
83
+ - debt file path and status before/after
84
+ - evidence inspected or validation performed
85
+ - decision requested for `draft`, handoff/result for `accepted`, or no-op reason for `resolved`
86
+ - resolution spec and implementation notes links when present
87
+ - backlog mirror sync outcome when available
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  name: requirements-grill
3
- description: Runs rigorous requirements grilling, persists branch decisions, and optionally synthesizes high-level wiki knowledge. Use when the user wants a long design interview, product/architecture requirements discovery, branch-by-branch decision closure, compaction-safe grill logs/status updates, or wiki synthesis from grilled requirements.
3
+ description: Runs rigorous requirements grilling, pins glossary/axiom decisions, persists branch decisions, and optionally synthesizes high-level wiki knowledge. Use when the user wants a long design interview, product/architecture requirements discovery, branch-by-branch decision closure, canonical terminology, compaction-safe grill logs/status updates, or wiki synthesis from grilled requirements.
4
4
  ---
5
5
 
6
6
  # Requirements Grill
7
7
 
8
- Use this skill to turn uncertain product, architecture, or implementation ideas into pinned requirements that can feed backlog/user-story creation.
8
+ Use this skill to turn uncertain product, architecture, or implementation ideas into pinned requirements, canonical glossary, and domain axioms that can feed backlog/user-story creation.
9
9
 
10
10
  This skill has three scoped references:
11
11
 
@@ -21,7 +21,7 @@ Use wiki synthesis when the user asks to persist closed grill decisions into `ap
21
21
 
22
22
  Both workflows can happen in one long session, but keep the responsibilities distinct:
23
23
 
24
- - `docs/<topic>-grill-log.md` and `docs/<topic>-grill-status.md` are the detailed requirements record
24
+ - `docs/<topic>-grill-log.md` and `docs/<topic>-grill-status.md` are the detailed requirements and glossary record
25
25
  - `apps/wiki/domains/` is synthesized domain knowledge
26
26
  - backlog/user-story creation is the next phase after the grill gate, outside this skill's scope
27
27
 
@@ -31,6 +31,7 @@ Both workflows can happen in one long session, but keep the responsibilities dis
31
31
  - For every question, provide a recommended answer and the reason for it.
32
32
  - Inspect code/docs first when the answer can be found locally.
33
33
  - Challenge conflicting glossary, vague terms, and hidden tradeoffs immediately.
34
+ - Pin canonical terms, rejected aliases, relationships, and domain axioms as decisions crystallize.
34
35
  - Prefer conservative defaults once enough context exists.
35
36
  - If the user authorizes auto-pinning defaults, close obvious remaining decisions without needless extra questions.
36
37
  - Treat parked branches as preserved knowledge, not deleted scope.
@@ -12,7 +12,7 @@ At the start of a serious grilling session, create or reuse:
12
12
  - `docs/<topic>-grill-status.md`
13
13
 
14
14
  The log is the durable decision record.
15
- The status file is the current branch dashboard.
15
+ The status file is the current branch dashboard plus the current glossary snapshot.
16
16
 
17
17
  ## Grill Log Contract
18
18
 
@@ -34,6 +34,23 @@ Group related decisions under branch headings.
34
34
 
35
35
  When the user changes an earlier decision, add a new entry that explicitly supersedes the old one.
36
36
 
37
+ Record glossary decisions in the log when terms or axioms are first pinned:
38
+
39
+ ```md
40
+ ### Glossary Q<N>
41
+
42
+ Question:
43
+ <terminology or axiom question>
44
+
45
+ Accepted answer:
46
+ - Canonical term: **<Term>** — <one-sentence definition>
47
+ - Avoid: <alias>, <alias>
48
+ - Relationship: **<Term>** <relationship> **<Other Term>**
49
+ - Axiom: <domain invariant that should not be re-debated>
50
+ ```
51
+
52
+ Omit unused fields. If a later answer changes the glossary, add a superseding entry instead of rewriting history.
53
+
37
54
  ## Status File Contract
38
55
 
39
56
  Maintain a compact branch dashboard with:
@@ -43,6 +60,9 @@ Maintain a compact branch dashboard with:
43
60
  - locked direction
44
61
  - still-open items
45
62
  - parked branches
63
+ - glossary snapshot
64
+ - pinned axioms
65
+ - flagged ambiguities
46
66
 
47
67
  Completion percentages are working signals:
48
68
 
@@ -52,12 +72,46 @@ Completion percentages are working signals:
52
72
  - `100%`: design closed; remaining work is implementation/tuning
53
73
  - `parked`: preserved for later, out of current scope
54
74
 
75
+ ## Glossary Snapshot Contract
76
+
77
+ Keep the status file glossary compact and current:
78
+
79
+ ```md
80
+ ## Glossary
81
+
82
+ ### Terms
83
+
84
+ - **<Term>**: <one-sentence definition>
85
+ Avoid: <alias>, <alias>
86
+
87
+ ### Relationships
88
+
89
+ - **<Term>** belongs to exactly one **<Other Term>**
90
+
91
+ ### Axioms
92
+
93
+ - <Domain invariant accepted during the grill>
94
+
95
+ ### Flagged Ambiguities
96
+
97
+ - "<ambiguous word>" was used to mean both **<Term A>** and **<Term B>**. Resolution: <decision>.
98
+ ```
99
+
100
+ Rules:
101
+
102
+ - Be opinionated: pick one canonical term.
103
+ - Keep definitions to one sentence.
104
+ - Include only terms meaningful to product/domain experts in this grill.
105
+ - Prefer status-file updates for the current glossary; use log entries for the decision trail.
106
+ - Group terms under subheadings only when clusters are natural.
107
+ - Add a short example dialogue only when it clarifies a boundary that keeps recurring.
108
+
55
109
  ## Branch Closure
56
110
 
57
111
  When a branch closes:
58
112
 
59
113
  1. Update the grill log with final accepted decisions.
60
- 2. Update the status file percentage and open items.
114
+ 2. Update the status file percentage, open items, glossary snapshot, axioms, and ambiguities.
61
115
  3. If the branch changes durable domain/product knowledge, run the wiki-output workflow.
62
116
  4. Say exactly what changed and which artifacts were updated.
63
117
 
@@ -27,14 +27,15 @@ Walk the design tree branch by branch until each branch is:
27
27
 
28
28
  Challenge glossary:
29
29
 
30
- - If a term conflicts with existing specs, docs, or code language, call it out.
31
- - Propose the canonical term.
32
- - Make the user choose.
30
+ - If a term conflicts with existing specs, docs, code language, or the grill status glossary, call it out.
31
+ - Propose one canonical term and the aliases to avoid.
32
+ - Make the user choose, then update the glossary sections in the grill artifacts.
33
33
 
34
34
  Sharpen vague language:
35
35
 
36
36
  - Identify overloaded words.
37
- - Replace fuzzy language with explicit states, enum values, ownership boundaries, or lifecycle rules.
37
+ - Replace fuzzy language with explicit terms, states, enum values, ownership boundaries, lifecycle rules, or domain axioms.
38
+ - When the user decides an invariant that should not be re-debated, capture it as an axiom.
38
39
 
39
40
  Discuss concrete scenarios:
40
41
 
@@ -46,6 +47,17 @@ Cross-check with code:
46
47
  - Verify user claims against local code when possible.
47
48
  - Surface contradictions instead of smoothing them over.
48
49
 
50
+ ## Glossary Discipline
51
+
52
+ Keep glossary pressure inside the active grill loop:
53
+
54
+ - Only add project/domain-specific terms; skip generic programming words.
55
+ - Define what the term is in one sentence, not how it is implemented.
56
+ - Record avoided aliases when competing words exist.
57
+ - Record relationships between terms, including cardinality when obvious.
58
+ - Record flagged ambiguities with the resolution that closed them.
59
+ - Treat glossary corrections from the user as authoritative and update the artifacts immediately.
60
+
49
61
  ## Conservative Closure
50
62
 
51
63
  When the user asks to reduce scope or stop widening the design:
@@ -14,6 +14,7 @@ Read status first to understand:
14
14
  - active and parked branches
15
15
  - branch completion
16
16
  - current locked direction
17
+ - current glossary, relationships, axioms, and flagged ambiguities
17
18
  - remaining non-design validation work
18
19
 
19
20
  Read log second to extract:
@@ -22,12 +23,13 @@ Read log second to extract:
22
23
  - superseded decisions
23
24
  - branch closure notes
24
25
  - exact canonical terms
26
+ - why glossary or axiom choices changed
25
27
 
26
28
  ## Ownership
27
29
 
28
30
  `requirements-grill` owns wiki synthesis from grilled requirements.
29
31
 
30
- `docs-maintenance` owns formal spec ingest and ordinary docs upkeep.
32
+ `docs-ingest-phase` owns formal spec ingest and ordinary docs upkeep.
31
33
 
32
34
  ## What Belongs In Wiki
33
35
 
@@ -38,6 +40,8 @@ Good wiki targets:
38
40
  - product scope
39
41
  - user-visible modes and behaviors
40
42
  - high-level features
43
+ - canonical domain glossary and relationships
44
+ - domain axioms that constrain future design
41
45
  - conversation model
42
46
  - lifecycle concepts
43
47
  - memory model
@@ -79,7 +83,7 @@ Keep `docs/` as the detailed design record.
79
83
  Use `apps/wiki/domains/` for synthesized domain knowledge.
80
84
 
81
85
  Do not duplicate the full grill log in wiki pages.
82
- Summarize stable meaning and link back to source docs when useful.
86
+ Summarize stable meaning, glossary, and axioms; link back to source docs when useful.
83
87
 
84
88
  ## Bookkeeping
85
89
 
@@ -0,0 +1,67 @@
1
+ ---
2
+ name: requirements-phase
3
+ description: Orchestrates the human-centric requirements phase from ambiguity through requirements-grill artifacts into backlog shape. Use when the user asks to run a requirements phase, move from discovery to backlog, close requirement branches, decide whether backlog writing is ready, or coordinate requirements-grill with write-backlog.
4
+ ---
5
+
6
+ # Requirements Phase
7
+
8
+ Human-centric discovery wrapper for `requirements-grill -> write-backlog`.
9
+
10
+ Normally do not create or update a formal agent goal. This phase is an interview and decision-closure loop, not execution delivery.
11
+
12
+ ## Use when
13
+
14
+ - The user asks for a requirements phase, requirements discovery, or backlog readiness.
15
+ - Ambiguity needs to become grill branches, glossary, axioms, parked scope, and closure decisions.
16
+ - Existing `*-grill-status.md` / `*-grill-log.md` artifacts need to drive backlog/module/epic/story shape.
17
+ - The user wants to know whether to keep grilling, park scope, or write/sync backlog.
18
+
19
+ ## Do not use when
20
+
21
+ - The user asks to write `SPEC.md`, `PLAN.md`, implementation notes, code, tests, PRs, or delivery execution.
22
+ - The next step is already an approved spec/plan/implementation task. Use delivery-phase or the specific delivery skill instead.
23
+ - The user wants only a tactical backlog formatting pass from already-closed requirements. Use `write-backlog` directly.
24
+
25
+ ## Workflow
26
+
27
+ 1. Establish phase state.
28
+ - Identify the topic, source artifacts, current backlog target/provider, and any explicit scope boundary.
29
+ - If grill artifacts exist, read status first, then log.
30
+ - State assumptions and known unresolved branches tersely.
31
+
32
+ 2. Route to `requirements-grill` while decisions are open.
33
+ - Let `requirements-grill` own HITL interviewing.
34
+ - Ask one question at a time with a recommended answer and why.
35
+ - Turn ambiguity into named branches, branch percentages, accepted decisions, rejected/superseded decisions, glossary entries, axioms, and parked scope.
36
+ - Do not write backlog while major branches remain open unless the user explicitly parks them.
37
+
38
+ 3. Decide backlog readiness.
39
+ - Backlog-ready means active branches are closed enough for module/epic/story shaping, and unresolved branches are either non-blocking, explicitly parked, or recorded as follow-up scope.
40
+ - If not ready, continue grilling or report the exact blocker branches.
41
+ - If ready, hand off to `write-backlog`.
42
+
43
+ 4. Run `write-backlog` only after readiness.
44
+ - Derive modules first, then epics/capabilities, then stories.
45
+ - Use accepted decisions and locked direction only.
46
+ - Preserve parked scope and unresolved items as deferred notes, not silent backlog content.
47
+ - Sync or draft provider payloads only when the user requested backlog write/sync.
48
+
49
+ 5. Stop at the requirements boundary.
50
+ - Do not create specs, plans, implementation tasks, or code changes from this phase.
51
+ - Recommend delivery-phase only after backlog state is clear.
52
+
53
+ ## Output contract
54
+
55
+ End with one of these states:
56
+
57
+ - `backlog-ready`: branches closed or parked enough; backlog can be written next.
58
+ - `backlog-written`: backlog hierarchy/payloads were produced or synced.
59
+ - `parked`: requirements are intentionally unresolved; parked scope and resume trigger are explicit.
60
+ - `blocked`: named branches still need human decisions before backlog writing.
61
+
62
+ Include:
63
+
64
+ - active, closed, parked, and unresolved branches
65
+ - glossary and axiom changes, if any
66
+ - backlog module/epic/story implications, if known
67
+ - next recommended action: continue grill, write/sync backlog, park, or move to delivery-phase