Skip to content
Back to skills

Analysis

ASecurity

Analyze project and auto-configure agents, skills, rules, and guides

  • 43 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 9, 2026
developmenttypescriptpythonrustgojavakotlinsqlreactvuenextjs

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 9, 2026

npx -y skills add baekenough/oh-my-customcode --skill analysis --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Analysis?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Analysis
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/baekenough-analysis/badge)](https://www.skillsdirectory.com/skills/baekenough-analysis)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: omcustom:analysis
description: Analyze project and auto-configure agents, skills, rules, and guides
scope: harness
argument-hint: "[target-dir] [--interview]"
user-invocable: true
---

# Project Analysis Skill

Scan a project's tech stack, compare against installed agents/skills, and auto-configure missing items.

## Options

```
--dry-run      Show what would be added without making changes
--verbose      Show detailed detection reasoning
--interview, -i   Run interactive architecture interview before file-based detection
```

## Workflow

### Step 0: Architecture Interview (--interview only)

When `--interview` flag is provided, conduct an interactive AI interview before file-based detection. This captures human context that file scanning cannot determine.

**Interview flow** (sequential, AI-guided):

1. **프로젝트 유형**: "이 프로젝트는 어떤 종류입니까?"
   → 옵션: web app, REST API, CLI tool, library, monorepo, data pipeline, mobile app

2. **아키텍처 패턴**: "어떤 아키텍처를 따르고 있습니까?"
   → 옵션: microservices, monolith, serverless, event-driven, layered, hexagonal

3. **주요 언어**: "주로 사용하는 프로그래밍 언어는?"
   → 자유 입력, 알려진 에이전트와 매칭

4. **배포 대상**: "어디에 배포합니까?"
   → 옵션: AWS, GCP, Azure, Vercel, on-premises, Docker/K8s, edge

5. **팀 우선순위**: "팀의 주요 관심사는?"
   → 옵션: performance, security, developer experience, cost, scalability

**Interview results feed into Step 1 as weighted detection hints:**
- File evidence + interview agreement = `confidence: high`
- File evidence only = `confidence: medium` (unchanged from current)
- Interview only (no file evidence) = `confidence: suggested`

**Integration with report:**
```
Interview Insights (--interview):
  Project type: REST API (user-specified, confirmed by file scan)
  Architecture: microservices (user-specified)
  Deployment: AWS + Docker (confirmed by file scan)
  Team focus: security → sec-codeql-expert [suggested]

Suggested (from interview, no file evidence):
  ~ sec-codeql-expert  [suggested — no CodeQL config found]
  ~ de-kafka-expert     [suggested — no kafka deps found]
```

### Step 1: Project Scan

Detect tech stack by checking indicator files and dependency manifests.

| Indicator | Files to Check | Agent | Skill |
|-----------|---------------|-------|-------|
| TypeScript | tsconfig.json, *.ts, *.tsx | lang-typescript-expert | typescript-best-practices |
| React/Next.js | next.config.*, package.json (next dep) | fe-vercel-agent | react-best-practices |
| Vue.js | vue.config.*, *.vue | fe-vuejs-agent | - |
| Svelte | svelte.config.*, *.svelte | fe-svelte-agent | - |
| Flutter/Dart | pubspec.yaml, *.dart, lib/main.dart | fe-flutter-agent | - |
| Python | pyproject.toml, requirements.txt, *.py | lang-python-expert | python-best-practices |
| FastAPI | "fastapi" in imports/deps | be-fastapi-expert | fastapi-best-practices |
| Go | go.mod, *.go | lang-golang-expert | go-best-practices |
| Go Backend | go.mod + cmd/ or internal/ dirs | be-go-backend-expert | go-backend-best-practices |
| Rust | Cargo.toml, *.rs | lang-rust-expert | rust-best-practices |
| Kotlin | *.kt, build.gradle.kts | lang-kotlin-expert | kotlin-best-practices |
| Java | *.java, pom.xml | lang-java-expert | - |
| Spring Boot | spring-boot in deps | be-springboot-expert | springboot-best-practices |
| Express.js | "express" in deps | be-express-expert | - |
| NestJS | "@nestjs" in deps | be-nestjs-expert | - |
| Docker | Dockerfile, compose.yml | infra-docker-expert | docker-best-practices |
| AWS | CDK/SAM/CloudFormation files | infra-aws-expert | aws-best-practices |
| PostgreSQL | *.sql, pg in deps | db-postgres-expert | postgres-best-practices |
| Redis | redis in deps | db-redis-expert | redis-best-practices |
| Supabase | supabase in deps/config | db-supabase-expert | supabase-postgres-best-practices |
| Airflow | dags/*.py, airflow in deps | de-airflow-expert | airflow-best-practices |
| dbt | dbt_project.yml | de-dbt-expert | dbt-best-practices |
| Kafka | kafka in deps/config | de-kafka-expert | kafka-best-practices |
| Spark | spark in deps/config | de-spark-expert | spark-best-practices |
| Snowflake | snowflake in deps/config | de-snowflake-expert | snowflake-best-practices |

**Detection logic:**

```
1. Read package.json / go.mod / Cargo.toml / pyproject.toml / pom.xml
2. Glob for indicator files (tsconfig.json, *.vue, Dockerfile, etc.)
3. Grep dependencies for framework/library names
4. For verbose mode: log each indicator found and confidence level
```

### Step 2: Gap Analysis

Compare detected stack against what is already installed.

```
1. List existing agents:  ls .claude/agents/*.md
2. List existing skills:  find .claude/skills -name "SKILL.md"
3. For each detected indicator:
   a. Check if required agent file exists → mark MISSING or PRESENT
   b. Check if required skill directory exists → mark MISSING or PRESENT
4. Build two lists:
   - missing_agents[]   — agents needed but not present
   - missing_skills[]   — skills needed but not present
5. (Optional) Build unused list for suggestions:
   - Agents present but no indicator matched → flag for review
```

### Step 3: Auto-Configure

Apply changes for all missing items (skip in --dry-run mode).

```
For each missing agent:
  - If agent exists in templates/.claude/agents/ → copy to .claude/agents/
  - Else → delegate to mgr-creator with detected domain context

For each missing skill:
  - If skill exists in templates/.claude/skills/ → copy to .claude/skills/
  - Else → log as "skill not available in templates, manual setup needed"

Rules:
  - Keep all existing rules (they are universal, never remove)

Guides:
  - Verify templates/guides/ directory has relevant reference docs
  - Log missing guide topics as suggestions only (no auto-copy)
```

### Step 4: Report

Output a structured summary after the run.

```
[analysis] Project: <detected project name or path>

Tech Stack Detected:
  - TypeScript (tsconfig.json found)
  - React/Next.js (next in package.json deps)
  - Docker (Dockerfile found)

Agents:
  + lang-typescript-expert  [added]
  + fe-vercel-agent          [added]
  ~ infra-docker-expert      [already present, skipped]

Skills:
  + typescript-best-practices  [added]
  + react-best-practices        [added]
  ~ docker-best-practices       [already present, skipped]

Rules:   no changes (universal rules kept as-is)

Guides:  react/ — present
         docker/ — present
         typescript/ — present

Suggestions:
  - infra-aws-expert not detected (no CDK/SAM files found)
  - de-* agents not detected (no pipeline indicators found)

Summary: 2 agents added, 2 skills added, 0 removed
```

**--dry-run output** prefixes all additions with `[would add]` instead of `[added]` and makes no file changes.

**--verbose output** adds a Detection section before the report:

```
Detection Details:
  tsconfig.json            → TypeScript confirmed
  package.json[next]       → Next.js confirmed (confidence: high)
  package.json[react]      → React confirmed (confidence: high)
  Dockerfile               → Docker confirmed
  no go.mod found          → Go skipped
  no Cargo.toml found      → Rust skipped
```

### Step 5: Adaptive Harness Integration

After analysis completes, offer adaptive-harness optimization:

```
[Analysis Complete] Tech stack detected. Optimize harness for this project?
├── Yes → Run /omcustom:adaptive-harness --optimize (deactivate unused, suggest missing)
├── Dry-run → Run /omcustom:adaptive-harness --optimize --dry-run (show changes only)
└── Skip → Keep current harness configuration
```

If user selects Yes or Dry-run, invoke the adaptive-harness skill with the analysis results as context. The project profile generated by analysis feeds directly into adaptive-harness optimization.

## Integration

| Skill | Integration |
|-------|-------------|
| adaptive-harness | Called after analysis to optimize harness based on detected stack |

## Example Invocation

```
/analysis
/analysis --dry-run
/analysis --verbose
/analysis --dry-run --verbose
```

## Notes

- Always run `--dry-run` first on unfamiliar projects to preview changes
- Agents and skills are additive only — existing items are never removed automatically
- For stacks not in the detection table, delegate to `mgr-creator` for dynamic agent creation
- Rules are never auto-removed; they are project-universal

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…