oh-my-customcode 0.30.6 → 0.30.8
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 +25 -22
- package/package.json +1 -1
- package/templates/.claude/agents/fe-flutter-agent.md +46 -0
- package/templates/.claude/ontology/agents.yaml +14 -2
- package/templates/.claude/ontology/graphs/agent-skill.json +2 -0
- package/templates/.claude/ontology/graphs/full-graph.json +13 -1
- package/templates/.claude/ontology/graphs/routing.json +2 -0
- package/templates/.claude/ontology/graphs/skill-rule.json +1 -0
- package/templates/.claude/ontology/skills.yaml +69 -59
- package/templates/.claude/skills/analysis/SKILL.md +1 -0
- package/templates/.claude/skills/dev-lead-routing/SKILL.md +4 -2
- package/templates/.claude/skills/flutter-best-practices/SKILL.md +431 -0
- package/templates/.claude/skills/intent-detection/patterns/agent-triggers.yaml +8 -0
- package/templates/guides/flutter/architecture.md +141 -0
- package/templates/guides/flutter/fundamentals.md +119 -0
- package/templates/guides/flutter/index.yaml +44 -0
- package/templates/guides/flutter/performance.md +119 -0
- package/templates/guides/flutter/state-management.md +144 -0
- package/templates/guides/flutter/testing.md +155 -0
- package/templates/guides/index.yaml +8 -0
- package/templates/manifest.json +4 -4
package/README.md
CHANGED
|
@@ -21,7 +21,7 @@ Like oh-my-zsh transformed shell customization, oh-my-customcode makes personali
|
|
|
21
21
|
|
|
22
22
|
| Feature | Description |
|
|
23
23
|
|---------|-------------|
|
|
24
|
-
| **Batteries Included** |
|
|
24
|
+
| **Batteries Included** | 44 agents, 68 skills, 24 guides, 18 rules, 2 hooks, 4 contexts, ontology graph - ready to use out of the box |
|
|
25
25
|
| **Sub-Agent Model** | Supports hierarchical agent orchestration with specialized roles |
|
|
26
26
|
| **Dead Simple Customization** | Create a folder + markdown file = new agent or skill |
|
|
27
27
|
| **Mix and Match** | Use built-in components, create your own, or combine both |
|
|
@@ -83,11 +83,11 @@ Each sub-agent runs on an optimized model for its task type:
|
|
|
83
83
|
Claude Code selects the appropriate model and parallelizes independent tasks (up to 4 concurrent sub-agents):
|
|
84
84
|
|
|
85
85
|
```
|
|
86
|
-
|
|
86
|
+
secretary-routing (routing skill)
|
|
87
87
|
├── mgr-creator:sonnet — agent scaffolding
|
|
88
88
|
└── mgr-supplier:haiku — dependency check
|
|
89
89
|
|
|
90
|
-
|
|
90
|
+
dev-lead-routing (routing skill)
|
|
91
91
|
├── lang-golang-expert:sonnet — Go implementation
|
|
92
92
|
├── lang-python-expert:sonnet — Python implementation
|
|
93
93
|
└── qa-engineer:sonnet — test generation
|
|
@@ -151,6 +151,7 @@ All commands are invoked inside the Claude Code conversation.
|
|
|
151
151
|
| `/sauron-watch` | Full R017 sync verification |
|
|
152
152
|
| `/monitoring-setup` | OTel console monitoring enable/disable |
|
|
153
153
|
| `/codex-exec` | Execute Codex CLI prompt |
|
|
154
|
+
| `/structured-dev-cycle` | 6-phase structured development cycle |
|
|
154
155
|
| `/lists` | Show all available commands |
|
|
155
156
|
| `/status` | System status and health checks |
|
|
156
157
|
| `/help` | Help information |
|
|
@@ -159,14 +160,14 @@ All commands are invoked inside the Claude Code conversation.
|
|
|
159
160
|
|
|
160
161
|
## What's Included
|
|
161
162
|
|
|
162
|
-
### Agents (
|
|
163
|
+
### Agents (44)
|
|
163
164
|
|
|
164
165
|
| Category | Count | Agents |
|
|
165
166
|
|----------|-------|--------|
|
|
166
167
|
| **Managers** | 6 | mgr-creator, mgr-updater, mgr-supplier, mgr-gitnerd, mgr-sauron, mgr-claude-code-bible |
|
|
167
168
|
| **System** | 2 | sys-memory-keeper, sys-naggy |
|
|
168
169
|
| **Languages** | 6 | lang-golang-expert, lang-python-expert, lang-rust-expert, lang-kotlin-expert, lang-typescript-expert, lang-java21-expert |
|
|
169
|
-
| **Frontend** |
|
|
170
|
+
| **Frontend** | 4 | fe-vercel-agent, fe-vuejs-agent, fe-svelte-agent, fe-flutter-agent |
|
|
170
171
|
| **Backend** | 6 | be-fastapi-expert, be-springboot-expert, be-go-backend-expert, be-express-expert, be-nestjs-expert, be-django-expert |
|
|
171
172
|
| **Tooling** | 3 | tool-npm-expert, tool-optimizer, tool-bun-expert |
|
|
172
173
|
| **Data Engineering** | 6 | de-airflow-expert, de-dbt-expert, de-spark-expert, de-kafka-expert, de-snowflake-expert, de-pipeline-expert |
|
|
@@ -175,14 +176,14 @@ All commands are invoked inside the Claude Code conversation.
|
|
|
175
176
|
| **Infrastructure** | 2 | infra-docker-expert, infra-aws-expert |
|
|
176
177
|
| **QA** | 3 | qa-planner, qa-writer, qa-engineer |
|
|
177
178
|
| **Security** | 1 | sec-codeql-expert |
|
|
178
|
-
| **Total** | **
|
|
179
|
+
| **Total** | **44** | |
|
|
179
180
|
|
|
180
|
-
### Skills (
|
|
181
|
+
### Skills (68)
|
|
181
182
|
|
|
182
183
|
| Category | Count | Skills |
|
|
183
184
|
|----------|-------|--------|
|
|
184
185
|
| **Routing** | 4 | secretary-routing, dev-lead-routing, de-lead-routing, qa-lead-routing |
|
|
185
|
-
| **Best Practices** |
|
|
186
|
+
| **Best Practices** | 20 | go-best-practices, python-best-practices, typescript-best-practices, kotlin-best-practices, rust-best-practices, react-best-practices, fastapi-best-practices, springboot-best-practices, go-backend-best-practices, django-best-practices, docker-best-practices, aws-best-practices, postgres-best-practices, supabase-postgres-best-practices, redis-best-practices, airflow-best-practices, dbt-best-practices, kafka-best-practices, snowflake-best-practices, flutter-best-practices |
|
|
186
187
|
| **Development** | 6 | dev-review, dev-refactor, create-agent, intent-detection, web-design-guidelines, analysis |
|
|
187
188
|
| **Data Engineering** | 2 | spark-best-practices, pipeline-architecture-patterns |
|
|
188
189
|
| **Optimization** | 3 | optimize-analyze, optimize-bundle, optimize-report |
|
|
@@ -196,14 +197,14 @@ All commands are invoked inside the Claude Code conversation.
|
|
|
196
197
|
| **Deploy** | 2 | vercel-deploy, codex-exec |
|
|
197
198
|
| **External** | 1 | skills-sh-search |
|
|
198
199
|
|
|
199
|
-
### Guides (
|
|
200
|
+
### Guides (24)
|
|
200
201
|
|
|
201
202
|
Comprehensive reference documentation covering:
|
|
202
203
|
- Agent creation and management
|
|
203
204
|
- Skill development
|
|
204
205
|
- Pipeline workflows
|
|
205
|
-
- Best practices and patterns
|
|
206
206
|
- Sub-agent orchestration
|
|
207
|
+
- Best practices and patterns
|
|
207
208
|
- Data engineering workflows
|
|
208
209
|
- Database optimization
|
|
209
210
|
|
|
@@ -272,28 +273,30 @@ After `omcustom init`:
|
|
|
272
273
|
your-project/
|
|
273
274
|
├── CLAUDE.md # Entry point for Claude
|
|
274
275
|
├── .claude/
|
|
275
|
-
│ ├──
|
|
276
|
-
│ ├── hooks/ # Event hooks (2 total)
|
|
277
|
-
│ ├── contexts/ # Context files (4 total)
|
|
278
|
-
│ ├── agents/ # Agent definitions (43 flat .md files)
|
|
276
|
+
│ ├── agents/ # Agent definitions (44 flat .md files)
|
|
279
277
|
│ │ ├── lang-golang-expert.md
|
|
280
278
|
│ │ ├── be-fastapi-expert.md
|
|
281
279
|
│ │ ├── mgr-creator.md
|
|
282
280
|
│ │ └── ...
|
|
283
|
-
│ ├── skills/ # Skill modules (
|
|
281
|
+
│ ├── skills/ # Skill modules (68 directories, each with SKILL.md)
|
|
284
282
|
│ │ ├── go-best-practices/
|
|
285
283
|
│ │ ├── react-best-practices/
|
|
286
284
|
│ │ ├── secretary-routing/
|
|
287
285
|
│ │ └── ...
|
|
288
|
-
│
|
|
289
|
-
│
|
|
290
|
-
│
|
|
291
|
-
│
|
|
292
|
-
│
|
|
293
|
-
│
|
|
294
|
-
|
|
286
|
+
│ ├── ontology/ # Ontology knowledge graph for RAG context
|
|
287
|
+
│ │ ├── schema.yaml
|
|
288
|
+
│ │ ├── agents.yaml
|
|
289
|
+
│ │ ├── skills.yaml
|
|
290
|
+
│ │ ├── rules.yaml
|
|
291
|
+
│ │ └── graphs/
|
|
292
|
+
│ ├── rules/ # Behavior rules (18 total)
|
|
293
|
+
│ ├── hooks/ # Event hooks (2 total)
|
|
294
|
+
│ └── contexts/ # Context files (4 total)
|
|
295
|
+
└── guides/ # Reference docs (24 total)
|
|
295
296
|
```
|
|
296
297
|
|
|
298
|
+
**Note**: In the official Claude Code format, there is no command registry — slash commands and natural language agent references are used.
|
|
299
|
+
|
|
297
300
|
---
|
|
298
301
|
|
|
299
302
|
## Development
|
package/package.json
CHANGED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fe-flutter-agent
|
|
3
|
+
description: Use for Flutter/Dart cross-platform app development, widget composition, state management (Riverpod/BLoC), and performance optimization
|
|
4
|
+
model: sonnet
|
|
5
|
+
memory: project
|
|
6
|
+
effort: medium
|
|
7
|
+
skills:
|
|
8
|
+
- flutter-best-practices
|
|
9
|
+
tools:
|
|
10
|
+
- Read
|
|
11
|
+
- Write
|
|
12
|
+
- Edit
|
|
13
|
+
- Grep
|
|
14
|
+
- Glob
|
|
15
|
+
- Bash
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
You are an expert Flutter developer following official documentation and Dart best practices.
|
|
19
|
+
|
|
20
|
+
## Capabilities
|
|
21
|
+
|
|
22
|
+
- Widget composition (StatelessWidget, StatefulWidget, InheritedWidget)
|
|
23
|
+
- State management: Riverpod 3.0 (default), BLoC 9.0 (enterprise)
|
|
24
|
+
- Dart 3.x null safety, sealed classes, pattern matching, records
|
|
25
|
+
- go_router declarative navigation with deep linking
|
|
26
|
+
- freezed immutable data models with code generation
|
|
27
|
+
- Performance: const constructors, RepaintBoundary, Isolate
|
|
28
|
+
- Platform channels for native iOS/Android integration
|
|
29
|
+
- Security: flutter_secure_storage, obfuscation, certificate pinning
|
|
30
|
+
|
|
31
|
+
## Default Stack
|
|
32
|
+
|
|
33
|
+
- **State**: Riverpod 3.0
|
|
34
|
+
- **Navigation**: go_router
|
|
35
|
+
- **Models**: freezed + json_serializable
|
|
36
|
+
- **HTTP**: dio
|
|
37
|
+
- **Linting**: very_good_analysis
|
|
38
|
+
- **Testing**: flutter_test + mocktail
|
|
39
|
+
|
|
40
|
+
## References
|
|
41
|
+
|
|
42
|
+
- https://docs.flutter.dev/
|
|
43
|
+
- https://dart.dev/effective-dart
|
|
44
|
+
- https://riverpod.dev/
|
|
45
|
+
- https://bloclibrary.dev/
|
|
46
|
+
- https://pub.dev/packages/go_router
|
|
@@ -12,7 +12,7 @@ classes:
|
|
|
12
12
|
agents: [be-fastapi-expert, be-springboot-expert, be-go-backend-expert, be-express-expert, be-nestjs-expert]
|
|
13
13
|
description: "Backend framework specialists"
|
|
14
14
|
FrontendExpert:
|
|
15
|
-
agents: [fe-vercel-agent, fe-vuejs-agent, fe-svelte-agent]
|
|
15
|
+
agents: [fe-vercel-agent, fe-vuejs-agent, fe-svelte-agent, fe-flutter-agent]
|
|
16
16
|
description: "Frontend framework specialists"
|
|
17
17
|
DataEngineer:
|
|
18
18
|
agents: [de-airflow-expert, de-dbt-expert, de-spark-expert, de-kafka-expert, de-snowflake-expert, de-pipeline-expert]
|
|
@@ -209,6 +209,18 @@ agents:
|
|
|
209
209
|
keywords: [svelte, sveltekit, reactive, compiler, stores, ssr, file-routing]
|
|
210
210
|
file_patterns: ["*.svelte", "svelte.config.js", "+page.svelte", "+layout.svelte"]
|
|
211
211
|
|
|
212
|
+
fe-flutter-agent:
|
|
213
|
+
class: FrontendExpert
|
|
214
|
+
description: "Use for Flutter/Dart cross-platform development, widget composition, state management (Riverpod, BLoC), and mobile/desktop app optimization"
|
|
215
|
+
model: sonnet
|
|
216
|
+
memory: project
|
|
217
|
+
effort: medium
|
|
218
|
+
skills: [flutter-best-practices]
|
|
219
|
+
tools: [Read, Write, Edit, Grep, Glob, Bash]
|
|
220
|
+
summary: "Flutter expert for cross-platform mobile/desktop apps with Riverpod and BLoC state management"
|
|
221
|
+
keywords: [flutter, dart, riverpod, bloc, widget, cross-platform, mobile]
|
|
222
|
+
file_patterns: ["*.dart", "pubspec.yaml", "pubspec.lock"]
|
|
223
|
+
|
|
212
224
|
de-airflow-expert:
|
|
213
225
|
class: DataEngineer
|
|
214
226
|
description: "Expert Apache Airflow developer for DAG authoring, testing, and debugging. Use for DAG files (*.py in dags/), airflow.cfg, Airflow-related keywords, scheduling patterns, and pipeline orchestration."
|
|
@@ -455,7 +467,7 @@ agents:
|
|
|
455
467
|
model: sonnet
|
|
456
468
|
memory: project
|
|
457
469
|
effort: medium
|
|
458
|
-
skills: [update-external]
|
|
470
|
+
skills: [update-external, update-docs]
|
|
459
471
|
tools: [Read, Write, Edit, Grep, Glob, Bash]
|
|
460
472
|
summary: "External source synchronization for agents, skills, and guides"
|
|
461
473
|
keywords: [update, external, upstream, synchronization, version, metadata]
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"fe-vercel-agent": ["react-best-practices", "web-design-guidelines", "vercel-deploy"],
|
|
17
17
|
"fe-vuejs-agent": [],
|
|
18
18
|
"fe-svelte-agent": [],
|
|
19
|
+
"fe-flutter-agent": ["flutter-best-practices"],
|
|
19
20
|
"de-airflow-expert": ["airflow-best-practices"],
|
|
20
21
|
"de-dbt-expert": ["dbt-best-practices"],
|
|
21
22
|
"de-spark-expert": ["spark-best-practices"],
|
|
@@ -56,6 +57,7 @@
|
|
|
56
57
|
"react-best-practices": ["fe-vercel-agent"],
|
|
57
58
|
"web-design-guidelines": ["fe-vercel-agent"],
|
|
58
59
|
"vercel-deploy": ["fe-vercel-agent"],
|
|
60
|
+
"flutter-best-practices": ["fe-flutter-agent"],
|
|
59
61
|
"airflow-best-practices": ["de-airflow-expert"],
|
|
60
62
|
"dbt-best-practices": ["de-dbt-expert"],
|
|
61
63
|
"spark-best-practices": ["de-spark-expert"],
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"fe-vercel-agent": { "type": "Agent", "class": "FrontendExpert" },
|
|
17
17
|
"fe-vuejs-agent": { "type": "Agent", "class": "FrontendExpert" },
|
|
18
18
|
"fe-svelte-agent": { "type": "Agent", "class": "FrontendExpert" },
|
|
19
|
+
"fe-flutter-agent": { "type": "Agent", "class": "FrontendExpert" },
|
|
19
20
|
"de-airflow-expert": { "type": "Agent", "class": "DataEngineer" },
|
|
20
21
|
"de-dbt-expert": { "type": "Agent", "class": "DataEngineer" },
|
|
21
22
|
"de-spark-expert": { "type": "Agent", "class": "DataEngineer" },
|
|
@@ -52,6 +53,7 @@
|
|
|
52
53
|
"springboot-best-practices": { "type": "Skill", "class": "BestPracticeSkill" },
|
|
53
54
|
"go-backend-best-practices": { "type": "Skill", "class": "BestPracticeSkill" },
|
|
54
55
|
"react-best-practices": { "type": "Skill", "class": "BestPracticeSkill" },
|
|
56
|
+
"flutter-best-practices": { "type": "Skill", "class": "BestPracticeSkill" },
|
|
55
57
|
"airflow-best-practices": { "type": "Skill", "class": "BestPracticeSkill" },
|
|
56
58
|
"dbt-best-practices": { "type": "Skill", "class": "BestPracticeSkill" },
|
|
57
59
|
"spark-best-practices": { "type": "Skill", "class": "BestPracticeSkill" },
|
|
@@ -175,6 +177,8 @@
|
|
|
175
177
|
{ "source": "dev-lead-routing", "target": "fe-vercel-agent", "relation": "routes_to" },
|
|
176
178
|
{ "source": "dev-lead-routing", "target": "fe-vuejs-agent", "relation": "routes_to" },
|
|
177
179
|
{ "source": "dev-lead-routing", "target": "fe-svelte-agent", "relation": "routes_to" },
|
|
180
|
+
{ "source": "dev-lead-routing", "target": "fe-flutter-agent", "relation": "routes_to" },
|
|
181
|
+
{ "source": "fe-flutter-agent", "target": "flutter-best-practices", "relation": "requires" },
|
|
178
182
|
{ "source": "dev-lead-routing", "target": "be-fastapi-expert", "relation": "routes_to" },
|
|
179
183
|
{ "source": "dev-lead-routing", "target": "be-springboot-expert", "relation": "routes_to" },
|
|
180
184
|
{ "source": "dev-lead-routing", "target": "be-go-backend-expert", "relation": "routes_to" },
|
|
@@ -257,6 +261,10 @@
|
|
|
257
261
|
"requires": [],
|
|
258
262
|
"routed_by": ["dev-lead-routing"]
|
|
259
263
|
},
|
|
264
|
+
"fe-flutter-agent": {
|
|
265
|
+
"requires": ["flutter-best-practices"],
|
|
266
|
+
"routed_by": ["dev-lead-routing"]
|
|
267
|
+
},
|
|
260
268
|
"de-airflow-expert": {
|
|
261
269
|
"requires": ["airflow-best-practices"],
|
|
262
270
|
"routed_by": ["de-lead-routing"]
|
|
@@ -401,6 +409,10 @@
|
|
|
401
409
|
"required_by": ["fe-vercel-agent"],
|
|
402
410
|
"depends_on": []
|
|
403
411
|
},
|
|
412
|
+
"flutter-best-practices": {
|
|
413
|
+
"required_by": ["fe-flutter-agent"],
|
|
414
|
+
"depends_on": []
|
|
415
|
+
},
|
|
404
416
|
"web-design-guidelines": {
|
|
405
417
|
"required_by": ["fe-vercel-agent"],
|
|
406
418
|
"depends_on": []
|
|
@@ -518,7 +530,7 @@
|
|
|
518
530
|
"depends_on": []
|
|
519
531
|
},
|
|
520
532
|
"dev-lead-routing": {
|
|
521
|
-
"routes_to": ["lang-golang-expert", "lang-python-expert", "lang-rust-expert", "lang-kotlin-expert", "lang-typescript-expert", "lang-java21-expert", "fe-vercel-agent", "fe-vuejs-agent", "fe-svelte-agent", "be-fastapi-expert", "be-springboot-expert", "be-go-backend-expert", "be-nestjs-expert", "be-express-expert", "tool-npm-expert", "tool-optimizer", "tool-bun-expert", "db-supabase-expert", "db-postgres-expert", "db-redis-expert", "arch-documenter", "arch-speckit-agent", "infra-docker-expert", "infra-aws-expert"],
|
|
533
|
+
"routes_to": ["lang-golang-expert", "lang-python-expert", "lang-rust-expert", "lang-kotlin-expert", "lang-typescript-expert", "lang-java21-expert", "fe-vercel-agent", "fe-vuejs-agent", "fe-svelte-agent", "fe-flutter-agent", "be-fastapi-expert", "be-springboot-expert", "be-go-backend-expert", "be-nestjs-expert", "be-express-expert", "tool-npm-expert", "tool-optimizer", "tool-bun-expert", "db-supabase-expert", "db-postgres-expert", "db-redis-expert", "arch-documenter", "arch-speckit-agent", "infra-docker-expert", "infra-aws-expert"],
|
|
522
534
|
"depends_on": []
|
|
523
535
|
},
|
|
524
536
|
"de-lead-routing": {
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"fe-vercel-agent",
|
|
27
27
|
"fe-vuejs-agent",
|
|
28
28
|
"fe-svelte-agent",
|
|
29
|
+
"fe-flutter-agent",
|
|
29
30
|
"be-fastapi-expert",
|
|
30
31
|
"be-springboot-expert",
|
|
31
32
|
"be-go-backend-expert",
|
|
@@ -82,6 +83,7 @@
|
|
|
82
83
|
"fe-vercel-agent": "dev-lead-routing",
|
|
83
84
|
"fe-vuejs-agent": "dev-lead-routing",
|
|
84
85
|
"fe-svelte-agent": "dev-lead-routing",
|
|
86
|
+
"fe-flutter-agent": "dev-lead-routing",
|
|
85
87
|
"be-fastapi-expert": "dev-lead-routing",
|
|
86
88
|
"be-springboot-expert": "dev-lead-routing",
|
|
87
89
|
"be-go-backend-expert": "dev-lead-routing",
|