kyro-ai 3.2.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.
Files changed (140) hide show
  1. package/.claude-plugin/README.md +29 -0
  2. package/.claude-plugin/marketplace.json +52 -0
  3. package/.claude-plugin/plugin.json +40 -0
  4. package/.claude-plugin/settings.json +16 -0
  5. package/LICENSE +201 -0
  6. package/README.md +331 -0
  7. package/WORKFLOW.yaml +36 -0
  8. package/agents/orchestrator.md +393 -0
  9. package/commands/forge.md +55 -0
  10. package/commands/status.md +92 -0
  11. package/commands/wrap-up.md +85 -0
  12. package/config.json +17 -0
  13. package/contexts/init.md +64 -0
  14. package/contexts/review.md +89 -0
  15. package/contexts/sprint.md +90 -0
  16. package/dist/cli/adapters/codex.d.ts +3 -0
  17. package/dist/cli/adapters/codex.d.ts.map +1 -0
  18. package/dist/cli/adapters/codex.js +55 -0
  19. package/dist/cli/adapters/codex.js.map +1 -0
  20. package/dist/cli/adapters/command-skills.d.ts +5 -0
  21. package/dist/cli/adapters/command-skills.d.ts.map +1 -0
  22. package/dist/cli/adapters/command-skills.js +41 -0
  23. package/dist/cli/adapters/command-skills.js.map +1 -0
  24. package/dist/cli/adapters/opencode.d.ts +5 -0
  25. package/dist/cli/adapters/opencode.d.ts.map +1 -0
  26. package/dist/cli/adapters/opencode.js +41 -0
  27. package/dist/cli/adapters/opencode.js.map +1 -0
  28. package/dist/cli/adapters/registry-types.d.ts +13 -0
  29. package/dist/cli/adapters/registry-types.d.ts.map +1 -0
  30. package/dist/cli/adapters/registry-types.js +3 -0
  31. package/dist/cli/adapters/registry-types.js.map +1 -0
  32. package/dist/cli/adapters/registry.d.ts +7 -0
  33. package/dist/cli/adapters/registry.d.ts.map +1 -0
  34. package/dist/cli/adapters/registry.js +46 -0
  35. package/dist/cli/adapters/registry.js.map +1 -0
  36. package/dist/cli/app.d.ts +2 -0
  37. package/dist/cli/app.d.ts.map +1 -0
  38. package/dist/cli/app.js +46 -0
  39. package/dist/cli/app.js.map +1 -0
  40. package/dist/cli/commands/doctor.d.ts +2 -0
  41. package/dist/cli/commands/doctor.d.ts.map +1 -0
  42. package/dist/cli/commands/doctor.js +133 -0
  43. package/dist/cli/commands/doctor.js.map +1 -0
  44. package/dist/cli/commands/install.d.ts +4 -0
  45. package/dist/cli/commands/install.d.ts.map +1 -0
  46. package/dist/cli/commands/install.js +42 -0
  47. package/dist/cli/commands/install.js.map +1 -0
  48. package/dist/cli/commands/tui.d.ts +2 -0
  49. package/dist/cli/commands/tui.d.ts.map +1 -0
  50. package/dist/cli/commands/tui.js +35 -0
  51. package/dist/cli/commands/tui.js.map +1 -0
  52. package/dist/cli/commands/uninstall.d.ts +3 -0
  53. package/dist/cli/commands/uninstall.d.ts.map +1 -0
  54. package/dist/cli/commands/uninstall.js +33 -0
  55. package/dist/cli/commands/uninstall.js.map +1 -0
  56. package/dist/cli/constants.d.ts +23 -0
  57. package/dist/cli/constants.d.ts.map +1 -0
  58. package/dist/cli/constants.js +27 -0
  59. package/dist/cli/constants.js.map +1 -0
  60. package/dist/cli/fs.d.ts +12 -0
  61. package/dist/cli/fs.d.ts.map +1 -0
  62. package/dist/cli/fs.js +133 -0
  63. package/dist/cli/fs.js.map +1 -0
  64. package/dist/cli/help.d.ts +4 -0
  65. package/dist/cli/help.d.ts.map +1 -0
  66. package/dist/cli/help.js +28 -0
  67. package/dist/cli/help.js.map +1 -0
  68. package/dist/cli/install-plan.d.ts +3 -0
  69. package/dist/cli/install-plan.d.ts.map +1 -0
  70. package/dist/cli/install-plan.js +93 -0
  71. package/dist/cli/install-plan.js.map +1 -0
  72. package/dist/cli/options.d.ts +8 -0
  73. package/dist/cli/options.d.ts.map +1 -0
  74. package/dist/cli/options.js +99 -0
  75. package/dist/cli/options.js.map +1 -0
  76. package/dist/cli/state.d.ts +4 -0
  77. package/dist/cli/state.d.ts.map +1 -0
  78. package/dist/cli/state.js +13 -0
  79. package/dist/cli/state.js.map +1 -0
  80. package/dist/cli/types.d.ts +50 -0
  81. package/dist/cli/types.d.ts.map +1 -0
  82. package/dist/cli/types.js +3 -0
  83. package/dist/cli/types.js.map +1 -0
  84. package/dist/cli.d.ts +3 -0
  85. package/dist/cli.d.ts.map +1 -0
  86. package/dist/cli.js +10 -0
  87. package/dist/cli.js.map +1 -0
  88. package/dist/index.d.ts +10 -0
  89. package/dist/index.d.ts.map +1 -0
  90. package/dist/index.js +12 -0
  91. package/dist/index.js.map +1 -0
  92. package/docs/HOW-TO-USE-CODEX.md +82 -0
  93. package/docs/HOW-TO-USE-OPENCODE.md +93 -0
  94. package/docs/agent-adapters.md +152 -0
  95. package/docs/agents-reference.md +153 -0
  96. package/docs/architecture.md +159 -0
  97. package/docs/architecture.mmd +21 -0
  98. package/docs/cli.md +87 -0
  99. package/docs/commands-reference.md +138 -0
  100. package/docs/context-management.md +92 -0
  101. package/docs/getting-started.md +165 -0
  102. package/docs/harness-migration.md +95 -0
  103. package/docs/programmatic-usage.md +109 -0
  104. package/docs/rules-guide.md +216 -0
  105. package/package.json +78 -0
  106. package/rules/context-persistence.md +54 -0
  107. package/rules/estimation.md +56 -0
  108. package/rules/learning-rules.md +66 -0
  109. package/rules/quality-gates.md +65 -0
  110. package/rules/sprint-discipline.md +49 -0
  111. package/scripts/check-markdown-links.mjs +97 -0
  112. package/scripts/check-versions.mjs +46 -0
  113. package/scripts/make-cli-executable.mjs +12 -0
  114. package/settings.example.json +27 -0
  115. package/skills/qa-review/SKILL.md +660 -0
  116. package/skills/qa-review/manifest.json +41 -0
  117. package/skills/sprint-forge/SKILL.md +260 -0
  118. package/skills/sprint-forge/assets/README.md +31 -0
  119. package/skills/sprint-forge/assets/helpers/analysis-guide.md +207 -0
  120. package/skills/sprint-forge/assets/helpers/analyzer.md +83 -0
  121. package/skills/sprint-forge/assets/helpers/debt-tracker.md +122 -0
  122. package/skills/sprint-forge/assets/helpers/handoff.md +103 -0
  123. package/skills/sprint-forge/assets/helpers/learner.md +69 -0
  124. package/skills/sprint-forge/assets/helpers/metrics.md +81 -0
  125. package/skills/sprint-forge/assets/helpers/reentry-generator.md +121 -0
  126. package/skills/sprint-forge/assets/helpers/reviewer.md +71 -0
  127. package/skills/sprint-forge/assets/helpers/sprint-generator.md +145 -0
  128. package/skills/sprint-forge/assets/modes/INIT.md +204 -0
  129. package/skills/sprint-forge/assets/modes/SPRINT.md +253 -0
  130. package/skills/sprint-forge/assets/modes/STATUS.md +145 -0
  131. package/skills/sprint-forge/assets/templates/PROJECT-README.md +107 -0
  132. package/skills/sprint-forge/assets/templates/REENTRY-PROMPTS.md +132 -0
  133. package/skills/sprint-forge/assets/templates/ROADMAP.md +126 -0
  134. package/skills/sprint-forge/assets/templates/SPRINT.md +189 -0
  135. package/skills/sprint-forge/manifest.json +165 -0
  136. package/templates/split-claude-md/AGENTS.md +96 -0
  137. package/templates/split-claude-md/CLAUDE.md +67 -0
  138. package/templates/split-claude-md/COMMANDS.md +37 -0
  139. package/templates/split-claude-md/LEARNED.md +39 -0
  140. package/templates/split-claude-md/SOUL.md +107 -0
