@rune-kit/rune 2.1.1

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 (155) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +357 -0
  3. package/agents/.gitkeep +0 -0
  4. package/agents/architect.md +29 -0
  5. package/agents/asset-creator.md +11 -0
  6. package/agents/audit.md +11 -0
  7. package/agents/autopsy.md +11 -0
  8. package/agents/brainstorm.md +11 -0
  9. package/agents/browser-pilot.md +11 -0
  10. package/agents/coder.md +29 -0
  11. package/agents/completion-gate.md +11 -0
  12. package/agents/constraint-check.md +11 -0
  13. package/agents/context-engine.md +11 -0
  14. package/agents/cook.md +11 -0
  15. package/agents/db.md +11 -0
  16. package/agents/debug.md +11 -0
  17. package/agents/dependency-doctor.md +11 -0
  18. package/agents/deploy.md +11 -0
  19. package/agents/design.md +11 -0
  20. package/agents/docs-seeker.md +11 -0
  21. package/agents/fix.md +11 -0
  22. package/agents/hallucination-guard.md +11 -0
  23. package/agents/incident.md +11 -0
  24. package/agents/integrity-check.md +11 -0
  25. package/agents/journal.md +11 -0
  26. package/agents/launch.md +11 -0
  27. package/agents/logic-guardian.md +11 -0
  28. package/agents/marketing.md +11 -0
  29. package/agents/onboard.md +11 -0
  30. package/agents/perf.md +11 -0
  31. package/agents/plan.md +11 -0
  32. package/agents/preflight.md +11 -0
  33. package/agents/problem-solver.md +11 -0
  34. package/agents/rescue.md +11 -0
  35. package/agents/research.md +11 -0
  36. package/agents/researcher.md +29 -0
  37. package/agents/review-intake.md +11 -0
  38. package/agents/review.md +11 -0
  39. package/agents/reviewer.md +28 -0
  40. package/agents/safeguard.md +11 -0
  41. package/agents/sast.md +11 -0
  42. package/agents/scanner.md +28 -0
  43. package/agents/scope-guard.md +11 -0
  44. package/agents/scout.md +11 -0
  45. package/agents/sentinel.md +11 -0
  46. package/agents/sequential-thinking.md +11 -0
  47. package/agents/session-bridge.md +11 -0
  48. package/agents/skill-forge.md +11 -0
  49. package/agents/skill-router.md +11 -0
  50. package/agents/surgeon.md +11 -0
  51. package/agents/team.md +11 -0
  52. package/agents/test.md +11 -0
  53. package/agents/trend-scout.md +11 -0
  54. package/agents/verification.md +11 -0
  55. package/agents/video-creator.md +11 -0
  56. package/agents/watchdog.md +11 -0
  57. package/agents/worktree.md +11 -0
  58. package/commands/.gitkeep +0 -0
  59. package/commands/rune.md +168 -0
  60. package/compiler/__tests__/openclaw-adapter.test.js +140 -0
  61. package/compiler/__tests__/parser.test.js +55 -0
  62. package/compiler/adapters/antigravity.js +59 -0
  63. package/compiler/adapters/claude.js +37 -0
  64. package/compiler/adapters/cursor.js +67 -0
  65. package/compiler/adapters/generic.js +60 -0
  66. package/compiler/adapters/index.js +45 -0
  67. package/compiler/adapters/openclaw.js +150 -0
  68. package/compiler/adapters/windsurf.js +60 -0
  69. package/compiler/bin/rune.js +288 -0
  70. package/compiler/doctor.js +153 -0
  71. package/compiler/emitter.js +240 -0
  72. package/compiler/parser.js +208 -0
  73. package/compiler/transformer.js +69 -0
  74. package/compiler/transforms/branding.js +27 -0
  75. package/compiler/transforms/cross-references.js +29 -0
  76. package/compiler/transforms/frontmatter.js +38 -0
  77. package/compiler/transforms/hooks.js +68 -0
  78. package/compiler/transforms/subagents.js +36 -0
  79. package/compiler/transforms/tool-names.js +60 -0
  80. package/contexts/dev.md +34 -0
  81. package/contexts/research.md +43 -0
  82. package/contexts/review.md +55 -0
  83. package/extensions/ai-ml/PACK.md +517 -0
  84. package/extensions/analytics/PACK.md +557 -0
  85. package/extensions/backend/PACK.md +678 -0
  86. package/extensions/chrome-ext/PACK.md +995 -0
  87. package/extensions/content/PACK.md +381 -0
  88. package/extensions/devops/PACK.md +520 -0
  89. package/extensions/ecommerce/PACK.md +280 -0
  90. package/extensions/gamedev/PACK.md +393 -0
  91. package/extensions/mobile/PACK.md +273 -0
  92. package/extensions/saas/PACK.md +805 -0
  93. package/extensions/security/PACK.md +536 -0
  94. package/extensions/trading/PACK.md +597 -0
  95. package/extensions/ui/PACK.md +947 -0
  96. package/package.json +47 -0
  97. package/skills/.gitkeep +0 -0
  98. package/skills/adversary/SKILL.md +271 -0
  99. package/skills/asset-creator/SKILL.md +157 -0
  100. package/skills/audit/SKILL.md +466 -0
  101. package/skills/autopsy/SKILL.md +200 -0
  102. package/skills/ba/SKILL.md +279 -0
  103. package/skills/brainstorm/SKILL.md +266 -0
  104. package/skills/browser-pilot/SKILL.md +168 -0
  105. package/skills/completion-gate/SKILL.md +151 -0
  106. package/skills/constraint-check/SKILL.md +165 -0
  107. package/skills/context-engine/SKILL.md +176 -0
  108. package/skills/cook/SKILL.md +636 -0
  109. package/skills/db/SKILL.md +256 -0
  110. package/skills/debug/SKILL.md +240 -0
  111. package/skills/dependency-doctor/SKILL.md +235 -0
  112. package/skills/deploy/SKILL.md +174 -0
  113. package/skills/design/DESIGN-REFERENCE.md +365 -0
  114. package/skills/design/SKILL.md +462 -0
  115. package/skills/doc-processor/SKILL.md +254 -0
  116. package/skills/docs/SKILL.md +336 -0
  117. package/skills/docs-seeker/SKILL.md +166 -0
  118. package/skills/fix/SKILL.md +192 -0
  119. package/skills/git/SKILL.md +285 -0
  120. package/skills/hallucination-guard/SKILL.md +204 -0
  121. package/skills/incident/SKILL.md +241 -0
  122. package/skills/integrity-check/SKILL.md +169 -0
  123. package/skills/journal/SKILL.md +190 -0
  124. package/skills/launch/SKILL.md +330 -0
  125. package/skills/logic-guardian/SKILL.md +240 -0
  126. package/skills/marketing/SKILL.md +229 -0
  127. package/skills/mcp-builder/SKILL.md +311 -0
  128. package/skills/onboard/SKILL.md +298 -0
  129. package/skills/perf/SKILL.md +297 -0
  130. package/skills/plan/SKILL.md +520 -0
  131. package/skills/preflight/SKILL.md +231 -0
  132. package/skills/problem-solver/SKILL.md +284 -0
  133. package/skills/rescue/SKILL.md +434 -0
  134. package/skills/research/SKILL.md +122 -0
  135. package/skills/review/SKILL.md +354 -0
  136. package/skills/review-intake/SKILL.md +222 -0
  137. package/skills/safeguard/SKILL.md +188 -0
  138. package/skills/sast/SKILL.md +190 -0
  139. package/skills/scaffold/SKILL.md +276 -0
  140. package/skills/scope-guard/SKILL.md +150 -0
  141. package/skills/scout/SKILL.md +232 -0
  142. package/skills/sentinel/SKILL.md +320 -0
  143. package/skills/sentinel-env/SKILL.md +226 -0
  144. package/skills/sequential-thinking/SKILL.md +234 -0
  145. package/skills/session-bridge/SKILL.md +287 -0
  146. package/skills/skill-forge/SKILL.md +317 -0
  147. package/skills/skill-router/SKILL.md +267 -0
  148. package/skills/surgeon/SKILL.md +203 -0
  149. package/skills/team/SKILL.md +397 -0
  150. package/skills/test/SKILL.md +271 -0
  151. package/skills/trend-scout/SKILL.md +145 -0
  152. package/skills/verification/SKILL.md +201 -0
  153. package/skills/video-creator/SKILL.md +201 -0
  154. package/skills/watchdog/SKILL.md +166 -0
  155. package/skills/worktree/SKILL.md +140 -0
