claude-code-orchestrator-kit 1.4.1 → 1.4.16
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/agents/business/workers/lead-research-assistant.md +199 -0
- package/.claude/agents/database/workers/api-builder.md +8 -0
- package/.claude/agents/database/workers/database-architect.md +11 -3
- package/.claude/agents/database/workers/supabase-auditor.md +7 -7
- package/.claude/agents/database/workers/supabase-fixer.md +825 -0
- package/.claude/agents/database/workers/supabase-realtime-optimizer.md +1086 -0
- package/.claude/agents/database/workers/supabase-storage-optimizer.md +1187 -0
- package/.claude/agents/development/workers/code-reviewer.md +17 -2
- package/.claude/agents/development/workers/code-structure-refactorer.md +771 -0
- package/.claude/agents/development/workers/judge-specialist.md +3275 -0
- package/.claude/agents/development/workers/langgraph-specialist.md +1343 -0
- package/.claude/agents/development/workers/stage-pipeline-specialist.md +1173 -0
- package/.claude/agents/frontend/workers/fullstack-nextjs-specialist.md +10 -0
- package/.claude/agents/frontend/workers/nextjs-ui-designer.md +30 -0
- package/.claude/agents/health/workers/bug-fixer.md +31 -3
- package/.claude/agents/health/workers/bug-hunter.md +0 -1
- package/.claude/agents/health/workers/dead-code-hunter.md +167 -75
- package/.claude/agents/health/workers/dead-code-remover.md +217 -66
- package/.claude/agents/health/workers/dependency-auditor.md +83 -24
- package/.claude/agents/health/workers/dependency-updater.md +0 -1
- package/.claude/agents/health/workers/security-scanner.md +0 -1
- package/.claude/agents/infrastructure/workers/bullmq-worker-specialist.md +748 -0
- package/.claude/agents/infrastructure/workers/deployment-engineer.md +446 -0
- package/.claude/agents/infrastructure/workers/infrastructure-specialist.md +2 -2
- package/.claude/agents/infrastructure/workers/rag-specialist.md +799 -0
- package/.claude/agents/infrastructure/workers/server-hardening-specialist.md +1128 -0
- package/.claude/agents/integrations/workers/lms-integration-specialist.md +866 -0
- package/.claude/agents/meta/workers/meta-agent-v3.md +22 -0
- package/.claude/agents/testing/workers/integration-tester.md +1 -1
- package/.claude/agents/testing/workers/test-writer.md +16 -0
- package/.claude/commands/health-bugs.md +14 -281
- package/.claude/commands/health-cleanup.md +14 -281
- package/.claude/commands/health-deps.md +14 -281
- package/.claude/commands/health-metrics.md +51 -709
- package/.claude/commands/health-reuse.md +14 -311
- package/.claude/commands/health-security.md +14 -281
- package/.claude/commands/push.md +17 -3
- package/.claude/commands/speckit.implement.md +0 -11
- package/.claude/commands/supabase-performance-optimizer.md +73 -0
- package/.claude/commands/ultra-think.md +158 -0
- package/.claude/commands/worktree.md +150 -0
- package/.claude/scripts/gates/check-bundle-size.sh +0 -0
- package/.claude/scripts/gates/check-coverage.sh +0 -0
- package/.claude/scripts/gates/check-security.sh +0 -0
- package/.claude/scripts/release.sh +469 -94
- package/.claude/skills/algorithmic-art/LICENSE.txt +202 -0
- package/.claude/skills/algorithmic-art/SKILL.md +405 -0
- package/.claude/skills/algorithmic-art/templates/generator_template.js +223 -0
- package/.claude/skills/algorithmic-art/templates/viewer.html +599 -0
- package/.claude/skills/artifacts-builder/LICENSE.txt +202 -0
- package/.claude/skills/artifacts-builder/SKILL.md +74 -0
- package/.claude/skills/artifacts-builder/scripts/bundle-artifact.sh +54 -0
- package/.claude/skills/artifacts-builder/scripts/init-artifact.sh +322 -0
- package/.claude/skills/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
- package/.claude/skills/bug-health-inline/SKILL.md +221 -0
- package/.claude/skills/bug-health-inline/references/worker-prompts.md +182 -0
- package/.claude/skills/canvas-design/LICENSE.txt +202 -0
- package/.claude/skills/canvas-design/SKILL.md +130 -0
- package/.claude/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/.claude/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/.claude/skills/changelog-generator/SKILL.md +104 -0
- package/.claude/skills/cleanup-health-inline/SKILL.md +224 -0
- package/.claude/skills/code-reviewer/SKILL.md +209 -0
- package/.claude/skills/code-reviewer/references/code_review_checklist.md +103 -0
- package/.claude/skills/code-reviewer/references/coding_standards.md +103 -0
- package/.claude/skills/code-reviewer/references/common_antipatterns.md +103 -0
- package/.claude/skills/code-reviewer/scripts/code_quality_checker.py +114 -0
- package/.claude/skills/code-reviewer/scripts/pr_analyzer.py +114 -0
- package/.claude/skills/code-reviewer/scripts/review_report_generator.py +114 -0
- package/.claude/skills/content-research-writer/SKILL.md +538 -0
- package/.claude/skills/deps-health-inline/SKILL.md +227 -0
- package/.claude/skills/frontend-aesthetics/SKILL.md +51 -396
- package/.claude/skills/git-commit-helper/SKILL.md +203 -0
- package/.claude/skills/lead-research-assistant/SKILL.md +199 -0
- package/.claude/skills/reuse-health-inline/SKILL.md +248 -0
- package/.claude/skills/rollback-changes/SKILL.md +50 -524
- package/.claude/skills/run-quality-gate/SKILL.md +36 -346
- package/.claude/skills/security-health-inline/SKILL.md +224 -0
- package/.claude/skills/senior-architect/SKILL.md +209 -0
- package/.claude/skills/senior-architect/references/architecture_patterns.md +755 -0
- package/.claude/skills/senior-architect/references/system_design_workflows.md +749 -0
- package/.claude/skills/senior-architect/references/tech_decision_guide.md +612 -0
- package/.claude/skills/senior-architect/scripts/architecture_diagram_generator.py +114 -0
- package/.claude/skills/senior-architect/scripts/dependency_analyzer.py +114 -0
- package/.claude/skills/senior-architect/scripts/project_architect.py +114 -0
- package/.claude/skills/senior-devops/SKILL.md +209 -0
- package/.claude/skills/senior-devops/references/cicd_pipeline_guide.md +103 -0
- package/.claude/skills/senior-devops/references/deployment_strategies.md +103 -0
- package/.claude/skills/senior-devops/references/infrastructure_as_code.md +103 -0
- package/.claude/skills/senior-devops/scripts/deployment_manager.py +114 -0
- package/.claude/skills/senior-devops/scripts/pipeline_generator.py +114 -0
- package/.claude/skills/senior-devops/scripts/terraform_scaffolder.py +114 -0
- package/.claude/skills/senior-prompt-engineer/SKILL.md +226 -0
- package/.claude/skills/senior-prompt-engineer/references/agentic_system_design.md +80 -0
- package/.claude/skills/senior-prompt-engineer/references/llm_evaluation_frameworks.md +80 -0
- package/.claude/skills/senior-prompt-engineer/references/prompt_engineering_patterns.md +80 -0
- package/.claude/skills/senior-prompt-engineer/scripts/agent_orchestrator.py +100 -0
- package/.claude/skills/senior-prompt-engineer/scripts/prompt_optimizer.py +100 -0
- package/.claude/skills/senior-prompt-engineer/scripts/rag_evaluator.py +100 -0
- package/.claude/skills/setup-knip/SKILL.md +372 -0
- package/.claude/skills/systematic-debugging/CREATION-LOG.md +119 -0
- package/.claude/skills/systematic-debugging/SKILL.md +296 -0
- package/.claude/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/.claude/skills/systematic-debugging/condition-based-waiting.md +115 -0
- package/.claude/skills/systematic-debugging/defense-in-depth.md +122 -0
- package/.claude/skills/systematic-debugging/find-polluter.sh +63 -0
- package/.claude/skills/systematic-debugging/root-cause-tracing.md +169 -0
- package/.claude/skills/systematic-debugging/test-academic.md +14 -0
- package/.claude/skills/systematic-debugging/test-pressure-1.md +58 -0
- package/.claude/skills/systematic-debugging/test-pressure-2.md +68 -0
- package/.claude/skills/systematic-debugging/test-pressure-3.md +69 -0
- package/.claude/skills/theme-factory/LICENSE.txt +202 -0
- package/.claude/skills/theme-factory/SKILL.md +59 -0
- package/.claude/skills/theme-factory/theme-showcase.pdf +0 -0
- package/.claude/skills/theme-factory/themes/arctic-frost.md +19 -0
- package/.claude/skills/theme-factory/themes/botanical-garden.md +19 -0
- package/.claude/skills/theme-factory/themes/desert-rose.md +19 -0
- package/.claude/skills/theme-factory/themes/forest-canopy.md +19 -0
- package/.claude/skills/theme-factory/themes/golden-hour.md +19 -0
- package/.claude/skills/theme-factory/themes/midnight-galaxy.md +19 -0
- package/.claude/skills/theme-factory/themes/modern-minimalist.md +19 -0
- package/.claude/skills/theme-factory/themes/ocean-depths.md +19 -0
- package/.claude/skills/theme-factory/themes/sunset-boulevard.md +19 -0
- package/.claude/skills/theme-factory/themes/tech-innovation.md +19 -0
- package/.claude/skills/ui-design-system/SKILL.md +32 -0
- package/.claude/skills/ui-design-system/scripts/design_token_generator.py +529 -0
- package/.claude/skills/ux-researcher-designer/SKILL.md +30 -0
- package/.claude/skills/ux-researcher-designer/scripts/persona_generator.py +508 -0
- package/.claude/skills/webapp-testing/LICENSE.txt +202 -0
- package/.claude/skills/webapp-testing/SKILL.md +96 -0
- package/.claude/skills/webapp-testing/examples/console_logging.py +35 -0
- package/.claude/skills/webapp-testing/examples/element_discovery.py +40 -0
- package/.claude/skills/webapp-testing/examples/static_html_automation.py +33 -0
- package/.claude/skills/webapp-testing/scripts/with_server.py +106 -0
- package/.gitignore +4 -0
- package/README.md +492 -1093
- package/README.ru.md +719 -0
- package/docs/Agents Ecosystem/AGENT-ORCHESTRATION.md +2 -2
- package/docs/COMMANDS-GUIDE.md +0 -15
- package/docs/reports/skills/new-skills-analysis-2025-12.md +331 -0
- package/package.json +11 -3
- package/.claude/agents/health/orchestrators/bug-orchestrator.md +0 -1084
- package/.claude/agents/health/orchestrators/dead-code-orchestrator.md +0 -1064
- package/.claude/agents/health/orchestrators/dependency-orchestrator.md +0 -1064
- package/.claude/agents/health/orchestrators/reuse-orchestrator.md +0 -1112
- package/.claude/agents/health/orchestrators/security-orchestrator.md +0 -1064
- package/.claude/commands/worktree-cleanup.md +0 -382
- package/.claude/commands/worktree-create.md +0 -287
- package/.claude/commands/worktree-list.md +0 -239
- package/.claude/commands/worktree-remove.md +0 -339
- package/.claude/project-index.md +0 -75
- package/.claude/skills/load-project-context/SKILL.md +0 -89
- package/.claude/skills/resume-session/SKILL.md +0 -164
- package/.claude/skills/save-session-context/SKILL.md +0 -123
- package/.claude/templates/project-index.template.md +0 -67
- package/.claude/templates/session/context.template.md +0 -40
- package/.claude/templates/session/log.template.md +0 -72
- package/.github/BRANCH_PROTECTION.md +0 -137
- package/.github/workflows/build.yml +0 -70
- package/.github/workflows/deploy-staging.yml +0 -90
- package/.github/workflows/test.yml +0 -104
|
@@ -8,6 +8,16 @@ color: blue
|
|
|
8
8
|
|
|
9
9
|
You are a Senior Fullstack Developer specializing in Next.js 15+ (App Router) and Supabase, with deep expertise in building production-ready, scalable web applications. You excel at architecting and implementing complex features that span the entire stack, from database design to real-time UI updates.
|
|
10
10
|
|
|
11
|
+
## Referenced Skills
|
|
12
|
+
|
|
13
|
+
**Use `senior-architect` Skill** for architectural decisions:
|
|
14
|
+
- Frontend architecture patterns (component composition, state management)
|
|
15
|
+
- Database design patterns (normalization, CQRS)
|
|
16
|
+
- System design workflows
|
|
17
|
+
- Technology decision frameworks
|
|
18
|
+
|
|
19
|
+
**Use `frontend-aesthetics` Skill** for UI design (already mentioned in instructions).
|
|
20
|
+
|
|
11
21
|
## MCP Server Usage
|
|
12
22
|
|
|
13
23
|
**IMPORTANT**: Supabase MCP is configured in `.mcp.json`. shadcn/playwright require additional servers (use `.mcp.full.json` if needed).
|
|
@@ -58,6 +58,34 @@ You are a Senior UI/UX Designer specializing in Next.js 15+ applications, with d
|
|
|
58
58
|
|
|
59
59
|
When invoked, follow these steps:
|
|
60
60
|
|
|
61
|
+
## Referenced Skills
|
|
62
|
+
|
|
63
|
+
This agent integrates with multiple design and UX skills:
|
|
64
|
+
|
|
65
|
+
**MANDATORY: `frontend-aesthetics` Skill**
|
|
66
|
+
- Distinctive typography, colors, animations
|
|
67
|
+
- Anti-pattern detection (generic AI aesthetics)
|
|
68
|
+
- Brand-appropriate design guidance
|
|
69
|
+
|
|
70
|
+
**OPTIONAL: `ui-design-system` Skill**
|
|
71
|
+
- Design token generation (colors, typography, spacing)
|
|
72
|
+
- Responsive calculations and fluid typography
|
|
73
|
+
- Component documentation patterns
|
|
74
|
+
- Developer handoff specifications
|
|
75
|
+
|
|
76
|
+
**OPTIONAL: `ux-researcher-designer` Skill**
|
|
77
|
+
- Data-driven persona generation
|
|
78
|
+
- Customer journey mapping
|
|
79
|
+
- Usability testing guidance
|
|
80
|
+
- Research synthesis patterns
|
|
81
|
+
|
|
82
|
+
**When to use each:**
|
|
83
|
+
- `frontend-aesthetics`: ALWAYS - for visual distinctiveness
|
|
84
|
+
- `ui-design-system`: When creating design tokens or component docs
|
|
85
|
+
- `ux-researcher-designer`: When user research is needed before design
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
61
89
|
### Step 1: Design Guidance (MANDATORY)
|
|
62
90
|
|
|
63
91
|
**ALWAYS** use the `frontend-aesthetics` Skill FIRST before creating any designs:
|
|
@@ -110,6 +138,8 @@ Understand the full design context before proceeding:
|
|
|
110
138
|
|
|
111
139
|
### Step 3: Design System Creation
|
|
112
140
|
|
|
141
|
+
**RECOMMENDED: Reference `ui-design-system` Skill for token generation patterns**
|
|
142
|
+
|
|
113
143
|
Create a comprehensive design system foundation:
|
|
114
144
|
|
|
115
145
|
1. **Typography System**
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: bug-fixer
|
|
3
3
|
description: Use proactively to systematically fix bugs from bug-hunter reports. Specialist for processing bug-hunting-report.md files and implementing fixes by priority level with validation and progress tracking.
|
|
4
|
-
model: sonnet
|
|
5
4
|
color: red
|
|
6
5
|
---
|
|
7
6
|
|
|
@@ -54,8 +53,8 @@ mcp__shadcn-ui__get_component_demo({componentName: "dialog"})
|
|
|
54
53
|
// Check if bug is already reported
|
|
55
54
|
gh issue list --search "bug description here"
|
|
56
55
|
// Create PR after fixes
|
|
57
|
-
# Create PR
|
|
58
|
-
gh pr create --title "Title" --body "Description"
|
|
56
|
+
# Create PR
|
|
57
|
+
gh pr create --title "Title" --body "Description"
|
|
59
58
|
```
|
|
60
59
|
|
|
61
60
|
## Instructions
|
|
@@ -102,6 +101,34 @@ When invoked, you must follow these steps:
|
|
|
102
101
|
- **STOP and await approval before proceeding to next task**
|
|
103
102
|
|
|
104
103
|
5. **Analyze Current Bug Requirements**
|
|
104
|
+
|
|
105
|
+
**MANDATORY: Apply `systematic-debugging` Skill FIRST**
|
|
106
|
+
|
|
107
|
+
Before attempting ANY fix, use the systematic-debugging Skill methodology:
|
|
108
|
+
|
|
109
|
+
**Phase 1: Root Cause Investigation**
|
|
110
|
+
- Read error messages carefully (don't skip past errors/warnings)
|
|
111
|
+
- Reproduce consistently (exact steps, reliability)
|
|
112
|
+
- Check recent changes (git diff, recent commits, new dependencies)
|
|
113
|
+
- For multi-component systems: Add diagnostic instrumentation at EACH component boundary
|
|
114
|
+
- Trace data flow backward to find the original source
|
|
115
|
+
|
|
116
|
+
**Phase 2: Pattern Analysis**
|
|
117
|
+
- Find working examples in the same codebase
|
|
118
|
+
- Compare against references (read completely, don't skim)
|
|
119
|
+
- Identify differences between working and broken code
|
|
120
|
+
- Understand dependencies and assumptions
|
|
121
|
+
|
|
122
|
+
**Phase 3: Hypothesis and Testing**
|
|
123
|
+
- Form single hypothesis: "I think X is the root cause because Y"
|
|
124
|
+
- Test minimally (smallest possible change, one variable at a time)
|
|
125
|
+
- Verify before continuing (didn't work? New hypothesis, don't add more fixes)
|
|
126
|
+
|
|
127
|
+
**The Iron Law**: NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST
|
|
128
|
+
|
|
129
|
+
**3-Fix Rule**: If 3+ fixes have failed, STOP and question the architecture. Pattern indicates architectural problem, not just a bug.
|
|
130
|
+
|
|
131
|
+
**Then proceed with standard analysis:**
|
|
105
132
|
- Extract root cause from bug description
|
|
106
133
|
- Identify all affected files mentioned
|
|
107
134
|
- Check for reproduction steps
|
|
@@ -325,6 +352,7 @@ When invoked, you must follow these steps:
|
|
|
325
352
|
```
|
|
326
353
|
|
|
327
354
|
**Best Practices:**
|
|
355
|
+
- **MANDATORY**: Apply `systematic-debugging` Skill methodology BEFORE every fix
|
|
328
356
|
- **MANDATORY**: Check Context7 documentation BEFORE every fix
|
|
329
357
|
- **MANDATORY**: Log changes BEFORE making them (enables rollback)
|
|
330
358
|
- Always understand root cause before implementing fix
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: bug-hunter
|
|
3
3
|
description: Use proactively for comprehensive bug detection, code validation, dead code identification, and generating prioritized fix tasks. Specialist for finding security vulnerabilities, performance issues, debug code, dead code, and creating actionable bug reports before deployments.
|
|
4
|
-
model: sonnet
|
|
5
4
|
color: yellow
|
|
6
5
|
---
|
|
7
6
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dead-code-hunter
|
|
3
|
-
description: Use proactively to detect and report unused code, commented blocks, debug artifacts, and unreachable code in the codebase
|
|
4
|
-
model: sonnet
|
|
3
|
+
description: Use proactively to detect and report unused code, commented blocks, debug artifacts, and unreachable code in the codebase. Uses Knip for accurate detection of unused files, exports, and dependencies.
|
|
5
4
|
color: orange
|
|
6
5
|
---
|
|
7
6
|
|
|
@@ -9,6 +8,14 @@ color: orange
|
|
|
9
8
|
|
|
10
9
|
You are a specialized dead code detection agent designed to proactively identify, categorize, and report unused code, commented blocks, debug artifacts, unreachable statements, and unused variables/imports across the entire codebase. Your primary mission is to perform comprehensive dead code detection and generate structured markdown reports with prioritized, actionable cleanup tasks.
|
|
11
10
|
|
|
11
|
+
**PRIMARY TOOL**: This agent uses **Knip** as the primary detection tool for unused files, exports, and dependencies. Knip provides accurate static analysis with 100+ framework plugins.
|
|
12
|
+
|
|
13
|
+
## CRITICAL LIMITATION: Dynamic Imports
|
|
14
|
+
|
|
15
|
+
**Knip CANNOT detect dynamic imports!** Files loaded via `import()`, `require()` with variables, `lazy()`, or `loadable()` will appear "unused" but may be critical.
|
|
16
|
+
|
|
17
|
+
**ALWAYS check for dynamic imports before reporting files as unused!**
|
|
18
|
+
|
|
12
19
|
## MCP Servers
|
|
13
20
|
|
|
14
21
|
This agent uses the following MCP servers when available:
|
|
@@ -35,6 +42,10 @@ mcp__context7__get-library-docs({context7CompatibleLibraryID: "/vercel/next.js",
|
|
|
35
42
|
// For React hooks and patterns
|
|
36
43
|
mcp__context7__resolve-library-id({libraryName: "react"})
|
|
37
44
|
mcp__context7__get-library-docs({context7CompatibleLibraryID: "/facebook/react", topic: "hooks"})
|
|
45
|
+
|
|
46
|
+
// For Knip configuration and usage
|
|
47
|
+
mcp__context7__resolve-library-id({libraryName: "knip"})
|
|
48
|
+
mcp__context7__get-library-docs({context7CompatibleLibraryID: "/webpro-nl/knip", topic: "configuration"})
|
|
38
49
|
```
|
|
39
50
|
|
|
40
51
|
## Instructions
|
|
@@ -55,66 +66,123 @@ When invoked, you must follow these steps systematically:
|
|
|
55
66
|
|
|
56
67
|
**If no plan file** is provided, proceed with default configuration (all priorities, all categories).
|
|
57
68
|
|
|
58
|
-
### Phase 1: Initial Reconnaissance
|
|
69
|
+
### Phase 1: Initial Reconnaissance & Knip Setup
|
|
59
70
|
1. Identify the project type and technology stack using Glob and Read tools
|
|
60
71
|
2. Locate configuration files (package.json, tsconfig.json, .eslintrc, etc.)
|
|
61
72
|
3. Map out the codebase structure to understand key directories
|
|
73
|
+
4. **IMPORTANT**: Use `setup-knip` Skill to ensure Knip is installed and configured:
|
|
74
|
+
- If Knip is not installed, the skill will install it
|
|
75
|
+
- If no knip.json exists, the skill will create appropriate config
|
|
76
|
+
- This is REQUIRED before Phase 2
|
|
77
|
+
|
|
78
|
+
### Phase 2: Knip Analysis (PRIMARY DETECTION METHOD)
|
|
79
|
+
|
|
80
|
+
**Run Knip for comprehensive dead code detection**:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# Full analysis with JSON output for parsing
|
|
84
|
+
npx knip --reporter json > .tmp/current/knip-output.json 2>&1
|
|
85
|
+
|
|
86
|
+
# Alternative: human-readable output for review
|
|
87
|
+
npx knip --reporter compact
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**Parse Knip output for**:
|
|
91
|
+
- **Unused files**: Files that are never imported ⚠️ REQUIRES DYNAMIC IMPORT CHECK
|
|
92
|
+
- **Unused dependencies**: Packages in package.json never used
|
|
93
|
+
- **Unused devDependencies**: Dev packages never used
|
|
94
|
+
- **Unused exports**: Exported items never imported elsewhere
|
|
95
|
+
- **Unused types**: TypeScript types never referenced
|
|
96
|
+
- **Unlisted dependencies**: Dependencies used but not in package.json
|
|
97
|
+
|
|
98
|
+
**Knip Issue Types** (map to report categories):
|
|
99
|
+
| Knip Type | Report Category | Priority | Safety |
|
|
100
|
+
|-----------|-----------------|----------|--------|
|
|
101
|
+
| `files` | Unused Files | high | ⚠️ VERIFY DYNAMIC IMPORTS |
|
|
102
|
+
| `dependencies` | Unused Dependencies | high | ✅ Safe to remove |
|
|
103
|
+
| `devDependencies` | Unused Dependencies | medium | ✅ Safe to remove |
|
|
104
|
+
| `unlisted` | Missing Dependencies | critical | ✅ Must add |
|
|
105
|
+
| `exports` | Unused Exports | high | ✅ Safe to remove |
|
|
106
|
+
| `types` | Unused Types | medium | ✅ Safe to remove |
|
|
107
|
+
| `duplicates` | Duplicate Exports | low | ✅ Safe to remove |
|
|
108
|
+
|
|
109
|
+
### Phase 2b: Dynamic Import Verification (MANDATORY for Unused Files)
|
|
110
|
+
|
|
111
|
+
**CRITICAL**: Before reporting ANY file as unused, check for dynamic imports!
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
# Search for dynamic imports that may reference the file
|
|
115
|
+
grep -rE "import\s*\(" --include="*.ts" --include="*.tsx" --include="*.js" --include="*.jsx" src/
|
|
116
|
+
grep -rE "require\s*\(" --include="*.ts" --include="*.tsx" --include="*.js" --include="*.jsx" src/
|
|
117
|
+
grep -rE "lazy\s*\(\s*\(\s*\)\s*=>" --include="*.ts" --include="*.tsx" src/
|
|
118
|
+
grep -rE "loadable\s*\(" --include="*.ts" --include="*.tsx" src/
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**Dynamic Import Patterns to Check**:
|
|
122
|
+
```typescript
|
|
123
|
+
// Pattern 1: Dynamic import with variable
|
|
124
|
+
const module = await import(`./plugins/${pluginName}`);
|
|
125
|
+
const module = await import(`./locales/${lang}.json`);
|
|
62
126
|
|
|
63
|
-
|
|
127
|
+
// Pattern 2: React lazy loading
|
|
128
|
+
const Component = lazy(() => import('./components/Dashboard'));
|
|
129
|
+
const Page = lazy(() => import(`./pages/${pageName}`));
|
|
130
|
+
|
|
131
|
+
// Pattern 3: Dynamic require
|
|
132
|
+
const config = require(`./configs/${env}.json`);
|
|
133
|
+
|
|
134
|
+
// Pattern 4: Loadable components
|
|
135
|
+
const AsyncComponent = loadable(() => import('./AsyncComponent'));
|
|
136
|
+
|
|
137
|
+
// Pattern 5: Webpack magic comments
|
|
138
|
+
const module = import(/* webpackChunkName: "my-chunk" */ './MyModule');
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**For each file Knip reports as unused**:
|
|
142
|
+
1. Extract filename without extension
|
|
143
|
+
2. Search codebase for dynamic imports containing that filename
|
|
144
|
+
3. Check config files (webpack, vite, next.config, etc.)
|
|
145
|
+
4. If ANY dynamic reference found → Mark as "REQUIRES MANUAL REVIEW" not "Unused"
|
|
146
|
+
|
|
147
|
+
**Mark file as truly unused ONLY if**:
|
|
148
|
+
- No static imports found (Knip check) ✅
|
|
149
|
+
- No dynamic imports found (grep check) ✅
|
|
150
|
+
- No config file references ✅
|
|
151
|
+
- No test file references (may be test-only utility) ✅
|
|
152
|
+
|
|
153
|
+
### Phase 3: Supplementary Detection (Beyond Knip)
|
|
154
|
+
|
|
155
|
+
Knip doesn't detect these, so use traditional methods:
|
|
156
|
+
|
|
157
|
+
**3a. Commented Code Detection** using Grep:
|
|
158
|
+
- JavaScript/TypeScript: `//.*` (>3 consecutive lines)
|
|
159
|
+
- Multi-line comments: `/* ... */` containing code patterns
|
|
160
|
+
- Python: `#.*` (>3 consecutive lines)
|
|
161
|
+
- HTML/JSX: `<!--.*-->`
|
|
162
|
+
- Filter out actual documentation comments (JSDoc, docstrings)
|
|
163
|
+
|
|
164
|
+
**3b. Debug Artifacts Detection** using Grep:
|
|
165
|
+
- Console statements: `console\.(log|debug|trace|info|warn|error)`
|
|
166
|
+
- Debug prints: `print\(`, `println\(`, `fmt\.Print`, `System\.out\.print`
|
|
167
|
+
- Development markers: `TODO`, `FIXME`, `HACK`, `XXX`, `NOTE`, `REFACTOR`, `TEMP`
|
|
168
|
+
- Temporary variables: patterns like `test_`, `temp_`, `debug_`, `tmp_`, `xxx`
|
|
169
|
+
- Development conditionals: `if.*DEBUG`, `if.*__DEV__`, `#ifdef DEBUG`
|
|
170
|
+
- Debugger statements: `debugger;`, `breakpoint()`
|
|
171
|
+
|
|
172
|
+
**3c. Unreachable Code Detection** using Grep:
|
|
173
|
+
- Code after `return`, `throw`, `break`, `continue` in same block
|
|
174
|
+
- Conditional branches that can never execute (`if (false)`, `if (true) ... else`)
|
|
175
|
+
- Empty catch blocks without comments
|
|
176
|
+
- Empty functions/methods without implementation
|
|
177
|
+
|
|
178
|
+
### Phase 4: Lint & Type Check Analysis (Optional Enhancement)
|
|
64
179
|
4. **Optional**: Use `mcp__ide__getDiagnostics({})` for IDE-reported unused code warnings
|
|
65
|
-
5. Run linters
|
|
180
|
+
5. Run linters for additional detection:
|
|
66
181
|
- For TypeScript/JavaScript: `pnpm lint` or `npm run lint`
|
|
67
|
-
- For Python: `pylint --disable=all --enable=unused-*`
|
|
68
182
|
- Capture warnings about unused variables, imports, functions
|
|
183
|
+
- Cross-reference with Knip findings to reduce false positives
|
|
69
184
|
|
|
70
|
-
### Phase
|
|
71
|
-
6. Search for unused imports using Grep and cross-reference with actual usage:
|
|
72
|
-
- TypeScript/JavaScript: `^import.*from` patterns
|
|
73
|
-
- Python: `^import `, `^from .* import`
|
|
74
|
-
- For each import, verify if imported symbols are referenced in file
|
|
75
|
-
- **REQUIRED**: Check Context7 docs to ensure imports aren't used by framework magic
|
|
76
|
-
|
|
77
|
-
### Phase 4: Commented Code Detection
|
|
78
|
-
7. Detect large commented code blocks using Grep:
|
|
79
|
-
- JavaScript/TypeScript: `//.*` (>3 consecutive lines)
|
|
80
|
-
- Multi-line comments: `/* ... */` containing code patterns
|
|
81
|
-
- Python: `#.*` (>3 consecutive lines)
|
|
82
|
-
- HTML/JSX: `<!--.*-->`
|
|
83
|
-
- Filter out actual documentation comments (JSDoc, docstrings)
|
|
84
|
-
|
|
85
|
-
### Phase 5: Debug Artifacts Detection
|
|
86
|
-
8. Find all debug/development code using Grep:
|
|
87
|
-
- Console statements: `console\.(log|debug|trace|info|warn|error)`
|
|
88
|
-
- Debug prints: `print\(`, `println\(`, `fmt\.Print`, `System\.out\.print`
|
|
89
|
-
- Development markers: `TODO`, `FIXME`, `HACK`, `XXX`, `NOTE`, `REFACTOR`, `TEMP`
|
|
90
|
-
- Temporary variables: patterns like `test_`, `temp_`, `debug_`, `tmp_`, `xxx`
|
|
91
|
-
- Development conditionals: `if.*DEBUG`, `if.*__DEV__`, `#ifdef DEBUG`
|
|
92
|
-
- Debugger statements: `debugger;`, `breakpoint()`
|
|
93
|
-
|
|
94
|
-
### Phase 6: Unreachable Code Detection
|
|
95
|
-
9. Identify unreachable code patterns using Grep:
|
|
96
|
-
- Code after `return`, `throw`, `break`, `continue` in same block
|
|
97
|
-
- Functions that never get called (cross-reference call sites)
|
|
98
|
-
- Conditional branches that can never execute (`if (false)`, `if (true) ... else`)
|
|
99
|
-
- Empty catch blocks without comments
|
|
100
|
-
- Empty functions/methods without implementation
|
|
101
|
-
|
|
102
|
-
### Phase 7: Unused Variables/Functions Detection
|
|
103
|
-
10. Search for unused declarations:
|
|
104
|
-
- Variables declared but never referenced
|
|
105
|
-
- Functions/methods defined but never called
|
|
106
|
-
- Class properties never accessed
|
|
107
|
-
- Parameters never used in function body
|
|
108
|
-
- Type definitions never referenced (TypeScript)
|
|
109
|
-
|
|
110
|
-
### Phase 8: Redundant Code Detection
|
|
111
|
-
11. Find redundant patterns:
|
|
112
|
-
- Redundant else blocks after return statements
|
|
113
|
-
- Duplicate code blocks (identical logic repeated)
|
|
114
|
-
- Empty interfaces/types (TypeScript)
|
|
115
|
-
- Unused exports (check import statements across codebase)
|
|
116
|
-
|
|
117
|
-
### Phase 9: Changes Logging (If Modifications Required)
|
|
185
|
+
### Phase 5: Changes Logging (If Modifications Required)
|
|
118
186
|
|
|
119
187
|
**IMPORTANT**: dead-code-hunter is primarily a read-only analysis agent. If any file modifications are needed (rare), follow this logging protocol:
|
|
120
188
|
|
|
@@ -145,9 +213,9 @@ When invoked, you must follow these steps systematically:
|
|
|
145
213
|
}
|
|
146
214
|
```
|
|
147
215
|
|
|
148
|
-
### Phase
|
|
216
|
+
### Phase 6: Report Generation
|
|
149
217
|
|
|
150
|
-
|
|
218
|
+
**Generate `dead-code-report.md`** following this structure:
|
|
151
219
|
|
|
152
220
|
#### Report Structure
|
|
153
221
|
|
|
@@ -347,35 +415,43 @@ Remove if confirmed unused, or document intent.
|
|
|
347
415
|
5. `src/utils/format.ts` - 3 items
|
|
348
416
|
|
|
349
417
|
### Detection Methods Used
|
|
350
|
-
-
|
|
351
|
-
-
|
|
418
|
+
- **Knip v5.x** (primary): Unused files, exports, dependencies, types
|
|
419
|
+
- ESLint unused variable detection (supplementary)
|
|
352
420
|
- Pattern matching for commented code
|
|
353
421
|
- Console statement detection
|
|
354
422
|
- TODO/FIXME marker search
|
|
355
423
|
- Unreachable code analysis
|
|
356
424
|
|
|
425
|
+
### Knip Configuration
|
|
426
|
+
- Config file: `knip.json`
|
|
427
|
+
- Plugins enabled: {list of auto-detected plugins}
|
|
428
|
+
- Entry points: {list of entry files}
|
|
429
|
+
|
|
357
430
|
---
|
|
358
431
|
|
|
359
|
-
*Report generated by dead-code-hunter
|
|
432
|
+
*Report generated by dead-code-hunter v2.0.0 (Knip-powered)*
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
### Phase 7: Return to Main Session
|
|
436
|
+
|
|
437
|
+
**Output summary** to confirm completion:
|
|
360
438
|
```
|
|
439
|
+
Dead code detection complete.
|
|
440
|
+
|
|
441
|
+
Summary:
|
|
442
|
+
- Total items found: 47
|
|
443
|
+
- Critical: 0 | High: 12 | Medium: 28 | Low: 7
|
|
444
|
+
- Knip findings: 35 items (unused exports, files, dependencies)
|
|
445
|
+
- Supplementary findings: 12 items (comments, debug, unreachable)
|
|
446
|
+
- Report: dead-code-report.md
|
|
361
447
|
|
|
362
|
-
|
|
448
|
+
Detection Method: Knip v5.x + supplementary grep analysis
|
|
449
|
+
Validation: ✅ PASSED
|
|
363
450
|
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
Dead code detection complete.
|
|
367
|
-
|
|
368
|
-
Summary:
|
|
369
|
-
- Total items found: 47
|
|
370
|
-
- Critical: 0 | High: 12 | Medium: 28 | Low: 7
|
|
371
|
-
- Report: dead-code-report.md
|
|
372
|
-
|
|
373
|
-
Validation: ✅ PASSED
|
|
374
|
-
|
|
375
|
-
Returning to main session.
|
|
376
|
-
```
|
|
451
|
+
Returning to main session.
|
|
452
|
+
```
|
|
377
453
|
|
|
378
|
-
|
|
454
|
+
**Return control** to main session or orchestrator.
|
|
379
455
|
|
|
380
456
|
---
|
|
381
457
|
|
|
@@ -443,4 +519,20 @@ If detection fails:
|
|
|
443
519
|
|
|
444
520
|
---
|
|
445
521
|
|
|
446
|
-
|
|
522
|
+
## Knip Command Reference
|
|
523
|
+
|
|
524
|
+
Use these commands during detection:
|
|
525
|
+
|
|
526
|
+
| Command | Purpose | When to Use |
|
|
527
|
+
|---------|---------|-------------|
|
|
528
|
+
| `npx knip` | Full analysis | Default comprehensive scan |
|
|
529
|
+
| `npx knip --reporter json` | JSON output | Machine parsing for report generation |
|
|
530
|
+
| `npx knip --reporter compact` | Compact output | Quick human review |
|
|
531
|
+
| `npx knip --dependencies` | Dependencies only | Focus on unused packages |
|
|
532
|
+
| `npx knip --exports` | Exports only | Focus on unused exports |
|
|
533
|
+
| `npx knip --files` | Files only | Focus on unused files |
|
|
534
|
+
| `npx knip --include-entry-exports` | Include entry exports | For private/self-contained repos |
|
|
535
|
+
|
|
536
|
+
---
|
|
537
|
+
|
|
538
|
+
*dead-code-hunter v2.1.0 - Knip-Powered Dead Code Detection Agent (with Dynamic Import Safety)*
|