@@ -0,0 +1,122 @@
1
+ # Debt Tracker
2
+
3
+ This helper defines the rules for the Accumulated Technical Debt table that persists across sprints.
4
+
5
+ ---
6
+
7
+ ## Core Principle
8
+
9
+ > **Debt never disappears.** The debt table is a living ledger that grows as new debt is discovered and shrinks only when debt is explicitly resolved. It is never pruned, never reset, never "cleaned up."
10
+
11
+ ---
12
+
13
+ ## Table Format
14
+
15
+ The debt table appears in every sprint file, starting from Sprint 1:
16
+
17
+ | # | Item | Origin | Sprint Target | Status | Resolved In |
18
+ |---|------|--------|--------------|--------|-------------|
19
+ | 1 | Brief description of debt item | Where it was discovered | Sprint N | open | — |
20
+
21
+ ### Column Definitions
22
+
23
+ | Column | Description |
24
+ |--------|-------------|
25
+ | **#** | Sequential number. Never reused, even if the item is resolved. New items get the next available number. |
26
+ | **Item** | Brief, clear description of the debt. Specific enough to act on. |
27
+ | **Origin** | Where and when the debt was discovered. Format: `Sprint {N} Phase {X}`, `INIT finding {NN}`, or `Sprint {N} retro`. |
28
+ | **Sprint Target** | Which sprint is expected to resolve this item. Updated if deferred. |
29
+ | **Status** | Current state: `open`, `in-progress`, `resolved`, `deferred`. |
30
+ | **Resolved In** | Sprint number where the item was actually resolved. Empty (`—`) if not yet resolved. |
31
+
32
+ ---
33
+
34
+ ## Status Transitions
35
+
36
+ ```
37
+ open → in-progress → resolved
38
+
39
+ deferred → open → in-progress → resolved
40
+ ```
41
+
42
+ - **open**: Known but not yet being worked on
43
+ - **in-progress**: Actively being addressed in the current sprint
44
+ - **resolved**: Fixed and verified. Record the sprint number.
45
+ - **deferred**: Postponed to a later sprint. Requires justification.
46
+
47
+ ---
48
+
49
+ ## Inheritance Rules
50
+
51
+ 1. **Sprint 1**: The debt table starts with items discovered during INIT analysis (if any) or is empty.
52
+ 2. **Sprint N (N > 1)**: Copy the ENTIRE debt table from Sprint N-1. Do not omit resolved items — they remain as history.
53
+ 3. **Add new items**: Append at the bottom with the next available number.
54
+ 4. **Never delete rows**: Even resolved items stay in the table. The table is a complete history.
55
+ 5. **Preserve original numbers**: Item #3 is always Item #3, regardless of how many sprints pass.
56
+
57
+ ---
58
+
59
+ ## Adding New Debt
60
+
61
+ New debt can be discovered at any point:
62
+
63
+ - **During INIT analysis**: Origin = `INIT finding {NN}`
64
+ - **During sprint generation**: Origin = `Sprint {N} generation` (from recommendations or roadmap analysis)
65
+ - **During sprint execution**: Origin = `Sprint {N} Phase {X}` (specific phase where discovered)
66
+ - **During sprint retro**: Origin = `Sprint {N} retro`
67
+
68
+ When adding a new item:
69
+ 1. Use the next available number
70
+ 2. Set Status = `open`
71
+ 3. Set Sprint Target = best estimate of when it should be addressed
72
+ 4. Leave Resolved In empty (`—`)
73
+
74
+ ---
75
+
76
+ ## Closing Debt
77
+
78
+ When a debt item is resolved during a sprint:
79
+
80
+ 1. Change Status to `resolved`
81
+ 2. Fill Resolved In with the current sprint number
82
+ 3. Optionally add a brief note: `Sprint 3 (migrated to new API)`
83
+
84
+ ---
85
+
86
+ ## Deferring Debt
87
+
88
+ When a debt item cannot be addressed in its target sprint:
89
+
90
+ 1. Change Status to `deferred`
91
+ 2. Update Sprint Target to the new expected sprint
92
+ 3. Add justification — either inline or as a footnote:
93
+ - Inline: `deferred (blocked by external API release)`
94
+ - Footnote: `deferred [^1]` with `[^1]: Blocked by external API release, expected Sprint 5`
95
+
96
+ **Rule**: Deferral must be justified. "Not enough time" is acceptable only with specifics (e.g., "sprint scope expanded due to emergent phase, deferring to Sprint 4").
97
+
98
+ ---
99
+
100
+ ## Reporting
101
+
102
+ The STATUS mode uses the debt table for reporting:
103
+
104
+ - **Open count**: Items with status `open` or `in-progress`
105
+ - **Resolved count**: Items with status `resolved`
106
+ - **Deferred count**: Items with status `deferred`
107
+ - **Debt trend**: Is the open count growing or shrinking sprint over sprint?
108
+ - **Oldest open items**: Items that have been open the longest (potential chronic debt)
109
+
110
+ ---
111
+
112
+ ## Example
113
+
114
+ Sprint 3's debt table, showing history from sprints 1-3:
115
+
116
+ | # | Item | Origin | Sprint Target | Status | Resolved In |
117
+ |---|------|--------|--------------|--------|-------------|
118
+ | 1 | Missing unit tests for auth module | INIT finding 02 | Sprint 2 | resolved | Sprint 2 |
119
+ | 2 | Deprecated API calls in data layer | INIT finding 03 | Sprint 3 | in-progress | — |
120
+ | 3 | Inconsistent error handling in controllers | Sprint 1 Phase 2 | Sprint 3 | open | — |
121
+ | 4 | No input validation on user forms | Sprint 2 retro | Sprint 4 | deferred | — |
122
+ | 5 | Circular dependency between modules A and B | Sprint 3 Phase 1 | Sprint 4 | open | — |
@@ -0,0 +1,103 @@
1
+ # Sprint Handoff — Enriched Context Transfer
2
+
3
+ ## Purpose
4
+
5
+ Generates a handoff document that captures not just file state but **mental context** — the hypotheses, decisions, and reasoning that a new session needs to continue effectively.
6
+
7
+ ## Handoff Structure
8
+
9
+ ### 1. Sprint State
10
+
11
+ ```text
12
+ ## Sprint State
13
+ - Active sprint: Sprint 3 (in progress)
14
+ - Tasks completed: 5/8
15
+ - Current task: T2.3 — "Implement rate limiting middleware"
16
+ - Phase: 2 of 3
17
+ - Last checkpoint: Phase 2 complete
18
+ ```
19
+
20
+ ### 2. Mental Context
21
+
22
+ #### Active Hypotheses
23
+
24
+ Ideas being investigated but not yet confirmed:
25
+
26
+ ```text
27
+ ### Active Hypotheses
28
+ - "The performance issue in /api/users is likely an N+1 query at line 47 of userService.ts"
29
+ - "The auth module may have a race condition under concurrent login attempts"
30
+ - "The memory spike during CSV export correlates with unbounded stream buffering"
31
+ ```
32
+
33
+ #### Pending Decisions
34
+
35
+ Choices that need to be made before proceeding:
36
+
37
+ ```text
38
+ ### Pending Decisions
39
+ - Redis vs in-memory cache backend (waiting for load test results)
40
+ - Migrate to new payments API now or defer to Sprint 5 (cost-benefit unclear)
41
+ - Monorepo restructure: packages/ or apps/ pattern?
42
+ ```
43
+
44
+ #### Identified Blockers
45
+
46
+ Things that are preventing progress:
47
+
48
+ ```text
49
+ ### Identified Blockers
50
+ - Infra team hasn't provisioned staging environment (ETA unknown)
51
+ - Payments API documentation is outdated (v2 docs reference v1 endpoints)
52
+ - CI pipeline intermittent failures (flaky test in auth.spec.ts:142)
53
+ ```
54
+
55
+ ### 3. Recommended Next Action
56
+
57
+ The single most important thing to do when resuming:
58
+
59
+ ```text
60
+ ### Next Action
61
+ 1. Check if infra provisioned staging (ask in #infra channel)
62
+ 2. If yes → run integration test suite against staging
63
+ 3. If no → continue with non-blocked tasks: T3.1 (UI polish), T3.2 (error messages)
64
+ ```
65
+
66
+ ### 4. Corrections & Rules This Session
67
+
68
+ ```text
69
+ ### Corrections Applied
70
+ - User corrected: "Always use parameterized queries, never string concatenation"
71
+ → Saved as RULE-012
72
+
73
+ ### Rules Triggered
74
+ - RULE-005: Added 20% buffer to DB migration estimate (Sprint 3, T1.2)
75
+ ```
76
+
77
+ ### 5. Files Context
78
+
79
+ ```text
80
+ ### Key Files
81
+ - src/middleware/rate-limit.ts — work in progress, half-implemented
82
+ - src/services/userService.ts:47 — suspected N+1 query
83
+ - tests/auth.spec.ts:142 — flaky test causing CI failures
84
+ ```
85
+
86
+ ## Generation
87
+
88
+ When generating a handoff:
89
+ 1. Read current sprint file for task state
90
+ 2. Review conversation for hypotheses and decisions
91
+ 3. Check git status for uncommitted work
92
+ 4. Check rules applied/proposed this session
93
+ 5. Write to `{output_kyro_dir}/handoffs/[date]-sprint-[N].md`
94
+ 6. Update re-entry prompts with handoff reference
95
+
96
+ ## Difference from Re-entry Prompts
97
+
98
+ | Aspect | Re-entry Prompts | Handoff |
99
+ |--------|-----------------|---------|
100
+ | Focus | File paths and sprint state | Mental context and reasoning |
101
+ | When | After INIT and each sprint | Any time during execution |
102
+ | For whom | Any agent, any session | Specifically the next session |
103
+ | Content | What to read | What to think about |
@@ -0,0 +1,69 @@
1
+ # Kyro Learner — Per-Project Rule Accumulation
2
+
3
+ ## Purpose
4
+
5
+ Captures corrections, patterns, and estimation insights as persistent rules stored in `.agents/kyro/scopes/rules.md`. These rules are project-scoped and accumulated across sprints.
6
+
7
+ ## Rule Format
8
+
9
+ ```markdown
10
+ # Kyro — Learned Rules
11
+
12
+ ## Estimation
13
+ - [RULE-001] DB migration tasks: add 20% buffer to estimates (2026-02-20, project: nebux-api)
14
+ - [RULE-002] Auth tasks frequently reveal hidden dependencies (2026-02-22, project: nebux-api)
15
+
16
+ ## Quality
17
+ - [RULE-003] Always validate version compatibility before adding dependencies (2026-02-25, project: synap-sync)
18
+
19
+ ## Architecture
20
+ - [RULE-004] Extract shared validation logic before 3rd duplication (2026-03-01, project: skills-registry)
21
+
22
+ ## Testing
23
+ - [RULE-005] E2E tests for auth flows catch integration issues that unit tests miss (2026-03-03, project: nebux-api)
24
+
25
+ ## Process
26
+ - [RULE-006] Run full quality gates before closing sprint, not just per-task (2026-03-05, project: synap-sync)
27
+ ```
28
+
29
+ ## Capture Flow
30
+
31
+ When the user corrects the agent or a pattern is identified:
32
+
33
+ 1. Detect the correction or pattern
34
+ 2. Propose the rule in standard format:
35
+
36
+ ```text
37
+ Detected a pattern worth remembering:
38
+
39
+ [RULE-XXX] Category: One-line rule
40
+ Context: Why this rule exists
41
+ Source: Sprint N, Project: project-name
42
+
43
+ Save this rule? (yes/no/edit)
44
+ ```
45
+
46
+ 3. On approval, append to `.agents/kyro/scopes/rules.md`
47
+ 4. Log in the sprint's LEARNED section
48
+
49
+ ## Rule Application
50
+
51
+ At the start of every session:
52
+ 1. Load `.agents/kyro/scopes/rules.md`
53
+ 2. Before generating sprint estimates, check estimation rules
54
+ 3. Before architecture decisions, check architecture rules
55
+ 4. If about to violate a rule, pause and show it (RuleViolation event)
56
+
57
+ ## Rule Lifecycle
58
+
59
+ - **Active** — Applied automatically in relevant contexts
60
+ - **Deprecated** — User marks as no longer relevant (kept for history)
61
+ - **Evolved** — Updated rule replaces a previous version (link to original)
62
+
63
+ ## Rules About Rules
64
+
65
+ - Never add duplicate rules. Check existing rules before proposing.
66
+ - Rules must be specific and actionable, not vague platitudes.
67
+ - Include the date and project where the rule was learned.
68
+ - Rules from corrections have higher confidence than proactive suggestions.
69
+ - Maximum 50 active rules. After that, consolidate or deprecate.
@@ -0,0 +1,81 @@
1
+ # Kyro Metrics — Velocity & Debt Analytics
2
+
3
+ ## Purpose
4
+
5
+ Provides quantitative analysis of sprint execution history to identify patterns, improve estimation accuracy, and visualize technical debt distribution.
6
+
7
+ ## Metrics
8
+
9
+ ### Velocity Trend
10
+
11
+ Track completion rate per sprint:
12
+
13
+ ```text
14
+ ## Velocity Trend
15
+ Sprint 1: ████████░░ 8/10 tasks (80%)
16
+ Sprint 2: ██████████ 10/10 tasks (100%)
17
+ Sprint 3: ███████░░░ 7/10 tasks (70%) ← underperformance: DB tasks x2
18
+ Sprint 4: █████████░ 9/10 tasks (90%)
19
+
20
+ Average velocity: 85%
21
+ Trend: stable (±10%)
22
+ ```
23
+
24
+ ### Debt Heatmap
25
+
26
+ Show debt concentration by directory/module:
27
+
28
+ ```text
29
+ ## Debt Heatmap
30
+ src/auth/ ████████ 4 items (2 critical, aged: 3 sprints)
31
+ src/db/ █████░░░ 3 items (1 critical)
32
+ src/api/ ██░░░░░░ 1 item
33
+ src/ui/ ░░░░░░░░ 0 items
34
+
35
+ Total: 8 items (3 critical, 2 aged >3 sprints)
36
+ ```
37
+
38
+ ### Underestimation Patterns
39
+
40
+ Identify task types that are consistently underestimated:
41
+
42
+ ```text
43
+ ## Underestimation Patterns
44
+ - DB/migration tasks: underestimated by ~40% (3 occurrences)
45
+ - Auth tasks: reveal hidden dependencies in 67% of cases
46
+ - UI tasks: generally accurate (±10%)
47
+ - API tasks: underestimated by ~15% when involving auth
48
+ ```
49
+
50
+ ### Sprint Health Score
51
+
52
+ Composite score based on:
53
+ - Velocity (weight: 30%)
54
+ - Debt trend — increasing or decreasing (weight: 25%)
55
+ - Carry-over count (weight: 20%)
56
+ - Estimation accuracy (weight: 25%)
57
+
58
+ ```text
59
+ ## Sprint Health
60
+ Score: 72/100 (Good)
61
+ Velocity: ████████░░ 85% (25.5/30)
62
+ Debt trend: ██████░░░░ ↗ increasing (15/25)
63
+ Carry-over: ████████░░ 2 tasks (16/20)
64
+ Estimation: ██████░░░░ ±25% avg error (15.5/25)
65
+ ```
66
+
67
+ ## Data Sources
68
+
69
+ - Sprint files: task counts, completion status, retro data
70
+ - Debt tables: accumulated across all sprints
71
+ - Roadmap: planned vs actual sprint scope
72
+ - Rules file: estimation adjustment rules
73
+
74
+ ## Calculation
75
+
76
+ Read all sprint files in `{output_kyro_dir}/phases/` and compute:
77
+
78
+ 1. Count tasks per sprint (total, completed, blocked, skipped, carry-over)
79
+ 2. Map debt items to source directories
80
+ 3. Track item age (sprint introduced vs current sprint)
81
+ 4. Compare planned phases vs actual phases (including emergent)
@@ -0,0 +1,121 @@
1
+ # Re-entry Generator
2
+
3
+ This helper defines how to generate and update re-entry prompts that allow context recovery across sessions.
4
+
5
+ ---
6
+
7
+ ## What Are Re-entry Prompts
8
+
9
+ Re-entry prompts are pre-written instructions that a new agent (or the same agent in a new session) can use to recover full project context. They specify:
10
+
11
+ - Which files to read and in what order
12
+ - What the current state of the project is
13
+ - What action to take next
14
+
15
+ They are the **context persistence mechanism** of Kyro.
16
+
17
+ ---
18
+
19
+ ## 4 Scenarios
20
+
21
+ Each re-entry prompt covers a specific scenario:
22
+
23
+ | # | Scenario | When to Use | Key Context Needed |
24
+ |---|----------|-------------|-------------------|
25
+ | 1 | First Sprint | After INIT, before any sprint | README, ROADMAP, findings |
26
+ | 2 | Sprint N (next) | After completing Sprint N-1 | README, ROADMAP, last sprint (retro + recommendations + debt), next finding |
27
+ | 3 | Execute Sprint | Sprint generated but not executed | README, ROADMAP, current sprint file |
28
+ | 4 | Status | Any time, for progress report | README, ROADMAP, all sprint files |
29
+
30
+ ---
31
+
32
+ ## Prompt Structure
33
+
34
+ Each prompt must include:
35
+
36
+ 1. **Project identifier**: Name and brief description
37
+ 2. **Files to read**: Ordered list of files with absolute paths
38
+ 3. **Current state**: What sprint is current, what's been done
39
+ 4. **Action**: What the agent should do (invoke `/kyro:forge` with specific intent)
40
+ 5. **Key notes**: Any important context (e.g., "Sprint 3 had a blocked task")
41
+
42
+ ---
43
+
44
+ ## Template Variables
45
+
46
+ The following variables are filled with actual values during INIT and updated after each sprint:
47
+
48
+ | Variable | Description | Example |
49
+ |----------|-------------|---------|
50
+ | `{scope}` | Work scope (kebab-case topic) | `nebux-design-system-audit` |
51
+ | `{codebase_path}` | Absolute path to the codebase | `/Users/dev/projects/nebux` |
52
+ | `{output_kyro_dir}` | Working directory for sprint artifacts | `/Users/dev/projects/nebux/.agents/kyro/scopes/nebux-design-system-audit` |
53
+ | `{current_sprint}` | Current sprint number | `3` |
54
+ | `{last_sprint_file}` | Filename of the last completed sprint | `SPRINT-2-api-surface.md` |
55
+ | `{next_finding_file}` | Finding file for the next sprint | `03-component-quality.md` |
56
+ | `{latest_sprint_file}` | Filename of the latest sprint (may be in-progress) | `SPRINT-3-component-quality.md` |
57
+
58
+ ---
59
+
60
+ ## When to Generate
61
+
62
+ ### After INIT
63
+
64
+ Generate ALL 4 prompts with:
65
+ - Actual project paths (codebase, output dir)
66
+ - Sprint 1 as the current/next sprint
67
+ - Finding file 01 as the first finding
68
+ - Write to `{output_kyro_dir}/RE-ENTRY-PROMPTS.md`
69
+
70
+ ### After Each Sprint Execution
71
+
72
+ Update prompts 2, 3, and 4:
73
+ - Increment current sprint number
74
+ - Update last sprint file reference
75
+ - Update next finding file reference
76
+ - Update any paths that may have changed
77
+ - Update Quick Reference table with new sprint status
78
+
79
+ Prompt 1 (First Sprint) can be left as-is or marked as "N/A — Sprint 1 already completed."
80
+
81
+ ---
82
+
83
+ ## Generation Process
84
+
85
+ 1. Read the `REENTRY-PROMPTS.md` template from `assets/templates/`
86
+ 2. Fill in all template variables with actual values
87
+ 3. Write to `{output_kyro_dir}/RE-ENTRY-PROMPTS.md`
88
+
89
+ For updates (after sprint execution):
90
+ 1. Read the existing `RE-ENTRY-PROMPTS.md`
91
+ 2. Update the relevant sections with new values
92
+ 3. Update the Quick Reference table
93
+ 4. Update the "Last updated" date
94
+ 5. Write back
95
+
96
+ ---
97
+
98
+ ## Quick Reference Table
99
+
100
+ The re-entry prompts file includes a quick reference table that maps sprints to files:
101
+
102
+ | Sprint | File | Status |
103
+ |--------|------|--------|
104
+ | 1 | `phases/SPRINT-1-architecture.md` | completed |
105
+ | 2 | `phases/SPRINT-2-api-surface.md` | completed |
106
+ | 3 | `phases/SPRINT-3-components.md` | in-progress |
107
+ | 4 | (not yet generated) | pending |
108
+
109
+ This table is updated after each sprint execution.
110
+
111
+ ---
112
+
113
+ ## Validation
114
+
115
+ After generating or updating re-entry prompts, verify:
116
+
117
+ - [ ] All file paths are absolute and correct
118
+ - [ ] Current sprint number matches reality
119
+ - [ ] Last sprint file exists at the specified path
120
+ - [ ] Quick Reference table matches actual sprint files
121
+ - [ ] Each scenario prompt has complete file read instructions
@@ -0,0 +1,71 @@
1
+ # Kyro Reviewer — Task Quality Validation
2
+
3
+ ## Purpose
4
+
5
+ Provides a structured quality checklist that runs after each sprint task completes. Tasks cannot be marked as done until all BLOCKER items pass.
6
+
7
+ ## Checklist Tiers
8
+
9
+ ### BLOCKER (must pass — blocks task closure)
10
+
11
+ 1. **Tests pass** — all related tests run successfully
12
+ 2. **Type safety** — no typecheck errors introduced
13
+ 3. **No debug artifacts** — no console.log, debugger, print statements in production code
14
+ 4. **No secrets** — no hardcoded API keys, passwords, tokens, or credentials
15
+ 5. **No broken imports** — all imports resolve correctly
16
+
17
+ ### WARNING (should pass — requires justification to skip)
18
+
19
+ 1. **Test coverage** — new code has test coverage
20
+ 2. **Documentation** — non-obvious logic has inline comments
21
+ 3. **Debt tracking** — technical debt table updated if new debt introduced
22
+ 4. **Performance** — no visible performance regressions (O(n^2) loops, unbounded queries)
23
+
24
+ ### SUGGESTION (noted for retro — doesn't block)
25
+
26
+ 1. **Conventions** — code follows project patterns and naming conventions
27
+ 2. **Refactoring opportunities** — visible DRY violations or simplification opportunities
28
+ 3. **Documentation updates** — related docs should be updated
29
+
30
+ ## Validation Commands
31
+
32
+ The orchestrator uses these commands during the review step to validate (adapt to project stack):
33
+
34
+ ```bash
35
+ # Typecheck
36
+ npm run typecheck
37
+ # or: mypy, go vet
38
+
39
+ # Build
40
+ npm run build
41
+
42
+ # Tests and lint
43
+ # Run the target project's configured test/lint commands when they exist.
44
+ # Examples: pytest, go test, dart test, flutter test, ruff, golangci-lint
45
+
46
+ # Debug artifacts
47
+ grep -rn "console\.log\|debugger\|print(" src/ --include="*.ts" --include="*.tsx"
48
+
49
+ # Secrets
50
+ grep -rn "apikey\|api_key\|secret\|password\|token" src/ --include="*.ts" -i
51
+ ```
52
+
53
+ ## Output Format
54
+
55
+ ```text
56
+ REVIEW: Task T{phase}.{task} — "{task title}"
57
+
58
+ BLOCKERS: [0 found / N found]
59
+ ✓ Tests passing
60
+ ✓ Type safety
61
+ ✗ Debug artifact: console.log at src/auth/login.ts:42
62
+
63
+ WARNINGS: [0 found / N found]
64
+ ✓ Test coverage
65
+ ⚠ Missing documentation for validateToken()
66
+
67
+ SUGGESTIONS: [0 found / N found]
68
+ → Consider extracting email validation to shared util
69
+
70
+ VERDICT: PASS / FAIL (N blockers) / PASS WITH WARNINGS (N)
71
+ ```