@@ -0,0 +1,150 @@
1
+ ---
2
+ name: scope-guard
3
+ description: "Detects scope creep. Auto-triggered by L1 orchestrators when files exceed the original plan. Compares current git changes against plan, flags out-of-scope files, reports IN_SCOPE or CREEP_DETECTED."
4
+ user-invocable: false
5
+ metadata:
6
+ author: runedev
7
+ version: "0.3.0"
8
+ layer: L3
9
+ model: haiku
10
+ group: monitoring
11
+ tools: "Read, Glob, Grep"
12
+ ---
13
+
14
+ # scope-guard
15
+
16
+ ## Purpose
17
+
18
+ Passive scope monitor. Reads the original task plan, inspects current git diff to see what files have changed, and compares them against the planned scope. Flags any unplanned additions as scope creep with specific file-level detail.
19
+
20
+ ## Called By (inbound)
21
+
22
+ - Auto-triggered by L1 orchestrators when files changed exceed plan expectations
23
+
24
+ ## Calls (outbound)
25
+
26
+ None — pure L3 monitoring utility.
27
+
28
+ ## Executable Instructions
29
+
30
+ ### Step 1: Load Plan
31
+
32
+ Read the original task/plan from one of these sources (check in order):
33
+
34
+ 1. TodoWrite task list — read active todos as the planned scope
35
+ 2. `.rune/progress.md` — use `Read` on `D:\Project\.rune\progress.md` (or equivalent path)
36
+ 3. If neither exists, ask the calling skill to provide the plan as a text description
37
+
38
+ Extract from the plan:
39
+ - List of files/directories expected to be changed
40
+ - List of features/tasks planned
41
+ - Any explicitly out-of-scope items mentioned
42
+
43
+ ### Step 2: Assess Current Work
44
+
45
+ Run `Bash` with git diff to see what has actually changed:
46
+
47
+ ```bash
48
+ git diff --stat HEAD
49
+ ```
50
+
51
+ Also check staged changes:
52
+
53
+ ```bash
54
+ git diff --stat --cached
55
+ ```
56
+
57
+ Parse the output to extract the list of changed files.
58
+
59
+ ### Step 3: Compare
60
+
61
+ For each changed file, determine if it is:
62
+ - **IN_SCOPE**: file matches a planned file/directory or is a natural dependency of planned work
63
+ - **OUT_OF_SCOPE**: file is not mentioned in the plan and is not a direct dependency
64
+
65
+ Rules for "natural dependency" (counts as IN_SCOPE):
66
+ - Test files for planned source files
67
+ - Config files modified as a side-effect of adding a planned feature
68
+ - Lock files (package-lock.json, yarn.lock, Cargo.lock) — always IN_SCOPE
69
+
70
+ Rules for OUT_OF_SCOPE (counts as creep):
71
+ - New features not mentioned in the plan
72
+ - Refactoring of files unrelated to the task
73
+ - New dependencies added without a planned feature requiring them
74
+ - Documentation files for unplanned features
75
+
76
+ ### Step 4: Flag Creep
77
+
78
+ If any OUT_OF_SCOPE files are detected:
79
+ - List each out-of-scope file with the reason it is flagged
80
+ - Classify as: `MINOR CREEP` (1-2 unplanned files) or `SIGNIFICANT CREEP` (3+ unplanned files)
81
+
82
+ If zero OUT_OF_SCOPE files: status is `IN_SCOPE`.
83
+
84
+ ### Step 5: Report
85
+
86
+ Output the following structure:
87
+
88
+ ```
89
+ ## Scope Report
90
+
91
+ - **Planned files**: [count from plan]
92
+ - **Actual files changed**: [count from git diff]
93
+ - **Out-of-scope files**: [count]
94
+ - **Status**: IN_SCOPE | MINOR CREEP | SIGNIFICANT CREEP
95
+
96
+ ### In-Scope Changes
97
+ - [file] — [matches planned task]
98
+
99
+ ### Out-of-Scope Changes
100
+ - [file] — [reason: unplanned feature | unrelated refactor | unplanned dep]
101
+
102
+ ### Recommendations
103
+ - [If IN_SCOPE]: No action needed. Proceed.
104
+ - [If MINOR CREEP]: Review [file] — consider reverting or acknowledging as intentional.
105
+ - [If SIGNIFICANT CREEP]: STOP. Re-align with original plan before continuing. [list files to revert]
106
+ ```
107
+
108
+ ## Output Format
109
+
110
+ ```
111
+ ## Scope Report
112
+ - Planned files: 3 | Actual: 5 | Out-of-scope: 2
113
+ - Status: MINOR CREEP
114
+
115
+ ### Out-of-Scope Changes
116
+ - src/components/NewWidget.tsx — unplanned feature
117
+ - docs/new-feature.md — documentation for unplanned feature
118
+
119
+ ### Recommendations
120
+ - Review src/components/NewWidget.tsx — revert or log as intentional scope change.
121
+ ```
122
+
123
+ ## Constraints
124
+
125
+ 1. MUST compare actual changes against stated scope — not just file count
126
+ 2. MUST flag files modified outside scope with specific paths
127
+ 3. MUST allow user override — advisory, not authoritarian
128
+
129
+ ## Sharp Edges
130
+
131
+ Known failure modes for this skill. Check these before declaring done.
132
+
133
+ | Failure Mode | Severity | Mitigation |
134
+ |---|---|---|
135
+ | Classifying test files for planned code as out-of-scope | MEDIUM | Test files for planned source files are always IN_SCOPE — natural dependency |
136
+ | Classifying lock file changes as out-of-scope | LOW | package-lock.json, yarn.lock, Cargo.lock are always IN_SCOPE |
137
+ | SIGNIFICANT CREEP threshold applied to 1-2 unplanned files | LOW | MINOR = 1-2 files, SIGNIFICANT = 3+ files — don't escalate prematurely |
138
+ | Plan not loadable (no TodoWrite, no progress.md) | MEDIUM | Ask calling skill for plan as text description before proceeding |
139
+
140
+ ## Done When
141
+
142
+ - Plan loaded from TodoWrite active tasks or .rune/progress.md
143
+ - git diff --stat and --cached output parsed for all changed files
144
+ - Each changed file classified IN_SCOPE or OUT_OF_SCOPE with reasoning
145
+ - Creep severity classified (IN_SCOPE / MINOR CREEP / SIGNIFICANT CREEP)
146
+ - Scope Report emitted with recommendations
147
+
148
+ ## Cost Profile
149
+
150
+ ~200-500 tokens input, ~100-300 tokens output. Haiku. Lightweight monitor.
@@ -0,0 +1,232 @@
1
+ ---
2
+ name: scout
3
+ description: "Fast codebase scanner. Use when any skill needs codebase context. Finds files, patterns, dependencies, project structure. Pure read-only — never modifies files."
4
+ metadata:
5
+ author: runedev
6
+ version: "0.2.0"
7
+ layer: L2
8
+ model: haiku
9
+ group: creation
10
+ tools: "Read, Glob, Grep"
11
+ ---
12
+
13
+ # scout
14
+
15
+ Fast, lightweight codebase scanning. Scout is the eyes of the Rune ecosystem.
16
+
17
+ ## Instructions
18
+
19
+ When invoked, perform these steps:
20
+
21
+ ### Phase 1: Structure Scan
22
+
23
+ Map the project layout:
24
+
25
+ 1. Use `Glob` with `**/*` to understand directory structure
26
+ 2. Use `Bash` to run `ls` on key directories (root, src, lib, app)
27
+ 3. Identify framework by detecting these files:
28
+ - `package.json` → Node.js/TypeScript
29
+ - `Cargo.toml` → Rust
30
+ - `pyproject.toml` / `setup.py` → Python
31
+ - `go.mod` → Go
32
+ - `pom.xml` / `build.gradle` → Java
33
+
34
+ ```
35
+ TodoWrite: [
36
+ { content: "Scan project structure", status: "in_progress" },
37
+ { content: "Run targeted file search", status: "pending" },
38
+ { content: "Map dependencies", status: "pending" },
39
+ { content: "Detect conventions", status: "pending" },
40
+ { content: "Generate codebase map (if full scan)", status: "pending" },
41
+ { content: "Generate scout report", status: "pending" }
42
+ ]
43
+ ```
44
+
45
+ ### Phase 2: Targeted Search (Search-First)
46
+
47
+ **Search-first principle**: Before building anything new, scout checks if a solution already exists — in the codebase, in package registries, or in available MCP servers.
48
+
49
+ **Adopt / Extend / Compose / Build decision matrix**:
50
+
51
+ When scout finds the caller's target domain, classify the situation:
52
+
53
+ ```
54
+ ADOPT — Exact match exists (in codebase, npm, PyPI, MCP). Use as-is.
55
+ EXTEND — Partial match exists. Extend/configure existing solution.
56
+ COMPOSE — Multiple pieces exist. Wire them together.
57
+ BUILD — Nothing suitable exists. Build from scratch.
58
+ ```
59
+
60
+ Report the classification to the calling skill. This informs Phase 2 (PLAN) in cook — ADOPT and EXTEND are vastly cheaper than BUILD.
61
+
62
+ **Quick checks before deep search**:
63
+ 1. `Grep` the codebase for existing implementations of the target functionality
64
+ 2. Check `package.json` / `pyproject.toml` / `Cargo.toml` for relevant installed packages
65
+ 3. If the task involves external data/APIs: note available MCP servers that might help
66
+
67
+ Based on the scan request, run focused searches:
68
+
69
+ 1. Use `Glob` to find files matching the target domain:
70
+ - Auth domain: `**/*auth*`, `**/*login*`, `**/*session*`
71
+ - API domain: `**/*.controller.*`, `**/*.route.*`, `**/*.handler.*`
72
+ - Data domain: `**/*.model.*`, `**/*.schema.*`, `**/*.entity.*`
73
+ 2. Use `Grep` to search for specific patterns:
74
+ - Function names: `pattern: "function <name>"` or `"def <name>"`
75
+ - Class definitions: `pattern: "class <Name>"`
76
+ - Import statements: `pattern: "import.*<module>"` or `"from <module>"`
77
+ 3. Use `Read` to examine the most relevant files (max 10 files, prioritize by relevance)
78
+
79
+ **Verification gate**: At least 1 relevant file found, OR confirm the target does not exist.
80
+
81
+ ### Phase 3: Dependency Mapping
82
+
83
+ 1. Use `Grep` to find import/require/use statements in identified files
84
+ 2. Map which modules depend on which (A → imports → B)
85
+ 3. Identify the blast radius of potential changes: which files import the target file
86
+
87
+ ### Phase 4: Convention Detection
88
+
89
+ 1. Check for config files using `Glob`:
90
+ - `.eslintrc*`, `eslint.config.*` → ESLint rules
91
+ - `tsconfig.json` → TypeScript config
92
+ - `.prettierrc*` → Prettier config
93
+ - `ruff.toml`, `.ruff.toml` → Python linter
94
+ 2. Check naming conventions by reading 2-3 representative source files
95
+ 3. Find existing tests with `Glob`: `**/*.test.*`, `**/*.spec.*`, `**/test_*`
96
+ 4. Determine test framework: `jest.config.*`, `vitest.config.*`, `pytest.ini`
97
+
98
+ ### Phase 5: Codebase Map (Optional)
99
+
100
+ When called by `cook`, `team`, `onboard`, or `autopsy` (skills that need full project understanding), generate a structured codebase map:
101
+
102
+ 1. Create `.rune/codebase-map.md` with:
103
+
104
+ ```markdown
105
+ ## Codebase Map
106
+ Generated: [timestamp]
107
+
108
+ ### Module Boundaries
109
+ | Module | Directory | Public API | Dependencies | Domain |
110
+ |--------|-----------|-----------|--------------|--------|
111
+ | auth | src/auth/ | login(), logout(), verify() | database, config | Authentication |
112
+ | api | src/api/ | routes, middleware | auth, database | HTTP Layer |
113
+
114
+ ### Dependency Graph (Mermaid)
115
+ ​```mermaid
116
+ graph LR
117
+ api --> auth
118
+ api --> database
119
+ auth --> database
120
+ auth --> config
121
+ ​```
122
+
123
+ ### Domain Ownership
124
+ | Domain | Modules | Key Files |
125
+ |--------|---------|-----------|
126
+ | Authentication | auth, session | src/auth/login.ts, src/auth/verify.ts |
127
+ | Data Layer | database, models | src/db/schema.ts, src/models/ |
128
+ ```
129
+
130
+ 2. Derive modules from directory structure (top-level `src/` subdirectories, or detected framework conventions)
131
+ 3. Public API = exported functions/classes from each module's index/entry file
132
+ 4. Dependencies = import statements between modules (from Phase 3)
133
+ 5. Domain = inferred from module name + file contents (auth, payments, frontend, infra, data, config, etc.)
134
+
135
+ **Skip this phase** when called by skills that only need targeted search (debug, fix, review, sentinel).
136
+
137
+ ### Phase 6: Generate Report
138
+
139
+ Produce structured output for the calling skill. Update TodoWrite to completed.
140
+
141
+ ## Constraints
142
+
143
+ - **Read-only**: NEVER use Edit, Write, or Bash with destructive commands. Exception: Phase 5 may write `.rune/codebase-map.md` when called by cook, team, onboard, or autopsy
144
+ - **Fast**: Max 10 file reads per scan. Prioritize by relevance score
145
+ - **Focused**: Only scan what is relevant to the request, not the entire codebase
146
+ - **No side effects**: Do not cache, store, or modify anything
147
+
148
+ ## Error Recovery
149
+
150
+ - If `Glob` returns 0 results: try broader pattern, then report "not found"
151
+ - If a file fails to `Read`: skip it, note in report, continue with remaining files
152
+ - If project type is ambiguous: check multiple config files, report all candidates
153
+
154
+ ## Calls (outbound)
155
+
156
+ None — pure scanner using Glob, Grep, Read, and Bash tools directly. Does not invoke other skills.
157
+
158
+ ## Called By (inbound)
159
+
160
+ - `plan` (L2): scan codebase before planning
161
+ - `debug` (L2): find related code for root cause analysis
162
+ - `review` (L2): find related code for context during review
163
+ - `fix` (L2): understand dependencies before changing code
164
+ - `cook` (L1): Phase 1 UNDERSTAND — scan codebase
165
+ - `team` (L1): understand full project scope
166
+ - `sentinel` (L2): scan changed files for security issues
167
+ - `preflight` (L2): find affected code paths
168
+ - `onboard` (L2): full project scan for CLAUDE.md generation
169
+ - `autopsy` (L2): comprehensive health assessment
170
+ - `surgeon` (L2): scan module before refactoring
171
+ - `marketing` (L2): scan codebase for feature descriptions
172
+ - `safeguard` (L2): scan module boundaries before adding safety net
173
+ - `audit` (L2): Phase 0 project structure and stack discovery
174
+ - `db` (L2): find schema and migration files
175
+ - `design` (L2): scan UI component library and design tokens
176
+ - `perf` (L2): find hotpath files and performance-critical code
177
+ - `review-intake` (L2): scan codebase for review context
178
+ - `skill-forge` (L2): scan existing skills for patterns when creating new skills
179
+
180
+ ## Output Format
181
+
182
+ ```
183
+ ## Scout Report
184
+ - **Project**: [name] | **Framework**: [detected] | **Language**: [detected]
185
+ - **Files**: [count] | **Test Framework**: [detected]
186
+
187
+ ### Relevant Files
188
+ | File | Why Relevant | LOC |
189
+ |------|-------------|-----|
190
+ | `path/to/file` | [reason] | [lines] |
191
+
192
+ ### Dependencies
193
+ - `module-a` → imports → `module-b`
194
+
195
+ ### Conventions
196
+ - Naming: [pattern detected]
197
+ - File structure: [pattern]
198
+ - Test pattern: [pattern]
199
+
200
+ ### Search-First Assessment
201
+ - **Classification**: ADOPT | EXTEND | COMPOSE | BUILD
202
+ - **Existing solution**: [what was found, if any]
203
+ - **Recommendation**: [brief rationale]
204
+
205
+ ### Observations
206
+ - [pattern or potential issue noticed]
207
+ ```
208
+
209
+ ## Sharp Edges
210
+
211
+ Known failure modes for this skill. Check these before declaring done.
212
+
213
+ | Failure Mode | Severity | Mitigation |
214
+ |---|---|---|
215
+ | Reading all files instead of targeted search (50+ files scanned) | MEDIUM | Max 10 file reads enforced — prioritize by relevance to the caller's domain |
216
+ | Reporting "nothing found" without trying a broader pattern | MEDIUM | Try broader glob first (e.g. `**/*auth*` → `**/auth*` → `**/*login*`), then report not found |
217
+ | Wrong framework detection affects all downstream planning | HIGH | Check multiple config files; report all candidates if ambiguous, don't guess |
218
+ | Missing dependency blast radius in Phase 3 | MEDIUM | Phase 3 is mandatory — callers need to know what else imports the target |
219
+
220
+ ## Done When
221
+
222
+ - Project structure mapped (directory layout, entry points)
223
+ - Framework detected from config files (or "ambiguous" with candidates listed)
224
+ - Targeted file search completed for the caller's domain
225
+ - Dependency blast radius identified for target files
226
+ - Conventions detected (naming, test framework, linting config)
227
+ - Codebase map written to `.rune/codebase-map.md` (when called by cook, team, onboard, autopsy)
228
+ - Scout Report emitted in structured format with Relevant Files table
229
+
230
+ ## Cost Profile
231
+
232
+ ~500-2000 tokens input, ~200-500 tokens output. Always haiku. Cheapest skill in the mesh.