@punks/cli 1.0.7 → 2.0.0-beta.0
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/AGENTS.md +4 -5
- package/README.md +1 -1
- package/dist/data/catalog/hooks.ts +7 -0
- package/dist/data/catalog/lint.ts +7 -21
- package/dist/data/catalog/packs.ts +263 -21
- package/dist/data/catalog/skills.ts +352 -38
- package/dist/data/hooks/require-tests-for-pr.mjs +206 -0
- package/dist/data/hooks.test.ts +29 -0
- package/dist/data/scripts/sync-subagents.mjs +64 -6
- package/dist/data/subagents/manifest.mjs +15 -49
- package/dist/index.js +14302 -3443
- package/dist/skills/agnostic/debug/debugging-phase/SKILL.md +87 -0
- package/dist/skills/agnostic/docs/docs-ingest-phase/SKILL.md +87 -0
- package/dist/skills/agnostic/docs/docs-ingest-phase/agents/openai.yaml +4 -0
- package/dist/skills/agnostic/docs/{docs-maintenance → docs-ingest-phase}/references/concept-pages.md +1 -1
- package/dist/skills/agnostic/docs/{docs-maintenance → docs-ingest-phase}/references/flow-pages.md +1 -1
- package/dist/skills/agnostic/docs/docs-ingest-phase/references/fumadocs-routing.md +88 -0
- package/dist/skills/agnostic/docs/docs-ingest-phase/references/repo-docs.md +38 -0
- package/dist/skills/agnostic/docs/docs-ingest-phase/references/wiki-ingest.md +131 -0
- package/dist/skills/agnostic/planning/create-plan/SKILL.md +11 -9
- package/dist/skills/agnostic/planning/create-spec/SKILL.md +20 -18
- package/dist/skills/agnostic/planning/delivery-phase/SKILL.md +82 -0
- package/dist/skills/agnostic/planning/goalify/EXAMPLES.md +72 -0
- package/dist/skills/agnostic/planning/goalify/SKILL.md +97 -0
- package/dist/skills/agnostic/planning/implement-spec/SKILL.md +3 -3
- package/dist/skills/agnostic/planning/implement-spec/assets/IMPLEMENTATION-NOTES-TEMPLATE.md +6 -0
- package/dist/skills/agnostic/planning/implement-spec/references/lifecycle.md +23 -2
- package/dist/skills/agnostic/planning/resolve-debt-phase/SKILL.md +87 -0
- package/dist/skills/agnostic/requirements/requirements-grill/SKILL.md +4 -3
- package/dist/skills/agnostic/requirements/requirements-grill/references/artifact-output.md +56 -2
- package/dist/skills/agnostic/requirements/requirements-grill/references/grilling-flow.md +16 -4
- package/dist/skills/agnostic/requirements/requirements-grill/references/wiki-output.md +6 -2
- package/dist/skills/agnostic/requirements/requirements-phase/SKILL.md +67 -0
- package/dist/skills/agnostic/research/review-phase/SKILL.md +99 -0
- package/package.json +16 -7
- package/dist/skills/agnostic/docs/docs-maintenance/SKILL.md +0 -193
- package/dist/skills/agnostic/docs/docs-maintenance/agents/openai.yaml +0 -4
- package/docs/README.md +0 -35
- package/docs/harness-intelligence-grill-log.md +0 -39
- package/docs/harness-intelligence-grill-status.md +0 -25
- package/docs/reference/dp-requirements.md +0 -225
- 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-
|
|
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
|
|
|
@@ -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.
|
|
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
|
-
##
|
|
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
|
|
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,
|
|
31
|
-
- Propose
|
|
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
|
|
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-
|
|
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
|