oh-my-customcode 0.19.0 → 0.19.3

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/README.md CHANGED
@@ -124,7 +124,7 @@ Claude Code selects the appropriate model and parallelizes independent tasks (up
124
124
  | **QA** | 3 | qa-planner, qa-writer, qa-engineer |
125
125
  | **Total** | **41** | |
126
126
 
127
- ### Skills (55)
127
+ ### Skills (56)
128
128
 
129
129
  | Category | Count | Skills |
130
130
  |----------|-------|--------|
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-customcode",
3
- "version": "0.19.0",
3
+ "version": "0.19.3",
4
4
  "description": "Batteries-included agent harness for Claude Code",
5
5
  "type": "module",
6
6
  "bin": {
@@ -0,0 +1,161 @@
1
+ ---
2
+ name: analysis
3
+ description: Analyze project and auto-configure agents, skills, rules, and guides
4
+ argument-hint: "[--dry-run] [--verbose]"
5
+ ---
6
+
7
+ # Project Analysis Skill
8
+
9
+ Scan a project's tech stack, compare against installed agents/skills, and auto-configure missing items.
10
+
11
+ ## Options
12
+
13
+ ```
14
+ --dry-run Show what would be added without making changes
15
+ --verbose Show detailed detection reasoning
16
+ ```
17
+
18
+ ## Workflow
19
+
20
+ ### Step 1: Project Scan
21
+
22
+ Detect tech stack by checking indicator files and dependency manifests.
23
+
24
+ | Indicator | Files to Check | Agent | Skill |
25
+ |-----------|---------------|-------|-------|
26
+ | TypeScript | tsconfig.json, *.ts, *.tsx | lang-typescript-expert | typescript-best-practices |
27
+ | React/Next.js | next.config.*, package.json (next dep) | fe-vercel-agent | react-best-practices |
28
+ | Vue.js | vue.config.*, *.vue | fe-vuejs-agent | - |
29
+ | Svelte | svelte.config.*, *.svelte | fe-svelte-agent | - |
30
+ | Python | pyproject.toml, requirements.txt, *.py | lang-python-expert | python-best-practices |
31
+ | FastAPI | "fastapi" in imports/deps | be-fastapi-expert | fastapi-best-practices |
32
+ | Go | go.mod, *.go | lang-golang-expert | go-best-practices |
33
+ | Go Backend | go.mod + cmd/ or internal/ dirs | be-go-backend-expert | go-backend-best-practices |
34
+ | Rust | Cargo.toml, *.rs | lang-rust-expert | rust-best-practices |
35
+ | Kotlin | *.kt, build.gradle.kts | lang-kotlin-expert | kotlin-best-practices |
36
+ | Java | *.java, pom.xml | lang-java21-expert | - |
37
+ | Spring Boot | spring-boot in deps | be-springboot-expert | springboot-best-practices |
38
+ | Express.js | "express" in deps | be-express-expert | - |
39
+ | NestJS | "@nestjs" in deps | be-nestjs-expert | - |
40
+ | Docker | Dockerfile, compose.yml | infra-docker-expert | docker-best-practices |
41
+ | AWS | CDK/SAM/CloudFormation files | infra-aws-expert | aws-best-practices |
42
+ | PostgreSQL | *.sql, pg in deps | db-postgres-expert | postgres-best-practices |
43
+ | Redis | redis in deps | db-redis-expert | redis-best-practices |
44
+ | Supabase | supabase in deps/config | db-supabase-expert | supabase-postgres-best-practices |
45
+ | Airflow | dags/*.py, airflow in deps | de-airflow-expert | airflow-best-practices |
46
+ | dbt | dbt_project.yml | de-dbt-expert | dbt-best-practices |
47
+ | Kafka | kafka in deps/config | de-kafka-expert | kafka-best-practices |
48
+ | Spark | spark in deps/config | de-spark-expert | spark-best-practices |
49
+ | Snowflake | snowflake in deps/config | de-snowflake-expert | snowflake-best-practices |
50
+
51
+ **Detection logic:**
52
+
53
+ ```
54
+ 1. Read package.json / go.mod / Cargo.toml / pyproject.toml / pom.xml
55
+ 2. Glob for indicator files (tsconfig.json, *.vue, Dockerfile, etc.)
56
+ 3. Grep dependencies for framework/library names
57
+ 4. For verbose mode: log each indicator found and confidence level
58
+ ```
59
+
60
+ ### Step 2: Gap Analysis
61
+
62
+ Compare detected stack against what is already installed.
63
+
64
+ ```
65
+ 1. List existing agents: ls .claude/agents/*.md
66
+ 2. List existing skills: find .claude/skills -name "SKILL.md"
67
+ 3. For each detected indicator:
68
+ a. Check if required agent file exists → mark MISSING or PRESENT
69
+ b. Check if required skill directory exists → mark MISSING or PRESENT
70
+ 4. Build two lists:
71
+ - missing_agents[] — agents needed but not present
72
+ - missing_skills[] — skills needed but not present
73
+ 5. (Optional) Build unused list for suggestions:
74
+ - Agents present but no indicator matched → flag for review
75
+ ```
76
+
77
+ ### Step 3: Auto-Configure
78
+
79
+ Apply changes for all missing items (skip in --dry-run mode).
80
+
81
+ ```
82
+ For each missing agent:
83
+ - If agent exists in templates/.claude/agents/ → copy to .claude/agents/
84
+ - Else → delegate to mgr-creator with detected domain context
85
+
86
+ For each missing skill:
87
+ - If skill exists in templates/.claude/skills/ → copy to .claude/skills/
88
+ - Else → log as "skill not available in templates, manual setup needed"
89
+
90
+ Rules:
91
+ - Keep all existing rules (they are universal, never remove)
92
+
93
+ Guides:
94
+ - Verify guides/ directory has relevant reference docs
95
+ - Log missing guide topics as suggestions only (no auto-copy)
96
+ ```
97
+
98
+ ### Step 4: Report
99
+
100
+ Output a structured summary after the run.
101
+
102
+ ```
103
+ [analysis] Project: <detected project name or path>
104
+
105
+ Tech Stack Detected:
106
+ - TypeScript (tsconfig.json found)
107
+ - React/Next.js (next in package.json deps)
108
+ - Docker (Dockerfile found)
109
+
110
+ Agents:
111
+ + lang-typescript-expert [added]
112
+ + fe-vercel-agent [added]
113
+ ~ infra-docker-expert [already present, skipped]
114
+
115
+ Skills:
116
+ + typescript-best-practices [added]
117
+ + react-best-practices [added]
118
+ ~ docker-best-practices [already present, skipped]
119
+
120
+ Rules: no changes (universal rules kept as-is)
121
+
122
+ Guides: react/ — present
123
+ docker/ — present
124
+ typescript/ — present
125
+
126
+ Suggestions:
127
+ - infra-aws-expert not detected (no CDK/SAM files found)
128
+ - de-* agents not detected (no pipeline indicators found)
129
+
130
+ Summary: 2 agents added, 2 skills added, 0 removed
131
+ ```
132
+
133
+ **--dry-run output** prefixes all additions with `[would add]` instead of `[added]` and makes no file changes.
134
+
135
+ **--verbose output** adds a Detection section before the report:
136
+
137
+ ```
138
+ Detection Details:
139
+ tsconfig.json → TypeScript confirmed
140
+ package.json[next] → Next.js confirmed (confidence: high)
141
+ package.json[react] → React confirmed (confidence: high)
142
+ Dockerfile → Docker confirmed
143
+ no go.mod found → Go skipped
144
+ no Cargo.toml found → Rust skipped
145
+ ```
146
+
147
+ ## Example Invocation
148
+
149
+ ```
150
+ /analysis
151
+ /analysis --dry-run
152
+ /analysis --verbose
153
+ /analysis --dry-run --verbose
154
+ ```
155
+
156
+ ## Notes
157
+
158
+ - Always run `--dry-run` first on unfamiliar projects to preview changes
159
+ - Agents and skills are additive only — existing items are never removed automatically
160
+ - For stacks not in the detection table, delegate to `mgr-creator` for dynamic agent creation
161
+ - Rules are never auto-removed; they are project-universal
@@ -145,6 +145,7 @@ Violation = immediate correction. No exception for "small changes".
145
145
 
146
146
  | Command | Description |
147
147
  |---------|-------------|
148
+ | `/analysis` | Analyze project and auto-configure customizations |
148
149
  | `/create-agent` | Create a new agent |
149
150
  | `/update-docs` | Sync documentation with project structure |
150
151
  | `/update-external` | Update agents from external sources |
@@ -174,7 +175,7 @@ project/
174
175
  +-- CLAUDE.md # Entry point
175
176
  +-- .claude/
176
177
  | +-- agents/ # Subagent definitions (41 files)
177
- | +-- skills/ # Skills (55 directories)
178
+ | +-- skills/ # Skills (56 directories)
178
179
  | +-- rules/ # Global rules (R000-R018)
179
180
  | +-- hooks/ # Hook scripts (memory, HUD)
180
181
  | +-- contexts/ # Context files (ecomode)
@@ -238,6 +239,9 @@ Task tool + routing skills remain the fallback for simple/cost-sensitive tasks.
238
239
  ## Quick Reference
239
240
 
240
241
  ```bash
242
+ # Project analysis
243
+ /analysis
244
+
241
245
  # Show all commands
242
246
  /lists
243
247
 
@@ -145,6 +145,7 @@ oh-my-customcode로 구동됩니다.
145
145
 
146
146
  | 커맨드 | 설명 |
147
147
  |--------|------|
148
+ | `/analysis` | 프로젝트 분석 및 자동 커스터마이징 |
148
149
  | `/create-agent` | 새 에이전트 생성 |
149
150
  | `/update-docs` | 프로젝트 구조와 문서 동기화 |
150
151
  | `/update-external` | 외부 소스에서 에이전트 업데이트 |
@@ -174,7 +175,7 @@ project/
174
175
  +-- CLAUDE.md # 진입점
175
176
  +-- .claude/
176
177
  | +-- agents/ # 서브에이전트 정의 (41 파일)
177
- | +-- skills/ # 스킬 (55 디렉토리)
178
+ | +-- skills/ # 스킬 (56 디렉토리)
178
179
  | +-- rules/ # 전역 규칙 (R000-R018)
179
180
  | +-- hooks/ # 훅 스크립트 (메모리, HUD)
180
181
  | +-- contexts/ # 컨텍스트 파일 (ecomode)
@@ -238,6 +239,9 @@ Claude Code의 Agent Teams 기능이 활성화되어 있으면 (`CLAUDE_CODE_EXP
238
239
  ## 빠른 참조
239
240
 
240
241
  ```bash
242
+ # 프로젝트 분석
243
+ /analysis
244
+
241
245
  # 모든 커맨드 표시
242
246
  /lists
243
247
 
@@ -18,7 +18,7 @@
18
18
  "name": "skills",
19
19
  "path": ".claude/skills",
20
20
  "description": "Reusable skill modules (includes slash commands)",
21
- "files": 55
21
+ "files": 56
22
22
  },
23
23
  {
24
24
  "name": "guides",