Ensure accessibility in UI components including semantic HTML, ARIA attributes, keyboard navigation, and WCAG 2.2 AA compliance.
日本語の概要は準備中です。原文の説明を表示しています。
Automated brownfield codebase analysis with weighted keyword scoring, three-stream analysis, and design pattern recognition. Detects project type, frameworks, dependencies, architecture patterns, and generates comprehensive project profile.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
References (archive): SCAFFOLD_SKILLS_ARCHIVE_MAP.md — ProjectAnalyzer monorepo/service detection from Auto-Claude-develop analysis/analyzers.
<identity> Project Analyzer - Automated brownfield codebase analysis for rapid project onboarding and understanding. </identity> <capabilities> - Detecting project type (frontend, backend, fullstack, library, cli, mobile, monorepo) - Identifying frameworks and libraries from manifests and structure - Generating file statistics and language breakdown - Mapping component relationships and module structure - Detecting architecture patterns (MVC, layered, microservices, etc.) - Analyzing dependency health and outdated packages - Identifying code quality indicators (linting, testing, type safety) - Detecting technical debt and anti-patterns - Generating prioritized improvement recommendations </capabilities> <instructions> <execution_process>Locate project root by finding manifest files:
Search for package manager files:
package.json (Node.js/JavaScript/TypeScript)requirements.txt, pyproject.toml, setup.py (Python)go.mod (Go)Cargo.toml (Rust)pom.xml, build.gradle (Java/Maven/Gradle)composer.json (PHP)Identify project root:
Validate project root:
.git directoryClassify project based on manifest files and directory structure:
Frontend Projects:
src/components/, public/, assets/Backend Projects:
routes/, controllers/, models/, api/Fullstack Projects:
Library/Package Projects:
index.ts, lib/, dist/, build/library field in package.jsonCLI Projects:
bin field in package.jsonMobile Projects:
android/, ios/, mobile/Monorepo Projects:
workspaces in package.json, pnpm-workspace.yamlMicroservices Projects:
docker-compose.yml, service configsIdentify frameworks from manifest files and imports:
Read package.json dependencies (Node.js):
dependencies and devDependenciesRead requirements.txt (Python):
Analyze imports (optional deep scan):
Framework Categories:
Confidence Scoring:
Generate quantitative project statistics:
Count files by type:
node_modules/, .git/, dist/, build/Count lines of code:
Identify largest files:
Calculate averages:
Language Detection:
.ts, .tsx → TypeScript.js, .jsx → JavaScript.py → Python.go → Go.rs → Rust.java → Java.md → Markdown.json → JSON.yaml, .yml → YAMLAnalyze project structure and architecture:
Identify root directories:
src/, app/, lib/test/, __tests__/, cypress/config/, .config/docs/, documentation/dist/, build/, out/scripts/, bin/assets/, static/, public/Detect entry points:
index.ts, main.py, app.pyapp.ts, server.ts, app/page.tsxhandler.ts, lambda.tscli.ts, bin/Detect architecture pattern:
models/, views/, controllers/presentation/, business/, data/domain/, application/, infrastructure/Detect module system:
package.json for "type": "module" (ESM)import/export (ESM) vs require (CommonJS)Analyze dependency health:
Count dependencies:
Check for outdated packages (optional):
npm outdated or equivalentSecurity scan (optional):
npm audit or equivalentDetect code quality tooling:
Linting Configuration:
.eslintrc.json, eslint.config.js, ruff.tomlFormatting Configuration:
.prettierrc, pyproject.toml (Black/Ruff)Testing Framework:
Type Safety:
tsconfig.json"strict": trueIdentify common patterns and anti-patterns:
Good Practices:
Anti-Patterns:
Neutral Patterns:
Calculate technical debt score:
Debt Indicators:
Debt Score (0-100):
Remediation Effort:
Create prioritized improvement recommendations:
Categorize Recommendations:
Prioritize by Impact:
Estimate Effort and Impact:
Validate analysis output against schema:
Schema Validation:
project-analysis.schema.jsonOutput Metadata:
</execution_process>
<performance> **Performance Requirements**:node_modules/, .git/, dist/Integration with Other Skills:
<best_practices>
# Analyze current project
node .claude/tools/analysis/project-analyzer/analyzer.mjs
# Analyze specific directory
node .claude/tools/analysis/project-analyzer/analyzer.mjs /path/to/project
# Output to file
node .claude/tools/analysis/project-analyzer/analyzer.mjs --output .claude/context/artifacts/project-analysis.json
Agent Invocation:
# Analyze current project
Analyze this project
# Generate comprehensive analysis
Perform full project analysis and save to artifacts
# Quick analysis (manifest only)
Quick project type detection
</usage_example>
<formatting_example>
Sample Output (.claude/context/artifacts/project-analysis.json):
{
"analysis_id": "analysis-llm-rules-20250115",
"project_type": "fullstack",
"analyzed_at": "2025-01-15T10:30:00.000Z",
"project_root": "C:\\dev\\projects\\LLM-RULES",
"stats": {
"total_files": 1243,
"total_lines": 125430,
"languages": {
"JavaScript": 45230,
"TypeScript": 38120,
"Markdown": 25680,
"JSON": 12400,
"YAML": 4000
},
"file_types": {
".js": 234,
".mjs": 156,
".ts": 89,
".md": 312,
".json": 145
},
"directories": 87,
"avg_file_size_lines": 101,
"largest_files": [
{
"path": ".claude/tools/enforcement-gate.mjs",
"lines": 1520
}
]
},
"frameworks": [
{
"name": "nextjs",
"version": "14.0.0",
"category": "framework",
"confidence": 1.0,
"source": "package.json"
},
{
"name": "react",
"version": "18.2.0",
"category": "framework",
"confidence": 1.0,
"source": "package.json"
}
],
"structure": {
"root_directories": [
{
"name": ".claude",
"purpose": "config",
"file_count": 543
},
{
"name": "conductor-main",
"purpose": "source",
"file_count": 234
}
],
"entry_points": [
{
"path": "conductor-main/src/index.ts",
"type": "main"
}
],
"architecture_pattern": "modular",
"module_system": "esm"
},
"dependencies": {
"production": 45,
"development": 23
},
"code_quality": {
"linting": {
"configured": true,
"tool": "eslint"
},
"formatting": {
"configured": true,
"tool": "prettier"
},
"testing": {
"framework": "vitest",
"test_files": 89,
"coverage_configured": true
},
"type_safety": {
"typescript": true,
"strict_mode": true
}
},
"tech_debt": {
"score": 35,
"indicators": [
{
"category": "complexity",
"severity": "medium",
"description": "3 files exceed 1000 lines",
"remediation_effort": "moderate"
}
]
},
"recommendations": [
{
"priority": "P1",
"category": "maintainability",
"title": "Refactor large files",
"description": "Break down files > 1000 lines into smaller modules",
"effort": "moderate",
"impact": "high"
}
],
"metadata": {
"analyzer_version": "1.0.0",
"analysis_duration_ms": 2340,
"files_analyzed": 1243,
"files_skipped": 3420,
"errors": []
}
}
</formatting_example> </examples>
When classifying files, directories, or components into categories, use weighted keyword scoring instead of simple string matching to prevent false positives:
| Signal Source | Score Weight | Example |
|---|---|---|
| File path/URL | 3 points | /api/routes/ matches "API" category |
| File/class name | 2 points | AuthService.ts matches "Authentication" |
| File content/imports | 1 point | import express matches "Backend" |
Threshold: Require 2+ total points before assigning a category. Falls back to "other" if no category scores above threshold. This prevents weak single-signal matches from misclassifying components.
Category keywords (extend per project type):
For comprehensive project understanding, analyze three parallel streams:
Stream 1 — Code Analysis: AST patterns, framework detection, dependency graph, architecture classification. This is the existing core workflow (Steps 1-11).
Stream 2 — Documentation: README quality, API docs existence, inline doc coverage, changelog maintenance, contribution guides. Score: docFiles / totalFiles weighted by type.
Stream 3 — Community/Operations: Git activity (commit frequency, contributor count), CI/CD configuration, issue templates, PR templates, release workflow, Docker/container setup.
Combine all three streams into the output JSON under analysis.streams:
{
"streams": {
"code": { "score": 0.85, "findings": [...] },
"documentation": { "score": 0.60, "findings": [...] },
"operations": { "score": 0.75, "findings": [...] }
},
"compositeHealth": 0.73
}
Detect common design patterns with confidence scoring:
| Pattern | Detection Signal | Confidence Threshold |
|---|---|---|
| Singleton | Private constructor + static instance | 0.80 |
| Factory | create* methods returning interface types | 0.70 |
| Observer | subscribe/on/emit/addEventListener | 0.70 |
| Strategy | Interface + multiple implementations | 0.60 |
| Decorator | Wrapper classes with same interface | 0.60 |
| Repository | Data access layer abstraction | 0.70 |
| Middleware | Chain-of-responsibility in request pipeline | 0.70 |
Output detected patterns in the analysis JSON with location, confidence, and evidence:
{
"patterns": [
{
"type": "Factory",
"category": "Creational",
"confidence": 0.85,
"location": "src/services/UserFactory.ts",
"evidence": ["createUser method", "returns IUser interface"]
}
]
}
For additional detection patterns extracted from the Auto-Claude analysis framework, see:
references/auto-claude-patterns.md - Monorepo indicators, SERVICE_INDICATORS, SERVICE_ROOT_FILES, infrastructure detection, convention detectionreferences/service-patterns.md - Service type detection (frontend, backend, library), framework-specific patterns, entry point detectionreferences/database-patterns.md - Database configuration file patterns, ORM detection (Prisma, SQLAlchemy, TypeORM, Drizzle, Mongoose), connection string patternsreferences/route-patterns.md - Express, FastAPI, Flask, Django, Next.js, Go, Rust API route detection patternsThese references provide comprehensive regex patterns and detection logic for brownfield codebase analysis.
Before starting:
Read .claude/context/memory/learnings.md
After completing:
.claude/context/memory/learnings.md.claude/context/memory/issues.md.claude/context/memory/decisions.mdASSUME INTERRUPTION: If it's not in memory, it didn't happen.
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Ensure accessibility in UI components including semantic HTML, ARIA attributes, keyboard navigation, and WCAG 2.2 AA compliance.
日本語の概要は準備中です。原文の説明を表示しています。
Use when you want to improve response quality through meta-cognitive reasoning. Applies 15+ reasoning methods to reconsider and refine initial outputs.
日本語の概要は準備中です。原文の説明を表示しています。
N-round opposing-stance debates for trade-off analysis. Assigns pro/con roles to agents, runs structured debate rounds with quality scoring, and produces a moderator synthesis with confidence-rated recommendation. Generalizable to architecture, technology, security, and design decisions.
日本語の概要は準備中です。原文の説明を表示しています。
Force adversarial code review stance that eliminates confirmation bias — reviewer must find issues or re-analyze
日本語の概要は準備中です。原文の説明を表示しています。
Creates specialized AI agents on-demand when no existing agent matches a request. Use when the Router cannot find a suitable agent for a task. Enables self-evolution by generating persistent agents.
日本語の概要は準備中です。原文の説明を表示しています。
LLM-as-judge evaluation framework with 5-dimension rubric (accuracy, groundedness, coherence, completeness, helpfulness) for scoring AI-generated content quality with weighted composite scores and evidence citations
日本語の概要は準備中です。原文の説明を表示しています。