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
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.