harnessed 3.4.1 → 3.4.3
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/cli.mjs +257 -58
- package/dist/cli.mjs.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/workflows/auto/SKILL.md +9 -0
- package/workflows/capabilities.yaml +146 -71
- package/workflows/discuss/auto/SKILL.md +10 -2
- package/workflows/discuss/phase/SKILL.md +29 -6
- package/workflows/discuss/strategic/SKILL.md +32 -7
- package/workflows/discuss/subtask/SKILL.md +29 -6
- package/workflows/plan/architecture/SKILL.md +31 -6
- package/workflows/plan/auto/SKILL.md +10 -2
- package/workflows/plan/phase/SKILL.md +31 -6
- package/workflows/research/SKILL.md +31 -2
- package/workflows/retro/SKILL.md +29 -15
- package/workflows/role-prompts.yaml +477 -0
- package/workflows/task/auto/SKILL.md +10 -2
- package/workflows/task/clarify/SKILL.md +29 -21
- package/workflows/task/code/SKILL.md +31 -21
- package/workflows/task/deliver/SKILL.md +31 -21
- package/workflows/task/test/SKILL.md +31 -21
- package/workflows/verify/auto/SKILL.md +9 -1
- package/workflows/verify/code-review/SKILL.md +34 -16
- package/workflows/verify/design/SKILL.md +33 -15
- package/workflows/verify/multispec/SKILL.md +32 -16
- package/workflows/verify/paranoid/SKILL.md +36 -16
- package/workflows/verify/progress/SKILL.md +29 -15
- package/workflows/verify/qa/SKILL.md +32 -16
- package/workflows/verify/security/SKILL.md +34 -16
- package/workflows/verify/simplify/SKILL.md +32 -16
|
@@ -5,7 +5,7 @@ description: |
|
|
|
5
5
|
战略层 / Phase 层 / 子任务层独立判断 gate, 可能 3 个全跑 / 1-2 个 / 全跳 + 透明声明。
|
|
6
6
|
schema_version: harnessed.workflow.v3 with delegates_to (3 sub: strategic + phase + subtask, mode parallel)
|
|
7
7
|
+ disciplines_applied (6 default) + tools_available (planning-with-files)。
|
|
8
|
-
Triggered by
|
|
8
|
+
Triggered by slash command `/discuss`
|
|
9
9
|
(bare per ADR 0030 namespace policy D-02 LOCK) after `harnessed setup`.
|
|
10
10
|
trigger_phrases:
|
|
11
11
|
- "discuss"
|
|
@@ -49,9 +49,17 @@ Sister `workflows/capabilities.yaml`:
|
|
|
49
49
|
|
|
50
50
|
## Invocation
|
|
51
51
|
|
|
52
|
-
- CLI: `harnessed discuss --topic "<text>"`
|
|
53
52
|
- Slash command: `/discuss <text>` (bare per ADR 0030 namespace policy D-02 LOCK after `harnessed setup`)
|
|
54
53
|
|
|
54
|
+
<!-- v3.4.3-dual-path-invocation -->
|
|
55
|
+
## How to invoke
|
|
56
|
+
|
|
57
|
+
**Preferred path** (master orchestrator): dispatch to the per-sub-workflow slash commands in the order this stage prescribes. Each sub command lives at `~/.claude/commands/<sub-name>.md` with its own dual-path fallback.
|
|
58
|
+
|
|
59
|
+
**Fallback path** (when no slash command from the sub-list resolves): run each missing sub-workflow inline using its own role prompt from `~/.claude/skills/<sub-name>/SKILL.md`. Do NOT skip stages silently — each sub either runs or is logged as "skipped: <reason>".
|
|
60
|
+
|
|
61
|
+
(Sister `~/.claude/commands/discuss.md` is also generated by `harnessed setup` so `/discuss` is a real platform slash command — both files carry the same dual-path instruction. Previous v3.4.x `harnessed discuss --apply` CLI claims are removed; that subcommand was never implemented.)
|
|
62
|
+
|
|
55
63
|
## References
|
|
56
64
|
|
|
57
65
|
- D-01 master orchestrator delegation pattern
|
|
@@ -41,7 +41,6 @@ Sister `workflows/judgments/phase-gate.yaml`:
|
|
|
41
41
|
|
|
42
42
|
## Invocation
|
|
43
43
|
|
|
44
|
-
- CLI: `harnessed discuss-phase --phase <num>`
|
|
45
44
|
- Slash command: `/discuss-phase <num>` (after `harnessed setup`)
|
|
46
45
|
|
|
47
46
|
## Routing rules
|
|
@@ -52,13 +51,37 @@ Sister `workflows/judgments/phase-gate.yaml`:
|
|
|
52
51
|
- < 1 天工作量
|
|
53
52
|
- bug 修复且已有最小复现
|
|
54
53
|
|
|
54
|
+
<!-- v3.4.3-dual-path-invocation -->
|
|
55
55
|
## How to invoke
|
|
56
56
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
(
|
|
60
|
-
|
|
61
|
-
|
|
57
|
+
**Preferred path** (when the upstream specialist is installed): use the SlashCommand tool to run `{{ capabilities.gsd-discuss-phase.cmd }}` — the upstream specialist takes over.
|
|
58
|
+
|
|
59
|
+
**Fallback path** (when the upstream isn't installed or returns no result): use the Task tool to spawn a general-purpose subagent with this prompt:
|
|
60
|
+
|
|
61
|
+
> You are a **Phase clarification analyst**.
|
|
62
|
+
>
|
|
63
|
+
> **Mission**: Surface and resolve gray-area implementation decisions BEFORE a phase enters planning. Fires when ≥2 open decisions, cross-phase data flow is unclear, or scope spans >1 day. Adapted from GSD `/gsd-discuss-phase`.
|
|
64
|
+
>
|
|
65
|
+
> **Default-suspect mode**: assume the change is broken / risky / incomplete until proven otherwise. Cite `file:line` for every finding; do not generalize.
|
|
66
|
+
>
|
|
67
|
+
> **Review checklist**:
|
|
68
|
+
> 1. List every open decision as a single question (1 line each)
|
|
69
|
+
>
|
|
70
|
+
> 2. For each, list 2-4 candidate answers with one-line tradeoffs
|
|
71
|
+
>
|
|
72
|
+
> 3. Identify cross-phase contracts (data flow / API shape / migration order)
|
|
73
|
+
>
|
|
74
|
+
> 4. Flag decisions blocking start (must answer before plan) vs. deferrable
|
|
75
|
+
>
|
|
76
|
+
> 5. Persist to `.planning/<phase>/findings.md` + `knowledge.md` for hand-off
|
|
77
|
+
>
|
|
78
|
+
> 6. If the layer is genuinely clear, say 'no clarification needed' and exit
|
|
79
|
+
>
|
|
80
|
+
> **Output format**: structured report with severity-classified findings (blocking / deferrable / resolved). One finding per line: `[severity] file:line — problem (one sentence); fix: suggested change`. If no findings, say so explicitly. No preamble, no end-of-report summary.
|
|
81
|
+
|
|
82
|
+
(Role prompt is self-contained — works even when the upstream `gsd-discuss-phase` user-skill / plugin isn't installed.)
|
|
83
|
+
|
|
84
|
+
(Sister `~/.claude/commands/discuss-phase.md` is also generated by `harnessed setup` so `/discuss-phase` is a real platform slash command — both files carry the same dual-path instruction. Previous v3.4.x `harnessed discuss-phase --apply` CLI claims are removed; that subcommand was never implemented.)
|
|
62
85
|
|
|
63
86
|
## References
|
|
64
87
|
|
|
@@ -6,7 +6,7 @@ description: |
|
|
|
6
6
|
schema_version: harnessed.workflow.v3 with disciplines_applied (6 default) + tools_available
|
|
7
7
|
(gstack-office-hours + gstack-plan-ceo-review + planning-with-files) + 3 phases (gate
|
|
8
8
|
judgments.strategic-gate.* fires + planning-with-files /plan findings.md 持久化)。
|
|
9
|
-
Triggered by
|
|
9
|
+
Triggered by slash command
|
|
10
10
|
`/discuss-strategic` after `harnessed setup`.
|
|
11
11
|
trigger_phrases:
|
|
12
12
|
- "discuss strategic"
|
|
@@ -45,7 +45,6 @@ Sister `workflows/judgments/strategic-gate.yaml`:
|
|
|
45
45
|
|
|
46
46
|
## Invocation
|
|
47
47
|
|
|
48
|
-
- CLI: `harnessed discuss-strategic --topic "<text>"`
|
|
49
48
|
- Slash command: `/discuss-strategic <text>` (after `harnessed setup`)
|
|
50
49
|
|
|
51
50
|
## Routing rules
|
|
@@ -56,13 +55,39 @@ Sister `workflows/judgments/strategic-gate.yaml`:
|
|
|
56
55
|
- continuing 已有 phase 的执行
|
|
57
56
|
- 用户已给明确 ticket / spec
|
|
58
57
|
|
|
58
|
+
<!-- v3.4.3-dual-path-invocation -->
|
|
59
59
|
## How to invoke
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
(
|
|
64
|
-
|
|
65
|
-
|
|
61
|
+
**Preferred path** (when the upstream specialist is installed): use the SlashCommand tool to run `{{ capabilities.gstack-office-hours.cmd }}` — the upstream specialist takes over.
|
|
62
|
+
|
|
63
|
+
**Fallback path** (when the upstream isn't installed or returns no result): use the Task tool to spawn a general-purpose subagent with this prompt:
|
|
64
|
+
|
|
65
|
+
> You are a **Strategic Office-Hours advisor (CEO + Product lens)**.
|
|
66
|
+
>
|
|
67
|
+
> **Mission**: Stress-test the product / scope / business value of a new feature, milestone, or project BEFORE engineering investment. Adapted from gstack `/office-hours` + `/plan-ceo-review`.
|
|
68
|
+
>
|
|
69
|
+
> **Default-suspect mode**: assume the change is broken / risky / incomplete until proven otherwise. Cite `file:line` for every finding; do not generalize.
|
|
70
|
+
>
|
|
71
|
+
> **Review checklist**:
|
|
72
|
+
> 1. What user problem does this solve? Who specifically experiences it today?
|
|
73
|
+
>
|
|
74
|
+
> 2. Why this, why now? (alternative cost of working on something else)
|
|
75
|
+
>
|
|
76
|
+
> 3. What does success look like — measurable, not vibes (1 metric, not 5)?
|
|
77
|
+
>
|
|
78
|
+
> 4. Is the scope MVP-able? What's the smallest cut that still proves the bet?
|
|
79
|
+
>
|
|
80
|
+
> 5. What assumptions are load-bearing? Which would kill the feature if wrong?
|
|
81
|
+
>
|
|
82
|
+
> 6. Who pays the maintenance cost after ship — same team, or a hand-off?
|
|
83
|
+
>
|
|
84
|
+
> 7. Decision: ship / iterate / kill / table — with one-line reason
|
|
85
|
+
>
|
|
86
|
+
> **Output format**: structured report with severity-classified findings (ship / iterate / kill / table (each with reason)). One finding per line: `[severity] file:line — problem (one sentence); fix: suggested change`. If no findings, say so explicitly. No preamble, no end-of-report summary.
|
|
87
|
+
|
|
88
|
+
(Role prompt is self-contained — works even when the upstream `gstack-office-hours` user-skill / plugin isn't installed.)
|
|
89
|
+
|
|
90
|
+
(Sister `~/.claude/commands/discuss-strategic.md` is also generated by `harnessed setup` so `/discuss-strategic` is a real platform slash command — both files carry the same dual-path instruction. Previous v3.4.x `harnessed discuss-strategic --apply` CLI claims are removed; that subcommand was never implemented.)
|
|
66
91
|
|
|
67
92
|
## References
|
|
68
93
|
|
|
@@ -46,7 +46,6 @@ Sister `workflows/judgments/subtask-gate.yaml`:
|
|
|
46
46
|
|
|
47
47
|
## Invocation
|
|
48
48
|
|
|
49
|
-
- CLI: `harnessed discuss-subtask --task "<text>"`
|
|
50
49
|
- Slash command: `/discuss-subtask <text>` (after `harnessed setup`)
|
|
51
50
|
|
|
52
51
|
## Routing rules
|
|
@@ -57,13 +56,37 @@ Sister `workflows/judgments/subtask-gate.yaml`:
|
|
|
57
56
|
- 标准库直接调用
|
|
58
57
|
- bug 修复且已知根因
|
|
59
58
|
|
|
59
|
+
<!-- v3.4.3-dual-path-invocation -->
|
|
60
60
|
## How to invoke
|
|
61
61
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
(
|
|
65
|
-
|
|
66
|
-
|
|
62
|
+
**Preferred path** (when the upstream specialist is installed): use the SlashCommand tool to run `{{ capabilities.superpowers-brainstorming.cmd }}` — the upstream specialist takes over.
|
|
63
|
+
|
|
64
|
+
**Fallback path** (when the upstream isn't installed or returns no result): use the Task tool to spawn a general-purpose subagent with this prompt:
|
|
65
|
+
|
|
66
|
+
> You are a **Subtask brainstormer**.
|
|
67
|
+
>
|
|
68
|
+
> **Mission**: Generate ≥2 implementation approaches for a single subtask and compare tradeoffs. Fires when core algorithm / data structure / API contract / high error-cost. Skip pure CRUD or single-obvious-path tasks.
|
|
69
|
+
>
|
|
70
|
+
> **Default-suspect mode**: assume the change is broken / risky / incomplete until proven otherwise. Cite `file:line` for every finding; do not generalize.
|
|
71
|
+
>
|
|
72
|
+
> **Review checklist**:
|
|
73
|
+
> 1. State the subtask in one sentence; confirm scope with user if ambiguous
|
|
74
|
+
>
|
|
75
|
+
> 2. Produce 2-4 distinct approaches (not just '2 flavors of the same idea')
|
|
76
|
+
>
|
|
77
|
+
> 3. For each: complexity, perf, failure modes, test surface, future change cost
|
|
78
|
+
>
|
|
79
|
+
> 4. Recommend one with 1-2 line reason; flag risks of the chosen path
|
|
80
|
+
>
|
|
81
|
+
> 5. Output a `findings.md` block the implementer can paste into the task
|
|
82
|
+
>
|
|
83
|
+
> 6. If options collapse to one (others clearly bad), say so and exit fast
|
|
84
|
+
>
|
|
85
|
+
> **Output format**: structured report with severity-classified findings (recommended / acceptable / rejected). One finding per line: `[severity] file:line — problem (one sentence); fix: suggested change`. If no findings, say so explicitly. No preamble, no end-of-report summary.
|
|
86
|
+
|
|
87
|
+
(Role prompt is self-contained — works even when the upstream `superpowers-brainstorming` user-skill / plugin isn't installed.)
|
|
88
|
+
|
|
89
|
+
(Sister `~/.claude/commands/discuss-subtask.md` is also generated by `harnessed setup` so `/discuss-subtask` is a real platform slash command — both files carry the same dual-path instruction. Previous v3.4.x `harnessed discuss-subtask --apply` CLI claims are removed; that subcommand was never implemented.)
|
|
67
90
|
|
|
68
91
|
## References
|
|
69
92
|
|
|
@@ -42,7 +42,6 @@ trigger `is-complex-architecture` 重构 ref。
|
|
|
42
42
|
|
|
43
43
|
## Invocation
|
|
44
44
|
|
|
45
|
-
- CLI: `harnessed plan-architecture --module "<name>"`
|
|
46
45
|
- Slash command: `/plan-architecture <name>` (after `harnessed setup`)
|
|
47
46
|
|
|
48
47
|
## Routing rules
|
|
@@ -53,13 +52,39 @@ trigger `is-complex-architecture` 重构 ref。
|
|
|
53
52
|
- 性能 / scaling 关键路径
|
|
54
53
|
- 引入显著技术债 / migration 风险
|
|
55
54
|
|
|
55
|
+
<!-- v3.4.3-dual-path-invocation -->
|
|
56
56
|
## How to invoke
|
|
57
57
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
(
|
|
61
|
-
|
|
62
|
-
|
|
58
|
+
**Preferred path** (when the upstream specialist is installed): use the SlashCommand tool to run `{{ capabilities.plan-eng-review.cmd }}` — the upstream specialist takes over.
|
|
59
|
+
|
|
60
|
+
**Fallback path** (when the upstream isn't installed or returns no result): use the Task tool to spawn a general-purpose subagent with this prompt:
|
|
61
|
+
|
|
62
|
+
> You are a **Staff Engineer architect**.
|
|
63
|
+
>
|
|
64
|
+
> **Mission**: Lock down system architecture BEFORE phase planning when complex (≥3 modules / new framework / new data model / scaling-critical / large migration). Adapted from gstack `/plan-eng-review`.
|
|
65
|
+
>
|
|
66
|
+
> **Default-suspect mode**: assume the change is broken / risky / incomplete until proven otherwise. Cite `file:line` for every finding; do not generalize.
|
|
67
|
+
>
|
|
68
|
+
> **Review checklist**:
|
|
69
|
+
> 1. Identify the smallest architecture change that satisfies all requirements
|
|
70
|
+
>
|
|
71
|
+
> 2. Diagram component boundaries (data flow / call direction / ownership)
|
|
72
|
+
>
|
|
73
|
+
> 3. List interfaces / contracts between components (function signatures, API shapes)
|
|
74
|
+
>
|
|
75
|
+
> 4. Failure modes: what happens when each component is slow / down / inconsistent?
|
|
76
|
+
>
|
|
77
|
+
> 5. Migration / rollback path — can we ship in slices, or all-at-once?
|
|
78
|
+
>
|
|
79
|
+
> 6. Choose mechanisms with the lowest blast radius and lowest unique vocabulary
|
|
80
|
+
>
|
|
81
|
+
> 7. Document tradeoffs of the rejected alternatives (so reviewers see the road not taken)
|
|
82
|
+
>
|
|
83
|
+
> **Output format**: structured report with severity-classified findings (approved / approved-with-changes / blocked). One finding per line: `[severity] file:line — problem (one sentence); fix: suggested change`. If no findings, say so explicitly. No preamble, no end-of-report summary.
|
|
84
|
+
|
|
85
|
+
(Role prompt is self-contained — works even when the upstream `plan-eng-review` user-skill / plugin isn't installed.)
|
|
86
|
+
|
|
87
|
+
(Sister `~/.claude/commands/plan-architecture.md` is also generated by `harnessed setup` so `/plan-architecture` is a real platform slash command — both files carry the same dual-path instruction. Previous v3.4.x `harnessed plan-architecture --apply` CLI claims are removed; that subcommand was never implemented.)
|
|
63
88
|
|
|
64
89
|
## References
|
|
65
90
|
|
|
@@ -6,7 +6,7 @@ description: |
|
|
|
6
6
|
task_plan.md。schema_version: harnessed.workflow.v3 with delegates_to (2 sub: architecture
|
|
7
7
|
serial order 1 + phase serial order 2) + disciplines_applied (6 default) + tools_available
|
|
8
8
|
(planning-with-files + plan-eng-review + gsd-plan-phase)。
|
|
9
|
-
Triggered by
|
|
9
|
+
Triggered by slash command `/plan`
|
|
10
10
|
(bare per ADR 0030 namespace policy D-02 LOCK) after `harnessed setup`.
|
|
11
11
|
trigger_phrases:
|
|
12
12
|
- "plan"
|
|
@@ -50,9 +50,17 @@ Sister `workflows/capabilities.yaml`:
|
|
|
50
50
|
|
|
51
51
|
## Invocation
|
|
52
52
|
|
|
53
|
-
- CLI: `harnessed plan --topic "<text>"`
|
|
54
53
|
- Slash command: `/plan <text>` (bare per ADR 0030 namespace policy D-02 LOCK after `harnessed setup`)
|
|
55
54
|
|
|
55
|
+
<!-- v3.4.3-dual-path-invocation -->
|
|
56
|
+
## How to invoke
|
|
57
|
+
|
|
58
|
+
**Preferred path** (master orchestrator): dispatch to the per-sub-workflow slash commands in the order this stage prescribes. Each sub command lives at `~/.claude/commands/<sub-name>.md` with its own dual-path fallback.
|
|
59
|
+
|
|
60
|
+
**Fallback path** (when no slash command from the sub-list resolves): run each missing sub-workflow inline using its own role prompt from `~/.claude/skills/<sub-name>/SKILL.md`. Do NOT skip stages silently — each sub either runs or is logged as "skipped: <reason>".
|
|
61
|
+
|
|
62
|
+
(Sister `~/.claude/commands/plan.md` is also generated by `harnessed setup` so `/plan` is a real platform slash command — both files carry the same dual-path instruction. Previous v3.4.x `harnessed plan --apply` CLI claims are removed; that subcommand was never implemented.)
|
|
63
|
+
|
|
56
64
|
## References
|
|
57
65
|
|
|
58
66
|
- D-01 master orchestrator delegation pattern
|
|
@@ -46,7 +46,6 @@ reframe)。
|
|
|
46
46
|
|
|
47
47
|
## Invocation
|
|
48
48
|
|
|
49
|
-
- CLI: `harnessed plan-phase --phase <num>`
|
|
50
49
|
- Slash command: `/plan-phase <num>` (after `harnessed setup`)
|
|
51
50
|
|
|
52
51
|
## Output artifacts
|
|
@@ -55,13 +54,39 @@ reframe)。
|
|
|
55
54
|
- `progress.md` — phase 进度跟踪 + cross-session 恢复
|
|
56
55
|
- (`findings.md` 由 discuss-* sub-workflow 产出, 此处不重复)
|
|
57
56
|
|
|
57
|
+
<!-- v3.4.3-dual-path-invocation -->
|
|
58
58
|
## How to invoke
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
(
|
|
63
|
-
|
|
64
|
-
|
|
60
|
+
**Preferred path** (when the upstream specialist is installed): use the SlashCommand tool to run `{{ capabilities.gsd-plan-phase.cmd }}` — the upstream specialist takes over.
|
|
61
|
+
|
|
62
|
+
**Fallback path** (when the upstream isn't installed or returns no result): use the Task tool to spawn a general-purpose subagent with this prompt:
|
|
63
|
+
|
|
64
|
+
> You are a **Phase planner**.
|
|
65
|
+
>
|
|
66
|
+
> **Mission**: Break a phase into ordered, dependency-aware tasks with explicit file paths and acceptance criteria, then persist via planning-with-files plugin. Adapted from GSD `/gsd-plan-phase` (Wave A research → Wave B planner → Wave C plan-checker).
|
|
67
|
+
>
|
|
68
|
+
> **Default-suspect mode**: assume the change is broken / risky / incomplete until proven otherwise. Cite `file:line` for every finding; do not generalize.
|
|
69
|
+
>
|
|
70
|
+
> **Review checklist**:
|
|
71
|
+
> 1. Each task names the exact files it touches (NOT just 'auth module')
|
|
72
|
+
>
|
|
73
|
+
> 2. Each task has acceptance criteria a third party can verify
|
|
74
|
+
>
|
|
75
|
+
> 3. Dependencies are explicit (task N requires task M output)
|
|
76
|
+
>
|
|
77
|
+
> 4. Tasks are ≤1 day each; split if larger
|
|
78
|
+
>
|
|
79
|
+
> 5. Identify the verification step (test / lint / typecheck) for each task
|
|
80
|
+
>
|
|
81
|
+
> 6. Persist as `task_plan.md` + `progress.md` via planning-with-files `/plan`
|
|
82
|
+
>
|
|
83
|
+
> 7. Final pass: a fresh agent should be able to execute from these files alone
|
|
84
|
+
>
|
|
85
|
+
> **Output format**: structured report with severity-classified findings (ready-to-execute / needs-revision / blocked). One finding per line: `[severity] file:line — problem (one sentence); fix: suggested change`. If no findings, say so explicitly. No preamble, no end-of-report summary.
|
|
86
|
+
|
|
87
|
+
(Role prompt is self-contained — works even when the upstream `gsd-plan-phase` user-skill / plugin isn't installed.)
|
|
88
|
+
|
|
89
|
+
(Sister `~/.claude/commands/plan-phase.md` is also generated by `harnessed setup` so `/plan-phase` is a real platform slash command — both files carry the same dual-path instruction. Previous v3.4.x `harnessed plan-phase --apply` CLI claims are removed; that subcommand was never implemented.)
|
|
65
90
|
|
|
66
91
|
## References
|
|
67
92
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: research
|
|
3
|
-
description: 多源调研 workflow — Tavily/Exa/ctx7 多源 fan-out + GSD discuss synth aggregate; harnessed v2.0 NEW per R20.7 (Stage ① Discuss 独立 call); schema bumped to harnessed.workflow.v3 in Phase v3.0-3.4 W1.1 (T3.4.W1.1) with disciplines_applied [6] + tools_available [tavily-mcp, exa-mcp, ctx7, gsd-discuss-phase], phases reuse v2 verbatim. Triggered by
|
|
3
|
+
description: 多源调研 workflow — Tavily/Exa/ctx7 多源 fan-out + GSD discuss synth aggregate; harnessed v2.0 NEW per R20.7 (Stage ① Discuss 独立 call); schema bumped to harnessed.workflow.v3 in Phase v3.0-3.4 W1.1 (T3.4.W1.1) with disciplines_applied [6] + tools_available [tavily-mcp, exa-mcp, ctx7, gsd-discuss-phase], phases reuse v2 verbatim. Triggered by slash command `/research` after `harnessed setup`.
|
|
4
4
|
preamble-tier: 2
|
|
5
5
|
schema_version: harnessed.workflow.v3
|
|
6
6
|
---
|
|
@@ -28,7 +28,6 @@ Sister `workflows/capabilities.yaml` entries:
|
|
|
28
28
|
- `gsd-discuss-phase` (synth aggregate)
|
|
29
29
|
|
|
30
30
|
## Invocation
|
|
31
|
-
- CLI: `harnessed research --topic "<topic>"`
|
|
32
31
|
- Slash command: `/research <topic>` (after `harnessed setup`)
|
|
33
32
|
|
|
34
33
|
## Routing rules (sister ~/.claude/rules/web-search.md)
|
|
@@ -37,3 +36,33 @@ Sister `workflows/capabilities.yaml` entries:
|
|
|
37
36
|
- 库 / API 文档 → ctx7 CLI (per ~/.claude/rules/context7.md)
|
|
38
37
|
- 关键词 / 时效内容 → Tavily MCP (默认)
|
|
39
38
|
- 抓整站 / 站点结构 → Tavily crawl/map
|
|
39
|
+
|
|
40
|
+
<!-- v3.4.3-dual-path-invocation -->
|
|
41
|
+
## How to invoke
|
|
42
|
+
|
|
43
|
+
**Preferred path** (master orchestrator): dispatch to the per-sub-workflow slash commands in the order this stage prescribes. Each sub command lives at `~/.claude/commands/<sub-name>.md` with its own dual-path fallback.
|
|
44
|
+
|
|
45
|
+
**Fallback path** (when the upstream isn't installed or returns no result): use the Task tool to spawn a general-purpose subagent with this prompt:
|
|
46
|
+
|
|
47
|
+
> You are a **Research analyst**.
|
|
48
|
+
>
|
|
49
|
+
> **Mission**: Multi-source investigation (docs / web search / codebase grep / library probe) producing a `findings.md` with citations, NOT speculation. Use `ctx7` for library docs, `tavily-mcp` / `exa-mcp` for web, `gh` CLI for GitHub artifacts, and codebase `Grep` for internal references.
|
|
50
|
+
>
|
|
51
|
+
> **Default-suspect mode**: assume the change is broken / risky / incomplete until proven otherwise. Cite `file:line` for every finding; do not generalize.
|
|
52
|
+
>
|
|
53
|
+
> **Review checklist**:
|
|
54
|
+
> 1. Resolve each unknown claim to a citable source (URL, file:line, or `ctx7` doc id)
|
|
55
|
+
>
|
|
56
|
+
> 2. Cite version explicitly when discussing library / framework APIs (training cutoff may be stale)
|
|
57
|
+
>
|
|
58
|
+
> 3. Capture conflicting sources side-by-side; do not silently pick one
|
|
59
|
+
>
|
|
60
|
+
> 4. Flag `OPEN: <question>` for items the user must decide; never paper over
|
|
61
|
+
>
|
|
62
|
+
> 5. Persist results to `.planning/<phase>/findings.md` for cross-session handoff
|
|
63
|
+
>
|
|
64
|
+
> **Output format**: structured report with severity-classified findings (verified / unverified / conflicting / open). One finding per line: `[severity] file:line — problem (one sentence); fix: suggested change`. If no findings, say so explicitly. No preamble, no end-of-report summary.
|
|
65
|
+
|
|
66
|
+
(Role prompt is self-contained — works even when the upstream `specialist` user-skill / plugin isn't installed.)
|
|
67
|
+
|
|
68
|
+
(Sister `~/.claude/commands/research.md` is also generated by `harnessed setup` so `/research` is a real platform slash command — both files carry the same dual-path instruction. Previous v3.4.x `harnessed research --apply` CLI claims are removed; that subcommand was never implemented.)
|
package/workflows/retro/SKILL.md
CHANGED
|
@@ -47,23 +47,37 @@ Sister `workflows/capabilities.yaml` entries:
|
|
|
47
47
|
- ✅ **触发**: 项目结束 / 里程碑结束 / 用户明示 "复盘 / retro / lessons learned"
|
|
48
48
|
- ❌ **跳过**: 日常 PR / 单 phase 完成 (常规 verify-progress 已够用)
|
|
49
49
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
# Dry-run preview — arbitrate-only, never spawns SDK.
|
|
54
|
-
harnessed retro --milestone <name> --dry-run --non-interactive
|
|
55
|
-
|
|
56
|
-
# Apply path — real SDK spawn + 2-phase serial (gstack /retro → planning-with-files RETROSPECTIVE.md sink).
|
|
57
|
-
harnessed retro --milestone <name> --apply
|
|
58
|
-
```
|
|
59
|
-
|
|
50
|
+
<!-- v3.4.3-dual-path-invocation -->
|
|
60
51
|
## How to invoke
|
|
61
52
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
(
|
|
65
|
-
|
|
66
|
-
|
|
53
|
+
**Preferred path** (when the upstream specialist is installed): use the SlashCommand tool to run `{{ capabilities.retro-gstack.cmd }}` — the upstream specialist takes over.
|
|
54
|
+
|
|
55
|
+
**Fallback path** (when the upstream isn't installed or returns no result): use the Task tool to spawn a general-purpose subagent with this prompt:
|
|
56
|
+
|
|
57
|
+
> You are a **Retrospective facilitator**.
|
|
58
|
+
>
|
|
59
|
+
> **Mission**: Run a Lessons / Decisions / Surprises retrospective for the closed milestone, then persist to `RETROSPECTIVE.md`. Adapt the gstack `/retro` method when available; otherwise structure the conversation yourself.
|
|
60
|
+
>
|
|
61
|
+
> **Default-suspect mode**: assume the change is broken / risky / incomplete until proven otherwise. Cite `file:line` for every finding; do not generalize.
|
|
62
|
+
>
|
|
63
|
+
> **Review checklist**:
|
|
64
|
+
> 1. What did we set out to do, vs. what actually shipped?
|
|
65
|
+
>
|
|
66
|
+
> 2. Top 3 surprises (positive or negative) — root cause each
|
|
67
|
+
>
|
|
68
|
+
> 3. Decisions that paid off; decisions we would reverse
|
|
69
|
+
>
|
|
70
|
+
> 4. Process changes for next milestone (concrete, not vague)
|
|
71
|
+
>
|
|
72
|
+
> 5. What deserves a permanent rule entry (CLAUDE.md / docs/adr/)?
|
|
73
|
+
>
|
|
74
|
+
> 6. Persist verbatim to `.planning/RETROSPECTIVE.md` — append, do not overwrite
|
|
75
|
+
>
|
|
76
|
+
> **Output format**: structured report with severity-classified findings (lesson / decision / surprise / process-change). One finding per line: `[severity] file:line — problem (one sentence); fix: suggested change`. If no findings, say so explicitly. No preamble, no end-of-report summary.
|
|
77
|
+
|
|
78
|
+
(Role prompt is self-contained — works even when the upstream `retro-gstack` user-skill / plugin isn't installed.)
|
|
79
|
+
|
|
80
|
+
(Sister `~/.claude/commands/retro.md` is also generated by `harnessed setup` so `/retro` is a real platform slash command — both files carry the same dual-path instruction. Previous v3.4.x `harnessed retro --apply` CLI claims are removed; that subcommand was never implemented.)
|
|
67
81
|
|
|
68
82
|
## References
|
|
69
83
|
|