@dv.nghiem/flowdeck 0.3.6 → 0.3.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/index.d.ts +2 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/supervisor.d.ts +3 -0
- package/dist/agents/supervisor.d.ts.map +1 -0
- package/dist/config/schema.d.ts +36 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/dashboard/lib/state-reader.d.ts.map +1 -1
- package/dist/dashboard/server.mjs +789 -905
- package/dist/dashboard/types.d.ts +0 -2
- package/dist/dashboard/types.d.ts.map +1 -1
- package/dist/dashboard/views/index.ejs +0 -6
- package/dist/dashboard/views/partials/header.ejs +0 -4
- package/dist/hooks/command-ref-guard.d.ts +21 -0
- package/dist/hooks/command-ref-guard.d.ts.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +819 -12
- package/dist/lib/impact-radar.d.ts +2 -2
- package/dist/services/agent-contract-registry.d.ts.map +1 -1
- package/dist/services/command-validator.d.ts +50 -0
- package/dist/services/command-validator.d.ts.map +1 -0
- package/dist/services/command-validator.test.d.ts +2 -0
- package/dist/services/command-validator.test.d.ts.map +1 -0
- package/dist/services/quick-router.d.ts +118 -0
- package/dist/services/quick-router.d.ts.map +1 -0
- package/dist/services/quick-router.test.d.ts +13 -0
- package/dist/services/quick-router.test.d.ts.map +1 -0
- package/dist/services/supervisor-binding.d.ts +114 -0
- package/dist/services/supervisor-binding.d.ts.map +1 -0
- package/dist/services/supervisor.test.d.ts +14 -0
- package/dist/services/supervisor.test.d.ts.map +1 -0
- package/dist/services/telemetry.d.ts +1 -1
- package/dist/services/telemetry.d.ts.map +1 -1
- package/dist/services/workflow-scorecard.d.ts +20 -0
- package/dist/services/workflow-scorecard.d.ts.map +1 -1
- package/docs/agents.md +1 -1
- package/docs/commands/fd-ask.md +1 -1
- package/docs/commands/fd-deploy-check.md +1 -1
- package/docs/commands/fd-discuss.md +1 -1
- package/docs/commands/fd-fix-bug.md +1 -1
- package/docs/commands/fd-new-feature.md +1 -1
- package/docs/commands/fd-verify.md +18 -0
- package/docs/commands/fd-write-docs.md +1 -1
- package/docs/commands.md +43 -23
- package/docs/feature-integration-architecture.md +1 -1
- package/docs/notifications.md +2 -2
- package/docs/quick-start.md +3 -1
- package/docs/skills.md +1 -1
- package/docs/workflows.md +1 -1
- package/package.json +8 -8
- package/src/commands/fd-discuss.md +1 -1
- package/src/commands/fd-multi-repo.md +2 -2
- package/src/commands/fd-new-project.md +0 -1
- package/src/commands/fd-plan.md +1 -1
- package/src/commands/fd-quick.md +240 -55
- package/src/rules/common/agent-orchestration.md +1 -1
- package/src/skills/blast-radius-preview/SKILL.md +1 -1
- package/src/skills/change-impact-radar/SKILL.md +2 -2
- package/src/skills/confidence-aware-planning/SKILL.md +1 -1
- package/src/skills/context-load/SKILL.md +1 -1
- package/src/skills/design-tokens/SKILL.md +250 -0
- package/src/skills/git-release/SKILL.md +1 -1
- package/src/skills/human-review-routing/SKILL.md +3 -3
- package/src/skills/intent-translator/SKILL.md +2 -2
- package/src/skills/regression-prediction/SKILL.md +1 -1
- package/src/skills/test-gap-detector/SKILL.md +1 -1
- package/src/skills/ui-design/SKILL.md +313 -0
- package/src/skills/volatility-map/SKILL.md +1 -1
package/docs/notifications.md
CHANGED
|
@@ -8,7 +8,7 @@ FlowDeck fires desktop notifications when commands that require your attention c
|
|
|
8
8
|
|
|
9
9
|
When an interactive command finishes (one that either asks questions or produces output you need to approve), FlowDeck sends a desktop notification through the OS notification system. Notification urgency depends on the command:
|
|
10
10
|
|
|
11
|
-
- **Critical-level (urgent):** `/fd-discuss`, `/fd-plan`, `/fd-
|
|
11
|
+
- **Critical-level (urgent):** `/fd-discuss`, `/fd-plan`, `/fd-verify`, `/fd-deploy-check`, `/fd-new-project`
|
|
12
12
|
These commands present questions or decisions that block further progress. The notification is sent at high urgency so it appears even in Do Not Disturb mode on some systems.
|
|
13
13
|
|
|
14
14
|
- **Info-level:** `/fd-new-feature`, `/fd-fix-bug`, `/fd-write-docs`, `/fd-checkpoint`
|
|
@@ -97,7 +97,7 @@ $toast = [Windows.UI.Notifications.ToastNotification]::new($template)
|
|
|
97
97
|
|---------|-------|------|
|
|
98
98
|
| `/fd-discuss` | `FlowDeck: /fd-discuss` | Your input is needed — please check OpenCode |
|
|
99
99
|
| `/fd-plan` | `FlowDeck: /fd-plan` | Your input is needed — please check OpenCode |
|
|
100
|
-
| `/fd-
|
|
100
|
+
| `/fd-verify` | `FlowDeck: /fd-verify` | Your input is needed — please check OpenCode |
|
|
101
101
|
| `/fd-deploy-check` | `FlowDeck: /fd-deploy-check` | Your input is needed — please check OpenCode |
|
|
102
102
|
| `/fd-new-project` | `FlowDeck: /fd-new-project` | Your input is needed — please check OpenCode |
|
|
103
103
|
| `/fd-new-feature` | `FlowDeck: /fd-new-feature complete` | Review the output and choose your next step |
|
package/docs/quick-start.md
CHANGED
|
@@ -45,7 +45,7 @@ This creates the `.planning/` directory at your project root with the following
|
|
|
45
45
|
.planning/
|
|
46
46
|
├── PROJECT.md # Project context: name, goals, constraints, tech stack
|
|
47
47
|
├── STATE.md # Current execution state, tracked by all agents
|
|
48
|
-
├── ROADMAP.md # Phase definitions and
|
|
48
|
+
├── ROADMAP.md # Phase definitions and features
|
|
49
49
|
└── config.json # FlowDeck project configuration
|
|
50
50
|
```
|
|
51
51
|
|
|
@@ -190,6 +190,8 @@ This writes the current execution state to `.planning/STATE.md`. To reload conte
|
|
|
190
190
|
|
|
191
191
|
> **Skip to execute for small tasks** — for a quick bug fix, you do not need to run `/fd-discuss` and `/fd-plan`. Use `/fd-fix-bug` directly and let `@debug-specialist` handle the full cycle.
|
|
192
192
|
|
|
193
|
+
> **Let `/fd-quick` drive the whole workflow** — instead of manually calling each command in sequence, run `/fd-quick <your task>` and the system classifies the task, selects the correct workflow (feature, bug fix, UI-heavy, docs), and runs all stages autonomously. It pauses only when your explicit input is needed (e.g., plan CONFIRM, approval gates). Existing commands remain fully usable standalone.
|
|
194
|
+
|
|
193
195
|
---
|
|
194
196
|
|
|
195
197
|
← [Back to Index](index.md)
|
package/docs/skills.md
CHANGED
|
@@ -335,7 +335,7 @@ Creates consistent releases with semantic versioning, changelog generation from
|
|
|
335
335
|
Collect merged PRs since the last tag and generate the changelog entry.
|
|
336
336
|
```
|
|
337
337
|
|
|
338
|
-
**When to use:** When a
|
|
338
|
+
**When to use:** When a release is ready to ship, or when a hotfix needs a patch release.
|
|
339
339
|
|
|
340
340
|
---
|
|
341
341
|
|
package/docs/workflows.md
CHANGED
|
@@ -56,7 +56,7 @@ Each step gates the next. `/fd-discuss` requires a defined feature. `/fd-plan` r
|
|
|
56
56
|
| `/fd-multi-repo` | Multi-repo orchestration | @multi-repo-coordinator, @architect |
|
|
57
57
|
| `/fd-translate-intent` | Convert vague requests to ranked implementation options | @architect, @researcher |
|
|
58
58
|
| `/fd-suggest` | Suggest high-value feature opportunities from codebase signals | @researcher, @architect |
|
|
59
|
-
| `/fd-quick` |
|
|
59
|
+
| `/fd-quick` | Autonomous workflow launcher — classifies task, runs correct stage sequence end-to-end | @supervisor, @orchestrator, and all workflow agents |
|
|
60
60
|
| `/fd-reflect` | Post-session reflection and skill capture | @auto-learner |
|
|
61
61
|
| `/fd-doctor` | Installation and environment diagnostics | @orchestrator |
|
|
62
62
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dv.nghiem/flowdeck",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.8",
|
|
4
4
|
"description": "FlowDeck — structured planning and execution workflows for OpenCode",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -45,16 +45,16 @@
|
|
|
45
45
|
},
|
|
46
46
|
"homepage": "https://github.com/DVNghiem/FlowDeck#readme",
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@opencode-ai/plugin": "^1.
|
|
48
|
+
"@opencode-ai/plugin": "^1.14.49"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
|
-
"@types/node": "^
|
|
52
|
-
"bun-types": "^1.3.
|
|
53
|
-
"ejs": "^
|
|
54
|
-
"typescript": "^
|
|
55
|
-
"vitest": "^
|
|
51
|
+
"@types/node": "^25.7.0",
|
|
52
|
+
"bun-types": "^1.3.14",
|
|
53
|
+
"ejs": "^5.0.2",
|
|
54
|
+
"typescript": "^6.0.3",
|
|
55
|
+
"vitest": "^4.1.6"
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|
|
58
|
-
"@opencode-ai/sdk": "^1.
|
|
58
|
+
"@opencode-ai/sdk": "^1.14.49"
|
|
59
59
|
}
|
|
60
60
|
}
|
|
@@ -95,7 +95,7 @@ If UI-heavy, also suggest running `/fd-design --mode=draft` before `/fd-execute`
|
|
|
95
95
|
## Error Handling
|
|
96
96
|
|
|
97
97
|
D-03: Fail fast with clear error
|
|
98
|
-
- If PROJECT.md not found: error with "Run /new-project first"
|
|
98
|
+
- If PROJECT.md not found: error with "Run /fd-new-project first"
|
|
99
99
|
- If STATE.md not found: error with "Project not initialized"
|
|
100
100
|
- If @discusser fails: error with "Discusser agent unavailable"
|
|
101
101
|
- No partial state saved on error
|
|
@@ -16,14 +16,14 @@ Orchestrates a feature or fix that spans multiple repositories in a microservice
|
|
|
16
16
|
- A shared library is being upgraded with a breaking change
|
|
17
17
|
- You need a coordinated rollout across services
|
|
18
18
|
|
|
19
|
-
Do not use for single-repo work. Use `/new-feature` instead.
|
|
19
|
+
Do not use for single-repo work. Use `/fd-new-feature` instead.
|
|
20
20
|
|
|
21
21
|
## Prerequisites
|
|
22
22
|
|
|
23
23
|
Before running this flow:
|
|
24
24
|
1. `.planning/config.json` has a `sub_repos` array with the relevant repos registered
|
|
25
25
|
2. All `path` values in the registry resolve to actual directories on disk
|
|
26
|
-
3. A description of the intended change is available (from `/discuss` or passed directly)
|
|
26
|
+
3. A description of the intended change is available (from `/fd-discuss` or passed directly)
|
|
27
27
|
|
|
28
28
|
If the registry is empty or not set up, run `/multi-repo --add` first.
|
|
29
29
|
|
package/src/commands/fd-plan.md
CHANGED
|
@@ -17,7 +17,7 @@ D-06: Verify DISCUSS.md exists and is confirmed.
|
|
|
17
17
|
|
|
18
18
|
If no DISCUSS.md found:
|
|
19
19
|
```
|
|
20
|
-
Error: DISCUSS.md not found. Run /discuss [topic] first.
|
|
20
|
+
Error: DISCUSS.md not found. Run /fd-discuss [topic] first.
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
If DISCUSS.md exists but not confirmed:
|
package/src/commands/fd-quick.md
CHANGED
|
@@ -1,63 +1,248 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: Autonomous workflow launcher — classifies the task, selects the correct existing workflow, and runs the full stage sequence (discuss → plan → execute → verify and variants) end-to-end with minimal user input
|
|
3
3
|
argument-hint: [task description]
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Quick
|
|
6
|
+
# Quick — Autonomous Workflow Launcher
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Run the correct FlowDeck workflow automatically for any task. This command:
|
|
9
|
+
- Classifies the task type
|
|
10
|
+
- Selects the appropriate existing workflow and stage sequence
|
|
11
|
+
- Routes all clarifying questions through `@supervisor`
|
|
12
|
+
- Executes each stage in order using the existing registered commands
|
|
13
|
+
- Stops only when blocked, awaiting approval, or fully verified
|
|
9
14
|
|
|
10
15
|
**Input:** $ARGUMENTS — what you need done
|
|
11
16
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
1.
|
|
17
|
-
2.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
|
30
|
-
|
|
31
|
-
|
|
|
32
|
-
|
|
|
33
|
-
|
|
|
34
|
-
|
|
|
35
|
-
|
|
|
36
|
-
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
**
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Step 1: Pre-flight State Check
|
|
20
|
+
|
|
21
|
+
1. Check `.planning/STATE.md` exists — if not, error: "Run /fd-new-project first."
|
|
22
|
+
2. Read `.planning/STATE.md` to determine if a `quick_run` entry already exists for this session.
|
|
23
|
+
- If `quick_run.outcome` is `running` or `blocked`: **resume from the last completed stage** (skip to Step 5).
|
|
24
|
+
- Otherwise: proceed to Step 2.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Step 2: Classify the Task
|
|
29
|
+
|
|
30
|
+
Parse `$ARGUMENTS` using the signal table below to determine task type and required stage sequence.
|
|
31
|
+
|
|
32
|
+
### Signal Classification Table
|
|
33
|
+
|
|
34
|
+
| Task Type | Strong Signal Keywords | Stage Sequence |
|
|
35
|
+
|-----------|------------------------|----------------|
|
|
36
|
+
| **bugfix** | fix, bug, broken, not working, error, crash, regression, debug, exception, failing, root cause, why is, stack trace | `discuss → fix-bug → verify` |
|
|
37
|
+
| **ui-feature** | landing page, dashboard, admin panel, app screen, onboarding, wireframe, design system, ux flow, web app, website, responsive layout, navbar, modal, sidebar, frontend page | `discuss → design → plan → execute → verify` |
|
|
38
|
+
| **docs** | docs, documentation, readme, api docs, usage guide, write docs, document, changelog, tutorial, docstring | `discuss → write-docs → verify` |
|
|
39
|
+
| **simple** | rename, move file, minor, typo, update constant, update config, bump version, one-liner | `execute → verify` |
|
|
40
|
+
| **feature** | (substantive description, 8+ words, no above signals) | `discuss → plan → execute → verify` |
|
|
41
|
+
| **ambiguous** | (short, vague, or unclear input) | *(clarify first — see Step 3)* |
|
|
42
|
+
|
|
43
|
+
### Classification Rules
|
|
44
|
+
|
|
45
|
+
1. **Bug signals dominate**: if the description contains "fix", "bug", "error", "crash", "exception", "broken", or "regression", classify as `bugfix` even if it also mentions UI elements.
|
|
46
|
+
2. **UI signals for design-first**: if 1+ UI-heavy signal is present and no dominant bug signal, classify as `ui-feature`.
|
|
47
|
+
3. **Docs signals**: if "docs", "documentation", "readme", or "write docs" is present without implementation signals, classify as `docs`.
|
|
48
|
+
4. **Simple**: if "rename", "typo", "minor", or "move file" is present and description is a single, scoped operation.
|
|
49
|
+
5. **Feature**: substantive description (8+ words) with no specific signal type.
|
|
50
|
+
6. **Ambiguous**: description is too short (<5 words) or matches a bare imperative with no object (e.g., "improve", "add", "make it better").
|
|
51
|
+
|
|
52
|
+
Record the classification result:
|
|
53
|
+
```yaml
|
|
54
|
+
quick_run:
|
|
55
|
+
taskDescription: "$ARGUMENTS"
|
|
56
|
+
taskType: <feature|ui-feature|bugfix|docs|simple|ambiguous>
|
|
57
|
+
requiresDesign: <true|false>
|
|
58
|
+
requiresTDD: <true|false>
|
|
59
|
+
stageSequence: [<ordered stage names>]
|
|
60
|
+
completedStages: []
|
|
61
|
+
currentStage: <first stage name>
|
|
62
|
+
supervisorDecisions: {}
|
|
63
|
+
startedAt: <ISO timestamp>
|
|
64
|
+
outcome: running
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Step 3: Supervisor-Gated Clarification (when needed)
|
|
70
|
+
|
|
71
|
+
**Only proceed to Step 4 when classification confidence is sufficient.**
|
|
72
|
+
|
|
73
|
+
If classification is `ambiguous` OR confidence is low (description < 5 words or no clear signal):
|
|
74
|
+
|
|
75
|
+
1. Invoke `@supervisor` (preflight review of `fd-quick` command) with the partial task description.
|
|
76
|
+
2. Present the supervisor's single clarifying question to the user. **Ask ONE question only.**
|
|
77
|
+
3. Wait for the user's answer.
|
|
78
|
+
4. Re-classify using the combined original description + the user's answer.
|
|
79
|
+
5. If confidence is still low after one clarification round, route to `feature` with a note in STATE.md.
|
|
80
|
+
|
|
81
|
+
**All clarification goes through `@supervisor`. Do not have specialist agents ask questions directly.**
|
|
82
|
+
|
|
83
|
+
Example supervisor clarification questions (the supervisor selects the most relevant):
|
|
84
|
+
- "Is this a new feature, a bug fix, or a documentation task?"
|
|
85
|
+
- "Does this involve building or changing a user-facing UI (page, dashboard, component)?"
|
|
86
|
+
- "Can you describe the specific bug — what is the expected vs actual behavior?"
|
|
87
|
+
- "Is the scope a single file change, or does it span multiple modules?"
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Step 4: Confirm Stage Sequence
|
|
92
|
+
|
|
93
|
+
Present the classification and planned stage sequence to the user before proceeding:
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
Task classified as: <task type>
|
|
97
|
+
Stage sequence: <stage-1> → <stage-2> → ... → <stage-N>
|
|
98
|
+
Requires design: <yes / no>
|
|
99
|
+
Requires TDD: <yes / no>
|
|
100
|
+
|
|
101
|
+
Running /fd-quick autonomously. I will proceed through each stage and pause only
|
|
102
|
+
if I need approval, encounter a blocker, or complete the full sequence.
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Proceed automatically — do not wait for additional input unless approval is explicitly required by a stage.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Step 5: Execute Stage Sequence Autonomously
|
|
110
|
+
|
|
111
|
+
For **each stage** in the sequence (in order), execute the following loop:
|
|
112
|
+
|
|
113
|
+
### 5a. Announce Stage Start
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
117
|
+
Stage: <stage-name> Command: /<command>
|
|
118
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### 5b. Supervisor Preflight Review
|
|
122
|
+
|
|
123
|
+
Before executing the stage, invoke `@supervisor` (preflight) on the stage's command:
|
|
124
|
+
- Pass: `taskDescription`, `currentPhase` (= current stage name), `prerequisitesMet`, `designApprovalPresent`, `regressionTestPresent` as known from STATE.md.
|
|
125
|
+
|
|
126
|
+
**Handle supervisor decision:**
|
|
127
|
+
|
|
128
|
+
| Decision | Action |
|
|
129
|
+
|----------|--------|
|
|
130
|
+
| `approve` | Proceed to 5c immediately |
|
|
131
|
+
| `revise` | Resolve the listed `requiredChanges` (e.g., confirm PLAN.md, run preceding step) then re-run the stage |
|
|
132
|
+
| `block` | Stop. Report why. Show what is blocked. Ask user for the specific missing input or approval. Update `quick_run.outcome = blocked` in STATE.md. |
|
|
133
|
+
| `escalate` | Pause. Present the escalation reason to the user. Request explicit approval. On approval: continue. On denial: stop and summarize. |
|
|
134
|
+
|
|
135
|
+
### 5c. Execute the Stage
|
|
136
|
+
|
|
137
|
+
Execute the stage using its existing command with full context:
|
|
138
|
+
|
|
139
|
+
**Stage → Command Mapping:**
|
|
140
|
+
|
|
141
|
+
| Stage | Command | Key Behavior |
|
|
142
|
+
|-------|---------|--------------|
|
|
143
|
+
| `discuss` | `/fd-discuss` | Runs `@discusser` structured Q&A. Saves `DISCUSS.md`. One question at a time. |
|
|
144
|
+
| `design` | `/fd-design --mode=draft` | Runs design-first pipeline. Required for `ui-feature` tasks. Produces design artifact + approval. |
|
|
145
|
+
| `plan` | `/fd-plan` | Creates `PLAN.md` from `DISCUSS.md` decisions. **Pauses for user CONFIRM before saving.** |
|
|
146
|
+
| `execute` | `/fd-execute` | TDD pipeline: BEHAVIOR → RED → GREEN → REFACTOR per step. Delegates to appropriate coder agents. |
|
|
147
|
+
| `fix-bug` | `/fd-fix-bug` | TDD bugfix: explore → RED regression test → GREEN fix → REFACTOR → record in FAILURES.json. |
|
|
148
|
+
| `write-docs` | `/fd-write-docs` | Explore APIs → `@writer` drafts → `@reviewer` accuracy check → finalize. |
|
|
149
|
+
| `verify` | `/fd-verify` | Full verification: tests + code review + security scan + deploy check. Reports verdict. |
|
|
150
|
+
|
|
151
|
+
### 5d. Stage Completion Check
|
|
152
|
+
|
|
153
|
+
After the stage command completes:
|
|
154
|
+
1. Invoke `@supervisor` (post-stage) to confirm the stage output is valid.
|
|
155
|
+
2. If supervisor returns `approve` or `revise` with fixable issues: mark the stage complete.
|
|
156
|
+
3. If supervisor returns `block`: halt, report, update state.
|
|
157
|
+
4. Update STATE.md:
|
|
158
|
+
```yaml
|
|
159
|
+
quick_run:
|
|
160
|
+
completedStages: [<all completed stage names>]
|
|
161
|
+
currentStage: <next stage name or null>
|
|
162
|
+
supervisorDecisions:
|
|
163
|
+
<stage-name>:
|
|
164
|
+
decision: <decision>
|
|
165
|
+
reasons: [...]
|
|
166
|
+
timestamp: <ISO>
|
|
167
|
+
```
|
|
168
|
+
5. Proceed to next stage.
|
|
169
|
+
|
|
170
|
+
### 5e. Approval Gate (plan stage only)
|
|
171
|
+
|
|
172
|
+
The `plan` stage requires explicit user CONFIRM per the `/fd-plan` command's D-06 rule.
|
|
173
|
+
`/fd-quick` does NOT bypass this gate. Present the plan to the user and wait for CONFIRM.
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Step 6: Completion
|
|
178
|
+
|
|
179
|
+
When all stages complete:
|
|
180
|
+
|
|
181
|
+
1. Update STATE.md:
|
|
182
|
+
```yaml
|
|
183
|
+
quick_run:
|
|
184
|
+
completedStages: [<all stages>]
|
|
185
|
+
currentStage: null
|
|
186
|
+
outcome: complete
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
2. Present final summary:
|
|
190
|
+
```
|
|
191
|
+
════════════════════════════════════════════════
|
|
192
|
+
/fd-quick Complete — <task type>
|
|
193
|
+
════════════════════════════════════════════════
|
|
194
|
+
Task: $ARGUMENTS
|
|
195
|
+
Workflow: <stage-1> → ... → <stage-N>
|
|
196
|
+
Outcome: ✅ COMPLETE
|
|
197
|
+
────────────────────────────────────────────────
|
|
198
|
+
Verify result: /fd-verify
|
|
199
|
+
Save state: /fd-checkpoint
|
|
200
|
+
════════════════════════════════════════════════
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Step 7: Block / Failure Handling
|
|
206
|
+
|
|
207
|
+
If execution cannot continue at any stage:
|
|
208
|
+
|
|
209
|
+
1. Update STATE.md: `quick_run.outcome = blocked`
|
|
210
|
+
2. Report:
|
|
211
|
+
```
|
|
212
|
+
════════════════════════════════════════════════
|
|
213
|
+
/fd-quick Blocked
|
|
214
|
+
════════════════════════════════════════════════
|
|
215
|
+
Stage reached: <stage-name>
|
|
216
|
+
Why stopped: <clear reason>
|
|
217
|
+
Blocked at: <command name>
|
|
218
|
+
What is needed: <exact missing input or approval>
|
|
219
|
+
────────────────────────────────────────────────
|
|
220
|
+
To resume: /fd-quick $ARGUMENTS
|
|
221
|
+
(will continue from <next-stage-name>)
|
|
222
|
+
To fix manually: /<blocked-command> [args]
|
|
223
|
+
════════════════════════════════════════════════
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Workflow Discipline (Non-Negotiable)
|
|
229
|
+
|
|
230
|
+
These gates from the existing workflow system are **never bypassed by /fd-quick**:
|
|
231
|
+
|
|
232
|
+
- **Design-first**: `ui-feature` tasks MUST complete the `design` stage (with `@design` approval and handoff) before `execute` can begin. No `--override` unless user explicitly requests it.
|
|
233
|
+
- **TDD**: `execute` and `fix-bug` stages enforce RED → GREEN → REFACTOR. `/fd-quick` does not skip tests.
|
|
234
|
+
- **Plan CONFIRM**: The `plan` stage requires explicit user CONFIRM. `/fd-quick` presents the plan and waits.
|
|
235
|
+
- **Regression test**: `fix-bug` requires a failing regression test before implementation (per `/fd-fix-bug`).
|
|
236
|
+
- **Verify**: All workflows end with `/fd-verify` to confirm all checks pass before marking complete.
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## Existing Commands Remain Independent
|
|
241
|
+
|
|
242
|
+
`/fd-quick` is a workflow launcher. The commands it invokes (`/fd-discuss`, `/fd-plan`, etc.) remain fully operational as standalone commands. Running `/fd-quick` does not lock out any other command.
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## State Visibility
|
|
247
|
+
|
|
248
|
+
All routing and execution progress is recorded in `.planning/STATE.md` under the `quick_run` key. Use `/fd-status` to inspect current state. Use `/fd-resume` to reload context after a session break.
|
|
@@ -79,6 +79,6 @@ discuss → plan → execute → review
|
|
|
79
79
|
| discuss | `@discusser` | `/fd-discuss` |
|
|
80
80
|
| plan | `@planner` → `@plan-checker` | `/fd-plan` |
|
|
81
81
|
| execute | `@orchestrator` → `@backend-coder`, `@tester`, etc. | `/fd-new-feature` |
|
|
82
|
-
| review | `@reviewer` + `@security-auditor` | `/fd-
|
|
82
|
+
| review | `@reviewer` + `@security-auditor` | `/fd-verify` |
|
|
83
83
|
|
|
84
84
|
Do not skip phases. The orchestrator enforces phase gating automatically.
|
|
@@ -6,7 +6,7 @@ origin: FlowDeck
|
|
|
6
6
|
|
|
7
7
|
# Blast Radius Preview
|
|
8
8
|
|
|
9
|
-
Before committing to a change, map every system that could break.
|
|
9
|
+
Before committing to a change, map every system that could break. Activate this skill by providing a change description to the agent.
|
|
10
10
|
|
|
11
11
|
## When to Activate
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@ origin: FlowDeck
|
|
|
6
6
|
|
|
7
7
|
# Change Impact Radar
|
|
8
8
|
|
|
9
|
-
Predicts blast surface before the AI touches a single file.
|
|
9
|
+
Predicts blast surface before the AI touches a single file. Activate this skill by providing the intended change description to the agent.
|
|
10
10
|
|
|
11
11
|
## When to Activate
|
|
12
12
|
|
|
@@ -58,6 +58,6 @@ Activate before:
|
|
|
58
58
|
|
|
59
59
|
## Guidance
|
|
60
60
|
|
|
61
|
-
- If MEMORY.json does not exist, run `/map-codebase` first to build the graph.
|
|
61
|
+
- If MEMORY.json does not exist, run `/fd-map-codebase` first to build the graph.
|
|
62
62
|
- If a file has no test coverage and is indirectly impacted, flag it as "coverage gap".
|
|
63
63
|
- Never proceed with a HIGH impact change without human confirmation.
|
|
@@ -33,7 +33,7 @@ Before planning ANY task:
|
|
|
33
33
|
2. Scan affected files for context
|
|
34
34
|
3. Estimate confidence level
|
|
35
35
|
4. Act based on level:
|
|
36
|
-
- HIGH: proceed to `/plan`
|
|
36
|
+
- HIGH: proceed to `/fd-plan`
|
|
37
37
|
- MEDIUM: write explicit assumptions at the top of PLAN.md, flag 3 highest risks
|
|
38
38
|
- LOW: stop, ask clarifying questions, do not write PLAN.md until answered
|
|
39
39
|
|
|
@@ -60,4 +60,4 @@ After loading context, produce this briefing:
|
|
|
60
60
|
**Key Conventions**: [2-3 most important patterns]
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
-
If any file is missing, note it: "STATE.md not found — run `/new-project` to initialize."
|
|
63
|
+
If any file is missing, note it: "STATE.md not found — run `/fd-new-project` to initialize."
|