project-workflow 0.2.0__py3-none-any.whl
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.
- project_workflow/__init__.py +5 -0
- project_workflow/_version.py +3 -0
- project_workflow/cli.py +10076 -0
- project_workflow/codex/AGENTS.md +131 -0
- project_workflow/codex/skills/project-backlog/SKILL.md +104 -0
- project_workflow/codex/skills/project-clarify/SKILL.md +47 -0
- project_workflow/codex/skills/project-constitution/SKILL.md +62 -0
- project_workflow/codex/skills/project-delegate/SKILL.md +38 -0
- project_workflow/codex/skills/project-epic/SKILL.md +121 -0
- project_workflow/codex/skills/project-fix/SKILL.md +49 -0
- project_workflow/codex/skills/project-implement/SKILL.md +46 -0
- project_workflow/codex/skills/project-planner/SKILL.md +69 -0
- project_workflow/codex/skills/project-qa-review/SKILL.md +44 -0
- project_workflow/codex/skills/project-requirements/SKILL.md +60 -0
- project_workflow/codex/skills/project-retro/SKILL.md +46 -0
- project_workflow/codex/skills/project-smoke-bomb/SKILL.md +58 -0
- project_workflow/codex/skills/project-task/SKILL.md +73 -0
- project_workflow/cursor/rules/project-workflow.mdc +75 -0
- project_workflow/prompts/Backlog.prompt.md +90 -0
- project_workflow/prompts/Clarify.prompt.md +137 -0
- project_workflow/prompts/Constitution.prompt.md +115 -0
- project_workflow/prompts/Delegate.prompt.md +48 -0
- project_workflow/prompts/Epic.prompt.md +210 -0
- project_workflow/prompts/Fix.prompt.md +58 -0
- project_workflow/prompts/Implement.prompt.md +99 -0
- project_workflow/prompts/Planner.prompt.md +157 -0
- project_workflow/prompts/QAReview.prompt.md +86 -0
- project_workflow/prompts/Requirements.prompt.md +205 -0
- project_workflow/prompts/Retro.prompt.md +70 -0
- project_workflow/prompts/SmokeBomb.prompt.md +14 -0
- project_workflow/prompts/Task.prompt.md +99 -0
- project_workflow/templates/workflow +7 -0
- project_workflow/templates/workflow.py +10076 -0
- project_workflow-0.2.0.dist-info/METADATA +599 -0
- project_workflow-0.2.0.dist-info/RECORD +39 -0
- project_workflow-0.2.0.dist-info/WHEEL +5 -0
- project_workflow-0.2.0.dist-info/entry_points.txt +2 -0
- project_workflow-0.2.0.dist-info/licenses/LICENSE +21 -0
- project_workflow-0.2.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: project.implement
|
|
3
|
+
description: Implement a change with tracker status updates and an explicit validation plan.
|
|
4
|
+
argument-hint: taskId=TASK-330-Superuser workItem="#2" scope="..."
|
|
5
|
+
agent: agent
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Use this prompt to make code changes.
|
|
9
|
+
|
|
10
|
+
Reference docs:
|
|
11
|
+
|
|
12
|
+
- Technical constraints/instructions: [../copilot-instructions.md](../copilot-instructions.md)
|
|
13
|
+
- Repo-specific workflow guidance: [../../.project-workflow/guidance.md](../../.project-workflow/guidance.md)
|
|
14
|
+
- User story tracker: [../../.project-workflow/TRACKER.md](../../.project-workflow/TRACKER.md)
|
|
15
|
+
- Canonical tracker: `/.project-workflow/tasks/${input:taskId}/IMPLEMENTATION.md`
|
|
16
|
+
- Requirements source of truth: `/.project-workflow/tasks/${input:taskId}/REQUIREMENTS.md`
|
|
17
|
+
- E2E exception rules (only if editing `front-end/apps/e2e/**`): [../instructions/e2e.instructions.md](../instructions/e2e.instructions.md)
|
|
18
|
+
|
|
19
|
+
Inputs:
|
|
20
|
+
|
|
21
|
+
- Task: `${input:taskId:TASK-000-Example}`
|
|
22
|
+
- Work item: `${input:workItem:#}`
|
|
23
|
+
- Scope: `${input:scope:What are we changing?}`
|
|
24
|
+
|
|
25
|
+
Defaults and inference:
|
|
26
|
+
|
|
27
|
+
- If `taskId` is omitted, infer it from the current branch name when possible (e.g., `feature/TASK-482-...` -> `TASK-482`).
|
|
28
|
+
- If `workItem` is omitted, infer the next work item with status `To do` in `/.project-workflow/TRACKER.md`; if none exist, default to `1`.
|
|
29
|
+
- If `scope` is omitted, default to: `Implement work item ${input:workItem} per REQUIREMENTS.md`.
|
|
30
|
+
- Only ask the user for missing inputs when inference is not possible.
|
|
31
|
+
- After inference, restate the inferred work item and scope as a hard boundary and proceed without extra confirmation.
|
|
32
|
+
- Do not implement, update, or mark status for any acceptance criteria outside the inferred `workItem`.
|
|
33
|
+
- If any change would touch a different work item, stop and ask for explicit user instruction.
|
|
34
|
+
|
|
35
|
+
Required workflow:
|
|
36
|
+
|
|
37
|
+
- Before coding, run the relevant ready gate:
|
|
38
|
+
- standalone task: `./.project-workflow/cli/workflow task ready --id ${input:taskId}`
|
|
39
|
+
- epic child: `./.project-workflow/cli/workflow epic ready-child --epic-id <EPIC_ID> --id ${input:taskId}`
|
|
40
|
+
- If the ready gate fails, remediate the listed requirements/planning/clarification/approval/evidence gaps or ask the owner only for the specific material decision required. Do not code from an unapproved or stale requirements/AC envelope.
|
|
41
|
+
- If approval is missing or stale after requirements and ACs are ready, record the one owner-approved envelope with `task approve-requirements` or `epic approve-requirements` as applicable; do not treat the implementation request itself as approval.
|
|
42
|
+
- For a new standalone task, require `Ready` after Planner, post-plan Clarify, and `task ready`.
|
|
43
|
+
`Plan Confirmed` is accepted only as a legacy-compatible predecessor.
|
|
44
|
+
- Before coding, move the relevant row to `In Progress` with the workflow CLI. For unchanged work inside an approved envelope, do not ask for repeated owner approval.
|
|
45
|
+
- After implementation, run the relevant status command to move the row to `Testing`.
|
|
46
|
+
- Do not set it to `Complete`; completion is owned by `project.qa-review` after QA/code review passes and the user explicitly approves completion.
|
|
47
|
+
|
|
48
|
+
Sequence enforcement:
|
|
49
|
+
|
|
50
|
+
- Do NOT ask whether to “move on” or start the next work item until you have completed the Validation step for the current work item.
|
|
51
|
+
- The next step after implementation is always Validation: run the most relevant automated checks (tests/typecheck/lint) and perform any required manual verification steps.
|
|
52
|
+
- Only after you have (1) executed validation, (2) summarized results, and (3) set the work item/story to `Testing`, may you ask for next-step instructions.
|
|
53
|
+
- The next lifecycle step after `Testing` is `project.qa-review`.
|
|
54
|
+
|
|
55
|
+
Requirements guardrails:
|
|
56
|
+
|
|
57
|
+
- Before coding, read `/.project-workflow/tasks/${input:taskId}/REQUIREMENTS.md` and treat it as the source of truth for outcomes and expectations.
|
|
58
|
+
- If the task is an epic child, also read the parent epic `EPIC-CONTRACT.md`, `DECOMPOSITION.md`, `AMENDMENTS.md`, and the child `Child Charter`; those define inherited invariants, invalid substitutes, artifact targets, and proof ownership.
|
|
59
|
+
- If `REQUIREMENTS.md` does not exist yet, stop and instruct the user to run the `project.requirements` prompt to create it.
|
|
60
|
+
- If you discover a conflict between the current codebase constraints and `REQUIREMENTS.md` (or the `## User Story` in `IMPLEMENTATION.md`), stop and route to the `project.clarify` prompt; after the user chooses an option, ensure the decision is recorded in `REQUIREMENTS.md` before continuing.
|
|
61
|
+
- Before coding, list the AC IDs in the inferred `workItem` and map each planned change to them. If any change does not map to an AC ID, do not proceed.
|
|
62
|
+
- Before coding, cross-check the inferred work-item acceptance criteria against `REQUIREMENTS.md` and `IMPLEMENTATION.md`; if they conflict, stop and route to `project.clarify` and record the decision in `REQUIREMENTS.md`.
|
|
63
|
+
- Before coding, identify any triggered proof recipes. Visual/reference-fidelity work must have calibration before implementation; runtime/deployment/source work must identify the exact target/source pair to prove. If the required recipe or artifact identity is missing, stop and fix the workflow artifacts before coding.
|
|
64
|
+
|
|
65
|
+
User story tracker workflow:
|
|
66
|
+
|
|
67
|
+
- `/.project-workflow/TRACKER.md` is part of the process and must be kept up-to-date.
|
|
68
|
+
- Before coding, ensure there is a story row for `${input:taskId}` and move story `Status` to `In Progress` with the lifecycle command.
|
|
69
|
+
- After implementation (when the work item is set to `Testing`), move story `Status` to `Testing` with the lifecycle command.
|
|
70
|
+
- Do not set story `Status` to `Complete` from this prompt. Route to `project.qa-review` for completion approval.
|
|
71
|
+
|
|
72
|
+
Implementation doc structure:
|
|
73
|
+
|
|
74
|
+
- Ensure `/.project-workflow/tasks/${input:taskId}/IMPLEMENTATION.md` begins with a `## User Story` section at the very top (with acceptance criteria). If it’s missing, add it.
|
|
75
|
+
|
|
76
|
+
Output expectations:
|
|
77
|
+
|
|
78
|
+
- Make the smallest safe change that satisfies the requirement.
|
|
79
|
+
- Add or update tests when appropriate.
|
|
80
|
+
- If requirements or material claims trigger a proof recipe, create or update child-local `EVIDENCE.json` with the structured claim record and evidence artifact path. Do not rely on implementation prose, tests, builds, or a surrogate artifact for recipe-specific proof.
|
|
81
|
+
- Provide a short validation checklist (commands + manual steps) and call out any risks.
|
|
82
|
+
- Tell the user that QA/code review is the next required step before completion.
|
|
83
|
+
|
|
84
|
+
Validation execution requirement:
|
|
85
|
+
|
|
86
|
+
- Do not merely propose validation commands—run them using available repo tools (e.g. `run_task`, `runTests`, terminal) and report the results.
|
|
87
|
+
- If a broad check (e.g. whole-app typecheck) fails due to pre-existing issues unrelated to your change, do not stop early: still validate what you changed with the narrowest meaningful checks available (package-level typecheck, targeted tests, file-level checks) and clearly state the limitation.
|
|
88
|
+
- After tracker or task-doc updates, run `./.project-workflow/cli/workflow doctor` when available and report any workflow-state warnings or errors.
|
|
89
|
+
|
|
90
|
+
Validation alignment guardrail:
|
|
91
|
+
|
|
92
|
+
- Use `/.project-workflow/tasks/${input:taskId}/REQUIREMENTS.md` as the validation checklist source of truth.
|
|
93
|
+
- Explicitly map each `## Acceptance Criteria` item by AC ID (and any must-have `## Requirements`) to at least one validation step (automated test, manual verification, or query).
|
|
94
|
+
- After running validation, report results in AC-by-AC form (`AC1 -> validation evidence/result`, `AC2 -> ...`) for the current work item.
|
|
95
|
+
- If a requirement is not verifiable, stop and route to Clarify to make it testable and record the decision/update in `REQUIREMENTS.md`.
|
|
96
|
+
|
|
97
|
+
E2E exception:
|
|
98
|
+
|
|
99
|
+
- If you are working under `front-end/apps/e2e/**`, maintain the suite-local `implementation.md` per the E2E instructions.
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: project.planner
|
|
3
|
+
description: Turn confirmed requirements into a phased implementation plan with validation steps.
|
|
4
|
+
argument-hint: taskId=TASK-330-Superuser planFocus="..."
|
|
5
|
+
agent: agent
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Use this prompt to produce a safe, incremental plan after the owner has approved the
|
|
9
|
+
requirements/acceptance-criteria envelope. The plan is agent-owned execution detail inside that
|
|
10
|
+
authority; a second generic human plan-approval ceremony is not required by default.
|
|
11
|
+
|
|
12
|
+
Reference docs:
|
|
13
|
+
|
|
14
|
+
- Technical constraints/instructions: [../copilot-instructions.md](../copilot-instructions.md)
|
|
15
|
+
- Repo-specific workflow guidance: [../../.project-workflow/guidance.md](../../.project-workflow/guidance.md)
|
|
16
|
+
- User story tracker: [../../.project-workflow/TRACKER.md](../../.project-workflow/TRACKER.md)
|
|
17
|
+
- Canonical task tracker location: `/.project-workflow/tasks/${input:taskId}/IMPLEMENTATION.md`
|
|
18
|
+
- Requirements source of truth: `/.project-workflow/tasks/${input:taskId}/REQUIREMENTS.md`
|
|
19
|
+
- Project outcomes: [../../.project-workflow/CONSTITUTION.md](../../.project-workflow/CONSTITUTION.md)
|
|
20
|
+
|
|
21
|
+
Inputs:
|
|
22
|
+
|
|
23
|
+
- Task: `${input:taskId:TASK-000-Example}`
|
|
24
|
+
- Plan focus: `${input:planFocus:What are we planning (feature/bug/area)?}`
|
|
25
|
+
|
|
26
|
+
Output (Markdown, use headings exactly):
|
|
27
|
+
|
|
28
|
+
## Goal
|
|
29
|
+
|
|
30
|
+
-
|
|
31
|
+
|
|
32
|
+
## Approach
|
|
33
|
+
|
|
34
|
+
-
|
|
35
|
+
|
|
36
|
+
## Phases
|
|
37
|
+
|
|
38
|
+
### Phase 1
|
|
39
|
+
|
|
40
|
+
- Changes:
|
|
41
|
+
- Validation:
|
|
42
|
+
- Tracker updates:
|
|
43
|
+
|
|
44
|
+
### Phase 2
|
|
45
|
+
|
|
46
|
+
- Changes:
|
|
47
|
+
- Validation:
|
|
48
|
+
- Tracker updates:
|
|
49
|
+
|
|
50
|
+
## Task List (for IMPLEMENTATION.md)
|
|
51
|
+
|
|
52
|
+
Produce (or update) an agile task list in `/.project-workflow/tasks/${input:taskId}/IMPLEMENTATION.md`.
|
|
53
|
+
|
|
54
|
+
Task quality rules (must follow):
|
|
55
|
+
|
|
56
|
+
- Each task must be independently _testable_ and have a clear “done” outcome.
|
|
57
|
+
- Tasks must be **outcome-based** (deliverable behavior or user-visible capability), not a checklist of implementation steps.
|
|
58
|
+
- Each task must map to explicit **Acceptance Criteria IDs** from `REQUIREMENTS.md` or the `## Acceptance Criteria` section in `IMPLEMENTATION.md` (`AC1`, `AC2`, etc.).
|
|
59
|
+
- Each task must include a **User Verification** step that a non-developer user can perform (or a precise dev command if it’s inherently technical).
|
|
60
|
+
- Every acceptance criterion must be covered by at least one task row.
|
|
61
|
+
- If a row claims visual/reference fidelity, external contract alignment, deployed/published artifact alignment, runtime target/source verification, or responsive/multi-context behavior, include the matching proof recipe and expected evidence artifact. Do not plan to satisfy those claims with code review, tests, build output, surrogate surfaces, or a related environment.
|
|
62
|
+
- A task row may map to multiple ACs, for example `AC1, AC3: <criteria summary>`.
|
|
63
|
+
- Avoid vague tasks like “ensure X works” or “verify Y” without stating what to check and how.
|
|
64
|
+
- Prefer vertical slices when possible (deliver value incrementally), but don’t mix unrelated concerns in one task.
|
|
65
|
+
|
|
66
|
+
If the repo uses a task table, include at least: `Title`, `Description`, `Acceptance Criteria`, `User Verification`, `Status`.
|
|
67
|
+
|
|
68
|
+
Use this exact table format in `IMPLEMENTATION.md` (copy/paste):
|
|
69
|
+
|
|
70
|
+
```md
|
|
71
|
+
| ID | Title | Description | Acceptance Criteria | User Verification | Status |
|
|
72
|
+
| --: | --------- | ----------------------------------- | --------------------------------- | ---------------------------- | ------ |
|
|
73
|
+
| 1 | <Outcome> | <What changes for the user/system?> | AC1: <observable pass/fail criteria> | <steps a user can perform> | To Do |
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Table formatting rules (critical)
|
|
77
|
+
|
|
78
|
+
Markdown tables break if you put literal newlines inside a cell.
|
|
79
|
+
|
|
80
|
+
- Every task row **must be a single physical line** (one `| ... | ... |` line per task).
|
|
81
|
+
- For multiple bullets/steps inside a cell, use HTML line breaks: `<br>`.
|
|
82
|
+
- Do not include raw `|` characters inside cell text. If you need them, escape as `\|`.
|
|
83
|
+
- Do not wrap table rows across multiple lines.
|
|
84
|
+
|
|
85
|
+
Good example (multi-line content in a cell, but still one row):
|
|
86
|
+
|
|
87
|
+
```md
|
|
88
|
+
| 1 | Example | Short description | AC1, AC2: First observable criterion.<br>AC3: Second observable criterion. | Step 1<br>Step 2 | To Do |
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Example (good outcome-based tasks; replace with your task’s domain):
|
|
92
|
+
|
|
93
|
+
```md
|
|
94
|
+
| ID | Title | Description | Acceptance Criteria | User Verification | Status |
|
|
95
|
+
| --: | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ |
|
|
96
|
+
| 1 | Enforce server-side allocation on create | When creating an entity, server assigns allocation based on trusted server context, ignoring client-supplied allocation fields. | AC1: Create succeeds and persisted `team_id` equals the server-derived team.<br>AC2: Passing a different `team_id` has no effect. | In the app UI, create an entity under Team A and confirm it appears under Team A only.<br>(Dev) POST with a mismatched `team_id`; confirm response still allocates to Team A. | To Do |
|
|
97
|
+
| 2 | Fail fast on required config missing | If a required env/config value is missing, the request fails with a stable error contract. | AC3: API responds with HTTP 500 and a stable error body when config is missing. | Temporarily remove the config in a test environment and confirm the API returns the documented error contract. | To Do |
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Anti-examples (do NOT write tasks like this):
|
|
101
|
+
|
|
102
|
+
- “Find where call creation happens”
|
|
103
|
+
- “Add helper function to compute team id”
|
|
104
|
+
- “Refactor X” (without a user-visible or measurable outcome)
|
|
105
|
+
- “Verify billing works” (without specifying the scenario and what to check)
|
|
106
|
+
|
|
107
|
+
## Files / Areas Likely to Change
|
|
108
|
+
|
|
109
|
+
-
|
|
110
|
+
|
|
111
|
+
## Data / RLS / RPC / Migrations
|
|
112
|
+
|
|
113
|
+
-
|
|
114
|
+
|
|
115
|
+
## Risks & Mitigations
|
|
116
|
+
|
|
117
|
+
-
|
|
118
|
+
|
|
119
|
+
Planning guardrails:
|
|
120
|
+
|
|
121
|
+
- Base the plan on `/.project-workflow/tasks/${input:taskId}/REQUIREMENTS.md` (outcomes/expectations), not assumptions.
|
|
122
|
+
- If `REQUIREMENTS.md` is missing, stop and instruct the user to run the `project.requirements` prompt first.
|
|
123
|
+
- If `REQUIREMENTS.md` has any unresolved `## Open Questions`, stop and instruct the user to run the `project.clarify` prompt (or answer directly) and ensure the outcomes/decisions are recorded back into `REQUIREMENTS.md` before planning.
|
|
124
|
+
- Exception: you may proceed with a plan only if the user explicitly accepts the unresolved items as risks AND that acceptance is recorded in `REQUIREMENTS.md` (e.g., in `## Decisions Log`).
|
|
125
|
+
- Before planning, verify the requirements approval envelope. If approval is missing or stale,
|
|
126
|
+
stop and return to owner review; do not ask an agent to self-approve it.
|
|
127
|
+
- After approval, move the task to `Analysing`, write the plan, run a post-plan clarification pass
|
|
128
|
+
against requirements and repo constraints, then run `task ready`. Remediate repo-gatherable plan
|
|
129
|
+
gaps autonomously. Return to the owner only for material scope drift, new product decisions,
|
|
130
|
+
exceptional authority, or a deliberately requested/high-risk plan review.
|
|
131
|
+
- If you detect conflicts between `REQUIREMENTS.md`, the `## User Story` in `IMPLEMENTATION.md`, and repo constraints, stop and instruct the user to run the `project.clarify` prompt to resolve them and record decisions back into `REQUIREMENTS.md`.
|
|
132
|
+
|
|
133
|
+
Task list guardrails:
|
|
134
|
+
|
|
135
|
+
- The `project.planner` prompt owns the implementation task list in `IMPLEMENTATION.md`.
|
|
136
|
+
- Do not treat AC mapping as optional; a task row without an `AC#` reference is not ready for implementation.
|
|
137
|
+
- The user should be able to verify each task without reading code (unless explicitly unavoidable).
|
|
138
|
+
- Ensure every acceptance criterion in `REQUIREMENTS.md` is mapped to at least one concrete task row and validation step in the task list (`Acceptance Criteria`, `User Verification`, or explicit validation notes).
|
|
139
|
+
- Keep AC IDs stable. Do not renumber existing ACs unless the user explicitly approves the requirements change.
|
|
140
|
+
- If any requirement/acceptance criterion is not covered by the plan, stop and route to `project.clarify` to resolve and record the decision in `REQUIREMENTS.md` before planning continues.
|
|
141
|
+
- For delegate-execution stories (`project.delegate`), explicitly cover mode defaults, dependency-map validation, worker-limit behavior, and fail-fast/halted reporting in planned outcomes and validation steps.
|
|
142
|
+
|
|
143
|
+
Tracker rules:
|
|
144
|
+
|
|
145
|
+
- Use statuses: `To Do`, `Analysing`, `Ready`, `Plan Confirmed` (legacy-compatible), `In Progress`, `Blocked`, `Testing`, `Review`, `Complete`, `N/A`.
|
|
146
|
+
- Only mark `Complete` after implementation validation and QA/code review have passed AND the user explicitly instructs you to mark it `Complete`.
|
|
147
|
+
|
|
148
|
+
User story tracker rules:
|
|
149
|
+
|
|
150
|
+
- `/.project-workflow/TRACKER.md` is part of the process. When moving into planning for a story/task, ensure there is a row for `${input:taskId}` and use the lifecycle command to update its `Status`.
|
|
151
|
+
- Use the same status vocabulary as above.
|
|
152
|
+
- During planning, run `./.project-workflow/cli/workflow task status --id ${input:taskId} --to Analysing`.
|
|
153
|
+
- When the post-plan clarification pass and `task ready` succeed, run
|
|
154
|
+
`./.project-workflow/cli/workflow task status --id ${input:taskId} --to Ready` and continue inside
|
|
155
|
+
the approved envelope. `Plan Confirmed` remains valid for legacy tasks but is not the default
|
|
156
|
+
human checkpoint for new work.
|
|
157
|
+
- Do not set story `Status` to `Complete` unless QA/code review has passed AND the user explicitly instructs you to mark it `Complete`.
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: project.qa-review
|
|
3
|
+
description: Run the QA and code review gate after implementation validation, before completion.
|
|
4
|
+
argument-hint: taskId=TASK-330-Superuser scope="review changed work"
|
|
5
|
+
agent: agent
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Use this prompt after `project.implement` has made changes and moved the task or work item to `Testing`.
|
|
9
|
+
|
|
10
|
+
Purpose:
|
|
11
|
+
|
|
12
|
+
- Independently verify the implemented work against requirements and acceptance criteria.
|
|
13
|
+
- Review the changed code for correctness, maintainability, security, data safety, and scope control.
|
|
14
|
+
- Record review results before any task is marked `Complete`.
|
|
15
|
+
|
|
16
|
+
Reference docs:
|
|
17
|
+
|
|
18
|
+
- Technical constraints/instructions: [../copilot-instructions.md](../copilot-instructions.md)
|
|
19
|
+
- Repo-specific workflow guidance: [../../.project-workflow/guidance.md](../../.project-workflow/guidance.md)
|
|
20
|
+
- User story tracker: [../../.project-workflow/TRACKER.md](../../.project-workflow/TRACKER.md)
|
|
21
|
+
- Canonical task tracker: `/.project-workflow/tasks/${input:taskId}/IMPLEMENTATION.md`
|
|
22
|
+
- Requirements source of truth: `/.project-workflow/tasks/${input:taskId}/REQUIREMENTS.md`
|
|
23
|
+
- Project outcomes: [../../.project-workflow/CONSTITUTION.md](../../.project-workflow/CONSTITUTION.md)
|
|
24
|
+
|
|
25
|
+
Inputs:
|
|
26
|
+
|
|
27
|
+
- Task: `${input:taskId:TASK-000-Example}`
|
|
28
|
+
- Scope: `${input:scope:What changed or what should be reviewed?}`
|
|
29
|
+
|
|
30
|
+
Defaults and inference:
|
|
31
|
+
|
|
32
|
+
- If `taskId` is omitted, infer it from the current branch name when possible.
|
|
33
|
+
- If `scope` is omitted, review the current uncommitted diff plus the task docs.
|
|
34
|
+
- Ask only when the task cannot be inferred safely.
|
|
35
|
+
|
|
36
|
+
Required workflow:
|
|
37
|
+
|
|
38
|
+
1. Read `REQUIREMENTS.md`, `IMPLEMENTATION.md`, and the tracker row for the task.
|
|
39
|
+
2. Confirm implementation has reached `Testing`. If it has not, stop and direct the user to run `project.implement` first.
|
|
40
|
+
3. Run the relevant workflow status command to move the row to `Review` before starting QA/code review:
|
|
41
|
+
- standalone task: `./.project-workflow/cli/workflow task status --id ${input:taskId} --to Review`
|
|
42
|
+
- epic child: `./.project-workflow/cli/workflow epic status --epic-id <EPIC_ID> --id ${input:taskId} --to Review`
|
|
43
|
+
4. Inspect the changed files and map each acceptance criterion ID to evidence:
|
|
44
|
+
- automated test, typecheck, lint, build, or script result
|
|
45
|
+
- manual verification result
|
|
46
|
+
- code inspection finding
|
|
47
|
+
5. If a requirement, acceptance criterion, child charter, epic contract, or material claim triggers a proof recipe, inspect child-local `EVIDENCE.json` and the referenced evidence artifact before accepting the claim. Visual/reference fidelity requires rendered comparison against the delivered user-facing artifact, not code review, tests, build output, or a surrogate surface. Runtime target/source proof requires the exact target/source pair and positive proof that target used that source.
|
|
48
|
+
6. Run any missing narrow validation that is necessary to support the review. Do not ask the user to manually test behavior that the agent can validate directly with available commands, tests, scripts, browser tools, screenshots, or local tools. Do not rerun broad checks unless they are the most meaningful available check.
|
|
49
|
+
7. Review code for:
|
|
50
|
+
- correctness against requirements and decisions
|
|
51
|
+
- unintended scope expansion
|
|
52
|
+
- error handling and edge cases
|
|
53
|
+
- security, permissions, privacy, and data integrity
|
|
54
|
+
- migrations, rollback, observability, and operational risk where relevant
|
|
55
|
+
- tests and documentation appropriate to the change
|
|
56
|
+
8. Record results in `IMPLEMENTATION.md` under `## QA & Code Review` with:
|
|
57
|
+
- date
|
|
58
|
+
- reviewer/agent context
|
|
59
|
+
- files or areas reviewed
|
|
60
|
+
- validation evidence
|
|
61
|
+
- a clear distinction between verified evidence and deferred setup, owner-only actions, or unavailable connector/OAuth checks
|
|
62
|
+
- findings, if any
|
|
63
|
+
- verdict: `Pass`, `Pass with follow-ups`, or `Changes requested`
|
|
64
|
+
9. Run `./.project-workflow/cli/workflow doctor` when available and include any workflow-state warnings or errors in the review output.
|
|
65
|
+
10. If issues are found:
|
|
66
|
+
- keep tracker status as `Review` or set it to `Blocked` if the issue prevents safe release
|
|
67
|
+
- list findings first, ordered by severity, with file references where possible
|
|
68
|
+
- do not mark anything `Complete`
|
|
69
|
+
11. If review passes:
|
|
70
|
+
- say that QA/code review passed
|
|
71
|
+
- only run the relevant workflow command to mark `Complete` if the user explicitly asked you to complete the task after review
|
|
72
|
+
- otherwise leave status as `Review` and ask for explicit completion approval
|
|
73
|
+
|
|
74
|
+
Output expectations:
|
|
75
|
+
|
|
76
|
+
- Findings first when any exist.
|
|
77
|
+
- Validation evidence with exact commands or manual checks, reported by AC ID.
|
|
78
|
+
- A concise verdict.
|
|
79
|
+
- The next step is `project.retro` only after the task is marked `Complete`.
|
|
80
|
+
|
|
81
|
+
Guardrails:
|
|
82
|
+
|
|
83
|
+
- Do not mark `Complete` based on implementation validation alone. QA/code review must pass first.
|
|
84
|
+
- Do not use this prompt to implement new scope. Small review fixes are allowed only when they directly address review findings and remain within the accepted requirements.
|
|
85
|
+
- If review reveals a requirements conflict, route back to `project.clarify` and record the decision before continuing.
|
|
86
|
+
- Do not accept unsupported prose claims as closeout evidence. If prose claims contradict structured evidence, report the contradiction as a blocking finding.
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: project.requirements
|
|
3
|
+
description: Capture and confirm what we are building (problem, scope, acceptance criteria).
|
|
4
|
+
argument-hint: taskId=TASK-330-Superuser goal="..." context="..."
|
|
5
|
+
agent: agent
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Use this prompt to produce a crisp, testable set of requirements.
|
|
9
|
+
|
|
10
|
+
This is an iterative prompt. Expect to run it multiple times:
|
|
11
|
+
|
|
12
|
+
- Pass 1: ask what the feature/bugfix is, draft an initial user story, produce a best-effort `REQUIREMENTS.md`, and ask the minimum questions needed to remove ambiguity.
|
|
13
|
+
- Pass N: incorporate the user’s answers, resolve open questions, tighten acceptance criteria, and strengthen the validation plan.
|
|
14
|
+
|
|
15
|
+
Operating model: the owner/PM/BA provides product intent and decisions conversationally; the agent extracts, drafts, records, and validates workflow artifacts. Do not ask the owner to manually fill templates as the normal path.
|
|
16
|
+
|
|
17
|
+
Approval model: requirements capture ends with one explicit owner review of requirements and acceptance criteria. Record that approval with `task approve-requirements` or `epic approve-requirements` only after the owner confirms the drafted requirements/ACs. Do not treat the agent's draft, implementation intent, or silence as approval.
|
|
18
|
+
|
|
19
|
+
After that approval, the agent normally continues autonomously through Planner, a post-plan
|
|
20
|
+
Clarify pass, `task ready`, and `Ready`. Pause after requirements only when the user requests a
|
|
21
|
+
setup/review-only boundary, a material product decision remains, or the plan is exceptional/high
|
|
22
|
+
risk enough to justify an explicit review.
|
|
23
|
+
|
|
24
|
+
Minimum intake context to gather before downstream planning:
|
|
25
|
+
|
|
26
|
+
- Problem or opportunity
|
|
27
|
+
- Desired outcome
|
|
28
|
+
- Affected user, actor, or system
|
|
29
|
+
- Scope boundaries and non-goals
|
|
30
|
+
- Acceptance signal for done
|
|
31
|
+
- Constraints, priority/risk, and examples or failure modes
|
|
32
|
+
|
|
33
|
+
Context sources (reference, don’t duplicate):
|
|
34
|
+
|
|
35
|
+
- Technical constraints/instructions: [../copilot-instructions.md](../copilot-instructions.md)
|
|
36
|
+
- Repo-specific workflow guidance: [../../.project-workflow/guidance.md](../../.project-workflow/guidance.md)
|
|
37
|
+
- Project outcomes (north stars): [../../.project-workflow/CONSTITUTION.md](../../.project-workflow/CONSTITUTION.md)
|
|
38
|
+
- User story tracker: [../../.project-workflow/TRACKER.md](../../.project-workflow/TRACKER.md)
|
|
39
|
+
- E2E exception rules (only if editing `front-end/apps/e2e/**`): [../instructions/e2e.instructions.md](../instructions/e2e.instructions.md)
|
|
40
|
+
|
|
41
|
+
Canonical task docs:
|
|
42
|
+
|
|
43
|
+
- `/.project-workflow/tasks/${input:taskId}/REQUIREMENTS.md` (this prompt produces/updates this file)
|
|
44
|
+
- `/.project-workflow/tasks/${input:taskId}/IMPLEMENTATION.md` (must include `## User Story` at the top; keep it in sync with `REQUIREMENTS.md`)
|
|
45
|
+
|
|
46
|
+
Inputs:
|
|
47
|
+
|
|
48
|
+
- Task: `${input:taskId:TASK-000-Example}`
|
|
49
|
+
- Goal: `${input:goal:Describe the user outcome}`
|
|
50
|
+
- Optional context: `${input:context:Links, routes, screenshots, logs, constraints}`
|
|
51
|
+
|
|
52
|
+
Output (Markdown, use headings exactly):
|
|
53
|
+
|
|
54
|
+
Primary output artifact:
|
|
55
|
+
|
|
56
|
+
- Write/update `/.project-workflow/tasks/${input:taskId}/REQUIREMENTS.md` with the contents of this prompt output.
|
|
57
|
+
|
|
58
|
+
This is not a technical design doc. Focus on outcomes, expectations, and “what done means”.
|
|
59
|
+
|
|
60
|
+
Process:
|
|
61
|
+
|
|
62
|
+
- Step 0 (always first): Discovery — identify what we are building.
|
|
63
|
+
- If the feature/bugfix is not explicitly described in the conversation context and inputs, ask the user:
|
|
64
|
+
- “What is the new feature or bugfix?”
|
|
65
|
+
- And only the minimal freeform context needed to draft a user story (where in the product, who is affected, and what success looks like).
|
|
66
|
+
- IMPORTANT: In Discovery, do NOT ask A/B/C-style questions yet. You do not have a user story to anchor them to.
|
|
67
|
+
- If Discovery information is missing, STOP after asking the Discovery questions. Do not draft a user story, do not write/update files, and do not ask additional questions.
|
|
68
|
+
- If the request is explicitly discovery work, record it as `Type: Discovery` with a question, decision enabled, boundary, output, and validation signal.
|
|
69
|
+
|
|
70
|
+
- Step 1: Draft the user story (only after Discovery is answered).
|
|
71
|
+
- Based on the user’s Discovery answer (or the provided inputs), write a first-draft user story (may be imperfect) and put it in BOTH:
|
|
72
|
+
- `/.project-workflow/tasks/${input:taskId}/IMPLEMENTATION.md` under `## User Story`
|
|
73
|
+
- `/.project-workflow/tasks/${input:taskId}/REQUIREMENTS.md` under `## User Story`
|
|
74
|
+
- IMPORTANT: This prompt may only create/update the `## User Story` section in `IMPLEMENTATION.md`.
|
|
75
|
+
- Do NOT add or modify `## Tasks`, task lists, phases, checklists, or implementation steps in `IMPLEMENTATION.md`.
|
|
76
|
+
- Task planning belongs to the `project.planner` prompt.
|
|
77
|
+
|
|
78
|
+
- Step 2: Clarify only after the user story exists.
|
|
79
|
+
- If any critical requirement is ambiguous, untestable, or missing, write it as an open question.
|
|
80
|
+
- Ask the user the minimum set of questions to resolve it.
|
|
81
|
+
- A/B/C-style multiple-choice questions are allowed ONLY here (after the user story exists), and must be explicitly anchored to the current user story.
|
|
82
|
+
- Stop after asking questions. Do not proceed to planning/implementation until open questions are resolved or explicitly accepted as risks and recorded.
|
|
83
|
+
|
|
84
|
+
- Read `/.project-workflow/tasks/${input:taskId}/REQUIREMENTS.md` if it exists. Treat it as the current draft.
|
|
85
|
+
- Read `/.project-workflow/tasks/${input:taskId}/IMPLEMENTATION.md` and treat its user story as canonical for implementation, but keep it synced with `REQUIREMENTS.md` as discovery evolves.
|
|
86
|
+
- Cross-check for conflicts across: Goal input, the user’s described feature/bugfix, the user story, existing REQUIREMENTS, and repo constraints.
|
|
87
|
+
- Update `REQUIREMENTS.md` to be internally consistent.
|
|
88
|
+
- If any critical requirement is ambiguous, untestable, or missing, write it as an open question and then ask the user the minimum set of questions to resolve it.
|
|
89
|
+
- Stop after asking questions. Do not proceed to planning/implementation until open questions are resolved or explicitly accepted as risks and recorded.
|
|
90
|
+
- Once open questions are resolved and the owner confirms the final requirements/ACs, record the approval envelope with the workflow CLI. After that, downstream agents should not ask for repeated approval unless the requirements/ACs, artifact identity, source-of-truth interpretation, proof obligations, or scope materially change.
|
|
91
|
+
|
|
92
|
+
## Overview
|
|
93
|
+
|
|
94
|
+
- Goal (in user terms):
|
|
95
|
+
- Primary user(s):
|
|
96
|
+
- Desired outcome:
|
|
97
|
+
|
|
98
|
+
## User Story
|
|
99
|
+
|
|
100
|
+
Derive the user story from the user’s described feature/bugfix via the discovery back-and-forth.
|
|
101
|
+
|
|
102
|
+
- In Pass 1, it is acceptable for the user story to be a first draft.
|
|
103
|
+
- In Pass N, refine the user story as ambiguities are resolved.
|
|
104
|
+
- Always keep the user story consistent across:
|
|
105
|
+
- `/.project-workflow/tasks/${input:taskId}/REQUIREMENTS.md`
|
|
106
|
+
- `/.project-workflow/tasks/${input:taskId}/IMPLEMENTATION.md`
|
|
107
|
+
|
|
108
|
+
-
|
|
109
|
+
|
|
110
|
+
## In Scope
|
|
111
|
+
|
|
112
|
+
-
|
|
113
|
+
|
|
114
|
+
## Out of Scope
|
|
115
|
+
|
|
116
|
+
-
|
|
117
|
+
|
|
118
|
+
## Requirements
|
|
119
|
+
|
|
120
|
+
List requirements as outcomes/expectations, not implementation details.
|
|
121
|
+
|
|
122
|
+
### Functional Requirements
|
|
123
|
+
|
|
124
|
+
-
|
|
125
|
+
|
|
126
|
+
### Non-Functional Requirements
|
|
127
|
+
|
|
128
|
+
- Performance / latency:
|
|
129
|
+
- Security / permissions:
|
|
130
|
+
- Accessibility:
|
|
131
|
+
- Observability (logs/metrics/audit expectations):
|
|
132
|
+
|
|
133
|
+
## Acceptance Criteria
|
|
134
|
+
|
|
135
|
+
- AC1:
|
|
136
|
+
- AC2:
|
|
137
|
+
|
|
138
|
+
## Assumptions
|
|
139
|
+
|
|
140
|
+
-
|
|
141
|
+
|
|
142
|
+
## Open Questions
|
|
143
|
+
|
|
144
|
+
-
|
|
145
|
+
|
|
146
|
+
If this section is non-empty, also ask the user these questions at the end of your response.
|
|
147
|
+
|
|
148
|
+
Rules for asking questions:
|
|
149
|
+
|
|
150
|
+
- Do not ask A/B/C questions until `## User Story` is drafted.
|
|
151
|
+
- When you do ask A/B/C questions, explicitly reference the user story they relate to.
|
|
152
|
+
|
|
153
|
+
## Decisions Log
|
|
154
|
+
|
|
155
|
+
Capture resolved questions and selected options from the Clarify step.
|
|
156
|
+
|
|
157
|
+
- Decision:
|
|
158
|
+
- Context:
|
|
159
|
+
- Options considered:
|
|
160
|
+
- Chosen:
|
|
161
|
+
- Why:
|
|
162
|
+
|
|
163
|
+
## Validation Plan (User-Facing)
|
|
164
|
+
|
|
165
|
+
- How the user will verify “done”:
|
|
166
|
+
- Rollout notes (if any):
|
|
167
|
+
- Required proof recipes, if triggered by requirements/claims:
|
|
168
|
+
- Invalid substitutes for those proof recipes:
|
|
169
|
+
|
|
170
|
+
## Review Questions (Answer Needed)
|
|
171
|
+
|
|
172
|
+
Include this section only when `## Open Questions` is non-empty.
|
|
173
|
+
|
|
174
|
+
Rules:
|
|
175
|
+
|
|
176
|
+
- Ask the minimum set of questions required to make the requirements complete and testable.
|
|
177
|
+
- Prefer multiple choice with 2–4 options (A/B/C/…) when it helps remove ambiguity; include tradeoffs.
|
|
178
|
+
- Do not use A/B/C until `## User Story` exists (in both docs) and your question is explicitly anchored to that story.
|
|
179
|
+
- If the user already answered in the conversation context, do not ask again; instead record the decision in `## Decisions Log` and remove it from `## Open Questions`.
|
|
180
|
+
|
|
181
|
+
-
|
|
182
|
+
|
|
183
|
+
Also:
|
|
184
|
+
|
|
185
|
+
- Ensure `/.project-workflow/TRACKER.md` has a row for `${input:taskId}`. Keep a new task at `To Do`
|
|
186
|
+
while requirements are being drafted. Move to `Analysing` only after the owner approval envelope
|
|
187
|
+
is recorded and planning begins.
|
|
188
|
+
- Ensure `/.project-workflow/tasks/${input:taskId}/IMPLEMENTATION.md` exists and begins with a `## User Story` section at the very top.
|
|
189
|
+
- If you need to create the file, keep it minimal (user story only, plus placeholders if required by repo convention).
|
|
190
|
+
- Do not generate or populate any task list here.
|
|
191
|
+
- Create or update `/.project-workflow/tasks/${input:taskId}/REQUIREMENTS.md` with the contents of this output.
|
|
192
|
+
|
|
193
|
+
Guardrails:
|
|
194
|
+
|
|
195
|
+
- The requirements must be internally consistent (no contradictions across sections).
|
|
196
|
+
- Every item in `## Acceptance Criteria` must have a stable ID (`AC1`, `AC2`, etc.) and be verifiable in `## Validation Plan (User-Facing)`.
|
|
197
|
+
- In `## Validation Plan (User-Facing)`, include an explicit AC-by-AC mapping (`AC1 -> verification step`, `AC2 -> verification step`, etc.).
|
|
198
|
+
- If the owner says the work must match a design, reference, screenshot, visual state, deployed/runtime behavior, external contract, or multi-context behavior, explicitly name the required proof recipe and the invalid substitutes. Examples: visual fidelity requires rendered comparison against the delivered user-facing artifact; runtime target/source proof requires the exact target, source/artifact under test, observation method, and positive proof that target used that source.
|
|
199
|
+
- Preserve existing AC IDs when revising requirements. Do not renumber existing ACs unless the user explicitly approves the requirements change.
|
|
200
|
+
- If this story includes delegated execution (`project.delegate`), ensure requirements, acceptance criteria, and decisions explicitly cover: execution modes, default `sequential` behavior, dependency-map input + strict validation (unknown IDs, self-dependencies, cycles), default parallel worker limit (`4`), fail-fast semantics (stop new launches, allow in-flight completion), and final status reporting (including halted items).
|
|
201
|
+
- If delegated-execution decisions evolve, update both `## Acceptance Criteria` and `## Decisions Log` in the same pass so downstream planning/implementation stay aligned.
|
|
202
|
+
- Do not create or update implementation task lists in `IMPLEMENTATION.md` from this prompt; the `project.planner` prompt owns tasks.
|
|
203
|
+
- Do not move the story to `Analysing` before owner approval. After approval, hand off directly to
|
|
204
|
+
Planner unless the user requested a pause.
|
|
205
|
+
- After requirements and implementation planning are complete, the agent must use `./.project-workflow/cli/workflow task ready --id ${input:taskId}` before implementation-oriented status transitions. If it reports missing or stale owner approval, collect the specific owner confirmation once and record it with `task approve-requirements`; do not continue into implementation from an unapproved envelope.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: project.retro
|
|
3
|
+
description: Run the post-completion retro to keep conventions, agent guidance, and workflow assets current.
|
|
4
|
+
argument-hint: taskId=TASK-330-Superuser focus="conventions, agents, follow-ups"
|
|
5
|
+
agent: agent
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Use this prompt after a task has passed QA/code review and has been marked `Complete`.
|
|
9
|
+
|
|
10
|
+
Purpose:
|
|
11
|
+
|
|
12
|
+
- Capture reusable lessons from the finished task.
|
|
13
|
+
- Update durable repo conventions, agent instructions, prompts, skills, or workflow rules when the task exposed a repeatable gap.
|
|
14
|
+
- Keep future tasks internally consistent without adding one-off implementation details to global guidance.
|
|
15
|
+
|
|
16
|
+
Reference docs:
|
|
17
|
+
|
|
18
|
+
- Technical constraints/instructions: [../copilot-instructions.md](../copilot-instructions.md)
|
|
19
|
+
- Repo-specific workflow guidance: [../../.project-workflow/guidance.md](../../.project-workflow/guidance.md)
|
|
20
|
+
- User story tracker: [../../.project-workflow/TRACKER.md](../../.project-workflow/TRACKER.md)
|
|
21
|
+
- Canonical task tracker: `/.project-workflow/tasks/${input:taskId}/IMPLEMENTATION.md`
|
|
22
|
+
- Requirements source of truth: `/.project-workflow/tasks/${input:taskId}/REQUIREMENTS.md`
|
|
23
|
+
- Project outcomes: [../../.project-workflow/CONSTITUTION.md](../../.project-workflow/CONSTITUTION.md)
|
|
24
|
+
- Agent definitions: `/.github/prompts/`, `/AGENTS.md`, `/.agents/skills/`, and `/.cursor/rules/` when present
|
|
25
|
+
|
|
26
|
+
Inputs:
|
|
27
|
+
|
|
28
|
+
- Task: `${input:taskId:TASK-000-Example}`
|
|
29
|
+
- Focus: `${input:focus:What should the retro pay attention to?}`
|
|
30
|
+
|
|
31
|
+
Required workflow:
|
|
32
|
+
|
|
33
|
+
1. Read the completed task's `REQUIREMENTS.md`, `IMPLEMENTATION.md`, QA/code review notes, and tracker row.
|
|
34
|
+
2. Confirm the task is already `Complete`. If not, stop and direct the user to finish `project.qa-review` and explicit completion first.
|
|
35
|
+
3. Inspect the final diff and decisions for reusable lessons:
|
|
36
|
+
- repo conventions or coding patterns that should be documented
|
|
37
|
+
- recurring validation commands or QA checks
|
|
38
|
+
- agent prompt/skill gaps that caused drift or rework
|
|
39
|
+
- project-workflow lifecycle rules that need tightening
|
|
40
|
+
- follow-up work that should become a separate task
|
|
41
|
+
4. Decide where each durable update belongs:
|
|
42
|
+
- product outcomes: `.project-workflow/CONSTITUTION.md`
|
|
43
|
+
- technical conventions: `.project-workflow/guidance.md`, `AGENTS.md`, `.github/copilot-instructions.md`, or equivalent repo guidance
|
|
44
|
+
- Copilot workflow behavior: `.github/prompts/*.prompt.md`
|
|
45
|
+
- Codex workflow behavior: `.agents/skills/project-*/SKILL.md`
|
|
46
|
+
- Cursor workflow behavior: `.cursor/rules/project-workflow.mdc`
|
|
47
|
+
- packaged project-workflow templates, when working in this repository: `src/project_workflow/**`
|
|
48
|
+
5. Make only durable, generally useful updates. Do not encode task-specific implementation details as global rules.
|
|
49
|
+
6. Record the retro in `IMPLEMENTATION.md` under `## Retro` with:
|
|
50
|
+
- date
|
|
51
|
+
- reusable lessons
|
|
52
|
+
- conventions or agent assets updated
|
|
53
|
+
- follow-up task suggestions, if any
|
|
54
|
+
- "No durable updates needed" when nothing should change
|
|
55
|
+
7. If follow-up work is needed, propose a new task rather than reopening the completed task.
|
|
56
|
+
8. Keep follow-up tasks separate from missed in-scope work. Missed in-scope work should be recorded as a completion/process issue unless it was explicitly deferred with owner approval and a follow-up reference.
|
|
57
|
+
|
|
58
|
+
Output expectations:
|
|
59
|
+
|
|
60
|
+
- Summarize convention/agent changes made.
|
|
61
|
+
- List any files updated.
|
|
62
|
+
- List proposed follow-up tasks separately.
|
|
63
|
+
- List missed in-scope work separately from follow-up suggestions.
|
|
64
|
+
- Leave the completed task status as `Complete` unless the user explicitly asks to reopen it.
|
|
65
|
+
|
|
66
|
+
Guardrails:
|
|
67
|
+
|
|
68
|
+
- Retro is a maintenance step, not a new implementation phase.
|
|
69
|
+
- Do not change accepted requirements after completion; create a follow-up task for new scope.
|
|
70
|
+
- If a convention update would materially change project direction, ask before editing product-level guidance.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: project.smoke-bomb
|
|
3
|
+
description: Prepare a reviewed, sanitized client ZIP from an agency-owned project-workflow repository.
|
|
4
|
+
argument-hint: clientAgent=codex output=../client-handoff.zip validation="npm test"
|
|
5
|
+
agent: agent
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Use this prompt when the user asks for a Smoke Bomb or sanitized client handoff.
|
|
9
|
+
|
|
10
|
+
Read the repository README, agent instructions, `.project-workflow/guidance.md`, and active delivery state. Recommend a disposable handoff branch but leave Git branch operations under user control. Prepare substantive client-facing human and agent context without inventing undocumented knowledge.
|
|
11
|
+
|
|
12
|
+
Run `project smoke-bomb` in plan mode with the intended client-agent target, explicit reviewed validation commands, and a ZIP output path outside the repository. Review and resolve every action, ownership decision, blocker, warning, archive exclusion, and plan fingerprint. Apply only the exact reviewed fingerprint, using `--yes` only with user authority.
|
|
13
|
+
|
|
14
|
+
Report the exported ZIP path and SHA-256, validation results, selected client-agent instructions, and archive inventory. The ZIP—not the agency repository or its history—is the handoff artifact. Do not bypass secret-like path, unsafe file, ambiguous ownership, missing guidance, dirty-worktree, or residual-reference blockers. Smoke Bomb does not replace legal, security, license, or data-loss-prevention review.
|