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.
Files changed (39) hide show
  1. project_workflow/__init__.py +5 -0
  2. project_workflow/_version.py +3 -0
  3. project_workflow/cli.py +10076 -0
  4. project_workflow/codex/AGENTS.md +131 -0
  5. project_workflow/codex/skills/project-backlog/SKILL.md +104 -0
  6. project_workflow/codex/skills/project-clarify/SKILL.md +47 -0
  7. project_workflow/codex/skills/project-constitution/SKILL.md +62 -0
  8. project_workflow/codex/skills/project-delegate/SKILL.md +38 -0
  9. project_workflow/codex/skills/project-epic/SKILL.md +121 -0
  10. project_workflow/codex/skills/project-fix/SKILL.md +49 -0
  11. project_workflow/codex/skills/project-implement/SKILL.md +46 -0
  12. project_workflow/codex/skills/project-planner/SKILL.md +69 -0
  13. project_workflow/codex/skills/project-qa-review/SKILL.md +44 -0
  14. project_workflow/codex/skills/project-requirements/SKILL.md +60 -0
  15. project_workflow/codex/skills/project-retro/SKILL.md +46 -0
  16. project_workflow/codex/skills/project-smoke-bomb/SKILL.md +58 -0
  17. project_workflow/codex/skills/project-task/SKILL.md +73 -0
  18. project_workflow/cursor/rules/project-workflow.mdc +75 -0
  19. project_workflow/prompts/Backlog.prompt.md +90 -0
  20. project_workflow/prompts/Clarify.prompt.md +137 -0
  21. project_workflow/prompts/Constitution.prompt.md +115 -0
  22. project_workflow/prompts/Delegate.prompt.md +48 -0
  23. project_workflow/prompts/Epic.prompt.md +210 -0
  24. project_workflow/prompts/Fix.prompt.md +58 -0
  25. project_workflow/prompts/Implement.prompt.md +99 -0
  26. project_workflow/prompts/Planner.prompt.md +157 -0
  27. project_workflow/prompts/QAReview.prompt.md +86 -0
  28. project_workflow/prompts/Requirements.prompt.md +205 -0
  29. project_workflow/prompts/Retro.prompt.md +70 -0
  30. project_workflow/prompts/SmokeBomb.prompt.md +14 -0
  31. project_workflow/prompts/Task.prompt.md +99 -0
  32. project_workflow/templates/workflow +7 -0
  33. project_workflow/templates/workflow.py +10076 -0
  34. project_workflow-0.2.0.dist-info/METADATA +599 -0
  35. project_workflow-0.2.0.dist-info/RECORD +39 -0
  36. project_workflow-0.2.0.dist-info/WHEEL +5 -0
  37. project_workflow-0.2.0.dist-info/entry_points.txt +2 -0
  38. project_workflow-0.2.0.dist-info/licenses/LICENSE +21 -0
  39. project_workflow-0.2.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,131 @@
