oh-my-customcode 0.30.7 → 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 +15 -13
- 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
|
|
@@ -160,14 +160,14 @@ All commands are invoked inside the Claude Code conversation.
|
|
|
160
160
|
|
|
161
161
|
## What's Included
|
|
162
162
|
|
|
163
|
-
### Agents (
|
|
163
|
+
### Agents (44)
|
|
164
164
|
|
|
165
165
|
| Category | Count | Agents |
|
|
166
166
|
|----------|-------|--------|
|
|
167
167
|
| **Managers** | 6 | mgr-creator, mgr-updater, mgr-supplier, mgr-gitnerd, mgr-sauron, mgr-claude-code-bible |
|
|
168
168
|
| **System** | 2 | sys-memory-keeper, sys-naggy |
|
|
169
169
|
| **Languages** | 6 | lang-golang-expert, lang-python-expert, lang-rust-expert, lang-kotlin-expert, lang-typescript-expert, lang-java21-expert |
|
|
170
|
-
| **Frontend** |
|
|
170
|
+
| **Frontend** | 4 | fe-vercel-agent, fe-vuejs-agent, fe-svelte-agent, fe-flutter-agent |
|
|
171
171
|
| **Backend** | 6 | be-fastapi-expert, be-springboot-expert, be-go-backend-expert, be-express-expert, be-nestjs-expert, be-django-expert |
|
|
172
172
|
| **Tooling** | 3 | tool-npm-expert, tool-optimizer, tool-bun-expert |
|
|
173
173
|
| **Data Engineering** | 6 | de-airflow-expert, de-dbt-expert, de-spark-expert, de-kafka-expert, de-snowflake-expert, de-pipeline-expert |
|
|
@@ -176,14 +176,14 @@ All commands are invoked inside the Claude Code conversation.
|
|
|
176
176
|
| **Infrastructure** | 2 | infra-docker-expert, infra-aws-expert |
|
|
177
177
|
| **QA** | 3 | qa-planner, qa-writer, qa-engineer |
|
|
178
178
|
| **Security** | 1 | sec-codeql-expert |
|
|
179
|
-
| **Total** | **
|
|
179
|
+
| **Total** | **44** | |
|
|
180
180
|
|
|
181
|
-
### Skills (
|
|
181
|
+
### Skills (68)
|
|
182
182
|
|
|
183
183
|
| Category | Count | Skills |
|
|
184
184
|
|----------|-------|--------|
|
|
185
185
|
| **Routing** | 4 | secretary-routing, dev-lead-routing, de-lead-routing, qa-lead-routing |
|
|
186
|
-
| **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 |
|
|
187
187
|
| **Development** | 6 | dev-review, dev-refactor, create-agent, intent-detection, web-design-guidelines, analysis |
|
|
188
188
|
| **Data Engineering** | 2 | spark-best-practices, pipeline-architecture-patterns |
|
|
189
189
|
| **Optimization** | 3 | optimize-analyze, optimize-bundle, optimize-report |
|
|
@@ -197,14 +197,14 @@ All commands are invoked inside the Claude Code conversation.
|
|
|
197
197
|
| **Deploy** | 2 | vercel-deploy, codex-exec |
|
|
198
198
|
| **External** | 1 | skills-sh-search |
|
|
199
199
|
|
|
200
|
-
### Guides (
|
|
200
|
+
### Guides (24)
|
|
201
201
|
|
|
202
202
|
Comprehensive reference documentation covering:
|
|
203
203
|
- Agent creation and management
|
|
204
204
|
- Skill development
|
|
205
205
|
- Pipeline workflows
|
|
206
|
-
- Best practices and patterns
|
|
207
206
|
- Sub-agent orchestration
|
|
207
|
+
- Best practices and patterns
|
|
208
208
|
- Data engineering workflows
|
|
209
209
|
- Database optimization
|
|
210
210
|
|
|
@@ -273,12 +273,12 @@ After `omcustom init`:
|
|
|
273
273
|
your-project/
|
|
274
274
|
├── CLAUDE.md # Entry point for Claude
|
|
275
275
|
├── .claude/
|
|
276
|
-
│ ├── agents/ # Agent definitions (
|
|
276
|
+
│ ├── agents/ # Agent definitions (44 flat .md files)
|
|
277
277
|
│ │ ├── lang-golang-expert.md
|
|
278
278
|
│ │ ├── be-fastapi-expert.md
|
|
279
279
|
│ │ ├── mgr-creator.md
|
|
280
280
|
│ │ └── ...
|
|
281
|
-
│ ├── skills/ # Skill modules (
|
|
281
|
+
│ ├── skills/ # Skill modules (68 directories, each with SKILL.md)
|
|
282
282
|
│ │ ├── go-best-practices/
|
|
283
283
|
│ │ ├── react-best-practices/
|
|
284
284
|
│ │ ├── secretary-routing/
|
|
@@ -292,9 +292,11 @@ your-project/
|
|
|
292
292
|
│ ├── rules/ # Behavior rules (18 total)
|
|
293
293
|
│ ├── hooks/ # Event hooks (2 total)
|
|
294
294
|
│ └── contexts/ # Context files (4 total)
|
|
295
|
-
└── guides/ # Reference docs (
|
|
295
|
+
└── guides/ # Reference docs (24 total)
|
|
296
296
|
```
|
|
297
297
|
|
|
298
|
+
**Note**: In the official Claude Code format, there is no command registry — slash commands and natural language agent references are used.
|
|
299
|
+
|
|
298
300
|
---
|
|
299
301
|
|
|
300
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",
|