@thierrynakoa/fire-flow 10.0.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 (215) hide show
  1. package/.claude-plugin/plugin.json +64 -0
  2. package/ARCHITECTURE-DIAGRAM.md +440 -0
  3. package/COMMAND-REFERENCE.md +172 -0
  4. package/DOMINION-FLOW-OVERVIEW.md +421 -0
  5. package/LICENSE +21 -0
  6. package/QUICK-START.md +351 -0
  7. package/README.md +398 -0
  8. package/TROUBLESHOOTING.md +264 -0
  9. package/agents/fire-codebase-mapper.md +484 -0
  10. package/agents/fire-debugger.md +535 -0
  11. package/agents/fire-executor.md +949 -0
  12. package/agents/fire-fact-checker.md +276 -0
  13. package/agents/fire-learncoding-explainer.md +237 -0
  14. package/agents/fire-learncoding-walker.md +147 -0
  15. package/agents/fire-planner.md +675 -0
  16. package/agents/fire-project-researcher.md +155 -0
  17. package/agents/fire-research-synthesizer.md +166 -0
  18. package/agents/fire-researcher.md +723 -0
  19. package/agents/fire-reviewer.md +499 -0
  20. package/agents/fire-roadmapper.md +203 -0
  21. package/agents/fire-verifier.md +880 -0
  22. package/bin/cli.js +208 -0
  23. package/commands/fire-0-orient.md +476 -0
  24. package/commands/fire-1-new.md +281 -0
  25. package/commands/fire-1a-discuss.md +455 -0
  26. package/commands/fire-2-plan.md +527 -0
  27. package/commands/fire-3-execute.md +1303 -0
  28. package/commands/fire-4-verify.md +845 -0
  29. package/commands/fire-5-handoff.md +515 -0
  30. package/commands/fire-6-resume.md +501 -0
  31. package/commands/fire-7-review.md +409 -0
  32. package/commands/fire-add-new-skill.md +598 -0
  33. package/commands/fire-analytics.md +499 -0
  34. package/commands/fire-assumptions.md +78 -0
  35. package/commands/fire-autonomous.md +528 -0
  36. package/commands/fire-brainstorm.md +413 -0
  37. package/commands/fire-complete-milestone.md +270 -0
  38. package/commands/fire-dashboard.md +375 -0
  39. package/commands/fire-debug.md +663 -0
  40. package/commands/fire-discover.md +616 -0
  41. package/commands/fire-double-check.md +460 -0
  42. package/commands/fire-execute-plan.md +182 -0
  43. package/commands/fire-learncoding.md +242 -0
  44. package/commands/fire-loop-resume.md +272 -0
  45. package/commands/fire-loop-stop.md +198 -0
  46. package/commands/fire-loop.md +1168 -0
  47. package/commands/fire-map-codebase.md +313 -0
  48. package/commands/fire-new-milestone.md +356 -0
  49. package/commands/fire-reflect.md +235 -0
  50. package/commands/fire-research.md +246 -0
  51. package/commands/fire-search.md +330 -0
  52. package/commands/fire-security-audit-repo.md +293 -0
  53. package/commands/fire-security-scan.md +484 -0
  54. package/commands/fire-session-summary.md +252 -0
  55. package/commands/fire-skills-diff.md +506 -0
  56. package/commands/fire-skills-history.md +388 -0
  57. package/commands/fire-skills-rollback.md +408 -0
  58. package/commands/fire-skills-sync.md +470 -0
  59. package/commands/fire-test.md +520 -0
  60. package/commands/fire-todos.md +335 -0
  61. package/commands/fire-transition.md +186 -0
  62. package/commands/fire-update.md +312 -0
  63. package/commands/fire-verify-uat.md +146 -0
  64. package/commands/fire-vuln-scan.md +493 -0
  65. package/hooks/hooks.json +16 -0
  66. package/hooks/run-hook.cmd +69 -0
  67. package/hooks/run-hook.sh +8 -0
  68. package/hooks/run-session-end.cmd +49 -0
  69. package/hooks/run-session-end.sh +7 -0
  70. package/hooks/session-end.sh +90 -0
  71. package/hooks/session-start.sh +111 -0
  72. package/package.json +52 -0
  73. package/plugin.json +7 -0
  74. package/references/auto-skill-extraction.md +136 -0
  75. package/references/behavioral-directives.md +365 -0
  76. package/references/blocker-tracking.md +155 -0
  77. package/references/checkpoints.md +165 -0
  78. package/references/circuit-breaker.md +410 -0
  79. package/references/context-engineering.md +587 -0
  80. package/references/decision-time-guidance.md +289 -0
  81. package/references/error-classification.md +326 -0
  82. package/references/execution-mode-intelligence.md +242 -0
  83. package/references/git-integration.md +217 -0
  84. package/references/honesty-protocols.md +304 -0
  85. package/references/integration-architecture.md +470 -0
  86. package/references/issue-to-pr-pipeline.md +150 -0
  87. package/references/metrics-and-trends.md +234 -0
  88. package/references/playwright-e2e-testing.md +326 -0
  89. package/references/questioning.md +125 -0
  90. package/references/research-improvements.md +110 -0
  91. package/references/skills-usage-guide.md +429 -0
  92. package/references/tdd.md +131 -0
  93. package/references/testing-enforcement.md +192 -0
  94. package/references/ui-brand.md +383 -0
  95. package/references/validation-checklist.md +456 -0
  96. package/references/verification-patterns.md +187 -0
  97. package/references/warrior-principles.md +173 -0
  98. package/skills-library/SKILLS-INDEX.md +588 -0
  99. package/skills-library/_general/frontend/html-visual-reports.md +292 -0
  100. package/skills-library/_general/methodology/debug-swarm-researcher-escape-hatch.md +240 -0
  101. package/skills-library/_general/methodology/learncoding-agentic-pattern.md +114 -0
  102. package/skills-library/_general/methodology/shell-autonomous-loop-fixplan.md +238 -0
  103. package/skills-library/basics/api-rest-basics.md +162 -0
  104. package/skills-library/basics/env-variables.md +96 -0
  105. package/skills-library/basics/error-handling-basics.md +125 -0
  106. package/skills-library/basics/git-commit-conventions.md +106 -0
  107. package/skills-library/basics/readme-template.md +108 -0
  108. package/skills-library/common-tasks/async-await-patterns.md +157 -0
  109. package/skills-library/common-tasks/auth-jwt-basics.md +164 -0
  110. package/skills-library/common-tasks/database-schema-design.md +166 -0
  111. package/skills-library/common-tasks/file-upload-basics.md +166 -0
  112. package/skills-library/common-tasks/form-validation.md +159 -0
  113. package/skills-library/debugging/FAILURE_TAXONOMY_CLASSIFICATION.md +117 -0
  114. package/skills-library/debugging/THREE_AGENT_HYPOTHESIS_DEBUGGING.md +86 -0
  115. package/skills-library/methodology/BREATH_BASED_PARALLEL_EXECUTION.md +678 -0
  116. package/skills-library/methodology/CONFIDENCE_GATED_EXECUTION.md +243 -0
  117. package/skills-library/methodology/EVIDENCE_BASED_VALIDATION.md +308 -0
  118. package/skills-library/methodology/MULTI_PERSPECTIVE_CODE_REVIEW.md +330 -0
  119. package/skills-library/methodology/PATH_VERIFICATION_GATE.md +211 -0
  120. package/skills-library/methodology/REFLEXION_MEMORY_PATTERN.md +183 -0
  121. package/skills-library/methodology/RESEARCH_BACKED_WORKFLOW_UPGRADE.md +263 -0
  122. package/skills-library/methodology/SABBATH_REST_PATTERN.md +267 -0
  123. package/skills-library/methodology/STONE_AND_SCAFFOLD.md +220 -0
  124. package/skills-library/performance/cache-augmented-generation.md +172 -0
  125. package/skills-library/quality-safety/debugging-steps.md +147 -0
  126. package/skills-library/quality-safety/deployment-checklist.md +155 -0
  127. package/skills-library/quality-safety/security-checklist.md +204 -0
  128. package/skills-library/quality-safety/testing-basics.md +180 -0
  129. package/skills-library/security/agent-security-scanner.md +445 -0
  130. package/skills-library/specialists/api-architecture/api-designer.md +49 -0
  131. package/skills-library/specialists/api-architecture/graphql-architect.md +49 -0
  132. package/skills-library/specialists/api-architecture/mcp-developer.md +51 -0
  133. package/skills-library/specialists/api-architecture/microservices-architect.md +50 -0
  134. package/skills-library/specialists/api-architecture/websocket-engineer.md +48 -0
  135. package/skills-library/specialists/backend/django-expert.md +52 -0
  136. package/skills-library/specialists/backend/fastapi-expert.md +52 -0
  137. package/skills-library/specialists/backend/laravel-specialist.md +52 -0
  138. package/skills-library/specialists/backend/nestjs-expert.md +51 -0
  139. package/skills-library/specialists/backend/rails-expert.md +53 -0
  140. package/skills-library/specialists/backend/spring-boot-engineer.md +56 -0
  141. package/skills-library/specialists/data-ml/fine-tuning-expert.md +48 -0
  142. package/skills-library/specialists/data-ml/ml-pipeline.md +47 -0
  143. package/skills-library/specialists/data-ml/pandas-pro.md +47 -0
  144. package/skills-library/specialists/data-ml/rag-architect.md +51 -0
  145. package/skills-library/specialists/data-ml/spark-engineer.md +47 -0
  146. package/skills-library/specialists/frontend/angular-architect.md +52 -0
  147. package/skills-library/specialists/frontend/flutter-expert.md +51 -0
  148. package/skills-library/specialists/frontend/nextjs-developer.md +54 -0
  149. package/skills-library/specialists/frontend/react-native-expert.md +50 -0
  150. package/skills-library/specialists/frontend/vue-expert.md +51 -0
  151. package/skills-library/specialists/infrastructure/chaos-engineer.md +74 -0
  152. package/skills-library/specialists/infrastructure/cloud-architect.md +70 -0
  153. package/skills-library/specialists/infrastructure/database-optimizer.md +64 -0
  154. package/skills-library/specialists/infrastructure/devops-engineer.md +70 -0
  155. package/skills-library/specialists/infrastructure/kubernetes-specialist.md +52 -0
  156. package/skills-library/specialists/infrastructure/monitoring-expert.md +70 -0
  157. package/skills-library/specialists/infrastructure/sre-engineer.md +70 -0
  158. package/skills-library/specialists/infrastructure/terraform-engineer.md +51 -0
  159. package/skills-library/specialists/languages/cpp-pro.md +74 -0
  160. package/skills-library/specialists/languages/csharp-developer.md +69 -0
  161. package/skills-library/specialists/languages/dotnet-core-expert.md +54 -0
  162. package/skills-library/specialists/languages/golang-pro.md +51 -0
  163. package/skills-library/specialists/languages/java-architect.md +49 -0
  164. package/skills-library/specialists/languages/javascript-pro.md +68 -0
  165. package/skills-library/specialists/languages/kotlin-specialist.md +68 -0
  166. package/skills-library/specialists/languages/php-pro.md +49 -0
  167. package/skills-library/specialists/languages/python-pro.md +52 -0
  168. package/skills-library/specialists/languages/react-expert.md +51 -0
  169. package/skills-library/specialists/languages/rust-engineer.md +50 -0
  170. package/skills-library/specialists/languages/sql-pro.md +56 -0
  171. package/skills-library/specialists/languages/swift-expert.md +69 -0
  172. package/skills-library/specialists/languages/typescript-pro.md +51 -0
  173. package/skills-library/specialists/platform/atlassian-mcp.md +52 -0
  174. package/skills-library/specialists/platform/embedded-systems.md +53 -0
  175. package/skills-library/specialists/platform/game-developer.md +53 -0
  176. package/skills-library/specialists/platform/salesforce-developer.md +53 -0
  177. package/skills-library/specialists/platform/shopify-expert.md +49 -0
  178. package/skills-library/specialists/platform/wordpress-pro.md +49 -0
  179. package/skills-library/specialists/quality/code-documenter.md +51 -0
  180. package/skills-library/specialists/quality/code-reviewer.md +67 -0
  181. package/skills-library/specialists/quality/debugging-wizard.md +51 -0
  182. package/skills-library/specialists/quality/fullstack-guardian.md +51 -0
  183. package/skills-library/specialists/quality/legacy-modernizer.md +50 -0
  184. package/skills-library/specialists/quality/playwright-expert.md +65 -0
  185. package/skills-library/specialists/quality/spec-miner.md +56 -0
  186. package/skills-library/specialists/quality/test-master.md +65 -0
  187. package/skills-library/specialists/security/secure-code-guardian.md +55 -0
  188. package/skills-library/specialists/security/security-reviewer.md +53 -0
  189. package/skills-library/specialists/workflow/architecture-designer.md +53 -0
  190. package/skills-library/specialists/workflow/cli-developer.md +70 -0
  191. package/skills-library/specialists/workflow/feature-forge.md +65 -0
  192. package/skills-library/specialists/workflow/prompt-engineer.md +54 -0
  193. package/skills-library/specialists/workflow/the-fool.md +62 -0
  194. package/templates/ASSUMPTIONS.md +125 -0
  195. package/templates/BLOCKERS.md +73 -0
  196. package/templates/DECISION_LOG.md +116 -0
  197. package/templates/UAT.md +96 -0
  198. package/templates/blueprint.md +94 -0
  199. package/templates/brainstorm.md +185 -0
  200. package/templates/conscience.md +92 -0
  201. package/templates/fire-handoff.md +159 -0
  202. package/templates/metrics.md +67 -0
  203. package/templates/phase-prompt.md +142 -0
  204. package/templates/record.md +131 -0
  205. package/templates/review-report.md +117 -0
  206. package/templates/skills-index.md +157 -0
  207. package/templates/verification.md +149 -0
  208. package/templates/vision.md +79 -0
  209. package/validation-config.yml +793 -0
  210. package/version.json +7 -0
  211. package/workflows/execute-phase.md +732 -0
  212. package/workflows/handoff-session.md +678 -0
  213. package/workflows/new-project.md +578 -0
  214. package/workflows/plan-phase.md +592 -0
  215. package/workflows/verify-phase.md +874 -0
