konductor 0.5.0 → 0.7.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/agents/konductor-codebase-mapper.json +8 -0
- package/agents/konductor-discoverer.json +8 -0
- package/agents/konductor-executor.json +13 -0
- package/agents/konductor-plan-checker.json +11 -0
- package/agents/konductor-planner.json +13 -0
- package/agents/konductor-researcher.json +12 -0
- package/agents/konductor-verifier.json +12 -0
- package/agents/konductor.json +25 -0
- package/hooks/konductor-hooks.json +16 -0
- package/package.json +9 -1
- package/scripts/postinstall.js +38 -0
- package/skills/konductor-discuss/SKILL.md +179 -0
- package/skills/konductor-exec/SKILL.md +143 -0
- package/skills/konductor-exec/references/execution-guide.md +294 -0
- package/skills/konductor-exec/references/tdd.md +450 -0
- package/skills/konductor-init/SKILL.md +95 -0
- package/skills/konductor-init/references/questioning.md +197 -0
- package/skills/konductor-map-codebase/SKILL.md +190 -0
- package/skills/konductor-next/SKILL.md +150 -0
- package/skills/konductor-plan/SKILL.md +91 -0
- package/skills/konductor-plan/references/planning-guide.md +265 -0
- package/skills/konductor-plan/references/verification-patterns.md +400 -0
- package/skills/konductor-ship/SKILL.md +165 -0
- package/skills/konductor-status/SKILL.md +109 -0
- package/skills/konductor-verify/SKILL.md +116 -0
- package/skills/konductor-verify/references/verification-patterns.md +400 -0
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: konductor-ship
|
|
3
|
+
description: Ship and finalize the project. Use when the user says ship, release, finalize, we're done, ready to ship, or complete project.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Konductor Ship — Project Finalization and Release
|
|
7
|
+
|
|
8
|
+
You are the Konductor orchestrator. Finalize and ship the project after all phases are complete.
|
|
9
|
+
|
|
10
|
+
## Step 1: Read Project State
|
|
11
|
+
|
|
12
|
+
Call the `state_get` MCP tool to verify project readiness:
|
|
13
|
+
- Check `current.phase` — should be the last phase
|
|
14
|
+
- Check `current.step` — should be "complete"
|
|
15
|
+
- Check `progress.phases_complete` — should equal `phases_total`
|
|
16
|
+
|
|
17
|
+
If the project is not ready to ship, proceed to Step 2 to report the gap.
|
|
18
|
+
|
|
19
|
+
## Step 2: Verify All Phases Complete
|
|
20
|
+
|
|
21
|
+
Read `.konductor/roadmap.md` to get the full list of phases.
|
|
22
|
+
|
|
23
|
+
For each phase:
|
|
24
|
+
1. Check if `.konductor/phases/{phase}/` directory exists
|
|
25
|
+
2. Check if summary files exist for all plans
|
|
26
|
+
3. Verify that the phase has `step = "complete"` in state history
|
|
27
|
+
|
|
28
|
+
If any phases are incomplete:
|
|
29
|
+
- List which phases are not complete
|
|
30
|
+
- Show their current step
|
|
31
|
+
- Tell the user: "Cannot ship yet. Complete these phases first: {list}. Say 'status' to see current progress."
|
|
32
|
+
- Stop here
|
|
33
|
+
|
|
34
|
+
## Step 3: Cross-Phase Integration Verification
|
|
35
|
+
|
|
36
|
+
Spawn the **konductor-verifier** agent with instructions to perform a cross-phase integration check:
|
|
37
|
+
- Verify that outputs from earlier phases integrate correctly with later phases
|
|
38
|
+
- Check that API contracts are honored
|
|
39
|
+
- Test critical user flows that span multiple phases
|
|
40
|
+
- Look for integration gaps or inconsistencies between phase boundaries
|
|
41
|
+
- Reference: see `references/verification.md` for verification patterns
|
|
42
|
+
|
|
43
|
+
Provide the verifier with:
|
|
44
|
+
- All phase directories: `.konductor/phases/*/`
|
|
45
|
+
- All summary files from each phase
|
|
46
|
+
- The project roadmap for context
|
|
47
|
+
|
|
48
|
+
Wait for the verifier to complete and write its results to `.konductor/.results/verify-integration.toml`.
|
|
49
|
+
|
|
50
|
+
## Step 4: Check Verification Results
|
|
51
|
+
|
|
52
|
+
Read `.konductor/.results/verify-integration.toml`.
|
|
53
|
+
|
|
54
|
+
**If status = "ok":**
|
|
55
|
+
- Proceed to Step 5 (finalization)
|
|
56
|
+
|
|
57
|
+
**If status = "error" or issues found:**
|
|
58
|
+
- Display the issues to the user
|
|
59
|
+
- List affected phases and specific problems
|
|
60
|
+
- Tell the user: "Integration issues found. Fix these before shipping: {list of issues}. You can use 'exec' to re-run specific plans or fix manually."
|
|
61
|
+
- Stop here
|
|
62
|
+
|
|
63
|
+
## Step 5: Create Release Tag
|
|
64
|
+
|
|
65
|
+
Read `.konductor/project.md` to extract:
|
|
66
|
+
- Project name
|
|
67
|
+
- Version (if specified, or use "v1.0.0" as default)
|
|
68
|
+
|
|
69
|
+
Create a git tag:
|
|
70
|
+
```bash
|
|
71
|
+
git tag -a {version} -m "Release {version}: {project name} complete
|
|
72
|
+
|
|
73
|
+
All {phases_total} phases implemented and verified.
|
|
74
|
+
|
|
75
|
+
Generated with Konductor orchestrator"
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Tell the user:
|
|
79
|
+
> "Created git tag: {version}"
|
|
80
|
+
|
|
81
|
+
## Step 6: Archive Project State
|
|
82
|
+
|
|
83
|
+
Create an archive of the current state for historical reference:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
mkdir -p .konductor/milestones/{version}
|
|
87
|
+
cp -r .konductor/phases .konductor/milestones/{version}/
|
|
88
|
+
cp .konductor/state.toml .konductor/milestones/{version}/
|
|
89
|
+
cp .konductor/roadmap.md .konductor/milestones/{version}/
|
|
90
|
+
cp .konductor/project.md .konductor/milestones/{version}/
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Write a milestone summary file at `.konductor/milestones/{version}/summary.md`:
|
|
94
|
+
|
|
95
|
+
```markdown
|
|
96
|
+
# {project name} — {version} Release
|
|
97
|
+
|
|
98
|
+
Released: {current date}
|
|
99
|
+
|
|
100
|
+
## Summary
|
|
101
|
+
{brief project description from project.md}
|
|
102
|
+
|
|
103
|
+
## Phases Completed
|
|
104
|
+
{for each phase}
|
|
105
|
+
- Phase {number}: {name} — {goal}
|
|
106
|
+
{/for}
|
|
107
|
+
|
|
108
|
+
## Metrics
|
|
109
|
+
- Total phases: {phases_total}
|
|
110
|
+
- Total agent sessions: {total_agent_sessions}
|
|
111
|
+
- Project duration: {initialized date} to {current date}
|
|
112
|
+
|
|
113
|
+
## Verification
|
|
114
|
+
Cross-phase integration verified on {current date}.
|
|
115
|
+
|
|
116
|
+
All phase outputs integrated successfully.
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Step 7: Update State to Shipped
|
|
120
|
+
|
|
121
|
+
Call `state_transition` with `step = "shipped"` to finalize the project state.
|
|
122
|
+
|
|
123
|
+
## Step 8: Report Success
|
|
124
|
+
|
|
125
|
+
Tell the user:
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
# Project Shipped! 🎉
|
|
129
|
+
|
|
130
|
+
{project name} {version} has been finalized.
|
|
131
|
+
|
|
132
|
+
## Summary
|
|
133
|
+
- {phases_total} phases completed
|
|
134
|
+
- {total_agent_sessions} agent sessions
|
|
135
|
+
- Verified: All integration checks passed
|
|
136
|
+
- Tagged: {version}
|
|
137
|
+
- Archived: .konductor/milestones/{version}/
|
|
138
|
+
|
|
139
|
+
## Next Steps
|
|
140
|
+
- Push the git tag: `git push origin {version}`
|
|
141
|
+
- Review the milestone summary: `.konductor/milestones/{version}/summary.md`
|
|
142
|
+
- Consider deploying your project
|
|
143
|
+
|
|
144
|
+
Great work!
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Error Handling
|
|
148
|
+
|
|
149
|
+
**Incomplete phases:**
|
|
150
|
+
If phases are incomplete, do NOT proceed with shipping. Report the gap and stop.
|
|
151
|
+
|
|
152
|
+
**Verification failures:**
|
|
153
|
+
If the verifier finds issues, do NOT create tags or archives. Report issues and stop.
|
|
154
|
+
|
|
155
|
+
**Git tag already exists:**
|
|
156
|
+
If the tag already exists, warn the user:
|
|
157
|
+
> "Tag {version} already exists. Use a different version or delete the existing tag first."
|
|
158
|
+
|
|
159
|
+
Then stop.
|
|
160
|
+
|
|
161
|
+
**Missing roadmap or state:**
|
|
162
|
+
If critical files are missing:
|
|
163
|
+
1. Report which files are missing
|
|
164
|
+
2. Suggest running diagnostic: "Say 'status' to check project state."
|
|
165
|
+
3. Stop
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: konductor-status
|
|
3
|
+
description: Display project status and progress. Use when the user says status, progress, where are we, show state, what's happening, or current status.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Konductor Status — Project Status Display
|
|
7
|
+
|
|
8
|
+
You are the Konductor orchestrator. Display the current status and progress of the project.
|
|
9
|
+
|
|
10
|
+
## Step 1: Get Project Status
|
|
11
|
+
|
|
12
|
+
Call the `status` MCP tool. This returns a structured JSON report with:
|
|
13
|
+
- `project` — project name
|
|
14
|
+
- `current_phase`, `current_step`, `status`
|
|
15
|
+
- `phases_total`, `phases_complete`
|
|
16
|
+
- `current_phase_plans`, `current_phase_plans_complete`
|
|
17
|
+
- `active_blockers` count and `blockers` list
|
|
18
|
+
- `last_activity`, `total_agent_sessions`
|
|
19
|
+
- `next_suggestion`
|
|
20
|
+
|
|
21
|
+
If the tool returns a `STATE_NOT_FOUND` error, tell the user:
|
|
22
|
+
> "No Konductor project found. Run 'init' to initialize a project."
|
|
23
|
+
|
|
24
|
+
Then stop.
|
|
25
|
+
|
|
26
|
+
## Step 2: Parse Phase Status
|
|
27
|
+
|
|
28
|
+
Read `.konductor/roadmap.md` to extract all phase numbers and names.
|
|
29
|
+
|
|
30
|
+
Using the `current_phase` from the status report:
|
|
31
|
+
1. If phase number < current phase number: status = "complete" (✓)
|
|
32
|
+
2. If phase number = current phase number: status = "active" (○)
|
|
33
|
+
3. If phase number > current phase number: status = "pending" (·)
|
|
34
|
+
|
|
35
|
+
## Step 3: Read Recent Activity
|
|
36
|
+
|
|
37
|
+
From `.konductor/.results/`, scan result files (most recent 5):
|
|
38
|
+
- Look for files like `execute-{phase}-plan-{n}.toml`, `verify-{phase}.toml`, etc.
|
|
39
|
+
- Extract timestamps and actions
|
|
40
|
+
|
|
41
|
+
Use the `last_activity` and `total_agent_sessions` from the status report.
|
|
42
|
+
|
|
43
|
+
## Step 4: Check for Decisions
|
|
44
|
+
|
|
45
|
+
For the current phase, check if `.konductor/phases/{phase}/context.md` exists.
|
|
46
|
+
- If it exists, read the decisions section
|
|
47
|
+
- Extract recent decisions (last 2-3)
|
|
48
|
+
|
|
49
|
+
## Step 5: Display Formatted Output
|
|
50
|
+
|
|
51
|
+
Present a structured status report:
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
# Konductor Status
|
|
55
|
+
|
|
56
|
+
## Phases
|
|
57
|
+
{for each phase}
|
|
58
|
+
{status_icon} Phase {number}: {name}
|
|
59
|
+
{/for}
|
|
60
|
+
|
|
61
|
+
## Current Position
|
|
62
|
+
Phase: {current_phase_number} — {current_phase_name}
|
|
63
|
+
Step: {current_step}
|
|
64
|
+
|
|
65
|
+
## Progress
|
|
66
|
+
{phases_complete} / {phases_total} phases complete ({percentage}%)
|
|
67
|
+
{if active phase has plans: current_phase_plans_complete / current_phase_plans plans complete}
|
|
68
|
+
|
|
69
|
+
## Metrics
|
|
70
|
+
Total agent sessions: {total_agent_sessions}
|
|
71
|
+
Last activity: {last_activity_relative} ({last_activity_absolute})
|
|
72
|
+
|
|
73
|
+
{if blockers exist}
|
|
74
|
+
## Blockers
|
|
75
|
+
{list of blockers with phase and plan numbers}
|
|
76
|
+
{/if}
|
|
77
|
+
|
|
78
|
+
{if recent decisions exist}
|
|
79
|
+
## Recent Decisions
|
|
80
|
+
{list of recent decisions from context.md}
|
|
81
|
+
{/if}
|
|
82
|
+
|
|
83
|
+
## Next Steps
|
|
84
|
+
{suggest what the user should do next based on current step}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**Status icons:**
|
|
88
|
+
- ✓ = complete
|
|
89
|
+
- ○ = active/in progress
|
|
90
|
+
- · = pending
|
|
91
|
+
|
|
92
|
+
**Next step suggestions by current step:**
|
|
93
|
+
- `initialized` → "Say 'next' to start planning, or 'discuss phase {n}' to set preferences first."
|
|
94
|
+
- `discussed` → "Say 'next' to begin planning phase {n}."
|
|
95
|
+
- `planned` → "Say 'exec' to execute the plans."
|
|
96
|
+
- `executing` → "Execution in progress. Wait for completion or check logs."
|
|
97
|
+
- `executed` → "Say 'next' to verify the phase."
|
|
98
|
+
- `verified` → "Say 'next' to mark phase complete and advance."
|
|
99
|
+
- `complete` → "Phase {n} complete. Say 'next' to move to phase {n+1}."
|
|
100
|
+
|
|
101
|
+
## Error Handling
|
|
102
|
+
|
|
103
|
+
**Missing state files:**
|
|
104
|
+
If the `status` tool returns an error:
|
|
105
|
+
1. Report the error
|
|
106
|
+
2. Suggest running `init` to reinitialize (warn about overwriting)
|
|
107
|
+
|
|
108
|
+
**Empty results directory:**
|
|
109
|
+
If `.konductor/.results/` is empty, that's normal for newly initialized projects — simply report no activity yet.
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: konductor-verify
|
|
3
|
+
description: Verify a phase after execution to validate that goals were achieved. Use when the user says verify phase, verify, check phase, validate phase, or check results.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Konductor Verify — Phase Verification Pipeline
|
|
7
|
+
|
|
8
|
+
You are the Konductor orchestrator. Verify a phase after execution to validate that the phase goals were actually achieved, not just that files were created.
|
|
9
|
+
|
|
10
|
+
## Critical Rules
|
|
11
|
+
|
|
12
|
+
1. **Only YOU manage state transitions** — use the MCP tools (`state_get`, `state_transition`, `state_add_blocker`) instead of writing `state.toml` directly. Subagents write their own output files.
|
|
13
|
+
2. **Read `config.toml` first** — respect feature flags and settings.
|
|
14
|
+
3. **Report errors, don't retry crashes** — if the verifier fails, set status to "blocked".
|
|
15
|
+
4. **Use the 3-level verification framework** — Exists, Substantive, Wired (see references/verification-patterns.md).
|
|
16
|
+
|
|
17
|
+
## Step 1: Read State and Validate Phase
|
|
18
|
+
|
|
19
|
+
Call the `state_get` MCP tool to read current state, and read `.konductor/config.toml` for verification settings.
|
|
20
|
+
|
|
21
|
+
Validate that `[current].step` is `"executed"`.
|
|
22
|
+
|
|
23
|
+
If the phase is not in the executed state, tell the user:
|
|
24
|
+
> "Phase {phase} has not been executed yet. Current step: {step}. Run 'exec phase {phase}' first."
|
|
25
|
+
Then stop.
|
|
26
|
+
|
|
27
|
+
## Step 2: Spawn Verifier Agent
|
|
28
|
+
|
|
29
|
+
Use the **konductor-verifier** agent to perform 3-level verification (Exists, Substantive, Wired).
|
|
30
|
+
|
|
31
|
+
Provide the verifier with:
|
|
32
|
+
- All `*-summary.md` files from `.konductor/phases/{phase}/plans/` — these contain what was actually implemented
|
|
33
|
+
- `.konductor/requirements.md` — the original requirements
|
|
34
|
+
- `.konductor/roadmap.md` — phase goals and success criteria
|
|
35
|
+
- All plan files from `.konductor/phases/{phase}/plans/` — to extract `must_haves` from frontmatter
|
|
36
|
+
- Reference to `references/verification-patterns.md` — the 3-level verification framework
|
|
37
|
+
- Instructions:
|
|
38
|
+
- Verify each plan's must_haves (from plan frontmatter) or derive from phase success criteria
|
|
39
|
+
- Check Level 1 (Exists): Do the artifacts exist?
|
|
40
|
+
- Check Level 2 (Substantive): Are they real implementations or stubs?
|
|
41
|
+
- Check Level 3 (Wired): Are they integrated with the system?
|
|
42
|
+
- Identify any gaps or incomplete implementations
|
|
43
|
+
- Write verification report to `.konductor/phases/{phase}/verification.md`
|
|
44
|
+
|
|
45
|
+
Wait for the verifier to complete. Verify that `verification.md` was created.
|
|
46
|
+
|
|
47
|
+
## Step 3: Read Verification Report
|
|
48
|
+
|
|
49
|
+
Read `.konductor/phases/{phase}/verification.md`.
|
|
50
|
+
|
|
51
|
+
Extract:
|
|
52
|
+
- Overall status: `ok` or `issues-found`
|
|
53
|
+
- Number of issues/gaps found
|
|
54
|
+
- List of gaps (if any)
|
|
55
|
+
|
|
56
|
+
Parse the verification report to determine:
|
|
57
|
+
- Did all must_haves pass Level 1 (Exists)?
|
|
58
|
+
- Did all must_haves pass Level 2 (Substantive)?
|
|
59
|
+
- Did all must_haves pass Level 3 (Wired)?
|
|
60
|
+
- Are there any failed truths or incomplete integrations?
|
|
61
|
+
|
|
62
|
+
**Status determination:**
|
|
63
|
+
- `ok`: All levels passed, no gaps
|
|
64
|
+
- `issues-found`: One or more levels failed, or gaps identified
|
|
65
|
+
|
|
66
|
+
## Step 4: Write Result File
|
|
67
|
+
|
|
68
|
+
Write `.konductor/.results/verify-{phase}.toml`:
|
|
69
|
+
|
|
70
|
+
```toml
|
|
71
|
+
step = "verify"
|
|
72
|
+
phase = "{phase}"
|
|
73
|
+
status = "{ok or issues-found}"
|
|
74
|
+
timestamp = {current ISO timestamp}
|
|
75
|
+
issues_count = {number of gaps/issues}
|
|
76
|
+
gaps = [
|
|
77
|
+
{list of gap descriptions}
|
|
78
|
+
]
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Step 5a: If Status is OK
|
|
82
|
+
|
|
83
|
+
The phase is complete. Update state using MCP tools:
|
|
84
|
+
|
|
85
|
+
1. Call `state_transition` with `step = "complete"` to advance the pipeline
|
|
86
|
+
2. The tool automatically handles status and timestamp updates
|
|
87
|
+
|
|
88
|
+
Tell the user:
|
|
89
|
+
- Phase {phase} verification passed
|
|
90
|
+
- All must_haves are implemented and wired
|
|
91
|
+
- Next phase: {next_phase}
|
|
92
|
+
- Suggest: "Say 'next' to continue, or 'plan phase {next_phase}' to start planning."
|
|
93
|
+
|
|
94
|
+
## Step 5b: If Status is Issues-Found
|
|
95
|
+
|
|
96
|
+
The phase has gaps. Keep current step as "executed" (do NOT advance).
|
|
97
|
+
|
|
98
|
+
Tell the user:
|
|
99
|
+
- Phase {phase} verification found {N} issues
|
|
100
|
+
- List the gaps clearly (use the gap list from verification.md)
|
|
101
|
+
- Suggest: "Run 'plan phase {phase}' to create gap-closure plans, or manually fix the issues and re-run verification."
|
|
102
|
+
|
|
103
|
+
Call `state_add_blocker` MCP tool with the phase and reason: "Verification found {N} issues. See verification.md for details."
|
|
104
|
+
|
|
105
|
+
## Error Handling
|
|
106
|
+
|
|
107
|
+
If the verifier agent fails:
|
|
108
|
+
1. Write `.konductor/.results/verify-{phase}.toml` with `status = "error"` and error details
|
|
109
|
+
2. Call `state_add_blocker` MCP tool with the phase and reason for the failure
|
|
110
|
+
3. Report failure to user with actionable context
|
|
111
|
+
4. Do NOT retry crashed subagents
|
|
112
|
+
|
|
113
|
+
If `verification.md` is malformed or cannot be parsed:
|
|
114
|
+
1. Report the parsing error
|
|
115
|
+
2. Do not attempt to fix it automatically
|
|
116
|
+
3. Suggest manual review of the verification report
|