@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.
- package/.claude-plugin/plugin.json +64 -0
- package/ARCHITECTURE-DIAGRAM.md +440 -0
- package/COMMAND-REFERENCE.md +172 -0
- package/DOMINION-FLOW-OVERVIEW.md +421 -0
- package/LICENSE +21 -0
- package/QUICK-START.md +351 -0
- package/README.md +398 -0
- package/TROUBLESHOOTING.md +264 -0
- package/agents/fire-codebase-mapper.md +484 -0
- package/agents/fire-debugger.md +535 -0
- package/agents/fire-executor.md +949 -0
- package/agents/fire-fact-checker.md +276 -0
- package/agents/fire-learncoding-explainer.md +237 -0
- package/agents/fire-learncoding-walker.md +147 -0
- package/agents/fire-planner.md +675 -0
- package/agents/fire-project-researcher.md +155 -0
- package/agents/fire-research-synthesizer.md +166 -0
- package/agents/fire-researcher.md +723 -0
- package/agents/fire-reviewer.md +499 -0
- package/agents/fire-roadmapper.md +203 -0
- package/agents/fire-verifier.md +880 -0
- package/bin/cli.js +208 -0
- package/commands/fire-0-orient.md +476 -0
- package/commands/fire-1-new.md +281 -0
- package/commands/fire-1a-discuss.md +455 -0
- package/commands/fire-2-plan.md +527 -0
- package/commands/fire-3-execute.md +1303 -0
- package/commands/fire-4-verify.md +845 -0
- package/commands/fire-5-handoff.md +515 -0
- package/commands/fire-6-resume.md +501 -0
- package/commands/fire-7-review.md +409 -0
- package/commands/fire-add-new-skill.md +598 -0
- package/commands/fire-analytics.md +499 -0
- package/commands/fire-assumptions.md +78 -0
- package/commands/fire-autonomous.md +528 -0
- package/commands/fire-brainstorm.md +413 -0
- package/commands/fire-complete-milestone.md +270 -0
- package/commands/fire-dashboard.md +375 -0
- package/commands/fire-debug.md +663 -0
- package/commands/fire-discover.md +616 -0
- package/commands/fire-double-check.md +460 -0
- package/commands/fire-execute-plan.md +182 -0
- package/commands/fire-learncoding.md +242 -0
- package/commands/fire-loop-resume.md +272 -0
- package/commands/fire-loop-stop.md +198 -0
- package/commands/fire-loop.md +1168 -0
- package/commands/fire-map-codebase.md +313 -0
- package/commands/fire-new-milestone.md +356 -0
- package/commands/fire-reflect.md +235 -0
- package/commands/fire-research.md +246 -0
- package/commands/fire-search.md +330 -0
- package/commands/fire-security-audit-repo.md +293 -0
- package/commands/fire-security-scan.md +484 -0
- package/commands/fire-session-summary.md +252 -0
- package/commands/fire-skills-diff.md +506 -0
- package/commands/fire-skills-history.md +388 -0
- package/commands/fire-skills-rollback.md +408 -0
- package/commands/fire-skills-sync.md +470 -0
- package/commands/fire-test.md +520 -0
- package/commands/fire-todos.md +335 -0
- package/commands/fire-transition.md +186 -0
- package/commands/fire-update.md +312 -0
- package/commands/fire-verify-uat.md +146 -0
- package/commands/fire-vuln-scan.md +493 -0
- package/hooks/hooks.json +16 -0
- package/hooks/run-hook.cmd +69 -0
- package/hooks/run-hook.sh +8 -0
- package/hooks/run-session-end.cmd +49 -0
- package/hooks/run-session-end.sh +7 -0
- package/hooks/session-end.sh +90 -0
- package/hooks/session-start.sh +111 -0
- package/package.json +52 -0
- package/plugin.json +7 -0
- package/references/auto-skill-extraction.md +136 -0
- package/references/behavioral-directives.md +365 -0
- package/references/blocker-tracking.md +155 -0
- package/references/checkpoints.md +165 -0
- package/references/circuit-breaker.md +410 -0
- package/references/context-engineering.md +587 -0
- package/references/decision-time-guidance.md +289 -0
- package/references/error-classification.md +326 -0
- package/references/execution-mode-intelligence.md +242 -0
- package/references/git-integration.md +217 -0
- package/references/honesty-protocols.md +304 -0
- package/references/integration-architecture.md +470 -0
- package/references/issue-to-pr-pipeline.md +150 -0
- package/references/metrics-and-trends.md +234 -0
- package/references/playwright-e2e-testing.md +326 -0
- package/references/questioning.md +125 -0
- package/references/research-improvements.md +110 -0
- package/references/skills-usage-guide.md +429 -0
- package/references/tdd.md +131 -0
- package/references/testing-enforcement.md +192 -0
- package/references/ui-brand.md +383 -0
- package/references/validation-checklist.md +456 -0
- package/references/verification-patterns.md +187 -0
- package/references/warrior-principles.md +173 -0
- package/skills-library/SKILLS-INDEX.md +588 -0
- package/skills-library/_general/frontend/html-visual-reports.md +292 -0
- package/skills-library/_general/methodology/debug-swarm-researcher-escape-hatch.md +240 -0
- package/skills-library/_general/methodology/learncoding-agentic-pattern.md +114 -0
- package/skills-library/_general/methodology/shell-autonomous-loop-fixplan.md +238 -0
- package/skills-library/basics/api-rest-basics.md +162 -0
- package/skills-library/basics/env-variables.md +96 -0
- package/skills-library/basics/error-handling-basics.md +125 -0
- package/skills-library/basics/git-commit-conventions.md +106 -0
- package/skills-library/basics/readme-template.md +108 -0
- package/skills-library/common-tasks/async-await-patterns.md +157 -0
- package/skills-library/common-tasks/auth-jwt-basics.md +164 -0
- package/skills-library/common-tasks/database-schema-design.md +166 -0
- package/skills-library/common-tasks/file-upload-basics.md +166 -0
- package/skills-library/common-tasks/form-validation.md +159 -0
- package/skills-library/debugging/FAILURE_TAXONOMY_CLASSIFICATION.md +117 -0
- package/skills-library/debugging/THREE_AGENT_HYPOTHESIS_DEBUGGING.md +86 -0
- package/skills-library/methodology/BREATH_BASED_PARALLEL_EXECUTION.md +678 -0
- package/skills-library/methodology/CONFIDENCE_GATED_EXECUTION.md +243 -0
- package/skills-library/methodology/EVIDENCE_BASED_VALIDATION.md +308 -0
- package/skills-library/methodology/MULTI_PERSPECTIVE_CODE_REVIEW.md +330 -0
- package/skills-library/methodology/PATH_VERIFICATION_GATE.md +211 -0
- package/skills-library/methodology/REFLEXION_MEMORY_PATTERN.md +183 -0
- package/skills-library/methodology/RESEARCH_BACKED_WORKFLOW_UPGRADE.md +263 -0
- package/skills-library/methodology/SABBATH_REST_PATTERN.md +267 -0
- package/skills-library/methodology/STONE_AND_SCAFFOLD.md +220 -0
- package/skills-library/performance/cache-augmented-generation.md +172 -0
- package/skills-library/quality-safety/debugging-steps.md +147 -0
- package/skills-library/quality-safety/deployment-checklist.md +155 -0
- package/skills-library/quality-safety/security-checklist.md +204 -0
- package/skills-library/quality-safety/testing-basics.md +180 -0
- package/skills-library/security/agent-security-scanner.md +445 -0
- package/skills-library/specialists/api-architecture/api-designer.md +49 -0
- package/skills-library/specialists/api-architecture/graphql-architect.md +49 -0
- package/skills-library/specialists/api-architecture/mcp-developer.md +51 -0
- package/skills-library/specialists/api-architecture/microservices-architect.md +50 -0
- package/skills-library/specialists/api-architecture/websocket-engineer.md +48 -0
- package/skills-library/specialists/backend/django-expert.md +52 -0
- package/skills-library/specialists/backend/fastapi-expert.md +52 -0
- package/skills-library/specialists/backend/laravel-specialist.md +52 -0
- package/skills-library/specialists/backend/nestjs-expert.md +51 -0
- package/skills-library/specialists/backend/rails-expert.md +53 -0
- package/skills-library/specialists/backend/spring-boot-engineer.md +56 -0
- package/skills-library/specialists/data-ml/fine-tuning-expert.md +48 -0
- package/skills-library/specialists/data-ml/ml-pipeline.md +47 -0
- package/skills-library/specialists/data-ml/pandas-pro.md +47 -0
- package/skills-library/specialists/data-ml/rag-architect.md +51 -0
- package/skills-library/specialists/data-ml/spark-engineer.md +47 -0
- package/skills-library/specialists/frontend/angular-architect.md +52 -0
- package/skills-library/specialists/frontend/flutter-expert.md +51 -0
- package/skills-library/specialists/frontend/nextjs-developer.md +54 -0
- package/skills-library/specialists/frontend/react-native-expert.md +50 -0
- package/skills-library/specialists/frontend/vue-expert.md +51 -0
- package/skills-library/specialists/infrastructure/chaos-engineer.md +74 -0
- package/skills-library/specialists/infrastructure/cloud-architect.md +70 -0
- package/skills-library/specialists/infrastructure/database-optimizer.md +64 -0
- package/skills-library/specialists/infrastructure/devops-engineer.md +70 -0
- package/skills-library/specialists/infrastructure/kubernetes-specialist.md +52 -0
- package/skills-library/specialists/infrastructure/monitoring-expert.md +70 -0
- package/skills-library/specialists/infrastructure/sre-engineer.md +70 -0
- package/skills-library/specialists/infrastructure/terraform-engineer.md +51 -0
- package/skills-library/specialists/languages/cpp-pro.md +74 -0
- package/skills-library/specialists/languages/csharp-developer.md +69 -0
- package/skills-library/specialists/languages/dotnet-core-expert.md +54 -0
- package/skills-library/specialists/languages/golang-pro.md +51 -0
- package/skills-library/specialists/languages/java-architect.md +49 -0
- package/skills-library/specialists/languages/javascript-pro.md +68 -0
- package/skills-library/specialists/languages/kotlin-specialist.md +68 -0
- package/skills-library/specialists/languages/php-pro.md +49 -0
- package/skills-library/specialists/languages/python-pro.md +52 -0
- package/skills-library/specialists/languages/react-expert.md +51 -0
- package/skills-library/specialists/languages/rust-engineer.md +50 -0
- package/skills-library/specialists/languages/sql-pro.md +56 -0
- package/skills-library/specialists/languages/swift-expert.md +69 -0
- package/skills-library/specialists/languages/typescript-pro.md +51 -0
- package/skills-library/specialists/platform/atlassian-mcp.md +52 -0
- package/skills-library/specialists/platform/embedded-systems.md +53 -0
- package/skills-library/specialists/platform/game-developer.md +53 -0
- package/skills-library/specialists/platform/salesforce-developer.md +53 -0
- package/skills-library/specialists/platform/shopify-expert.md +49 -0
- package/skills-library/specialists/platform/wordpress-pro.md +49 -0
- package/skills-library/specialists/quality/code-documenter.md +51 -0
- package/skills-library/specialists/quality/code-reviewer.md +67 -0
- package/skills-library/specialists/quality/debugging-wizard.md +51 -0
- package/skills-library/specialists/quality/fullstack-guardian.md +51 -0
- package/skills-library/specialists/quality/legacy-modernizer.md +50 -0
- package/skills-library/specialists/quality/playwright-expert.md +65 -0
- package/skills-library/specialists/quality/spec-miner.md +56 -0
- package/skills-library/specialists/quality/test-master.md +65 -0
- package/skills-library/specialists/security/secure-code-guardian.md +55 -0
- package/skills-library/specialists/security/security-reviewer.md +53 -0
- package/skills-library/specialists/workflow/architecture-designer.md +53 -0
- package/skills-library/specialists/workflow/cli-developer.md +70 -0
- package/skills-library/specialists/workflow/feature-forge.md +65 -0
- package/skills-library/specialists/workflow/prompt-engineer.md +54 -0
- package/skills-library/specialists/workflow/the-fool.md +62 -0
- package/templates/ASSUMPTIONS.md +125 -0
- package/templates/BLOCKERS.md +73 -0
- package/templates/DECISION_LOG.md +116 -0
- package/templates/UAT.md +96 -0
- package/templates/blueprint.md +94 -0
- package/templates/brainstorm.md +185 -0
- package/templates/conscience.md +92 -0
- package/templates/fire-handoff.md +159 -0
- package/templates/metrics.md +67 -0
- package/templates/phase-prompt.md +142 -0
- package/templates/record.md +131 -0
- package/templates/review-report.md +117 -0
- package/templates/skills-index.md +157 -0
- package/templates/verification.md +149 -0
- package/templates/vision.md +79 -0
- package/validation-config.yml +793 -0
- package/version.json +7 -0
- package/workflows/execute-phase.md +732 -0
- package/workflows/handoff-session.md +678 -0
- package/workflows/new-project.md +578 -0
- package/workflows/plan-phase.md +592 -0
- 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)
|