@@ -0,0 +1,330 @@
1
+ ---
2
+ name: power-search
3
+ description: Search the skills library for patterns, solutions, and best practices
4
+ arguments:
5
+ - name: query
6
+ description: Search keywords, category name, or tag to find relevant skills
7
+ required: true
8
+ type: string
9
+ triggers:
10
+ - "search skills"
11
+ - "find skill"
12
+ - "skill for"
13
+ - "pattern for"
14
+ ---
15
+
16
+ # /fire-search - Skills Library Search
17
+
18
+ Search across 172 skills in 15 categories to find proven solutions and patterns.
19
+
20
+ ## Purpose
21
+
22
+ Find relevant skills from the Dominion Flow skills library to:
23
+ - Apply proven patterns to current tasks
24
+ - Avoid reinventing solutions
25
+ - Learn from past project successes
26
+ - Speed up development with tested approaches
27
+
28
+ ## Arguments
29
+
30
+ | Argument | Required | Description |
31
+ |----------|----------|-------------|
32
+ | `query` | Yes | Search term: keyword, category, tag, or problem description |
33
+
34
+ ## Usage Examples
35
+
36
+ ```bash
37
+ # Search by keyword
38
+ /fire-search "database performance"
39
+ /fire-search "authentication"
40
+ /fire-search "pagination"
41
+
42
+ # Search by category
43
+ /fire-search "category:security"
44
+ /fire-search "category:api-patterns"
45
+
46
+ # Search by tag
47
+ /fire-search "tag:prisma"
48
+ /fire-search "tag:react"
49
+
50
+ # Search by problem description
51
+ /fire-search "slow queries taking too long"
52
+ /fire-search "how to handle API errors"
53
+ ```
54
+
55
+ ## Process
56
+
57
+ <step number="1">
58
+ ### Parse Search Query
59
+
60
+ Analyze the query to determine search type:
61
+ - **Keyword search**: Match against skill names, descriptions, and content
62
+ - **Category filter**: `category:X` searches within specific category
63
+ - **Tag filter**: `tag:X` searches by skill tags
64
+ - **Problem description**: Natural language matching against problem/solution sections
65
+
66
+ ```
67
+ Query: "{query}"
68
+ Type: [keyword | category | tag | problem]
69
+ ```
70
+ </step>
71
+
72
+ <step number="2">
73
+ ### Search Skills Library
74
+
75
+ Search across all skill files in:
76
+ - `~/.claude/plugins/dominion-flow/skills-library/`
77
+
78
+ Categories to search (15 total):
79
+ 1. `database-solutions/` - Database patterns, queries, optimization
80
+ 2. `api-patterns/` - REST, GraphQL, versioning, error handling
81
+ 3. `security/` - Auth, validation, encryption, OWASP
82
+ 4. `performance/` - Caching, optimization, bundle size
83
+ 5. `frontend/` - React, Vue, state management, CSS
84
+ 6. `testing/` - Unit, integration, E2E, mocking
85
+ 7. `infrastructure/` - Docker, CI/CD, deployment
86
+ 8. `form-solutions/` - Validation, multi-step, file uploads
87
+ 9. `ecommerce/` - Payments, cart, inventory
88
+ 10. `video-media/` - Streaming, processing, uploads
89
+ 11. `document-processing/` - PDF, parsing, generation
90
+ 12. `integrations/` - Third-party APIs, webhooks
91
+ 13. `automation/` - Scripts, scheduled tasks, workflows
92
+ 14. `patterns-standards/` - Design patterns, code standards
93
+ 15. `methodology/` - Process, planning, review patterns
94
+
95
+ Match criteria:
96
+ - Skill name contains query terms
97
+ - Description contains query terms
98
+ - Tags include query terms
99
+ - Problem section matches query
100
+ - Solution section matches query
101
+ </step>
102
+
103
+ <step number="3">
104
+ ### Rank Results
105
+
106
+ Score matches by relevance:
107
+ - **Exact name match**: +100 points
108
+ - **Name contains term**: +50 points
109
+ - **Tag match**: +40 points
110
+ - **Description match**: +30 points
111
+ - **Problem section match**: +25 points
112
+ - **Solution section match**: +20 points
113
+ - **Content match**: +10 points
114
+
115
+ Additional scoring factors:
116
+ - **Usage frequency**: +5 points per application in current project
117
+ - **Recency**: +10 points if applied in last 7 days
118
+ - **Success rate**: +15 points if >90% success rate
119
+
120
+ Return top 10 results, sorted by score.
121
+ </step>
122
+
123
+ <step number="4">
124
+ ### Display Results
125
+
126
+ Format output with skill details and recommendations.
127
+ </step>
128
+
129
+ ## Output Format
130
+
131
+ ```
132
+ =============================================================
133
+ SKILLS SEARCH RESULTS
134
+ =============================================================
135
+
136
+ Query: "{query}"
137
+ Found: X matching skills
138
+
139
+ -------------------------------------------------------------
140
+ TOP MATCHES
141
+ -------------------------------------------------------------
142
+
143
+ 1. [{category}] {skill-name}
144
+ Score: {score} | Tags: {tags}
145
+
146
+ Problem: {brief problem description}
147
+ Solution: {brief solution summary}
148
+
149
+ Usage: Applied {N} times | Success: {rate}%
150
+
151
+ View: /fire-search --detail {category}/{skill-name}
152
+
153
+ -------------------------------------------------------------
154
+
155
+ 2. [{category}] {skill-name}
156
+ ...
157
+
158
+ -------------------------------------------------------------
159
+ RECOMMENDATIONS
160
+ -------------------------------------------------------------
161
+
162
+ Based on your query "{query}", consider:
163
+
164
+ - **Start with**: {top-skill-name}
165
+ Best match for immediate application. Addresses {reason}.
166
+
167
+ - **Also relevant**: {second-skill-name}
168
+ Useful if you need {specific scenario}.
169
+
170
+ - **Related patterns**: {related-skills}
171
+ Often used together with the above.
172
+
173
+ -------------------------------------------------------------
174
+ QUICK ACTIONS
175
+ -------------------------------------------------------------
176
+
177
+ [1] View skill detail: /fire-search --detail {skill}
178
+ [2] Apply to plan: Add to skills_to_apply in BLUEPRINT.md
179
+ [3] See more results: /fire-search "{query}" --limit 20
180
+ [4] Search different: /fire-search "{alternative-query}"
181
+
182
+ =============================================================
183
+ ```
184
+
185
+ ## Advanced Options
186
+
187
+ | Option | Description |
188
+ |--------|-------------|
189
+ | `--detail {skill}` | Show full skill document |
190
+ | `--category {name}` | Filter by category |
191
+ | `--tag {tag}` | Filter by tag |
192
+ | `--scope {scope}` | Filter by scope: `general`, `project`, or `all` (default) (v7.0) |
193
+ | `--limit {N}` | Number of results (default: 10) |
194
+ | `--json` | Output as JSON for integrations |
195
+ | `--applied` | Show only skills applied in current project |
196
+ | `--unused` | Show skills never applied (discover new patterns) |
197
+
198
+ ### Scope Filter (v7.0 — SkillRL + SKILL.md)
199
+
200
+ > **Research basis:** SkillRL (Dec 2025) + SKILL.md (Feb 2026) + Odyssey (IJCAI 2025) —
201
+ > Hierarchical skill banks that separate general from task-specific skills improve
202
+ > retrieval precision by reducing noise from irrelevant project-specific patterns.
203
+
204
+ ```
205
+ --scope options:
206
+ general — Search only _general/ skills (cross-project patterns)
207
+ project — Search only project-matching skills (detected from cwd)
208
+ all — Search everything (default, current behavior)
209
+
210
+ Auto-detection: If inside a project directory, default to --scope project
211
+ with _general/ always included. Explicit --scope all for full search.
212
+ ```
213
+
214
+ **Directory structure:**
215
+ ```
216
+ skills-library/
217
+ ├── _general/ ← Cross-project skills (v7.0)
218
+ │ ├── debugging/
219
+ │ ├── testing/
220
+ │ ├── api-patterns/
221
+ │ └── patterns-standards/
222
+ ├── database-solutions/
223
+ ├── security/
224
+ ├── frontend/
225
+ └── [project-specific categories]
226
+ ```
227
+
228
+ General skills are always included regardless of scope.
229
+
230
+ ## Detailed View Output
231
+
232
+ When using `--detail`:
233
+
234
+ ```
235
+ =============================================================
236
+ SKILL: {category}/{skill-name}
237
+ =============================================================
238
+
239
+ Version: {version}
240
+ Last Updated: {date}
241
+ Contributors: {list}
242
+ Tags: {tags}
243
+ Difficulty: {easy|medium|hard}
244
+
245
+ -------------------------------------------------------------
246
+ PROBLEM
247
+ -------------------------------------------------------------
248
+
249
+ {Full problem description from skill file}
250
+
251
+ -------------------------------------------------------------
252
+ SOLUTION PATTERN
253
+ -------------------------------------------------------------
254
+
255
+ {Full solution pattern with explanation}
256
+
257
+ -------------------------------------------------------------
258
+ CODE EXAMPLE
259
+ -------------------------------------------------------------
260
+
261
+ // Before (problematic)
262
+ {code showing the problem}
263
+
264
+ // After (solution)
265
+ {code showing the fix}
266
+
267
+ -------------------------------------------------------------
268
+ WHEN TO USE
269
+ -------------------------------------------------------------
270
+
271
+ - {scenario 1}
272
+ - {scenario 2}
273
+ - {scenario 3}
274
+
275
+ -------------------------------------------------------------
276
+ WHEN NOT TO USE
277
+ -------------------------------------------------------------
278
+
279
+ - {anti-pattern 1}
280
+ - {anti-pattern 2}
281
+
282
+ -------------------------------------------------------------
283
+ RELATED SKILLS
284
+ -------------------------------------------------------------
285
+
286
+ - {related-skill-1} - {brief description}
287
+ - {related-skill-2} - {brief description}
288
+
289
+ -------------------------------------------------------------
290
+ REFERENCES
291
+ -------------------------------------------------------------
292
+
293
+ - {external link 1}
294
+ - {external link 2}
295
+
296
+ -------------------------------------------------------------
297
+ USAGE IN THIS PROJECT
298
+ -------------------------------------------------------------
299
+
300
+ Applied: {N} times
301
+ Phases: {list of phases where applied}
302
+ Success Rate: {rate}%
303
+ Last Used: {date}
304
+
305
+ =============================================================
306
+ ```
307
+
308
+ ## Integration with Planning
309
+
310
+ When you find a relevant skill, add it to your plan:
311
+
312
+ ```yaml
313
+ # In BLUEPRINT.md frontmatter
314
+ skills_to_apply:
315
+ - "database-solutions/n-plus-1"
316
+ - "api-patterns/pagination"
317
+ ```
318
+
319
+ The fire-executor will:
320
+ 1. Load these skills before execution
321
+ 2. Apply patterns from skills to implementation
322
+ 3. Document skill application in RECORD.md
323
+ 4. Update SKILLS-INDEX.md with usage
324
+
325
+ ## Related Commands
326
+
327
+ - `/fire-contribute` - Add a new skill to the library
328
+ - `/fire-skills-sync` - Sync with global skills library
329
+ - `/fire-skills-history` - View skill version history
330
+ - `/fire-analytics` - See skills usage analytics
@@ -0,0 +1,293 @@
1
+ ---
2
+ name: fire-security-audit-repo
3
+ description: Security audit a GitHub repo before installing as a skill or plugin
4
+ arguments:
5
+ - name: repo
6
+ description: GitHub repo URL or owner/name (e.g., nicobailon/visual-explainer)
7
+ required: true
8
+ type: string
9
+ - name: install-as
10
+ description: Where to install if clean (skill, plugin, or skip)
11
+ required: false
12
+ type: string
13
+ default: "skill"
14
+ triggers:
15
+ - "audit repo"
16
+ - "check repo"
17
+ - "install skill from github"
18
+ - "security scan repo"
19
+ ---
20
+
21
+ # /fire-security-audit-repo — Pre-Install Security Audit
22
+
23
+ > Audit any GitHub repo for security threats before installing it as a Claude Code skill or plugin.
24
+
25
+ ---
26
+
27
+ ## Purpose
28
+
29
+ Prevent supply chain attacks by running a 6-layer security audit on any GitHub repository before it enters the agent's trusted execution environment. This is the **pre-download and pre-use** gate.
30
+
31
+ ---
32
+
33
+ ## Process
34
+
35
+ ### Step 1: Pre-Download Intelligence
36
+
37
+ Before cloning, gather repo metadata:
38
+
39
+ ```bash
40
+ # Parse repo from URL or owner/name format
41
+ REPO="{owner}/{name}"
42
+
43
+ # Gather intelligence
44
+ gh repo view $REPO --json stargazersCount,forkCount,createdAt,updatedAt,licenseInfo,description,isArchived
45
+ gh api repos/$REPO/commits?per_page=5 --jq '.[].commit.message'
46
+ gh api users/{owner} --jq '{login, created_at, public_repos, followers}'
47
+ ```
48
+
49
+ **Display pre-download report:**
50
+
51
+ ```
52
+ +------------------------------------------------------------------------------+
53
+ | FIRE SECURITY AUDIT — PRE-DOWNLOAD |
54
+ +------------------------------------------------------------------------------+
55
+ | |
56
+ | Repo: {owner}/{name} |
57
+ | Description: {description} |
58
+ | Stars: {N} Forks: {N} License: {license} |
59
+ | Created: {date} Last updated: {date} |
60
+ | Owner: {login} ({public_repos} repos, {followers} followers, since {date}) |
61
+ | |
62
+ | Recent commits: |
63
+ | - {message 1} |
64
+ | - {message 2} |
65
+ | - {message 3} |
66
+ | |
67
+ +------------------------------------------------------------------------------+
68
+ ```
69
+
70
+ **Red flag checks:**
71
+
72
+ | Check | Threshold | Result |
73
+ |-------|-----------|--------|
74
+ | Repo age | > 30 days | {PASS/WARN} |
75
+ | Stars | > 10 | {PASS/WARN} |
76
+ | Owner account age | > 90 days | {PASS/WARN} |
77
+ | Owner other repos | > 3 | {PASS/WARN} |
78
+ | License present | Yes | {PASS/WARN} |
79
+ | Not archived | True | {PASS/FAIL} |
80
+
81
+ **If 3+ red flags → WARN user before cloning:**
82
+
83
+ ```
84
+ Use AskUserQuestion:
85
+ header: "Risk"
86
+ question: "This repo has {N} red flags: {list}. Clone for deep audit anyway?"
87
+ options:
88
+ - "Yes, audit anyway" - Proceed with clone + full audit
89
+ - "No, skip" - Abort installation
90
+ ```
91
+
92
+ ### Step 2: Clone to Temp Directory
93
+
94
+ ```bash
95
+ cd /tmp && git clone https://github.com/{owner}/{name}.git {name}-security-review
96
+ ```
97
+
98
+ **NEVER clone directly to the install location.**
99
+
100
+ ### Step 3: Layer 1 — Credential Scan
101
+
102
+ ```bash
103
+ bash ~/.claude/hooks/credential-filter.sh --dir /tmp/{name}-security-review/
104
+ ```
105
+
106
+ | Result | Action |
107
+ |--------|--------|
108
+ | Exit 0 | CLEAN — proceed |
109
+ | Exit 1 | BLOCKED — show findings, abort |
110
+
111
+ ### Step 4: Layer 2 — Prompt Injection Scan
112
+
113
+ Search ALL text files for prompt injection patterns:
114
+
115
+ ```bash
116
+ # Instruction override patterns
117
+ grep -rnEi 'ignore.*(previous|above|prior).*(instruction|prompt|rule)' /tmp/{name}-security-review/ --include='*.md' --include='*.txt' --include='*.json' --include='*.yaml' --include='*.yml'
118
+
119
+ # Role manipulation
120
+ grep -rnEi '(you are now|act as|new role|forget everything|override|bypass|disregard)' /tmp/{name}-security-review/ --include='*.md' --include='*.txt'
121
+
122
+ # System prompt extraction
123
+ grep -rnEi '(system prompt|show me your|repeat your|reveal your|print your).*(instructions|prompt|rules)' /tmp/{name}-security-review/ --include='*.md' --include='*.txt'
124
+
125
+ # Special tokens
126
+ grep -rnE '<\|im_start\|>|<\|im_end\|>|\[INST\]|\[\/INST\]' /tmp/{name}-security-review/
127
+ ```
128
+
129
+ Also scan for invisible Unicode:
130
+
131
+ ```bash
132
+ # Zero-width characters
133
+ grep -rP '[\x{200B}\x{200C}\x{200D}\x{FEFF}\x{2060}]' /tmp/{name}-security-review/ --include='*.md' --include='*.txt'
134
+ ```
135
+
136
+ ### Step 5: Layer 3 — Exfiltration Detection
137
+
138
+ ```bash
139
+ # Network calls in scripts
140
+ grep -rnE '(fetch\(|XMLHttpRequest|WebSocket|navigator\.sendBeacon|\.ajax\()' /tmp/{name}-security-review/ --include='*.js' --include='*.ts' --include='*.html'
141
+
142
+ # Shell network commands
143
+ grep -rnE '(curl |wget |nc |ncat )' /tmp/{name}-security-review/ --include='*.sh' --include='*.md'
144
+
145
+ # Cookie/storage access
146
+ grep -rnE '(document\.cookie|localStorage\.|sessionStorage\.)' /tmp/{name}-security-review/ --include='*.js' --include='*.html'
147
+ ```
148
+
149
+ **Allowlist CDN domains:** jsdelivr.net, cdnjs.cloudflare.com, unpkg.com, fonts.googleapis.com, fonts.gstatic.com
150
+
151
+ Any URL NOT on the allowlist → flag for review.
152
+
153
+ ### Step 6: Layer 4 — Tool Poisoning
154
+
155
+ ```bash
156
+ # Destructive operations
157
+ grep -rnE '(rm -rf|sudo |chmod 777|eval\(|exec\()' /tmp/{name}-security-review/
158
+
159
+ # Credential file access
160
+ grep -rnE '(\.env|\.ssh|\.aws|credentials|\.gnupg|\.netrc)' /tmp/{name}-security-review/ --include='*.md' --include='*.sh' --include='*.js'
161
+
162
+ # Process spawning
163
+ grep -rnE '(child_process|os\.system|subprocess|spawn\()' /tmp/{name}-security-review/ --include='*.js' --include='*.ts' --include='*.py'
164
+ ```
165
+
166
+ ### Step 7: Layer 5 — Hidden Content
167
+
168
+ ```bash
169
+ # Base64 payloads (>100 chars, exclude image data URIs)
170
+ grep -rnE '[A-Za-z0-9+/]{100,}={0,2}' /tmp/{name}-security-review/ --include='*.md' --include='*.json' | grep -v 'data:image'
171
+
172
+ # Obfuscation
173
+ grep -rnE '(atob|btoa|String\.fromCharCode|unescape|decodeURI)' /tmp/{name}-security-review/ --include='*.js' --include='*.html'
174
+ ```
175
+
176
+ ### Step 8: Layer 6 — CDN Dependency Pinning
177
+
178
+ For each external script/CSS URL found in HTML files:
179
+
180
+ | URL Pattern | Verdict |
181
+ |-------------|---------|
182
+ | `@3.2.2` (exact) | GOOD |
183
+ | `@11` (major only) | ADVISORY |
184
+ | No version | WARNING |
185
+ | Unknown CDN | RED FLAG |
186
+
187
+ ### Step 9: Compile Audit Report
188
+
189
+ ```
190
+ +------------------------------------------------------------------------------+
191
+ | FIRE SECURITY AUDIT — RESULTS |
192
+ +------------------------------------------------------------------------------+
193
+ | |
194
+ | Repo: {owner}/{name} |
195
+ | Files scanned: {N} |
196
+ | |
197
+ | Layer 1: Credentials ... {CLEAN | BLOCKED} |
198
+ | Layer 2: Prompt Injection ... {CLEAN | FOUND {N}} |
199
+ | Layer 3: Exfiltration ... {CLEAN | FOUND {N}} |
200
+ | Layer 4: Tool Poisoning ... {CLEAN | FOUND {N}} |
201
+ | Layer 5: Hidden Content ... {CLEAN | FOUND {N}} |
202
+ | Layer 6: CDN Pinning ... {GOOD | ADVISORY {N} | WARNING {N}} |
203
+ | |
204
+ | OVERALL VERDICT: {CLEAN | ADVISORY | SUSPICIOUS | BLOCKED} |
205
+ | |
206
+ +------------------------------------------------------------------------------+
207
+ ```
208
+
209
+ ### Step 10: Install or Reject
210
+
211
+ **If CLEAN or ADVISORY:**
212
+
213
+ ```bash
214
+ # Install as skill
215
+ cp -r /tmp/{name}-security-review/ ~/.claude/skills/{name}/
216
+ rm -rf ~/.claude/skills/{name}/.git
217
+
218
+ # Run credential filter one more time on installed location
219
+ bash ~/.claude/hooks/credential-filter.sh --dir ~/.claude/skills/{name}/
220
+ ```
221
+
222
+ **If SUSPICIOUS:**
223
+
224
+ ```
225
+ Use AskUserQuestion:
226
+ header: "Suspicious"
227
+ question: "{N} suspicious findings. Review details and decide?"
228
+ options:
229
+ - "Show findings" - Display all flagged items with file:line context
230
+ - "Install anyway" - Accept risk
231
+ - "Abort" - Do not install
232
+ ```
233
+
234
+ **If BLOCKED:**
235
+
236
+ ```
237
+ INSTALLATION BLOCKED
238
+
239
+ {N} security threats detected:
240
+ {finding 1}
241
+ {finding 2}
242
+ ...
243
+
244
+ This repo will NOT be installed.
245
+ ```
246
+
247
+ ### Step 11: Log Audit Result
248
+
249
+ Write audit log to `~/.claude/audit-log/{name}-{date}.md`:
250
+
251
+ ```markdown
252
+ # Security Audit: {owner}/{name}
253
+ **Date:** {YYYY-MM-DD}
254
+ **Verdict:** {CLEAN|ADVISORY|SUSPICIOUS|BLOCKED}
255
+ **Installed:** {yes/no}
256
+ **Location:** {install path or "not installed"}
257
+
258
+ ## Pre-Download
259
+ - Stars: {N}, Forks: {N}, Age: {days}
260
+ - Owner: {login}, Repos: {N}, Followers: {N}
261
+
262
+ ## Layer Results
263
+ {summary of each layer}
264
+
265
+ ## Findings
266
+ {detailed findings if any}
267
+ ```
268
+
269
+ ### Step 12: Cleanup
270
+
271
+ ```bash
272
+ rm -rf /tmp/{name}-security-review
273
+ ```
274
+
275
+ ---
276
+
277
+ ## Success Criteria
278
+
279
+ - [ ] Pre-download intelligence gathered and red flags evaluated
280
+ - [ ] All 6 layers executed
281
+ - [ ] Findings reported with file:line context
282
+ - [ ] Verdict is one of: CLEAN, ADVISORY, SUSPICIOUS, BLOCKED
283
+ - [ ] Audit log written
284
+ - [ ] Temp directory cleaned up
285
+ - [ ] If installed: credential filter passed on installed copy
286
+
287
+ ---
288
+
289
+ ## References
290
+
291
+ - **Skill:** `security/GITHUB_REPO_SECURITY_AUDIT.md`
292
+ - **Depends on:** `~/.claude/hooks/credential-filter.sh`
293
+ - **Related:** `/fire-add-new-skill` (Step 4.6 credential gate)