1
+ # Project Workflow
2
+
3
+ This repository uses project-workflow for spec-driven development. Keep workflow artifacts in `.project-workflow/` as the shared source of truth, and read `.project-workflow/guidance.md` for repo-specific workflow guidance when present.
4
+
5
+ ## Workflow Order
6
+
7
+ 1. Constitution: use `project-constitution` to establish or update `.project-workflow/CONSTITUTION.md` for product outcomes.
8
+ 2. Backlog: use `project-backlog` when future intent should be captured before it becomes committed task or epic workflow state.
9
+ 3. Route: keep in-scope corrections in active work; use `project-fix` for one bounded correction
10
+ against delivered/accepted behavior, `project-task` for a new outcome or multiple independent
11
+ items, and `project-epic` for coordinated workstreams.
12
+ 4. Requirements: use `project-requirements` to capture the user story, scope, acceptance criteria,
13
+ open questions, decisions, and validation plan. The owner approves this envelope before planning.
14
+ 5. Planner: after approval, use `project-planner` to turn requirements into testable work items.
15
+ 6. Clarify: run `project-clarify` after planning to reconcile the plan with requirements, repo
16
+ constraints, and product outcomes; return to the owner only for material drift.
17
+ 7. Ready: run `task ready` and move new tasks to `Ready`. `Plan Confirmed` remains a legacy status,
18
+ not the default human checkpoint.
19
+ 8. Implement: use `project-implement` to make the smallest scoped code change for one work item,
20
+ validate it, and move it to testing.
21
+ 9. QA & Code Review: use `project-qa-review` to independently verify acceptance criteria and review
22
+ the code before completion.
23
+ 10. Retro: use `project-retro` after completion when there is a reusable lesson or follow-up.
24
+
25
+ For multi-item orchestration, use `project-delegate` after planning. For large bodies of work, use `project-epic` to create proposal-first epic trackers and approved child tasks.
26
+
27
+ Backlog is optional and sits between constitution and tracker state. Keep `.project-workflow/BACKLOG.md` for future intent, rough priority, options, and promotion history. Promoted rows remain in the backlog with `Promoted To` pointing at the created task or epic ID; active execution status belongs only in `.project-workflow/TRACKER.md`, epic trackers, and task/epic docs.
28
+
29
+ Project Workflow is owner-directed and agent-operated. The owner supplies intent, constraints, examples, decisions, and approvals; the agent runs commands, drafts artifacts, asks focused questions, validates readiness, implements, reviews, and records evidence. Do not make manual template completion the normal user path.
30
+
31
+ The user's work-item label is non-binding. The agent must make and state an evidence-based routing
32
+ recommendation. Clear authorized cases may proceed; genuinely ambiguous or materially different
33
+ cases require one focused question. Do not reopen or rewrite completed work by default.
34
+
35
+ For epic-managed work, preserve parent epic acceptance criteria coverage from the epic tracker through child requirements, child implementation, QA evidence, and closeout. New epic trackers use a `Parent ACs` field; legacy trackers may carry coverage in `Notes` as `Covers AC1, AC3`. The global tracker summarizes epic rows; epic `TRACKER.md` files own child rows, including Proposed rows.
36
+
37
+ When a user asks to initialize project-workflow in a new repository, run the canonical UVX init command from that repository root:
38
+
39
+ ```bash
40
+ uvx --from project-workflow==0.2.0 project init
41
+ ```
42
+
43
+ When a user asks to update, refresh, reinstall, align, or upgrade an existing repository, use canonical UVX upgrade instead; do not run init first:
44
+
45
+ ```bash
46
+ uvx --from project-workflow==0.2.0 project upgrade
47
+ ```
48
+
49
+ Add `--agent codex`, `--agent cursor`, `--agent claude-code`, or `--agent github-copilot` for the target mode. Canonical UVX upgrade obtains current software and plans managed assets and repository schema together. Use `--yes` for an authorized non-interactive one-command apply, or `--plan --format json` followed by `--apply --plan-fingerprint <SHA256>` when automation requires separate review.
50
+
51
+ ## Workflow Skill Map
52
+
53
+ - If the user asks to create, update, review, or align the product constitution, use `.agents/skills/project-constitution/SKILL.md`.
54
+ - If the user asks to capture, refine, validate, accept, defer, reject, supersede, or promote future project intent before task/epic execution, use `.agents/skills/project-backlog/SKILL.md`.
55
+ - If the user asks to create a task, story, feature folder, tracker row, or new project-workflow item, use `.agents/skills/project-task/SKILL.md`.
56
+ - If the user reports a bounded post-completion defect, regression, change request, incident, or
57
+ hotfix, or asks whether work should be a Fix, use `.agents/skills/project-fix/SKILL.md`.
58
+ - If the user asks to create, decompose, approve, or scaffold epic-managed work, use `.agents/skills/project-epic/SKILL.md`.
59
+ - If the user asks to capture requirements, define scope, write acceptance criteria, record open questions, or prepare a validation plan, use `.agents/skills/project-requirements/SKILL.md`.
60
+ - If the user asks to plan implementation, break requirements into phases, or create testable work items, use `.agents/skills/project-planner/SKILL.md`.
61
+ - If the user asks to resolve ambiguity, reconcile conflicting requirements, or decide between unclear options, use `.agents/skills/project-clarify/SKILL.md`.
62
+ - If the user asks to implement a planned project-workflow item, use `.agents/skills/project-implement/SKILL.md`.
63
+ - If the user asks to coordinate or run multiple planned work items, use `.agents/skills/project-delegate/SKILL.md`.
64
+ - If the user asks for QA, code review, verification, release readiness, or completion approval, use `.agents/skills/project-qa-review/SKILL.md`.
65
+ - If the user asks for a retro, retrospective, lessons learned, convention updates, agent updates, prompt updates, or post-completion cleanup, use `.agents/skills/project-retro/SKILL.md`.
66
+ - If a task-specific workflow is requested but the task folder does not exist, run `project-task` first before requirements, planning, clarification, implementation, review, or retro.
67
+ - Do not skip directly to planning or implementation when requirements are missing, ambiguous, or not accepted as explicit risks.
68
+
69
+ ## Drift Gate Requirements
70
+
71
+ - Before implementation-oriented work, record one owner-approved requirements/AC envelope with `task approve-requirements` or `epic approve-requirements`. Do not treat an agent draft, silence, or implementation request as approval.
72
+ - Do not ask for repeated generic approval when work remains inside the unchanged approved envelope. Fix concrete drift/evidence gaps directly, and ask the owner only for material scope changes, amendments, deviations, deferrals, artifact identity changes, or proof-obligation changes.
73
+ - For pre-existing work, use `task adopt` or `epic adopt`; pre-adoption inferred evidence remains untrusted until refreshed.
74
+ - New/adopted epics require non-placeholder `EPIC-CONTRACT.md` before decomposition, child approval/scaffolding, or movement into `Ready`/`In Progress`.
75
+ - Epic child rows must come from `DECOMPOSITION.md` or an approved `AMENDMENTS.md` record. Direct tracker edits outside that authority cannot advance through approval, scaffold, readiness, Review, or Complete gates.
76
+ - Scaffolded epic children inherit parent AC coverage, child charters, proof ownership, artifact targets, invalid substitutes, and child-local `EVIDENCE.json`.
77
+ - If requirements, acceptance criteria, child charters, epic contracts, or material claims trigger a proof recipe, structured evidence is required. QA prose, code review, tests, builds, surrogate surfaces, and wrong target/source pairs are invalid substitutes where the recipe requires stronger proof.
78
+ - Visual/reference fidelity requires calibration before implementation and rendered comparison against the delivered user-facing artifact before Review/Complete. Runtime target/source proof requires the exact execution target, source/artifact under test, observation method, and positive proof that the target used that source.
79
+
80
+ ## CLI Requirements
81
+
82
+ - Treat `.project-workflow/cli/workflow` as the authoritative way to perform operations it supports.
83
+ - Use the CLI for backlog row creation, status changes, validation, and promotion. Do not hand-edit backlog lifecycle state when the CLI can do it.
84
+ - Use the CLI for task scaffolding and tracker-safe task creation. Do not manually create task folders, starter `REQUIREMENTS.md`, starter `IMPLEMENTATION.md`, or tracker rows when the CLI can do it.
85
+ - Use the CLI for Fix scaffolding, triage, lifecycle, promotion, and closeout. Keep Fix records under
86
+ `.project-workflow/tasks/FIX-<ID>-<Suffix>/FIX.md` and in the one global tracker; do not create a
87
+ separate Fix tracker or top-level fixes directory.
88
+ - Run project-workflow CLI commands from the repository root.
89
+ - If a selected project-workflow skill documents a CLI command, run that command instead of recreating its behavior manually.
90
+ - If the CLI does not support the selected workflow step, follow the selected skill and update the relevant Markdown files directly.
91
+ - If the CLI command fails, stop and report the failure before attempting a manual fallback.
92
+
93
+ ## Codex Usage
94
+
95
+ - Use the repo-scoped skills in `.agents/skills/project-*` when the user asks for project workflow steps, even when the user asks in natural language rather than naming the skill.
96
+ - Read `.project-workflow/guidance.md` before changing workflow state when the file exists.
97
+ - For broad future objectives, use `project-backlog` to draft outcome-focused backlog candidates from project context. Do not create tracker rows, task folders, or epic folders until the owner accepts or promotes the row.
98
+ - Existing roadmap/backlog documents outside `.project-workflow/BACKLOG.md` are preserved. Do not import or transform them automatically; create a repo-local migration task if needed.
99
+ - Read `.project-workflow/config.json` for repo-owned task ID namespaces, ID generation, and accepted doctor warning fingerprints when it exists. Sequential IDs look like `TASK-001`; unique IDs keep the prefix and use a 5-character base36 suffix by default, such as `WF-K7F3Q`.
100
+ - Do not report accepted doctor warnings as active issues after `doctor` hides them. Use `doctor --show-accepted` only when auditing accepted workflow debt.
101
+ - If a task folder does not exist, run `./.project-workflow/cli/workflow task init --title "<TITLE>" --update-tracker` from the repo root and let the CLI assign the next configured task ID. Add `--prefix <PREFIX>` only when the user or repo guidance calls for a configured non-default prefix.
102
+ - Read `.project-workflow/tasks/<ID>-*/REQUIREMENTS.md` before planning, implementing, reviewing, or running retro.
103
+ - Read `.project-workflow/tasks/<ID>-*/IMPLEMENTATION.md` before implementing, reviewing, or running retro for a work item.
104
+ - When planning, make every implementation task row map to one or more stable acceptance criteria IDs (`AC1`, `AC2`, etc.) from the task requirements or implementation acceptance criteria section.
105
+ - When planning epic-managed child tasks, keep both the child AC IDs and parent epic AC coverage visible in requirements, implementation rows, validation evidence, and QA notes.
106
+ - Before implementation-oriented status transitions, run readiness gates where available: `task ready`, `epic ready`, or `epic ready-child`. If a gate fails, remediate repo-gatherable gaps directly and ask the owner only for decisions, missing product context, or material authority changes listed above.
107
+ - Owner approval of requirements/ACs occurs before planning. After approval, run Planner,
108
+ post-plan Clarify, `task ready`, and move to `Ready` autonomously unless setup-only scope,
109
+ material drift, exceptional authority, or optional requested/high-risk plan review requires a pause.
110
+ - Keep `.project-workflow/TRACKER.md` status aligned with the current workflow state using `./.project-workflow/cli/workflow task status --id <TASK-ID> --to <STATUS>` when the command is available.
111
+ - Do not mark a task or work item `Complete` unless implementation validation and QA/code review have passed and the user explicitly asks for completion.
112
+
113
+ ## Status Rules
114
+
115
+ - New scaffolded tasks start as `To Do`.
116
+ - Move a new task to `Analysing` only after its requirements/AC approval envelope is recorded.
117
+ - Move a planned and clarified new task to `Ready` after `task ready` passes. `Plan Confirmed` is
118
+ supported for legacy tasks.
119
+ - Run `./.project-workflow/cli/workflow task status --id <TASK-ID> --to "In Progress"` before implementation work begins.
120
+ - Run `./.project-workflow/cli/workflow task status --id <TASK-ID> --to Testing` after implementation and validation have been run.
121
+ - Run `./.project-workflow/cli/workflow task status --id <TASK-ID> --to Review` while QA/code review is running.
122
+ - Run `./.project-workflow/cli/workflow task status --id <TASK-ID> --to Complete` only after QA/code review passes and the user explicitly requests it.
123
+ - Leave the tracker row as `Complete` during retro unless the user explicitly asks to reopen the task.
124
+
125
+ ## Validation
126
+
127
+ - Run `.project-workflow/cli/workflow doctor` when workflow state is uncertain or before continuing after tracker/task doc edits.
128
+ - Use `.project-workflow/cli/workflow doctor --strict` when safety warnings should block autonomous work.
129
+ - Keep command ownership explicit: init creates a new installation, Doctor diagnoses without mutation, and canonical UVX upgrade plans and applies managed assets and repository schema together. Existing repositories must not run init first. Use `--yes` for authorized one-command agent operation or `--plan` plus `--apply --plan-fingerprint <SHA256>` for separate automation review.
130
+ - Run the most relevant available tests, type checks, linters, or manual verification steps for the changed work.
131
+ - If broad validation fails for unrelated pre-existing reasons, run the narrowest meaningful checks and report the limitation.
@@ -0,0 +1,104 @@
1
+ ---
2
+ name: project-backlog
3
+ description: Use when capturing, refining, validating, or promoting optional project-workflow backlog items before they become task or epic workflow state.
4
+ ---
5
+
6
+ # Project Backlog
7
+
8
+ Capture future intent in `.project-workflow/BACKLOG.md` before it becomes executable task or epic workflow state.
9
+
10
+ ## Invocation Rules
11
+
12
+ - Use this skill when the user asks to create, review, refine, validate, accept, defer, reject, supersede, or promote project backlog items.
13
+ - Read `.project-workflow/guidance.md` if present, `.project-workflow/CONSTITUTION.md`, `.project-workflow/BACKLOG.md` if present, `.project-workflow/TRACKER.md`, and active epic trackers before drafting candidates from a broad objective.
14
+ - Backlog is optional. If the user gives clear immediate implementation scope, `project-task` or `project-epic` can be used directly.
15
+ - Do not use backlog rows as implementation lifecycle state.
16
+
17
+ ## Required Files
18
+
19
+ - `.project-workflow/BACKLOG.md`
20
+ - `.project-workflow/CONSTITUTION.md` if present
21
+ - `.project-workflow/TRACKER.md`
22
+ - `.project-workflow/guidance.md` if present
23
+
24
+ ## Backlog Model
25
+
26
+ - `CONSTITUTION.md` records durable product outcomes and principles.
27
+ - `BACKLOG.md` records future intent, rough priority, options, and promotion history.
28
+ - `TRACKER.md` and epic trackers record committed execution lifecycle state.
29
+ - Task/epic folders record executable requirements, plans, validation evidence, QA, and retros.
30
+
31
+ Allowed type values: `Idea`, `Task Candidate`, `Epic Candidate`, `Discovery`, `Follow-Up`.
32
+
33
+ Allowed priority values: `High`, `Medium`, `Low`, `Unset`.
34
+
35
+ Allowed status values: `Proposed`, `Accepted`, `Deferred`, `Rejected`, `Superseded`, `Promoted`.
36
+
37
+ `Accepted` means worth keeping or preparing; it does not mean ready to implement.
38
+
39
+ Promoted rows stay in the backlog with status `Promoted` and `Promoted To` set to the created task or epic ID.
40
+
41
+ Existing roadmap/backlog documents outside `.project-workflow/BACKLOG.md` must be preserved. Do not import or transform them automatically; create a repo-local migration task if needed.
42
+
43
+ ## Workflow
44
+
45
+ 1. For broad objectives, read project context first and draft outcome-focused candidate rows.
46
+ 2. Recommend whether each candidate should remain an idea, become a task, become an epic, or require discovery.
47
+ 3. Do not create tracker rows, task folders, or epic folders while only proposing backlog candidates.
48
+ 4. Ask for owner review before accepting or promoting rows.
49
+ 5. If context is insufficient, ask focused questions instead of inventing strategy.
50
+ 6. Use the CLI for deterministic row operations.
51
+
52
+ ## CLI
53
+
54
+ Initialize backlog if missing:
55
+
56
+ ```bash
57
+ ./.project-workflow/cli/workflow backlog init
58
+ ```
59
+
60
+ Add a row:
61
+
62
+ ```bash
63
+ ./.project-workflow/cli/workflow backlog add --title "<TITLE>" --outcome "<OUTCOME>" --type "Idea" --priority Unset
64
+ ```
65
+
66
+ List rows:
67
+
68
+ ```bash
69
+ ./.project-workflow/cli/workflow backlog list
70
+ ```
71
+
72
+ Update status:
73
+
74
+ ```bash
75
+ ./.project-workflow/cli/workflow backlog status --id BL-001 --to Accepted
76
+ ```
77
+
78
+ Update fields:
79
+
80
+ ```bash
81
+ ./.project-workflow/cli/workflow backlog update --id BL-001 --priority High --notes "<NOTES>"
82
+ ```
83
+
84
+ Validate backlog:
85
+
86
+ ```bash
87
+ ./.project-workflow/cli/workflow backlog validate
88
+ ```
89
+
90
+ Promote an accepted row:
91
+
92
+ ```bash
93
+ ./.project-workflow/cli/workflow backlog promote --id BL-001 --to task
94
+ ./.project-workflow/cli/workflow backlog promote --id BL-001 --to epic
95
+ ```
96
+
97
+ Use `--accept` only when the owner explicitly confirms accepting and promoting in one operation.
98
+
99
+ ## Output
100
+
101
+ - Report commands run.
102
+ - Summarize created or updated rows.
103
+ - For promotion, report the created task/epic ID and generated files.
104
+ - Run `./.project-workflow/cli/workflow doctor` after promotion or structural backlog edits and report warnings/errors.
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: project-clarify
3
+ description: Use when project-workflow requirements, implementation plan, repo constraints, or user intent conflict or need clarification.
4
+ ---
5
+
6
+ # Project Clarify
7
+
8
+ Resolve ambiguity before planning or implementation continues. Also run this skill after Planner
9
+ as the normal autonomous consistency pass.
10
+
11
+ ## Invocation Rules
12
+
13
+ - Use this skill whenever the user asks to clarify, resolve ambiguity, reconcile conflicting requirements, or decide between unclear options for a project-workflow task, even if they ask in natural language.
14
+ - Read `AGENTS.md` and `.project-workflow/guidance.md` if present, then follow the project-workflow managed block and CLI requirements.
15
+ - If the task folder does not exist, use `project-task` first when a tracked task is needed.
16
+ - Clarification is a document workflow unless the CLI adds an explicit clarify command.
17
+
18
+ ## Required Files
19
+
20
+ - `.project-workflow/tasks/<TASK>/REQUIREMENTS.md`
21
+ - `.project-workflow/tasks/<TASK>/IMPLEMENTATION.md`
22
+ - `.project-workflow/CONSTITUTION.md` if present
23
+ - Repo instruction files such as `AGENTS.md` or `.github/copilot-instructions.md`
24
+
25
+ ## Workflow
26
+
27
+ 1. Read the `## User Story` section from `IMPLEMENTATION.md`.
28
+ 2. Read `REQUIREMENTS.md` and treat it as the source of truth for agreed outcomes and decisions.
29
+ 3. Cross-check for ambiguities or conflicts that affect scope, safety, security, billing, data correctness, validation, or user-visible behavior.
30
+ 4. If the user story is missing or unusable, stop and direct the user to run requirements capture first.
31
+ 5. Record each ambiguity in `REQUIREMENTS.md` as a numbered open question with:
32
+ - the conflict or missing decision
33
+ - why it matters
34
+ - 2 to 4 actionable options
35
+ 6. Ask one unresolved question at a time unless the user explicitly wants batching.
36
+ 7. After the user answers, immediately update `REQUIREMENTS.md` decisions and open questions.
37
+ 8. Preserve existing acceptance criteria IDs (`AC1`, `AC2`, etc.) when updating
38
+ requirements. Do not renumber ACs unless the user explicitly approves that
39
+ requirements change.
40
+ 9. Keep `IMPLEMENTATION.md` aligned with confirmed decisions, including any
41
+ AC-to-task mapping affected by the decision.
42
+ 10. Repeat until no unresolved blocking questions remain or the user explicitly accepts remaining risks.
43
+ 11. During a post-plan pass, resolve implementation-detail inconsistencies inside the approved
44
+ envelope autonomously. If resolution changes requirements, ACs, proof obligations, artifact
45
+ identity, or scope materially, return the changed envelope to the owner for re-approval.
46
+ 12. When the post-plan pass is clean, run `task ready`, move the task to `Ready`, and continue when
47
+ implementation is authorized.
@@ -0,0 +1,62 @@
1
+ ---
2
+ name: project-constitution
3
+ description: Use when creating or refining .project-workflow/CONSTITUTION.md with stable product outcomes for a repository.
4
+ ---
5
+
6
+ # Project Constitution
7
+
8
+ Create or update the product outcome guide for the repository.
9
+
10
+ ## Invocation Rules
11
+
12
+ - Use this skill whenever the user asks for project-workflow constitution work, even if they ask in natural language.
13
+ - Read `AGENTS.md` and `.project-workflow/guidance.md` if present, then follow the project-workflow managed block and CLI requirements.
14
+ - Do not use the CLI for constitution work unless `.project-workflow/cli/workflow` adds an explicit constitution command.
15
+ - If the user asks for implementation or workflow rules while discussing the constitution, put those rules in `.project-workflow/guidance.md` rather than `.project-workflow/CONSTITUTION.md`.
16
+
17
+ ## Required Context
18
+
19
+ Read these when present:
20
+
21
+ - `README.md`
22
+ - `.project-workflow/TRACKER.md`
23
+ - `.project-workflow/guidance.md`
24
+ - `.project-workflow/CONSTITUTION.md`
25
+ - `AGENTS.md`
26
+ - `.github/copilot-instructions.md`
27
+ - Product docs under `docs/**`, `specs/**`, `product/**`, or `roadmap/**`
28
+
29
+ ## Workflow
30
+
31
+ 1. Summarize current product intent from the repo and user brief.
32
+ 2. If the brief is missing or too vague, ask the minimum questions needed.
33
+ 3. Create or update `.project-workflow/CONSTITUTION.md`.
34
+ 4. Keep the constitution outcome-focused and stable. Do not include framework choices, lint rules, folder layouts, or implementation details.
35
+ 5. Preserve useful existing content while removing technical directives.
36
+ 6. Use this structure:
37
+
38
+ ```md
39
+ # Constitution
40
+
41
+ ## Mission
42
+
43
+ - <What this project exists to achieve>
44
+
45
+ ## Target Users
46
+
47
+ - <Primary users>
48
+
49
+ ## Core Outcomes
50
+
51
+ - <Outcome 1>
52
+
53
+ ## Product Principles
54
+
55
+ - <Principle>
56
+
57
+ ## Non-Goals
58
+
59
+ - <What this project should not optimize for>
60
+ ```
61
+
62
+ 7. If technical workflow guidance is missing, offer to add it to `.project-workflow/guidance.md` rather than the constitution.
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: project-delegate
3
+ description: Use when coordinating multiple planned project-workflow work items with sequential or dependency-aware parallel execution.
4
+ ---
5
+
6
+ # Project Delegate
7
+
8
+ Coordinate multiple work items from an existing project-workflow implementation plan.
9
+
10
+ ## Invocation Rules
11
+
12
+ - Use this skill whenever the user asks to delegate, coordinate, batch, parallelize, or run multiple planned work items.
13
+ - Read `AGENTS.md` and `.project-workflow/guidance.md` if present, then follow the project-workflow managed block and CLI requirements.
14
+ - Requirements, clarification, and planning must already be complete before delegation.
15
+ - Delegation routes each eligible work item through `project-implement`; it does not bypass validation, QA/code review, or retro.
16
+
17
+ ## Required Files
18
+
19
+ - `.project-workflow/tasks/<TASK>/REQUIREMENTS.md`
20
+ - `.project-workflow/tasks/<TASK>/IMPLEMENTATION.md`
21
+ - `.project-workflow/TRACKER.md`
22
+ - Repo instruction files such as `AGENTS.md`
23
+
24
+ ## Workflow
25
+
26
+ 1. Identify the task and the requested work items from the user prompt or `IMPLEMENTATION.md`.
27
+ 2. Read requirements and implementation plan before launching any work.
28
+ 3. Validate the delegation mode:
29
+ - `sequential` when order matters or mode is omitted
30
+ - `parallel` only when dependencies are explicit and independent items can safely run together
31
+ 4. Validate dependency maps strictly:
32
+ - no unknown work item IDs
33
+ - no self-dependencies
34
+ - no cycles
35
+ 5. Route each eligible item through `project-implement` with a clear scope boundary.
36
+ 6. Use fail-fast launch behavior for new items while allowing in-flight work to finish and report results.
37
+ 7. After delegated implementation reaches `Testing`, run `project-qa-review` before completion.
38
+ 8. After completion, run `project-retro` for durable convention or agent updates.
@@ -0,0 +1,121 @@
1
+ ---
2
+ name: project-epic
3
+ description: Use when creating, decomposing, approving, or scaffolding proposal-first project-workflow epics.
4
+ ---
5
+
6
+ # Project Epic
7
+
8
+ Manage proposal-first epic work under `.project-workflow/tasks/`.
9
+
10
+ ## Invocation Rules
11
+
12
+ - Use this skill whenever the user asks for an epic, epic decomposition, proposed child work, approval of epic rows, or scaffolding an approved epic child task.
13
+ - Read `AGENTS.md` and `.project-workflow/guidance.md` if present, then follow the project-workflow managed block and CLI requirements.
14
+ - Use the local workflow CLI for every supported epic operation.
15
+ - Do not scaffold child task folders until the relevant epic tracker row is `Approved`.
16
+
17
+ ## Workflows
18
+
19
+ Create a new epic:
20
+
21
+ ```bash
22
+ ./.project-workflow/cli/workflow epic init --title "<TITLE>"
23
+ ```
24
+
25
+ Decompose an epic into proposed child rows only:
26
+
27
+ ```bash
28
+ ./.project-workflow/cli/workflow epic approve-requirements --epic-id <EPIC-ID> --approved-by "<OWNER>" --source "<APPROVAL SOURCE>"
29
+ ./.project-workflow/cli/workflow epic decompose --epic-id <EPIC-ID> --limit 5 --type Task
30
+ ```
31
+
32
+ Approve one proposed child row:
33
+
34
+ ```bash
35
+ ./.project-workflow/cli/workflow epic approve --epic-id <EPIC-ID> --id <TASK-ID>
36
+ ```
37
+
38
+ Scaffold one approved child row:
39
+
40
+ ```bash
41
+ ./.project-workflow/cli/workflow epic scaffold-child --epic-id <EPIC-ID> --id <TASK-ID>
42
+ ```
43
+
44
+ Scaffold one approved child row with a branch from an existing epic branch:
45
+
46
+ ```bash
47
+ ./.project-workflow/cli/workflow epic scaffold-child --epic-id <EPIC-ID> --id <TASK-ID> --create-branch --epic-branch <EPIC-BRANCH>
48
+ ```
49
+
50
+ Move one epic tracker row through lifecycle statuses:
51
+
52
+ ```bash
53
+ ./.project-workflow/cli/workflow epic status --epic-id <EPIC-ID> --id <TASK-ID> --to Testing
54
+ ./.project-workflow/cli/workflow epic status --epic-id <EPIC-ID> --id <TASK-ID> --to Review
55
+ ./.project-workflow/cli/workflow epic status --epic-id <EPIC-ID> --id <TASK-ID> --to Complete
56
+ ```
57
+
58
+ Generate an epic acceptance audit:
59
+
60
+ ```bash
61
+ ./.project-workflow/cli/workflow epic audit --epic-id <EPIC-ID>
62
+ ```
63
+
64
+ Validate epic requirements before decomposition:
65
+
66
+ ```bash
67
+ ./.project-workflow/cli/workflow epic ready --epic-id <EPIC-ID>
68
+ ```
69
+
70
+ Move the global epic row through the minimal epic lifecycle:
71
+
72
+ ```bash
73
+ ./.project-workflow/cli/workflow epic lifecycle --epic-id <EPIC-ID> --to Ready
74
+ ./.project-workflow/cli/workflow epic lifecycle --epic-id <EPIC-ID> --to "In Progress"
75
+ ./.project-workflow/cli/workflow epic lifecycle --epic-id <EPIC-ID> --to Closeout
76
+ ```
77
+
78
+ Validate one child task before implementation/testing:
79
+
80
+ ```bash
81
+ ./.project-workflow/cli/workflow epic ready-child --epic-id <EPIC-ID> --id <TASK-ID>
82
+ ```
83
+
84
+ Validate epic closeout, optionally completing the global epic row when gates pass:
85
+
86
+ ```bash
87
+ ./.project-workflow/cli/workflow epic closeout --epic-id <EPIC-ID> [--complete]
88
+ ```
89
+
90
+ ## Rules
91
+
92
+ - `epic init` creates an epic `REQUIREMENTS.md`, `EPIC-CONTRACT.md`, epic `TRACKER.md`, `DEFERRALS.md`, `AMENDMENTS.md`, `RETRO.md`, and `ACCEPTANCE-MAP.md`.
93
+ - `ACCEPTANCE-MAP.md` is a working parent AC coverage view derived from requirements, epic tracker rows, deferrals, and child evidence. Epic lifecycle commands refresh it when coverage state changes.
94
+ - Epic acceptance criteria should use stable IDs (`AC1`, `AC2`, etc.).
95
+ - `epic ready` must pass before decomposition; if it fails, ask the owner only for missing product decisions/context and record answers in `REQUIREMENTS.md`.
96
+ - `epic approve-requirements` records the owner-approved authority envelope once requirements/ACs are ready. Do not require repeated owner approval for unchanged child rows inside that envelope.
97
+ - Approval gates are drift checks. If a gate fails, fix the concrete stale-requirements, out-of-envelope, or evidence gap unless an actual amendment/deviation decision is needed.
98
+ - `EPIC-CONTRACT.md` records sources of truth, invalid substitutes, invariants, artifact targets, and parent AC proof owners. New/adopted epics must replace placeholder contract content before decomposition, child approval/scaffolding, or movement into `Ready`/`In Progress`.
99
+ - `epic lifecycle` updates the global epic row through `Analysing`, `Ready`, `In Progress`, and `Closeout`. `Ready`, `In Progress`, and `Closeout` are gated; `Complete` remains owned by `epic closeout --complete`.
100
+ - `epic decompose` writes Proposed child rows and `DECOMPOSITION.md`, the approved child-row authority plan. It does not create child task folders.
101
+ - If requirements include a `Proposed Child Work` table, `epic decompose` uses that owner-reviewed decomposition before falling back to generated requirement/AC candidates.
102
+ - `epic decompose` reads `.project-workflow/config.json` namespace and ID generation guidance by default and may produce mixed child prefixes such as `MCP-001` or `UI-K7F3Q`; use `--prefix <PREFIX>` only for an explicitly homogeneous batch.
103
+ - Proposed child rows should preserve source AC IDs in the epic tracker `Parent ACs` field when they come from numbered acceptance criteria. Legacy trackers may still carry coverage in `Notes` as `Covers AC1, AC3`.
104
+ - `epic approve`, `epic scaffold-child`, `epic ready-child`, and `epic status` reject child rows whose ID, title, or parent AC coverage does not match `DECOMPOSITION.md`; matching rows inside the plan do not need separate per-row owner approval.
105
+ - `epic amend` records an owner-approved amendment in `AMENDMENTS.md` and appends the matching Proposed child row. Use it for mid-epic reactive fixes, new child work, or material changes outside the approved decomposition plan; direct tracker edits remain blocked.
106
+ - `epic adopt` brings pre-existing epics under current approval gates with a `Legacy Adoption` block. Pre-adoption inferred evidence is untrusted unless `--evidence-refreshed` is used after proof has been rerun.
107
+ - `epic scaffold-child` only accepts `Approved` child rows and moves them to `In Progress` after scaffold. It copies parent AC coverage plus a contract-derived `Child Charter` into the child docs.
108
+ - `epic scaffold-child` also creates child-local `EVIDENCE.json`. Fill it when requirements or material claims trigger a proof recipe.
109
+ - Built-in proof recipes are `visual-reference-fidelity`, `external-contract-alignment`, `deployed-artifact-alignment`, `runtime-target-source`, and `responsive-visual-behavior`.
110
+ - When a proof recipe is triggered, `epic status` blocks `Review`/`Complete`, `epic audit` refuses parent AC credit, and `doctor` fails invalid current states until `EVIDENCE.json` has passing structured claim records with recipe-specific fields and evidence artifacts.
111
+ - Invalid substitutes are rejected. Visual/reference fidelity needs rendered comparison against the delivered user-facing artifact, not code review, tests, build output, or surrogate surfaces. Runtime target/source proof needs the exact execution target, source/artifact under test, observation method, and positive proof that the target used that source.
112
+ - `epic status` moves planned child rows through `Testing`, `Review`, and `Complete`; `Complete` requires QA/code-review evidence and parent AC evidence.
113
+ - Scaffolded epic child task docs must include parent AC coverage, child charter, and parent AC evidence sections. Their implementation plans must map every task row to one or more stable child AC IDs and keep the parent AC mapping visible.
114
+ - `epic ready-child` must pass before implementation/testing; if it fails, remediate missing child requirements, planning, validation, parent AC coverage, or owner decisions first.
115
+ - The global tracker summarizes epic rows; the epic tracker owns child rows. Proposed child rows must stay in the epic tracker and must not be added to the global tracker.
116
+ - `epic audit` writes `ACCEPTANCE-AUDIT.md` with parent AC coverage, child evidence, deferrals, and verdicts. The audit is the closeout evidence artifact; the acceptance map is the in-progress coverage view.
117
+ - `epic closeout` must block if any parent AC is unmapped, lacks evidence, lacks a QA pass verdict, lacks an approved deferral with follow-up, or if `RETRO.md` is missing/incomplete.
118
+ - `RETRO.md` must record lessons, follow-up tasks, deferrals, and missed in-scope work before closeout. Explicit `None.` entries are valid when there is nothing to report.
119
+ - Child IDs remain globally unique within their configured task prefix namespaces across standalone and epic-managed work.
120
+ - When `--create-branch` is used, the epic branch must already exist; do not fall back to a base branch.
121
+ - After any epic tracker or child scaffold change, run `./.project-workflow/cli/workflow doctor` and report workflow-state warnings or errors.
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: project-fix
3
+ description: Use when routing or managing a bounded post-completion defect, regression, change request, incident, or hotfix.
4
+ ---
5
+
6
+ # Project Fix
7
+
8
+ Manage one bounded post-completion correction using the lightweight Fix subtype. Fixes share
9
+ `.project-workflow/tasks/` and `.project-workflow/TRACKER.md` with tasks and epics and use one
10
+ `FIX.md`; never create a second fix directory tree or tracker.
11
+
12
+ ## Routing
13
+
14
+ - Keep in-flight, in-scope corrections in the active task or epic child.
15
+ - Choose Fix for one bounded correction against delivered/accepted behavior.
16
+ - Choose Task for a new outcome, material product decision/discovery, or multiple independent
17
+ work items.
18
+ - Choose Epic for several coordinated outcomes/workstreams.
19
+ - Treat the user's label as evidence, not a binding classification. State the rationale and
20
+ proceed when clear and authorized; ask one focused question when materially ambiguous.
21
+ - Do not reopen completed work by default. Link it if identified; otherwise record
22
+ `Not identified`, the delivered baseline, and report evidence without exhaustive archaeology.
23
+
24
+ ## Commands
25
+
26
+ ```bash
27
+ ./.project-workflow/cli/workflow fix init --title "<TITLE>"
28
+ ./.project-workflow/cli/workflow fix triage --id <FIX-ID>
29
+ ./.project-workflow/cli/workflow fix status --id <FIX-ID> --to "In Progress"
30
+ ./.project-workflow/cli/workflow fix status --id <FIX-ID> --to Testing
31
+ ./.project-workflow/cli/workflow fix status --id <FIX-ID> --to Review
32
+ ./.project-workflow/cli/workflow fix close --id <FIX-ID> --disposition Fixed --decision "<SUMMARY>" --closed-by "<IDENTITY>"
33
+ ./.project-workflow/cli/workflow fix promote --id <FIX-ID> --to task --reason "<WHY>" --promoted-by "<IDENTITY>"
34
+ ```
35
+
36
+ Complete the single `FIX.md` before triage. Classify the work as `Defect`, `Regression`,
37
+ `Change Request`, or `Incident`; use `Mode: Hotfix` only for emergency sequencing. Capture
38
+ severity, impact, urgency, owner, risk, rollback/containment, related work, primary repo, repos
39
+ touched, branch/PR/evidence links, verification plan, regression evidence, and residual risk.
40
+
41
+ A normal Fix must pass `fix triage` before implementation. A Hotfix may bypass `Ready` only when
42
+ the emergency minimum safety packet validates. Promote work that no longer fits a bounded Fix.
43
+ Run `doctor` after scaffold and lifecycle changes.
44
+
45
+ Use `fix close` with `Duplicate`, `Rejected`, or `Deferred` to record a non-delivery terminal
46
+ decision as `N/A`; do not move directly to `N/A` without its disposition and audit details.
47
+
48
+ Do not require a retro for every Fix. Route a repeatable workflow, process, quality, or prevention
49
+ gap to a retro or explicit follow-up task without reopening completed originating work.
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: project-implement
3
+ description: Use when implementing one project-workflow work item with requirements alignment, tracker updates, validation, and concise reporting.
4
+ ---
5
+
6
+ # Project Implement
7
+
8
+ Implement one scoped work item from a project-workflow task and move it to testing.
9
+
10
+ ## Invocation Rules
11
+
12
+ - Use this skill whenever the user asks to implement a project-workflow task or planned work item, even if they ask in natural language.
13
+ - Read `AGENTS.md` and `.project-workflow/guidance.md` if present, then follow the project-workflow managed block and CLI requirements.
14
+ - If the task folder does not exist, use `project-task` first so the CLI creates the required files and tracker row.
15
+ - If requirements or implementation tasks are missing, use `project-requirements` and `project-planner` before coding.
16
+ - Use the CLI for any supported tracker-safe operation before editing Markdown manually.
17
+
18
+ ## Required Files
19
+
20
+ - `.project-workflow/tasks/<TASK>/REQUIREMENTS.md`
21
+ - `.project-workflow/tasks/<TASK>/IMPLEMENTATION.md`
22
+ - `.project-workflow/TRACKER.md`
23
+ - Repo instruction files such as `AGENTS.md`
24
+
25
+ ## Workflow
26
+
27
+ 1. Infer the task ID from the user prompt or current branch if possible. Ask only if it cannot be inferred.
28
+ 2. Infer the work item from the user prompt or the next `To Do` task in `IMPLEMENTATION.md`. Ask only if ambiguous.
29
+ 3. Read `REQUIREMENTS.md` and `IMPLEMENTATION.md` before editing code.
30
+ 4. Run `./.project-workflow/cli/workflow task ready --id <TASK-ID>` before coding. If approval is missing or stale after requirements are ready, record the single owner approval envelope with `task approve-requirements`; for pre-existing legacy tasks use `task adopt` and treat pre-adoption evidence as untrusted until refreshed. Otherwise remediate the listed drift/evidence gaps without asking for generic approval.
31
+ 5. Restate the selected work item and scope boundary.
32
+ 6. Map each planned change to the relevant AC IDs. If a change does not map,
33
+ stop and ask for direction.
34
+ 7. Ensure the new-task lifecycle is `Ready` (or legacy `Plan Confirmed`) after the post-plan
35
+ clarification/readiness pass, then run
36
+ `./.project-workflow/cli/workflow task status --id <TASK-ID> --to "In Progress"` before coding.
37
+ Do not ask for repeated approval for unchanged work inside the approved envelope.
38
+ 8. Make the smallest safe code change that satisfies the selected work item.
39
+ 9. Add or update tests when appropriate.
40
+ 10. Run relevant automated checks and any required manual verification steps.
41
+ 11. Run `./.project-workflow/cli/workflow task status --id <TASK-ID> --to Testing` after implementation and validation have run.
42
+ 12. Run `./.project-workflow/cli/workflow doctor` and report workflow-state warnings or errors.
43
+ 13. Do not set status to `Complete`; completion is owned by `project-qa-review` after QA/code review passes and the user explicitly asks.
44
+ 14. Report changed files, validation results, remaining risks, and that `project-qa-review` is the next required lifecycle step.
45
+
46
+ If requirements conflict with repo constraints or validation is not testable, stop and use `project-clarify`.