@rune-kit/rune 2.8.0 → 2.10.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 +66 -34
- package/agents/adversary.md +27 -0
- package/agents/architect.md +19 -29
- package/agents/asset-creator.md +18 -4
- package/agents/audit.md +25 -4
- package/agents/autopsy.md +19 -4
- package/agents/ba.md +35 -0
- package/agents/brainstorm.md +31 -4
- package/agents/browser-pilot.md +21 -4
- package/agents/coder.md +21 -29
- package/agents/completion-gate.md +20 -4
- package/agents/constraint-check.md +18 -4
- package/agents/context-engine.md +22 -4
- package/agents/context-pack.md +32 -0
- package/agents/cook.md +41 -4
- package/agents/db.md +19 -4
- package/agents/debug.md +33 -4
- package/agents/dependency-doctor.md +20 -4
- package/agents/deploy.md +27 -4
- package/agents/design.md +22 -4
- package/agents/doc-processor.md +27 -0
- package/agents/docs-seeker.md +19 -4
- package/agents/docs.md +31 -0
- package/agents/fix.md +37 -4
- package/agents/git.md +29 -0
- package/agents/hallucination-guard.md +20 -4
- package/agents/incident.md +21 -4
- package/agents/integrity-check.md +18 -4
- package/agents/journal.md +19 -4
- package/agents/launch.md +32 -4
- package/agents/logic-guardian.md +26 -11
- package/agents/marketing.md +23 -4
- package/agents/mcp-builder.md +26 -0
- package/agents/neural-memory.md +30 -0
- package/agents/onboard.md +22 -4
- package/agents/perf.md +21 -4
- package/agents/plan.md +29 -4
- package/agents/preflight.md +22 -4
- package/agents/problem-solver.md +20 -4
- package/agents/rescue.md +23 -4
- package/agents/research.md +19 -4
- package/agents/researcher.md +19 -29
- package/agents/retro.md +32 -0
- package/agents/review-intake.md +20 -4
- package/agents/review.md +32 -4
- package/agents/reviewer.md +20 -28
- package/agents/safeguard.md +19 -4
- package/agents/sast.md +18 -4
- package/agents/scaffold.md +41 -0
- package/agents/scanner.md +19 -28
- package/agents/scope-guard.md +18 -4
- package/agents/scout.md +23 -4
- package/agents/sentinel-env.md +26 -0
- package/agents/sentinel.md +33 -4
- package/agents/sequential-thinking.md +20 -4
- package/agents/session-bridge.md +24 -4
- package/agents/skill-forge.md +22 -4
- package/agents/skill-router.md +26 -4
- package/agents/slides.md +24 -0
- package/agents/surgeon.md +19 -4
- package/agents/team.md +30 -4
- package/agents/test.md +36 -4
- package/agents/trend-scout.md +17 -4
- package/agents/verification.md +20 -4
- package/agents/video-creator.md +20 -4
- package/agents/watchdog.md +19 -4
- package/agents/worktree.md +17 -4
- package/compiler/__tests__/analytics.test.js +370 -0
- package/compiler/adapters/openclaw.js +2 -2
- package/compiler/analytics.js +385 -0
- package/compiler/bin/rune.js +68 -2
- package/compiler/dashboard.js +883 -0
- package/compiler/transforms/branding.js +1 -1
- package/extensions/ui/skills/animation-patterns.md +21 -0
- package/extensions/ui/skills/component-patterns.md +25 -0
- package/extensions/ui/skills/landing-patterns.md +1 -1
- package/hooks/context-watch/index.cjs +95 -68
- package/hooks/metrics-collector/index.cjs +86 -42
- package/hooks/post-session-reflect/index.cjs +41 -5
- package/hooks/session-start/index.cjs +8 -2
- package/package.json +2 -2
- package/skills/audit/SKILL.md +1 -0
- package/skills/autopsy/SKILL.md +78 -2
- package/skills/autopsy/references/repo-analysis-patterns.md +113 -0
- package/skills/ba/SKILL.md +72 -2
- package/skills/brainstorm/SKILL.md +1 -0
- package/skills/cook/SKILL.md +32 -3
- package/skills/cook/references/output-format.md +33 -0
- package/skills/db/SKILL.md +1 -0
- package/skills/debug/SKILL.md +23 -1
- package/skills/deploy/SKILL.md +1 -1
- package/skills/design/SKILL.md +110 -3
- package/skills/docs/SKILL.md +2 -1
- package/skills/fix/SKILL.md +23 -1
- package/skills/graft/SKILL.md +352 -0
- package/skills/graft/references/challenge-framework.md +98 -0
- package/skills/graft/references/mode-decision.md +44 -0
- package/skills/incident/SKILL.md +2 -0
- package/skills/journal/SKILL.md +2 -0
- package/skills/launch/SKILL.md +2 -0
- package/skills/marketing/SKILL.md +46 -2
- package/skills/mcp-builder/SKILL.md +3 -1
- package/skills/mcp-builder/references/auto-discovery-pattern.md +169 -0
- package/skills/plan/SKILL.md +60 -2
- package/skills/plan/references/feature-map.md +84 -0
- package/skills/preflight/SKILL.md +20 -1
- package/skills/rescue/SKILL.md +25 -1
- package/skills/retro/SKILL.md +2 -0
- package/skills/review/SKILL.md +55 -2
- package/skills/scaffold/SKILL.md +1 -0
- package/skills/scope-guard/SKILL.md +35 -17
- package/skills/sentinel/SKILL.md +29 -1
- package/skills/session-bridge/SKILL.md +155 -9
- package/skills/skill-forge/SKILL.md +43 -1
- package/skills/skill-router/{skill.md → SKILL.md} +27 -2
- package/skills/team/SKILL.md +24 -1
- package/skills/test/SKILL.md +29 -2
- package/skills/verification/SKILL.md +1 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# Repo Analysis Patterns
|
|
2
|
+
|
|
3
|
+
Reference for autopsy Step 0 (repo intelligence) and cross-cutting analysis.
|
|
4
|
+
|
|
5
|
+
## GitHub API Metrics Interpretation
|
|
6
|
+
|
|
7
|
+
| Metric | Healthy | Warning | Critical |
|
|
8
|
+
|--------|---------|---------|----------|
|
|
9
|
+
| Commits/week (avg last 12w) | > 5 | 1-5 | < 1 |
|
|
10
|
+
| Contributors (all-time) | > 5 | 2-4 | 1 (bus factor) |
|
|
11
|
+
| Open issues / total issues | < 30% | 30-60% | > 60% |
|
|
12
|
+
| Days since last push | < 14 | 14-90 | > 90 |
|
|
13
|
+
| Stars/fork ratio | > 5:1 | 2-5:1 | < 2:1 (fork-heavy = fragmentation) |
|
|
14
|
+
|
|
15
|
+
## Bus Factor Assessment
|
|
16
|
+
|
|
17
|
+
Bus factor = number of contributors who authored > 10% of recent commits (last 6 months).
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# Bus factor calculation
|
|
21
|
+
git shortlog -sn --since="6 months ago" | awk '{total+=$1; print}' | \
|
|
22
|
+
awk -v t=$(git shortlog -sn --since="6 months ago" | awk '{s+=$1}END{print s}') \
|
|
23
|
+
'{pct=$1/t*100; if(pct>10) count++} END{print "Bus factor:", count}'
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
| Bus Factor | Risk | Action |
|
|
27
|
+
|-----------|------|--------|
|
|
28
|
+
| 1 | Critical | Flag in report — single point of failure |
|
|
29
|
+
| 2-3 | Moderate | Note in report — knowledge concentration |
|
|
30
|
+
| 4+ | Low | Healthy distribution |
|
|
31
|
+
|
|
32
|
+
## Hotspot-Complexity Correlation
|
|
33
|
+
|
|
34
|
+
Files that are BOTH hotspots (high change frequency) AND high complexity are the highest-priority rescue targets. Plot on a 2x2 matrix:
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
High Complexity
|
|
38
|
+
|
|
|
39
|
+
Refactor NOW | Monitor
|
|
40
|
+
(hot + complex) | (cold + complex)
|
|
41
|
+
-------------------+-------------------
|
|
42
|
+
Leave alone | Review
|
|
43
|
+
(hot + simple) | (cold + simple)
|
|
44
|
+
|
|
|
45
|
+
Low Complexity
|
|
46
|
+
High Churn ←————→ Low Churn
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Priority order: hot+complex > cold+complex > hot+simple > cold+simple.
|
|
50
|
+
|
|
51
|
+
## Dependency Health Signals
|
|
52
|
+
|
|
53
|
+
### Outdated packages
|
|
54
|
+
```bash
|
|
55
|
+
# Node.js
|
|
56
|
+
npx npm-check-updates --format group 2>/dev/null | head -40
|
|
57
|
+
|
|
58
|
+
# Python
|
|
59
|
+
pip list --outdated --format columns 2>/dev/null | head -20
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Known vulnerabilities
|
|
63
|
+
```bash
|
|
64
|
+
# Node.js
|
|
65
|
+
npm audit --json 2>/dev/null | jq '.metadata.vulnerabilities'
|
|
66
|
+
|
|
67
|
+
# Python
|
|
68
|
+
pip-audit --format json 2>/dev/null | jq '.dependencies | length'
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Circular dependency detection
|
|
72
|
+
```bash
|
|
73
|
+
# Node.js (madge)
|
|
74
|
+
npx madge --circular --extensions ts,js src/ 2>/dev/null
|
|
75
|
+
|
|
76
|
+
# Python (pydeps)
|
|
77
|
+
pydeps --no-output --show-cycles . 2>/dev/null
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Dead Code Heuristics
|
|
81
|
+
|
|
82
|
+
A file is likely dead code if ALL of these are true:
|
|
83
|
+
1. No other file imports it (check with grep/madge)
|
|
84
|
+
2. Not referenced in any config (webpack entry, tsconfig paths, package.json bin/main)
|
|
85
|
+
3. Last modified > 6 months ago
|
|
86
|
+
4. Not a test file, fixture, or migration
|
|
87
|
+
|
|
88
|
+
False positive checklist (do NOT flag these as dead):
|
|
89
|
+
- Dynamic imports (`import()`, `require(variable)`)
|
|
90
|
+
- Plugin/middleware loaded by config (e.g., babel plugins, ESLint rules)
|
|
91
|
+
- CLI entry points referenced in package.json `bin`
|
|
92
|
+
- Database migrations (executed by ORM, not imported)
|
|
93
|
+
- Template files loaded by path string
|
|
94
|
+
|
|
95
|
+
## Velocity Trend Analysis
|
|
96
|
+
|
|
97
|
+
Compare commit counts across 3-month windows to detect trajectory:
|
|
98
|
+
|
|
99
|
+
| Pattern | Signal | Interpretation |
|
|
100
|
+
|---------|--------|---------------|
|
|
101
|
+
| M1 > M2 > M3 | Decelerating | Project may be winding down or blocked |
|
|
102
|
+
| M1 < M2 < M3 | Accelerating | Active development, check for quality regression |
|
|
103
|
+
| M1 ~ M2 ~ M3 | Stable | Healthy maintenance pace |
|
|
104
|
+
| Spiky (high variance) | Irregular | Deadline-driven development — check quality around spikes |
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
# Monthly commit counts for last 6 months
|
|
108
|
+
for i in 0 1 2 3 4 5; do
|
|
109
|
+
month=$(date -d "$i months ago" +%Y-%m 2>/dev/null || date -v-${i}m +%Y-%m)
|
|
110
|
+
count=$(git log --after="$month-01" --before="$month-31" --oneline 2>/dev/null | wc -l)
|
|
111
|
+
echo "$month: $count commits"
|
|
112
|
+
done
|
|
113
|
+
```
|
package/skills/ba/SKILL.md
CHANGED
|
@@ -3,7 +3,7 @@ name: ba
|
|
|
3
3
|
description: Business Analyst agent. Deeply understands user requirements before any planning or coding begins. Asks probing questions, identifies hidden requirements, maps stakeholders, defines scope boundaries, and produces a structured Requirements Document that plan and cook consume.
|
|
4
4
|
metadata:
|
|
5
5
|
author: runedev
|
|
6
|
-
version: "0.
|
|
6
|
+
version: "0.5.0"
|
|
7
7
|
layer: L2
|
|
8
8
|
model: opus
|
|
9
9
|
group: creation
|
|
@@ -34,6 +34,7 @@ Output is a Requirements Document → hand off to rune:plan for implementation p
|
|
|
34
34
|
- `research` (L3): look up similar products, APIs, integrations
|
|
35
35
|
- `plan` (L2): hand off Requirements Document for implementation planning
|
|
36
36
|
- `brainstorm` (L2): when multiple approaches exist for a requirement
|
|
37
|
+
- `design` (L2): when requirements include UI/UX components — hand off visual requirements
|
|
37
38
|
|
|
38
39
|
## Called By (inbound)
|
|
39
40
|
|
|
@@ -64,7 +65,7 @@ Read the user's request. Classify the requirement type:
|
|
|
64
65
|
| Greenfield | "new project", "build from scratch" | Full BA + market context |
|
|
65
66
|
|
|
66
67
|
If Bug Fix → skip BA, route to cook/debug directly.
|
|
67
|
-
If Refactor → light version (Step 1 + Step 4 only).
|
|
68
|
+
If Refactor → light version (Step 1 + Step 4 only). Skip Steps 2, 2.5, 3, 5, 6.
|
|
68
69
|
|
|
69
70
|
If existing codebase → invoke `rune:scout` for context before proceeding.
|
|
70
71
|
|
|
@@ -110,6 +111,72 @@ O: 30% faster incident detection (measurable KPI)
|
|
|
110
111
|
- Product/UX feature → Jobs-to-be-Done (keeps focus on user motivation)
|
|
111
112
|
- Integration → 5 Questions only (frameworks add noise for plumbing tasks)
|
|
112
113
|
|
|
114
|
+
### Step 2.5 — Ambiguity Scoring (Execution Gate)
|
|
115
|
+
|
|
116
|
+
After each question round, compute an **Ambiguity Score** to determine if requirements are clear enough to proceed. This prevents premature handoff to `plan` with vague inputs.
|
|
117
|
+
|
|
118
|
+
#### Scoring Formula
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
Ambiguity = 1 - weighted_average(dimensions)
|
|
122
|
+
|
|
123
|
+
Dimensions (weights vary by requirement type):
|
|
124
|
+
Greenfield: Goal (40%) + Constraints (30%) + Success Criteria (30%)
|
|
125
|
+
Feature: Goal (30%) + Constraints (30%) + Success Criteria (20%) + Integration (20%)
|
|
126
|
+
Integration: Goal (20%) + Constraints (25%) + Success Criteria (20%) + API Contract (35%)
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
#### Dimension Scoring (0.0 – 1.0)
|
|
130
|
+
|
|
131
|
+
| Dimension | 0.0 (Unknown) | 0.5 (Partial) | 1.0 (Clear) |
|
|
132
|
+
|-----------|---------------|----------------|--------------|
|
|
133
|
+
| **Goal** | "Make it better" | "Improve dashboard performance" | "Dashboard loads in <2s with 10k rows" |
|
|
134
|
+
| **Constraints** | No constraints mentioned | "Use existing DB" | "PostgreSQL 15, no new deps, GDPR compliant" |
|
|
135
|
+
| **Success Criteria** | "It should work" | "Users can see their data" | "AC-1.1: GIVEN 10k rows WHEN page loads THEN render <2s" |
|
|
136
|
+
| **Integration** | "Connect to the API" | "Use REST, need auth" | "POST /api/v2/orders, OAuth2, rate limit 100/min" |
|
|
137
|
+
| **API Contract** | "It sends data somewhere" | "JSON payload to endpoint" | "OpenAPI spec provided, request/response schemas defined" |
|
|
138
|
+
|
|
139
|
+
#### Threshold Gate
|
|
140
|
+
|
|
141
|
+
| Ambiguity | Level | Action |
|
|
142
|
+
|-----------|-------|--------|
|
|
143
|
+
| **< 15%** | Crystal Clear | Proceed to Step 3 immediately |
|
|
144
|
+
| **15-25%** | Acceptable | Proceed with noted assumptions — flag gaps in Requirements Doc |
|
|
145
|
+
| **25-40%** | Unclear | Ask 1-2 targeted follow-up questions on weakest dimension |
|
|
146
|
+
| **> 40%** | Blocked | Do NOT proceed. Re-ask the weakest dimension question with examples |
|
|
147
|
+
|
|
148
|
+
<HARD-GATE>
|
|
149
|
+
NEVER hand off to plan with Ambiguity > 40%.
|
|
150
|
+
If user insists "just build it" at > 40%, respond:
|
|
151
|
+
"Ambiguity is [X]% — the weakest area is [dimension]. One more answer cuts this in half: [targeted question]"
|
|
152
|
+
</HARD-GATE>
|
|
153
|
+
|
|
154
|
+
#### Scoring After Each Question
|
|
155
|
+
|
|
156
|
+
After each of the 5 Questions (Step 2), update the score:
|
|
157
|
+
|
|
158
|
+
```
|
|
159
|
+
Round 1 (WHO): Goal ≈ 0.3, others = 0.0 → Ambiguity ≈ 91%
|
|
160
|
+
Round 2 (WHAT): Goal ≈ 0.7, Success ≈ 0.3 → Ambiguity ≈ 72%
|
|
161
|
+
Round 3 (WHY): Goal ≈ 0.9, Success ≈ 0.5 → Ambiguity ≈ 47%
|
|
162
|
+
Round 4 (BOUNDS): Constraints ≈ 0.6 → Ambiguity ≈ 30%
|
|
163
|
+
Round 5 (CONSTR): Constraints ≈ 0.9 → Ambiguity ≈ 12% ✅
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
If Ambiguity drops below 15% before all 5 questions are asked (e.g., user provides a detailed PRD), skip remaining questions and proceed. The gate is about clarity, not ceremony.
|
|
167
|
+
|
|
168
|
+
#### Display Format
|
|
169
|
+
|
|
170
|
+
After completing Step 2, show the user:
|
|
171
|
+
|
|
172
|
+
```
|
|
173
|
+
Clarity Score: [100 - ambiguity]%
|
|
174
|
+
Goal: [██████████] 0.9
|
|
175
|
+
Constraints: [████████░░] 0.8
|
|
176
|
+
Success Criteria: [██████░░░░] 0.6 ← weakest
|
|
177
|
+
Status: ACCEPTABLE (ambiguity 23%) — proceeding with noted gaps
|
|
178
|
+
```
|
|
179
|
+
|
|
113
180
|
### Step 3 — Hidden Requirement Discovery
|
|
114
181
|
|
|
115
182
|
After the 5 questions, analyze for requirements the user DIDN'T mention:
|
|
@@ -332,11 +399,14 @@ Known failure modes for this skill. Check these before declaring done.
|
|
|
332
399
|
| Requirements doc too verbose (>500 lines) | MEDIUM | Max 200 lines — concise, actionable, testable |
|
|
333
400
|
| Skipping BA for "simple" features that turn out complex | HIGH | Let cook's complexity detection trigger BA, not user judgment |
|
|
334
401
|
| Recommending shortcuts without Completeness Score | MEDIUM | Step 3.5: every option needs X/10 score + dual effort estimate (human vs AI). "90% coverage" is a red flag when 100% costs 15 min more |
|
|
402
|
+
| Handing off to plan with ambiguity > 40% | CRITICAL | Step 2.5 HARD-GATE: compute ambiguity score after elicitation, block handoff if > 40%, ask targeted follow-up on weakest dimension |
|
|
403
|
+
| Skipping ambiguity scoring because "user seems clear" | HIGH | Always compute the score — perceived clarity ≠ measured clarity. The formula catches gaps humans miss |
|
|
335
404
|
|
|
336
405
|
## Done When
|
|
337
406
|
|
|
338
407
|
- Requirement type classified (feature/refactor/integration/greenfield)
|
|
339
408
|
- 5 probing questions asked and answered (or extracted from spec/PRD)
|
|
409
|
+
- Ambiguity Score computed and displayed — must be ≤ 40% before proceeding (≤ 25% preferred)
|
|
340
410
|
- Hidden requirements discovered and confirmed with user
|
|
341
411
|
- Scope defined (in/out/assumptions/dependencies)
|
|
342
412
|
- User stories with testable acceptance criteria produced
|
|
@@ -87,6 +87,7 @@ Direct API call ≠ Wrapper/middleware layer ≠ Reverse engineering ≠ Browser
|
|
|
87
87
|
## Calls (outbound)
|
|
88
88
|
|
|
89
89
|
- `plan` (L2): when idea is selected and needs structuring into actionable steps
|
|
90
|
+
- `design` (L2): when selected approach has UI/UX implications — hand off visual decisions
|
|
90
91
|
- `research` (L3): gather data for informed brainstorming (existing solutions, benchmarks)
|
|
91
92
|
- `trend-scout` (L3): market context and trends for product-oriented brainstorming
|
|
92
93
|
- `problem-solver` (L3): structured reasoning frameworks (SCAMPER, First Principles, 6 Hats)
|
package/skills/cook/SKILL.md
CHANGED
|
@@ -5,13 +5,13 @@ context: fork
|
|
|
5
5
|
agent: general-purpose
|
|
6
6
|
metadata:
|
|
7
7
|
author: runedev
|
|
8
|
-
version: "2.
|
|
8
|
+
version: "2.3.0"
|
|
9
9
|
layer: L1
|
|
10
10
|
model: sonnet
|
|
11
11
|
group: orchestrator
|
|
12
12
|
tools: "Read, Write, Edit, Bash, Glob, Grep"
|
|
13
|
-
emit: phase.complete
|
|
14
|
-
listen: plan.ready, review.complete
|
|
13
|
+
emit: phase.complete, checkpoint.request
|
|
14
|
+
listen: plan.ready, review.complete, ideas.ready, preflight.passed, verification.complete
|
|
15
15
|
---
|
|
16
16
|
|
|
17
17
|
# cook
|
|
@@ -73,6 +73,7 @@ When `--template <name>` is provided, cook loads a pre-built workflow template i
|
|
|
73
73
|
- Contains "security", "auth", "vulnerability", "CVE" → `security`
|
|
74
74
|
- Contains "urgent", "hotfix", "production" → `hotfix`
|
|
75
75
|
- Contains "quick", "just", "chỉ cần", "copy", "move", "rename", "bump" → `nano`
|
|
76
|
+
- Contains "graft", "port from", "copy from repo", "clone feature from" → **delegate to `rune:graft`** (not a cook chain — hand off entirely)
|
|
76
77
|
- Contains `--template` → load template workflow (see above)
|
|
77
78
|
- Default → `feature`
|
|
78
79
|
|
|
@@ -379,6 +380,11 @@ If the coder model needs info from other phases, it's in the Cross-Phase Context
|
|
|
379
380
|
|
|
380
381
|
Quality checks run in **two stages** — spec compliance gates code review. Reviewing code quality before verifying it matches the spec wastes effort on code that may need rewriting.
|
|
381
382
|
|
|
383
|
+
**Signal dispatch ordering**: When `fix` emits `code.changed`, 4 listeners react (preflight, sentinel, test, review). Cook coordinates dispatch order — do NOT let all 4 fire simultaneously:
|
|
384
|
+
- **Stage 1**: preflight + sentinel (parallel — independent checks)
|
|
385
|
+
- **Stage 2**: test (after Stage 1 passes — no point testing non-compliant code)
|
|
386
|
+
- **Stage 3**: review (after test passes — review verified code only)
|
|
387
|
+
|
|
382
388
|
```
|
|
383
389
|
STAGE 1 (parallel):
|
|
384
390
|
Launch 5a (preflight) + 5b (sentinel) simultaneously.
|
|
@@ -806,6 +812,29 @@ When invoked by `team` with a NEXUS Handoff, include the Deliverables table —
|
|
|
806
812
|
| Cook Report | Markdown (inline) | Emitted at end of session |
|
|
807
813
|
| Session state | Markdown | `.rune/decisions.md`, `.rune/progress.md`, `.rune/conventions.md` |
|
|
808
814
|
|
|
815
|
+
## Document Ownership
|
|
816
|
+
|
|
817
|
+
| Scope | Access | Files |
|
|
818
|
+
|-------|--------|-------|
|
|
819
|
+
| **Owns** (read + write) | `.rune/plan-*.md`, `.rune/progress.md`, `.rune/decisions.md`, `.rune/conventions.md`, source files per approved plan |
|
|
820
|
+
| **Reads** (never writes) | `CLAUDE.md`, `SKILL.md` (any), `.rune/contract.md`, `.rune/checkpoint.md` |
|
|
821
|
+
| **Never modifies** | `compiler/**`, `extensions/**`, `PACK.md`, other skills' `SKILL.md`, `.rune/learnings.jsonl` |
|
|
822
|
+
|
|
823
|
+
When delegating to sub-skills (scout, plan, test, review), each sub-skill owns its own output. Cook coordinates but does not overwrite sub-skill artifacts.
|
|
824
|
+
|
|
825
|
+
## Anti-Patterns
|
|
826
|
+
|
|
827
|
+
Common multi-agent failures to explicitly avoid. These are NOT edge cases — they are the most frequent cook failures in production.
|
|
828
|
+
|
|
829
|
+
| Anti-Pattern | Why It Fails | Correct Approach |
|
|
830
|
+
|---|---|---|
|
|
831
|
+
| **Bypass hierarchy** — skipping scout/plan and jumping to Phase 4 code | Builds wrong thing. Most "wasted work" traces back to missing Phase 1-2 | Follow phase gates. Even "obvious" tasks benefit from 30s of scout |
|
|
832
|
+
| **Shadow decisions** — making architectural choices without logging to decisions.md | Next session repeats the same debate. Team agents contradict each other | Log every non-trivial choice via `decisions.md` or `journal` |
|
|
833
|
+
| **Gold-plating** — adding "nice-to-have" features not in the approved plan | Scope creep, delayed delivery, untested code paths | Build ONLY what's in the plan. Log extras as follow-up tasks |
|
|
834
|
+
| **Test-after** — writing tests after implementation instead of before (TDD violation) | Tests validate implementation bugs, not requirements. Coverage looks good but misses edge cases | Phase 3 (RED) before Phase 4 (GREEN). Always |
|
|
835
|
+
| **Monolithic commit** — one giant commit with all changes | Impossible to revert partially. Review is overwhelming | Commit per phase or per logical unit. Small, reviewable diffs |
|
|
836
|
+
| **Assumption-based implementation** — guessing requirements instead of asking | Builds the wrong thing confidently. User discovers mismatch late | If ambiguous, ask. 30s of clarification saves 30min of rework |
|
|
837
|
+
|
|
809
838
|
## Sharp Edges
|
|
810
839
|
|
|
811
840
|
<MUST-READ path="references/sharp-edges.md" trigger="before declaring done — review all 18 failure modes"/>
|
|
@@ -32,6 +32,39 @@ Also defines the NEXUS Deliverables table format used when cook is invoked by `t
|
|
|
32
32
|
- Saved to .rune/progress.md
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
+
## Chain Metadata (Cross-Skill Data Forwarding)
|
|
36
|
+
|
|
37
|
+
Every Cook Report MUST end with a `chain_metadata` YAML block. This enables downstream skills to consume cook's output data without parsing prose. See `docs/references/chain-metadata.md` for the full contract.
|
|
38
|
+
|
|
39
|
+
```yaml
|
|
40
|
+
chain_metadata:
|
|
41
|
+
skill: "rune:cook"
|
|
42
|
+
version: "2.2.0"
|
|
43
|
+
status: "[same as Cook Report status]"
|
|
44
|
+
domain: "[area worked on — e.g., auth, payments, compiler]"
|
|
45
|
+
files_changed:
|
|
46
|
+
- "[list of files created/modified in this session]"
|
|
47
|
+
exports:
|
|
48
|
+
commit_hash: "[actual git hash]"
|
|
49
|
+
files_changed_count: [N]
|
|
50
|
+
test_results: { passed: [N], failed: [N], coverage: [N] }
|
|
51
|
+
quality_gates: { preflight: "[PASS/WARN/FAIL]", sentinel: "[PASS/WARN/FAIL]", review: "[PASS/WARN/FAIL]" }
|
|
52
|
+
phase_count: [N]
|
|
53
|
+
concerns: [] # populated if DONE_WITH_CONCERNS
|
|
54
|
+
suggested_next: # 1-3 data-driven recommendations based on THIS output
|
|
55
|
+
- skill: "rune:[skill]"
|
|
56
|
+
reason: "[grounded in actual data — not generic advice]"
|
|
57
|
+
consumes: ["[export keys the suggested skill would use]"]
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Rules for suggested_next:**
|
|
61
|
+
- Base suggestions on ACTUAL output data (sentinel WARN → suggest deeper security review, low coverage → suggest more tests)
|
|
62
|
+
- Never suggest skills that already ran successfully in this session
|
|
63
|
+
- Status-aware: BLOCKED → suggest debug/fix, DONE → suggest review/deploy/test
|
|
64
|
+
- Max 3 suggestions, ordered by priority
|
|
65
|
+
|
|
66
|
+
**When NOT to emit:** When cook is invoked as a sub-step of `autopilot` or `team` — the orchestrator emits its own chain_metadata at the end.
|
|
67
|
+
|
|
35
68
|
## Usage Rules
|
|
36
69
|
|
|
37
70
|
- When cook is invoked **standalone** (not by team): Deliverables table is optional
|
package/skills/db/SKILL.md
CHANGED
package/skills/debug/SKILL.md
CHANGED
|
@@ -3,7 +3,7 @@ name: debug
|
|
|
3
3
|
description: Root cause analysis for bugs and unexpected behavior. Traces errors through code, uses structured reasoning, and hands off to fix when cause is found. Core of the debug↔fix mesh.
|
|
4
4
|
metadata:
|
|
5
5
|
author: runedev
|
|
6
|
-
version: "1.
|
|
6
|
+
version: "1.1.0"
|
|
7
7
|
layer: L2
|
|
8
8
|
model: sonnet
|
|
9
9
|
group: development
|
|
@@ -405,6 +405,28 @@ Debug returns one of four statuses to its caller (cook, fix, test, surgeon). The
|
|
|
405
405
|
| Fix recommendation | Inline (Debug Report) | Direction only — no code changes |
|
|
406
406
|
| Debug knowledge base entry | Markdown | `.rune/debug/knowledge-base.md` (appended on success) |
|
|
407
407
|
|
|
408
|
+
## Chain Metadata
|
|
409
|
+
|
|
410
|
+
Append to Debug Report when invoked standalone. Suppress when called as sub-skill inside an L1 orchestrator (cook, team, etc.) — the orchestrator emits a consolidated block. See `docs/references/chain-metadata.md`.
|
|
411
|
+
|
|
412
|
+
```yaml
|
|
413
|
+
chain_metadata:
|
|
414
|
+
skill: "rune:debug"
|
|
415
|
+
version: "1.1.0"
|
|
416
|
+
status: "[DONE | DONE_WITH_CONCERNS | NEEDS_CONTEXT | BLOCKED]"
|
|
417
|
+
domain: "[area debugged]"
|
|
418
|
+
files_changed: [] # debug never changes files
|
|
419
|
+
exports:
|
|
420
|
+
root_cause: { file: "[path]", line: [N], explanation: "[cause]" }
|
|
421
|
+
severity: "[critical | high | medium | low]"
|
|
422
|
+
confidence: "[high | medium | low]"
|
|
423
|
+
fix_recommendation: "[direction for fix skill]"
|
|
424
|
+
suggested_next:
|
|
425
|
+
- skill: "rune:fix"
|
|
426
|
+
reason: "[grounded in root cause — e.g., 'Critical race condition found in auth.ts:42']"
|
|
427
|
+
consumes: ["root_cause", "fix_recommendation"]
|
|
428
|
+
```
|
|
429
|
+
|
|
408
430
|
## Sharp Edges
|
|
409
431
|
|
|
410
432
|
| Failure Mode | Severity | Mitigation |
|
package/skills/deploy/SKILL.md
CHANGED
package/skills/design/SKILL.md
CHANGED
|
@@ -3,7 +3,7 @@ name: design
|
|
|
3
3
|
description: Design system reasoning. Maps product domain to style, palette, typography, and platform-specific patterns. Generates .rune/design-system.md as the shared design contract for all UI-generating skills.
|
|
4
4
|
metadata:
|
|
5
5
|
author: runedev
|
|
6
|
-
version: "0.
|
|
6
|
+
version: "0.4.0"
|
|
7
7
|
layer: L2
|
|
8
8
|
model: sonnet
|
|
9
9
|
group: creation
|
|
@@ -32,6 +32,8 @@ Design system reasoning layer. Converts a product description into a concrete de
|
|
|
32
32
|
## Called By (inbound)
|
|
33
33
|
|
|
34
34
|
- `cook` (L1): before any frontend code generation
|
|
35
|
+
- `brainstorm` (L2): when selected approach has UI/UX implications
|
|
36
|
+
- `ba` (L2): when requirements include UI/UX components
|
|
35
37
|
- `review` (L2): when AI anti-pattern detected in diff
|
|
36
38
|
- `perf` (L2): when Lighthouse Accessibility score blocks
|
|
37
39
|
- User: `/rune design` direct invocation
|
|
@@ -97,6 +99,31 @@ From the user's task description + codebase context, classify product type:
|
|
|
97
99
|
|
|
98
100
|
If domain is unclear: ask one clarifying question — "Is this closer to X or Y?"
|
|
99
101
|
|
|
102
|
+
### Step 2.5 — Mood-to-Constraint Mapping
|
|
103
|
+
|
|
104
|
+
After classifying domain, ask ONE question: **"What should users feel when they use this?"**
|
|
105
|
+
|
|
106
|
+
Accept a single mood keyword (or infer from context if obvious). Map mood to concrete design constraints:
|
|
107
|
+
|
|
108
|
+
| Mood | Color Temp | Typography Weight | Whitespace | Animation | Shadow |
|
|
109
|
+
|------|-----------|-------------------|------------|-----------|--------|
|
|
110
|
+
| **Impressed** | Cool (blue-slate) | Heavy display (700-800) | Generous (xl-3xl) | Dramatic reveals (0.8-1.2s ease-out) | Deep, layered |
|
|
111
|
+
| **Excited** | Warm (amber-orange) | Bold contrasts (400 vs 800) | Tight-medium (sm-lg) | Energetic springs (0.4-0.6s spring) | Elevation lifts |
|
|
112
|
+
| **Calm** | Neutral-warm (stone-sage) | Light-medium (300-500) | Very generous (2xl-3xl) | Slow fades (0.6-0.8s ease-out-quad) | Soft, minimal |
|
|
113
|
+
| **Confident** | Cool-neutral (zinc-slate) | Medium-heavy (500-700) | Structured (md-xl) | Precise slides (0.3-0.5s ease) | Crisp, defined |
|
|
114
|
+
| **Playful** | Saturated (multi-hue) | Round + bold (600-700) | Medium, irregular (md-lg) | Bouncy springs (0.4-0.6s spring, overshoot) | Hard/comic (3-5px offset) |
|
|
115
|
+
| **Techy** | Cold (gray-cyan) | Mono-heavy, crisp (400-600) | Dense, grid-aligned (sm-md) | Sharp snaps (0.15-0.3s ease-out) | Minimal or glow |
|
|
116
|
+
| **Professional** | Muted neutrals | System fonts, readable (400-500) | Balanced (md-lg) | Subtle (0.2-0.3s ease) | Standard elevation |
|
|
117
|
+
| **Inspired** | Rich-warm (gold-terracotta) | Editorial display (300-700 range) | Asymmetric, generous | Scroll-driven reveals (0.5-0.8s) | Dramatic, directional |
|
|
118
|
+
|
|
119
|
+
**Mapping rules:**
|
|
120
|
+
1. Mood constraints OVERRIDE generic domain defaults where they conflict (mood is user intent, domain is convention)
|
|
121
|
+
2. If mood contradicts domain safety (e.g., "Playful" + Healthcare), WARN user: "Playful tone may reduce trust in medical context — proceed?"
|
|
122
|
+
3. Write selected mood + resolved constraints to `.rune/design-system.md` under `## Mood` section
|
|
123
|
+
4. Downstream skills (`animation-patterns`, `palette-picker`, `type-system`) read mood constraints from design-system.md
|
|
124
|
+
|
|
125
|
+
**Skip if**: User says "no preference" or "just follow domain defaults" — proceed to Step 3 with domain-only reasoning.
|
|
126
|
+
|
|
100
127
|
### Step 3 — Apply Domain Reasoning Rules
|
|
101
128
|
|
|
102
129
|
Map domain to design system parameters:
|
|
@@ -333,6 +360,44 @@ sm: 6px | md: 8px | lg: 12px | xl: 16px | full: 9999px
|
|
|
333
360
|
- [ ] Responsive tested at 375px / 768px / 1024px / 1440px
|
|
334
361
|
```
|
|
335
362
|
|
|
363
|
+
### Step 5.5 — UI Design Contract (UI-SPEC.md)
|
|
364
|
+
|
|
365
|
+
After generating the design system, lock key visual decisions in `.rune/ui-spec.md` — a binding contract that prevents design drift during implementation.
|
|
366
|
+
|
|
367
|
+
**Why**: design-system.md defines tokens (what's available). UI-SPEC locks decisions (what was chosen and WHY). Without a spec, each component re-decides layout, density, and hierarchy — causing visual inconsistency.
|
|
368
|
+
|
|
369
|
+
**Generate `.rune/ui-spec.md`:**
|
|
370
|
+
|
|
371
|
+
```markdown
|
|
372
|
+
# UI Specification: [Project Name]
|
|
373
|
+
Locked: [YYYY-MM-DD] | Mood: [selected mood]
|
|
374
|
+
|
|
375
|
+
## Layout Decisions
|
|
376
|
+
- Page max-width: [value]px
|
|
377
|
+
- Sidebar: [yes/no] — [width]px [fixed/collapsible]
|
|
378
|
+
- Content density: [compact/balanced/spacious]
|
|
379
|
+
- Card sizing: [uniform/varied] — if varied, specify hierarchy rules
|
|
380
|
+
|
|
381
|
+
## Visual Hierarchy Rules
|
|
382
|
+
- Primary action: [color] [size] [weight] — ONE per viewport
|
|
383
|
+
- Secondary action: [ghost/outline] style — max 2 per section
|
|
384
|
+
- Data emphasis: [monospace + bold] for numbers, [color accent] for status
|
|
385
|
+
- Section separation: [border/spacing/background] — pick ONE, be consistent
|
|
386
|
+
|
|
387
|
+
## Component Decisions
|
|
388
|
+
- Card style: [elevated/bordered/glass] — reasoning: [why]
|
|
389
|
+
- Table style: [striped/bordered/minimal] — reasoning: [why]
|
|
390
|
+
- Form layout: [stacked/inline/grid] — reasoning: [why]
|
|
391
|
+
- Navigation: [sidebar/topbar/tabs] — reasoning: [why]
|
|
392
|
+
|
|
393
|
+
## Locked Anti-Decisions (things we explicitly chose NOT to do)
|
|
394
|
+
- ❌ [rejected option] — because [reason]
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
<HARD-GATE>
|
|
398
|
+
UI-SPEC.md is a contract. Once written, changes require explicit user approval ("I want to change the card style"). Skills that generate UI (`cook`, `fix`, `scaffold`) MUST read UI-SPEC.md before producing components. Drift from spec = review finding.
|
|
399
|
+
</HARD-GATE>
|
|
400
|
+
|
|
336
401
|
### Step 6 — Accessibility Review
|
|
337
402
|
|
|
338
403
|
Run a focused accessibility audit on the design system and any existing UI code. This step ensures the design contract doesn't produce inaccessible outputs.
|
|
@@ -349,6 +414,39 @@ Run a focused accessibility audit on the design system and any existing UI code.
|
|
|
349
414
|
|
|
350
415
|
If violations found → add them to `.rune/design-system.md` Anti-Patterns section as concrete rules.
|
|
351
416
|
|
|
417
|
+
### Step 6.5 — 6-Pillar Visual Audit
|
|
418
|
+
|
|
419
|
+
Score the generated design system across 6 pillars. Each pillar scored 1-4 (1=Poor, 2=Fair, 3=Good, 4=Excellent). Minimum passing score: **18/24** (average 3.0).
|
|
420
|
+
|
|
421
|
+
| Pillar | Score 1 (Poor) | Score 2 (Fair) | Score 3 (Good) | Score 4 (Excellent) |
|
|
422
|
+
|--------|---------------|----------------|----------------|---------------------|
|
|
423
|
+
| **Copy** | Placeholder text, generic CTAs ("Submit"), no voice | Real copy but inconsistent tone | Consistent voice, domain-appropriate, clear CTAs | Personality-rich, scannable, microcopy for every state |
|
|
424
|
+
| **Visuals** | Stock photos, generic icons, no visual identity | Consistent icon set, basic imagery | Custom illustrations or curated photography, clear hierarchy | Distinctive visual language, icons tell stories, zero stock |
|
|
425
|
+
| **Color** | Default framework palette, no semantic meaning | Brand colors defined but inconsistent usage | Full semantic palette, dark mode, accessible contrast | Mood-aligned, colorblind-safe, context-adaptive (profit/loss/status) |
|
|
426
|
+
| **Typography** | Single font, no scale | Font pairing exists but inconsistent sizing | Clear hierarchy (display/heading/body/mono), numbers monospace | Mood-aligned pairing, fluid scaling, platform-native where needed |
|
|
427
|
+
| **Spacing** | Inconsistent gaps, cramped or too loose | Base unit defined but not consistently applied | 8px grid, consistent section/component/element spacing | Density variants (compact/default/spacious), rhythm feels intentional |
|
|
428
|
+
| **UX** | Missing states (empty/error/loading), no feedback | Basic states exist, some interactive feedback | All states covered, toast/loading/skeleton, focus management | Delightful micro-interactions, smart defaults, zero dead-ends |
|
|
429
|
+
|
|
430
|
+
**Audit output:**
|
|
431
|
+
|
|
432
|
+
```
|
|
433
|
+
### Visual Audit Score: [total]/24
|
|
434
|
+
|
|
435
|
+
| Pillar | Score | Notes |
|
|
436
|
+
|--------|-------|-------|
|
|
437
|
+
| Copy | 3 | Consistent voice, missing loading microcopy |
|
|
438
|
+
| Visuals | 2 | Using Phosphor icons (good), no custom illustration |
|
|
439
|
+
| Color | 4 | Full semantic palette, colorblind alternates defined |
|
|
440
|
+
| Typography | 3 | JetBrains Mono for numbers, Inter for prose — solid |
|
|
441
|
+
| Spacing | 3 | 8px grid applied, density variants not needed yet |
|
|
442
|
+
| UX | 3 | All states covered, micro-interactions in progress |
|
|
443
|
+
| **Total** | **18/24** | PASS — ship-ready with Copy improvements recommended |
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
**If score < 18**: Flag specific weak pillars in Design Report. Add improvement tasks to `.rune/design-system.md` under `## Improvement Backlog`.
|
|
447
|
+
|
|
448
|
+
**Registry safety check**: If an existing component library is in use (shadcn, MUI, etc.), verify the design system doesn't conflict with the library's token structure. Flag collisions.
|
|
449
|
+
|
|
352
450
|
### Step 7 — UX Writing Patterns
|
|
353
451
|
|
|
354
452
|
Generate microcopy guidelines specific to this product domain. UX writing is part of design — not an afterthought.
|
|
@@ -448,8 +546,10 @@ Trading/Fintech — Data-Dense Dark — Web
|
|
|
448
546
|
| Artifact | Format | Location |
|
|
449
547
|
|----------|--------|----------|
|
|
450
548
|
| Design system file | Markdown | `.rune/design-system.md` |
|
|
549
|
+
| UI specification contract | Markdown | `.rune/ui-spec.md` |
|
|
451
550
|
| Design report | Markdown | inline (chat output) |
|
|
452
551
|
| Accessibility audit findings | Markdown list | inline + appended to design-system.md |
|
|
552
|
+
| Visual audit score | Table (6 pillars × 1-4) | inline + appended to design report |
|
|
453
553
|
| UX writing guidelines | Markdown section | `.rune/design-system.md` § UX Writing |
|
|
454
554
|
|
|
455
555
|
## Sharp Edges
|
|
@@ -462,6 +562,9 @@ Known failure modes for this skill. Check these before declaring done.
|
|
|
462
562
|
| Purple/indigo accent on non-AI-native product | HIGH | Constraint 3 blocks this — re-generate with domain-appropriate accent |
|
|
463
563
|
| Anti-pattern list copied from generic sources (not domain-specific) | HIGH | Each anti-pattern must cite why it fails in THIS specific domain |
|
|
464
564
|
| design-system.md not written (only reported verbally) | HIGH | Constraint 4 — no file = no persistence = future sessions lose design context |
|
|
565
|
+
| Mood contradicts domain safety conventions | HIGH | Step 2.5 warns user before proceeding (e.g., Playful + Healthcare) |
|
|
566
|
+
| UI-SPEC.md drift — components diverge from locked decisions | HIGH | HARD-GATE: cook/fix must read ui-spec.md before generating UI |
|
|
567
|
+
| Visual audit score < 18 shipped without improvement plan | MEDIUM | Step 6.5 flags weak pillars and creates backlog items |
|
|
465
568
|
| iOS target generating solid-background cards | MEDIUM | Platform Gate: iOS 26 Liquid Glass deprecates this pattern |
|
|
466
569
|
| Android target using hardcoded hex colors | MEDIUM | Platform Gate: MaterialTheme.colorScheme is mandatory for dynamic color |
|
|
467
570
|
|
|
@@ -469,12 +572,16 @@ Known failure modes for this skill. Check these before declaring done.
|
|
|
469
572
|
|
|
470
573
|
- Design reference loaded (user override or baseline)
|
|
471
574
|
- Domain classified (one of the 10 categories or explicit custom reasoning)
|
|
575
|
+
- Mood mapped to constraints (or explicitly skipped with "domain defaults")
|
|
472
576
|
- Design system generated with: colors (primitive + semantic), typography, spacing, effects, anti-patterns
|
|
473
577
|
- Platform-specific overrides applied (if iOS/Android target)
|
|
578
|
+
- UI-SPEC.md written with locked layout, hierarchy, and component decisions
|
|
474
579
|
- Accessibility review completed (6 checks: contrast, focus, touch targets, labels, semantic HTML, motion)
|
|
580
|
+
- 6-Pillar Visual Audit scored ≥ 18/24 (or weak pillars flagged with improvement tasks)
|
|
475
581
|
- UX writing guidelines generated (error, empty state, confirmation, loading, button templates)
|
|
476
|
-
- `.rune/design-system.md` written (includes UX Writing
|
|
477
|
-
-
|
|
582
|
+
- `.rune/design-system.md` written (includes Mood + UX Writing sections)
|
|
583
|
+
- `.rune/ui-spec.md` written (design contract for UI-generating skills)
|
|
584
|
+
- Design Report emitted with mood, accent/typography reasoning, visual audit score, and anti-pattern count
|
|
478
585
|
- Pre-Delivery Checklist included in design-system.md
|
|
479
586
|
|
|
480
587
|
## Cost Profile
|
package/skills/docs/SKILL.md
CHANGED
|
@@ -8,6 +8,7 @@ metadata:
|
|
|
8
8
|
model: sonnet
|
|
9
9
|
group: delivery
|
|
10
10
|
tools: "Read, Write, Edit, Glob, Grep"
|
|
11
|
+
emit: docs.updated
|
|
11
12
|
---
|
|
12
13
|
|
|
13
14
|
# docs
|
|
@@ -192,7 +193,7 @@ After updating any doc, verify consistency across all project documentation:
|
|
|
192
193
|
Cross-Doc Consistency:
|
|
193
194
|
- [x] README.md ↔ CLAUDE.md: versions match, commands match
|
|
194
195
|
- [x] README.md ↔ docs/index.html: stats match, features match
|
|
195
|
-
- [ ] README.md says "
|
|
196
|
+
- [ ] README.md says "62 skills" but CLAUDE.md says "59" → FIX CLAUDE.md
|
|
196
197
|
```
|
|
197
198
|
|
|
198
199
|
**Fix inconsistencies immediately** — don't just report them. Update the stale doc to match the source of truth (usually the code or the most recently updated doc).
|
package/skills/fix/SKILL.md
CHANGED
|
@@ -3,7 +3,7 @@ name: fix
|
|
|
3
3
|
description: Apply code changes and fixes. Writes implementation code, applies bug fixes, and verifies changes with tests. Core action hub in the development mesh.
|
|
4
4
|
metadata:
|
|
5
5
|
author: runedev
|
|
6
|
-
version: "0.
|
|
6
|
+
version: "0.9.0"
|
|
7
7
|
layer: L2
|
|
8
8
|
model: sonnet
|
|
9
9
|
group: development
|
|
@@ -271,6 +271,28 @@ Fix returns one of four statuses to its caller (cook, debug, review, surgeon). T
|
|
|
271
271
|
| Fix Report | Markdown (inline) | Emitted to calling skill (cook, debug, review, surgeon) |
|
|
272
272
|
| Verification output | Inline (Fix Report) | Lint + types + test results |
|
|
273
273
|
|
|
274
|
+
## Chain Metadata
|
|
275
|
+
|
|
276
|
+
Append to Fix Report when invoked standalone. Suppress when called as sub-skill inside an L1 orchestrator (cook, team, etc.) — the orchestrator emits a consolidated block. See `docs/references/chain-metadata.md`.
|
|
277
|
+
|
|
278
|
+
```yaml
|
|
279
|
+
chain_metadata:
|
|
280
|
+
skill: "rune:fix"
|
|
281
|
+
version: "0.9.0"
|
|
282
|
+
status: "[DONE | DONE_WITH_CONCERNS | NEEDS_CONTEXT | BLOCKED]"
|
|
283
|
+
domain: "[area fixed]"
|
|
284
|
+
files_changed:
|
|
285
|
+
- "[list of modified files]"
|
|
286
|
+
exports:
|
|
287
|
+
fix_applied: { files: ["[paths]"], description: "[what was fixed]" }
|
|
288
|
+
verification: { lint: "[PASS/FAIL]", types: "[PASS/FAIL]", tests: "[PASS/FAIL]" }
|
|
289
|
+
commit_hash: "[hash if committed]"
|
|
290
|
+
suggested_next:
|
|
291
|
+
- skill: "rune:test"
|
|
292
|
+
reason: "[grounded in changes — e.g., 'Modified 3 files in auth module, edge cases need coverage']"
|
|
293
|
+
consumes: ["fix_applied", "verification"]
|
|
294
|
+
```
|
|
295
|
+
|
|
274
296
|
## Sharp Edges
|
|
275
297
|
|
|
276
298
|
Known failure modes for this skill. Check these before declaring done.
|