
project-analyzer
by SawanoLab
Auto-generate specialized Claude Code subagents for your stack. Phase-adaptive code review. 10 frameworks, 13 templates. MIT licensed.
SKILL.md
name: project-analyzer description: Analyzes project structure and generates appropriate Claude Code subagents based on detected tech stack
Project Analyzer Skill
This skill automatically analyzes your project's technology stack and generates appropriate Claude Code subagents tailored to your specific setup.
Purpose
Save time by automatically:
- Detecting your project's tech stack (Next.js, FastAPI, Go, etc.)
- Identifying testing frameworks and tools
- Generating optimized subagents for your specific stack
- Following Anthropic's Progressive Disclosure pattern
How It Works
1. Detection Phase
The skill examines your project files to identify:
Primary Framework Detection:
package.json→ Node.js/JavaScript/TypeScript projectsrequirements.txt,pyproject.toml→ Python projectsgo.mod→ Go projectspubspec.yaml→ Dart/Flutter projects
Framework Specifics:
- Next.js:
next.config.js,app/orpages/directory - FastAPI:
from fastapi importin Python files - React:
package.jsoncontains"react" - And more...
Tooling Detection:
- Testing: Jest, Vitest, pytest, Go test
- Styling: Tailwind CSS, styled-components, CSS Modules
- State Management: Zustand, Redux, Pinia
- Type Safety: TypeScript, mypy, Go types
2. Confirmation Phase (Progressive Disclosure)
After detection, you'll see:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Detected Tech Stack
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Framework: Next.js 14
Language: TypeScript
Styling: Tailwind CSS
Testing: Vitest + Testing Library
Confidence: 95%
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Generate these subagents? [Y/n]
✓ nextjs-tester (Vitest + Testing Library)
✓ component-reviewer (React best practices)
✓ type-checker (TypeScript strict mode)
You choose what gets generated. No surprises.
3. Generation Phase
When confirmed, the skill:
- Creates
.claude/agents/directory (if needed) - Generates subagent markdown files from templates
- Configures tools and prompts for your specific stack
- Reports what was created
Usage
Automatic Invocation
This skill is configured to run automatically when you:
- Open a new project in Claude Code
- Request tech stack analysis
- Ask to "set up subagents"
Manual Invocation
You can also invoke it explicitly:
Analyze this project and generate appropriate subagents
Or more specifically:
Use project-analyzer skill to detect my tech stack
What Gets Generated
For Next.js Projects
- nextjs-tester: Specialized in Vitest/Jest + Testing Library
- component-reviewer: React component best practices
- type-checker: TypeScript strict mode enforcement
- api-handler: API route testing and validation (if API routes detected)
For FastAPI Projects
- fastapi-tester: pytest + TestClient specialist
- api-reviewer: REST API best practices
- db-schema-checker: SQLAlchemy/Pydantic schema validation
- async-reviewer: async/await pattern enforcement
For Go Projects
- go-tester: go test + testify specialist
- go-reviewer: Go idioms and best practices
- concurrency-checker: Goroutine and channel patterns
Configuration Override
Don't like auto-detection? Override it:
Create .claude/project.yml:
adaptive-agents:
stack_override:
framework: nextjs
language: typescript
testing: vitest
# Skip certain subagents
skip_agents:
- type-checker
# Add custom agents
custom_agents:
- ./my-custom-agent.md
How Detection Works
The skill uses Python scripts that leverage:
File-based Detection:
# Using serena MCP for efficient file discovery
files = mcp__serena__find_file("package.json", project_path)
Content Analysis:
# Search for framework-specific patterns
matches = mcp__serena__search_for_pattern(
'"next":',
path="package.json",
output_mode="content"
)
Confidence Scoring:
confidence = (
0.4 if has_package_json else 0.0 +
0.3 if has_next_config else 0.0 +
0.2 if has_app_dir else 0.0 +
0.1 if has_next_dependency else 0.0
)
Error Handling
Unknown Tech Stack
⚠️ Could not confidently detect tech stack
Found files: package.json, src/
Options:
1. Manually specify stack in .claude/project.yml
2. Use generic templates
3. Skip auto-generation
Choose [1/2/3]:
Ambiguous Detection
⚠️ Multiple frameworks detected
Candidates:
- Next.js (confidence: 0.7)
- Vite + React (confidence: 0.6)
Which is primary? [1/2]:
Missing Dependencies
⚠️ Testing framework not detected
Framework: Next.js
Issue: No test files or config found
Suggestions:
- Install Vitest: npm install -D vitest
- Install Jest: npm install -D jest
- Skip test agent generation
Proceed without test agent? [Y/n]:
Implementation Files
This skill uses these helper scripts:
analyze_project.py
Main entry point. Orchestrates detection and generation.
python analyze_project.py /path/to/project
detect_stack.py
Tech stack detection logic. Returns structured data about framework, tools, confidence scores.
generate_agents.py
Reads templates and generates customized subagent files.
Best Practices
1. Run After Major Changes
Re-analyze when you:
- Add a new framework
- Change testing tools
- Restructure your project
Re-analyze project and update subagents
2. Review Generated Agents
Always review what was created:
ls .claude/agents/
cat .claude/agents/nextjs-tester.md
3. Customize as Needed
Generated agents are starting points. Edit them to fit your team's practices.
4. Commit to Version Control
git add .claude/agents/
git commit -m "Add auto-generated Claude Code subagents"
This way your team uses the same agents.
Transparency
The skill logs its reasoning:
Detection Log: .claude/detection.log
[2025-01-19 18:30:00] INFO: Starting project analysis
[2025-01-19 18:30:00] INFO: Found package.json
[2025-01-19 18:30:01] INFO: Detected dependency: "next": "^14.0.0"
[2025-01-19 18:30:01] INFO: Found next.config.js
[2025-01-19 18:30:01] INFO: Confidence score: 0.95
[2025-01-19 18:30:01] INFO: Framework: Next.js 14
Troubleshooting
Issue: "Skill not found"
Cause: Skill not in global Skills directory
Solution:
# Copy to global Claude Skills
cp -r skills/project-analyzer ~/.claude/skills/
Issue: "Permission denied" on file access
Cause: Insufficient file permissions
Solution:
# Ensure read permissions
chmod -R u+r /path/to/project
Issue: "Low confidence detection"
Cause: Unusual project structure
Solution: Use manual override in .claude/project.yml
References
- Anthropic Progressive Disclosure
- serena MCP Documentation
- Project Best Practices
- Stack Analyzer Subagent
Contributing
Found a framework we don't support? Add detection logic:
- Edit
detect_stack.py - Add framework detection function
- Create template in
templates/your-framework/ - Test with real project
- Submit PR!
See CONTRIBUTING.md for details.
Skill Version: 1.0.0 Last Updated: 2025-01-19 Maintainer: SawanoLab
スコア
総合スコア
リポジトリの品質指標に基づく評価
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
レビュー
レビュー機能は近日公開予定です



