qa-workflow-cc 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +461 -0
- package/VERSION +1 -0
- package/bin/install.js +116 -0
- package/commands/qa/continue.md +77 -0
- package/commands/qa/full.md +149 -0
- package/commands/qa/init.md +105 -0
- package/commands/qa/resume.md +91 -0
- package/commands/qa/status.md +66 -0
- package/package.json +28 -0
- package/skills/qa/SKILL.md +420 -0
- package/skills/qa/references/continuation-format.md +58 -0
- package/skills/qa/references/exit-criteria.md +53 -0
- package/skills/qa/references/lifecycle.md +181 -0
- package/skills/qa/references/model-profiles.md +77 -0
- package/skills/qa/templates/agent-skeleton.md +733 -0
- package/skills/qa/templates/component-test.md +1088 -0
- package/skills/qa/templates/domain-research-queries.md +101 -0
- package/skills/qa/templates/domain-security-profiles.md +182 -0
- package/skills/qa/templates/e2e-test.md +1200 -0
- package/skills/qa/templates/nielsen-heuristics.md +274 -0
- package/skills/qa/templates/performance-benchmarks-base.md +321 -0
- package/skills/qa/templates/qa-report-template.md +271 -0
- package/skills/qa/templates/security-checklist-owasp.md +451 -0
- package/skills/qa/templates/stop-points/bootstrap-complete.md +36 -0
- package/skills/qa/templates/stop-points/certified.md +25 -0
- package/skills/qa/templates/stop-points/escalated.md +32 -0
- package/skills/qa/templates/stop-points/fix-ready.md +43 -0
- package/skills/qa/templates/stop-points/phase-transition.md +4 -0
- package/skills/qa/templates/stop-points/status-dashboard.md +32 -0
- package/skills/qa/templates/test-standards.md +652 -0
- package/skills/qa/templates/unit-test.md +998 -0
- package/skills/qa/templates/visual-regression.md +418 -0
- package/skills/qa/workflows/bootstrap.md +45 -0
- package/skills/qa/workflows/decision-gate.md +66 -0
- package/skills/qa/workflows/fix-execute.md +132 -0
- package/skills/qa/workflows/fix-plan.md +52 -0
- package/skills/qa/workflows/report-phase.md +64 -0
- package/skills/qa/workflows/test-phase.md +86 -0
- package/skills/qa/workflows/verify-phase.md +65 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qa:full
|
|
3
|
+
description: Run complete QA cycle with autonomous test-fix-verify loop
|
|
4
|
+
argument-hint: "[api|security|ux|{app-name}|cycle-N|--report-only|--fix|--verify]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- Task
|
|
13
|
+
- WebSearch
|
|
14
|
+
- WebFetch
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
<execution_context>
|
|
18
|
+
@.claude/qa-profile.json
|
|
19
|
+
@docs/qa-reports/cycle-state.json
|
|
20
|
+
</execution_context>
|
|
21
|
+
|
|
22
|
+
<objective>
|
|
23
|
+
Run a complete QA cycle: Bootstrap (if needed) → Test → Report → Decision → Fix Plan → STOP.
|
|
24
|
+
After user approves fixes via `/qa:continue`, executes fixes → verify → re-test autonomously.
|
|
25
|
+
|
|
26
|
+
**Orchestrator role:** Parse arguments, resolve model profiles, route to correct phase, spawn specialized agents, manage state transitions. NEVER write code directly — always delegate to agents.
|
|
27
|
+
|
|
28
|
+
**IMPORTANT:** Read reference docs on-demand, not all at once. Only load what the current phase needs.
|
|
29
|
+
</objective>
|
|
30
|
+
|
|
31
|
+
<context>
|
|
32
|
+
Arguments: $ARGUMENTS
|
|
33
|
+
|
|
34
|
+
**Supported arguments:**
|
|
35
|
+
- (empty) or `full` → Full QA cycle starting at Phase 1 (or bootstrap if needed)
|
|
36
|
+
- `api` → API/backend tests only
|
|
37
|
+
- `security` → Security audit only
|
|
38
|
+
- `ux` → UX evaluation only
|
|
39
|
+
- `{app-name}` → Tests for specific app (by name from profile)
|
|
40
|
+
- `cycle-N` → Start fresh cycle N (re-test everything)
|
|
41
|
+
- `--report-only` → Test + report, skip fix planning
|
|
42
|
+
- `--fix` → Same as `/qa:continue` (enter fix phase)
|
|
43
|
+
- `--verify` → Re-verify without re-testing
|
|
44
|
+
</context>
|
|
45
|
+
|
|
46
|
+
<process>
|
|
47
|
+
|
|
48
|
+
## 1. Resolve Model Profile
|
|
49
|
+
|
|
50
|
+
Read `config.model_profile` from the auto-loaded qa-profile.json (default: "balanced").
|
|
51
|
+
Read and resolve per-agent models from `~/.claude/skills/qa/references/model-profiles.md`.
|
|
52
|
+
|
|
53
|
+
## Context Inlining (GSD Pattern)
|
|
54
|
+
|
|
55
|
+
Before any Task() spawn, the orchestrator MUST:
|
|
56
|
+
1. Read .claude/qa-profile.json → PROFILE (already auto-loaded)
|
|
57
|
+
2. Read docs/qa-reports/cycle-state.json → STATE (already auto-loaded)
|
|
58
|
+
3. Read ~/.claude/skills/qa/references/model-profiles.md → resolve per-agent model
|
|
59
|
+
4. Inline relevant PROFILE and STATE sections into each Task() prompt
|
|
60
|
+
5. Do NOT rely on @ references crossing Task() boundaries
|
|
61
|
+
|
|
62
|
+
## 2. Check Bootstrap Status
|
|
63
|
+
|
|
64
|
+
If qa-profile.json was NOT loaded (auto-context returned empty/missing):
|
|
65
|
+
- Run bootstrap: Follow `~/.claude/skills/qa/workflows/bootstrap.md`
|
|
66
|
+
- After bootstrap completes, re-read the profile
|
|
67
|
+
- If `$ARGUMENTS` is `init` → STOP after bootstrap (this is handled by `/qa:init`)
|
|
68
|
+
|
|
69
|
+
If profile exists but is stale (>30 days from `generatedAt`):
|
|
70
|
+
- Prompt user: "QA profile is N days old. Re-scan? [yes/no]"
|
|
71
|
+
- If yes → re-bootstrap
|
|
72
|
+
- If no → proceed with existing profile
|
|
73
|
+
|
|
74
|
+
## 3. Parse Scope
|
|
75
|
+
|
|
76
|
+
Determine test scope from `$ARGUMENTS`:
|
|
77
|
+
|
|
78
|
+
| Argument | Scope Filter |
|
|
79
|
+
|----------|-------------|
|
|
80
|
+
| `api` | Backend apps only, security auditor |
|
|
81
|
+
| `security` | Security auditor only |
|
|
82
|
+
| `ux` | UX optimizer only |
|
|
83
|
+
| `{app-name}` | Match against `profile.apps[].name` |
|
|
84
|
+
| `cycle-N` | Full scope, set cycle=N |
|
|
85
|
+
| (default) | Full scope |
|
|
86
|
+
|
|
87
|
+
Validate scope against `profile.scopes.available`. Error if invalid.
|
|
88
|
+
|
|
89
|
+
## 4. Determine Cycle Number
|
|
90
|
+
|
|
91
|
+
- If `cycle-N` argument: Use N
|
|
92
|
+
- If cycle-state.json exists and has previous cycles: Use last cycle + 1
|
|
93
|
+
- Otherwise: Cycle 1
|
|
94
|
+
|
|
95
|
+
## 5. Phase 3: Execute Tests
|
|
96
|
+
|
|
97
|
+
Follow `~/.claude/skills/qa/workflows/test-phase.md`
|
|
98
|
+
|
|
99
|
+
## 6. Phase 4: Consolidate Report
|
|
100
|
+
|
|
101
|
+
Follow `~/.claude/skills/qa/workflows/report-phase.md`
|
|
102
|
+
|
|
103
|
+
## 7. Phase 5: Decision Gate
|
|
104
|
+
|
|
105
|
+
Follow `~/.claude/skills/qa/workflows/decision-gate.md`
|
|
106
|
+
|
|
107
|
+
Route based on decision:
|
|
108
|
+
- **PASS** → Phase 8 (certification)
|
|
109
|
+
- **FAIL** → Phase 6 (plan fixes)
|
|
110
|
+
- **ESCALATE** → Phase 9 (escalation)
|
|
111
|
+
|
|
112
|
+
## 8. Phase 6: Plan Fixes (if FAIL)
|
|
113
|
+
|
|
114
|
+
Follow `~/.claude/skills/qa/workflows/fix-plan.md`
|
|
115
|
+
|
|
116
|
+
**STOP — Present fix plan:**
|
|
117
|
+
|
|
118
|
+
Read and output `~/.claude/skills/qa/templates/stop-points/fix-ready.md`
|
|
119
|
+
Substitute all `{placeholder}` values with data from the fix plan and report.
|
|
120
|
+
|
|
121
|
+
## 9. Phase 8: Certification (if PASS)
|
|
122
|
+
|
|
123
|
+
Write certification report to `docs/qa-reports/final-certification-{date}.md`.
|
|
124
|
+
Update state: `{ "phase": "certified", "verdict": "PASS" }`
|
|
125
|
+
|
|
126
|
+
Read and output `~/.claude/skills/qa/templates/stop-points/certified.md`
|
|
127
|
+
Substitute all `{placeholder}` values with certification data.
|
|
128
|
+
|
|
129
|
+
## 10. Phase 9: Escalation (if ESCALATE)
|
|
130
|
+
|
|
131
|
+
Write escalation analysis to `docs/qa-reports/escalation-cycle-{N}.md`.
|
|
132
|
+
Update state: `{ "phase": "escalated" }`
|
|
133
|
+
|
|
134
|
+
Read and output `~/.claude/skills/qa/templates/stop-points/escalated.md`
|
|
135
|
+
Substitute all `{placeholder}` values with escalation data.
|
|
136
|
+
|
|
137
|
+
</process>
|
|
138
|
+
|
|
139
|
+
<success_criteria>
|
|
140
|
+
- [ ] Model profile resolved from qa-profile.json config
|
|
141
|
+
- [ ] Bootstrap triggered if profile missing
|
|
142
|
+
- [ ] Scope parsed and validated
|
|
143
|
+
- [ ] Test agents spawned with correct model and skill file instructions
|
|
144
|
+
- [ ] Raw results saved to disk before consolidation
|
|
145
|
+
- [ ] State checkpoints written BEFORE each phase execution
|
|
146
|
+
- [ ] Decision gate evaluated against exit criteria
|
|
147
|
+
- [ ] Stop point output matches template from templates/stop-points/
|
|
148
|
+
- [ ] Recovery lines included at all transition points
|
|
149
|
+
</success_criteria>
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qa:init
|
|
3
|
+
description: Bootstrap QA infrastructure — discover tech stack, generate agents and skill files
|
|
4
|
+
argument-hint: "[--rebootstrap]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- Task
|
|
13
|
+
- WebSearch
|
|
14
|
+
- WebFetch
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
<objective>
|
|
18
|
+
Run QA bootstrap only (Phase 0). Discovers tech stack, researches Anthropic docs, generates agents and skill files, writes qa-profile.json, then STOPS.
|
|
19
|
+
|
|
20
|
+
Does NOT execute any QA tests. Use `/qa:full` after bootstrap to start testing.
|
|
21
|
+
|
|
22
|
+
**If `--rebootstrap` flag:** Force re-discovery even if qa-profile.json already exists.
|
|
23
|
+
</objective>
|
|
24
|
+
|
|
25
|
+
<context>
|
|
26
|
+
Arguments: $ARGUMENTS
|
|
27
|
+
|
|
28
|
+
**Flags:**
|
|
29
|
+
- `--rebootstrap` — Force fresh discovery even if profile exists
|
|
30
|
+
</context>
|
|
31
|
+
|
|
32
|
+
<process>
|
|
33
|
+
|
|
34
|
+
## 1. Check Existing Profile
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
ls .claude/qa-profile.json 2>/dev/null
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**If profile exists AND `--rebootstrap` NOT set:**
|
|
41
|
+
- Read profile, check `generatedAt` timestamp
|
|
42
|
+
- If fresh (<30 days): "QA profile already exists (generated {date}). Use `--rebootstrap` to force re-discovery, or `/qa:full` to start testing."
|
|
43
|
+
- If stale (>30 days): Prompt user: "QA profile is {N} days old. Re-scan? [yes/no]"
|
|
44
|
+
- If no: STOP with message above
|
|
45
|
+
- If yes: Continue to bootstrap
|
|
46
|
+
|
|
47
|
+
**If profile missing OR `--rebootstrap` set:** Continue to bootstrap.
|
|
48
|
+
|
|
49
|
+
## 2. Invoke Bootstrap
|
|
50
|
+
|
|
51
|
+
Invoke the `/qa` skill which contains the full Phase 0 Bootstrap Protocol (B1-B9).
|
|
52
|
+
|
|
53
|
+
The skill file at `~/.claude/skills/qa/SKILL.md` contains:
|
|
54
|
+
- B1: Root Discovery (package.json, framework detection, domain detection)
|
|
55
|
+
- B2: Parallel Research (app discovery, security context, PRD analysis, Anthropic docs research, stack/security/UX research)
|
|
56
|
+
- B3: Monorepo structure detection
|
|
57
|
+
- B4: Profile assembly (qa-profile.json)
|
|
58
|
+
- B5: Directory creation + project-level CLAUDE.md registration
|
|
59
|
+
- B6: File generation (skill files, agent files, test matrix)
|
|
60
|
+
- B7: Existing file handling (skip user-modified files)
|
|
61
|
+
- B8: Validation (check generated files)
|
|
62
|
+
- B9: State checkpoint + output
|
|
63
|
+
|
|
64
|
+
Pass the `--rebootstrap` context so bootstrap knows to overwrite existing files.
|
|
65
|
+
|
|
66
|
+
## 3. Project-Level Registration (GAP 6)
|
|
67
|
+
|
|
68
|
+
After bootstrap completes, check project CLAUDE.md:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
ls CLAUDE.md 2>/dev/null
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**If CLAUDE.md exists:** Check if QA section already present. If not, append:
|
|
75
|
+
|
|
76
|
+
```markdown
|
|
77
|
+
|
|
78
|
+
## QA Commands
|
|
79
|
+
|
|
80
|
+
| Command | Purpose |
|
|
81
|
+
|---------|---------|
|
|
82
|
+
| `/qa:full` | Full QA cycle — test, report, fix plan, verify |
|
|
83
|
+
| `/qa:full api` | API/backend tests only |
|
|
84
|
+
| `/qa:full security` | Security audit only |
|
|
85
|
+
| `/qa:full ux` | UX heuristic evaluation only |
|
|
86
|
+
| `/qa:init` | Bootstrap QA infrastructure (first-time setup) |
|
|
87
|
+
| `/qa:continue` | Execute approved fix plan |
|
|
88
|
+
| `/qa:resume` | Resume from any interrupted state |
|
|
89
|
+
| `/qa:status` | View current QA progress |
|
|
90
|
+
|
|
91
|
+
QA reports: `docs/qa-reports/`
|
|
92
|
+
QA profile: `.claude/qa-profile.json`
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**If no CLAUDE.md:** Skip registration (not all projects have one).
|
|
96
|
+
|
|
97
|
+
## 4. Output Bootstrap Complete
|
|
98
|
+
|
|
99
|
+
The `/qa` skill handles the B9 output. After it returns, read and output:
|
|
100
|
+
`~/.claude/skills/qa/templates/stop-points/bootstrap-complete.md`
|
|
101
|
+
Substitute all `{placeholder}` values with profile data from B4.
|
|
102
|
+
|
|
103
|
+
**STOP HERE.** Do not proceed to QA execution.
|
|
104
|
+
|
|
105
|
+
</process>
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qa:resume
|
|
3
|
+
description: Resume QA from any interrupted state by reading cycle-state.json
|
|
4
|
+
argument-hint: ""
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- Task
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
<execution_context>
|
|
16
|
+
@.claude/qa-profile.json
|
|
17
|
+
@docs/qa-reports/cycle-state.json
|
|
18
|
+
</execution_context>
|
|
19
|
+
|
|
20
|
+
<objective>
|
|
21
|
+
Resume QA execution from wherever it was interrupted. Reads cycle-state.json and routes to the correct phase.
|
|
22
|
+
|
|
23
|
+
This is the universal recovery command — works from any state.
|
|
24
|
+
</objective>
|
|
25
|
+
|
|
26
|
+
<process>
|
|
27
|
+
|
|
28
|
+
## 1. Validate State File
|
|
29
|
+
|
|
30
|
+
Read cycle-state.json from auto-context.
|
|
31
|
+
|
|
32
|
+
**If missing or empty:**
|
|
33
|
+
- Error: "No QA state found. Run `/qa:full` to start."
|
|
34
|
+
- STOP
|
|
35
|
+
|
|
36
|
+
**If corrupt or unreadable:**
|
|
37
|
+
- Error: "State file corrupt. Options: `/qa:full` (fresh start) or `/qa:full cycle-{N}` (re-test)"
|
|
38
|
+
- STOP
|
|
39
|
+
|
|
40
|
+
## 2. Resolve Model Profile
|
|
41
|
+
|
|
42
|
+
Read `config.model_profile` from qa-profile.json (default: "balanced").
|
|
43
|
+
Resolve per-agent models from `~/.claude/skills/qa/references/model-profiles.md`.
|
|
44
|
+
|
|
45
|
+
## 3. Route Based on State
|
|
46
|
+
|
|
47
|
+
| state.phase | Action |
|
|
48
|
+
|-------------|--------|
|
|
49
|
+
| `bootstrap_complete` | Load resources → Phase 3 (start testing). Route to `/qa:full` logic. |
|
|
50
|
+
| `testing` | Check for raw results in `docs/qa-reports/cycle-{N}-raw/`. Re-spawn missing agents. Display: "Previous test agents may still be running. Re-spawning test phase." |
|
|
51
|
+
| `testing_complete` | Phase 4: Consolidate from saved raw results. Read from `state.rawResultsDir`. |
|
|
52
|
+
| `reporting_complete` | Phase 5: Re-evaluate decision gate. Read report, apply exit criteria. |
|
|
53
|
+
| `awaiting_fix_approval` | Re-display fix plan summary. Output Phase 6 stop point template. |
|
|
54
|
+
| `fixing` | Phase 7: Read `state.batchProgress`. Skip `completedBatches`. Resume from `currentBatch`. Display: "Resuming fix execution from batch {currentBatch}. Skipping completed: {completedBatches}" |
|
|
55
|
+
| `verifying` | Phase 7b: Re-run verification. |
|
|
56
|
+
| `certified` | "Already certified. Run `/qa:full cycle-{N+1}` for a new cycle." STOP |
|
|
57
|
+
| `escalated` | "Escalated. Review `docs/qa-reports/escalation-cycle-{N}.md`. After resolving: `/qa:full cycle-{N+1}`" STOP |
|
|
58
|
+
|
|
59
|
+
## 4. Execute Resumed Phase
|
|
60
|
+
|
|
61
|
+
Route to the appropriate workflow file based on phase:
|
|
62
|
+
|
|
63
|
+
| Resumed Phase | Workflow |
|
|
64
|
+
|---------------|----------|
|
|
65
|
+
| testing | Follow `~/.claude/skills/qa/workflows/test-phase.md` (re-spawn missing agents only) |
|
|
66
|
+
| testing_complete | Follow `~/.claude/skills/qa/workflows/report-phase.md` |
|
|
67
|
+
| reporting_complete | Follow `~/.claude/skills/qa/workflows/decision-gate.md` |
|
|
68
|
+
| fixing | Follow `~/.claude/skills/qa/workflows/fix-execute.md` (skip completed batches) |
|
|
69
|
+
| verifying | Follow `~/.claude/skills/qa/workflows/verify-phase.md` |
|
|
70
|
+
|
|
71
|
+
**For testing phase resume:**
|
|
72
|
+
- Check which agents already have saved results in `cycle-{N}-raw/`
|
|
73
|
+
- Only re-spawn agents that DON'T have saved results
|
|
74
|
+
- After all results collected → continue to Phase 4
|
|
75
|
+
|
|
76
|
+
**For fixing phase resume:**
|
|
77
|
+
- Read `batchProgress.completedBatches` — these are done
|
|
78
|
+
- Read `batchProgress.currentBatch` — start here
|
|
79
|
+
- Read `batchProgress.batchResults` — for context
|
|
80
|
+
- Continue fix execution from current batch
|
|
81
|
+
|
|
82
|
+
## 5. Continue Autonomously
|
|
83
|
+
|
|
84
|
+
After resuming at the correct phase, continue the normal autonomous flow:
|
|
85
|
+
- Phase 3 → 4 → 5 → (6 → STOP | 8 → STOP | 9 → STOP)
|
|
86
|
+
- Phase 7 → 7b → 3 (next cycle)
|
|
87
|
+
|
|
88
|
+
All transition points output the phase-transition template:
|
|
89
|
+
Read and output `~/.claude/skills/qa/templates/stop-points/phase-transition.md`
|
|
90
|
+
|
|
91
|
+
</process>
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qa:status
|
|
3
|
+
description: View current QA progress — cycle history, current phase, next action
|
|
4
|
+
argument-hint: ""
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Glob
|
|
8
|
+
- Grep
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
<execution_context>
|
|
12
|
+
@.claude/qa-profile.json
|
|
13
|
+
@docs/qa-reports/cycle-state.json
|
|
14
|
+
</execution_context>
|
|
15
|
+
|
|
16
|
+
<objective>
|
|
17
|
+
Display a progress dashboard showing current QA state, cycle history, and recommended next action. Read-only — does not modify any files.
|
|
18
|
+
</objective>
|
|
19
|
+
|
|
20
|
+
<process>
|
|
21
|
+
|
|
22
|
+
## 1. Check State
|
|
23
|
+
|
|
24
|
+
Read cycle-state.json from auto-context.
|
|
25
|
+
|
|
26
|
+
**If missing:**
|
|
27
|
+
- "No QA state found. Run `/qa:init` to bootstrap, then `/qa:full` to start testing."
|
|
28
|
+
- STOP
|
|
29
|
+
|
|
30
|
+
## 2. Read Profile
|
|
31
|
+
|
|
32
|
+
Read qa-profile.json from auto-context for project name and scope info.
|
|
33
|
+
|
|
34
|
+
**If missing:**
|
|
35
|
+
- "No QA profile found. Run `/qa:init` to bootstrap."
|
|
36
|
+
- STOP
|
|
37
|
+
|
|
38
|
+
## 3. Gather Cycle History
|
|
39
|
+
|
|
40
|
+
Read `state.previousCycles` for cycle history data.
|
|
41
|
+
|
|
42
|
+
Also check for existing reports:
|
|
43
|
+
```bash
|
|
44
|
+
ls docs/qa-reports/cycle-*-*.md 2>/dev/null
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## 4. Display Dashboard
|
|
48
|
+
|
|
49
|
+
Read and output `~/.claude/skills/qa/templates/stop-points/status-dashboard.md`
|
|
50
|
+
Substitute all `{placeholder}` values with data from state and profile.
|
|
51
|
+
|
|
52
|
+
## 5. Phase Descriptions (for display)
|
|
53
|
+
|
|
54
|
+
| Phase Value | Human-Readable Label |
|
|
55
|
+
|-------------|---------------------|
|
|
56
|
+
| `bootstrap_complete` | Bootstrap complete, ready for first cycle |
|
|
57
|
+
| `testing` | Test agents running |
|
|
58
|
+
| `testing_complete` | Tests complete, awaiting consolidation |
|
|
59
|
+
| `reporting_complete` | Report written, awaiting decision |
|
|
60
|
+
| `awaiting_fix_approval` | Fix plan ready for review |
|
|
61
|
+
| `fixing` | Fix execution in progress |
|
|
62
|
+
| `verifying` | Post-fix verification running |
|
|
63
|
+
| `certified` | QA certified — all gates passed |
|
|
64
|
+
| `escalated` | Blocked — manual intervention needed |
|
|
65
|
+
|
|
66
|
+
</process>
|
package/package.json
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "qa-workflow-cc",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Autonomous QA orchestrator for Claude Code — test-fix-verify cycles that run themselves.",
|
|
5
|
+
"bin": {
|
|
6
|
+
"qa-workflow-cc": "bin/install.js"
|
|
7
|
+
},
|
|
8
|
+
"files": [
|
|
9
|
+
"bin/",
|
|
10
|
+
"commands/",
|
|
11
|
+
"skills/",
|
|
12
|
+
"VERSION"
|
|
13
|
+
],
|
|
14
|
+
"keywords": [
|
|
15
|
+
"claude",
|
|
16
|
+
"claude-code",
|
|
17
|
+
"qa",
|
|
18
|
+
"testing",
|
|
19
|
+
"autonomous",
|
|
20
|
+
"orchestrator"
|
|
21
|
+
],
|
|
22
|
+
"author": "desland01",
|
|
23
|
+
"license": "MIT",
|
|
24
|
+
"repository": {
|
|
25
|
+
"type": "git",
|
|
26
|
+
"url": "https://github.com/desland01/qa-workflow.git"
|
|
27
|
+
}
|
|
28
|
+
}
|