oh-my-customcode 0.101.0 → 0.103.0

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.
Files changed (57) hide show
  1. package/README.md +5 -5
  2. package/dist/cli/index.js +1 -1
  3. package/dist/index.js +1 -1
  4. package/package.json +1 -1
  5. package/templates/.claude/agents/arch-speckit-agent.md +1 -1
  6. package/templates/.claude/agents/be-springboot-expert.md +3 -3
  7. package/templates/.claude/agents/de-airflow-expert.md +2 -2
  8. package/templates/.claude/agents/de-dbt-expert.md +1 -0
  9. package/templates/.claude/agents/de-kafka-expert.md +2 -1
  10. package/templates/.claude/agents/de-spark-expert.md +3 -1
  11. package/templates/.claude/agents/fe-flutter-agent.md +3 -3
  12. package/templates/.claude/agents/lang-java-expert.md +42 -0
  13. package/templates/.claude/agents/slack-cli-expert.md +1 -1
  14. package/templates/.claude/hooks/hooks.json +10 -0
  15. package/templates/.claude/hooks/scripts/playwright-compress.sh +50 -0
  16. package/templates/.claude/ontology/agents.yaml +2 -2
  17. package/templates/.claude/ontology/skills.yaml +1 -1
  18. package/templates/.claude/rules/MUST-orchestrator-coordination.md +29 -0
  19. package/templates/.claude/skills/adaptive-harness/SKILL.md +1 -1
  20. package/templates/.claude/skills/agora/SKILL.md +2 -0
  21. package/templates/.claude/skills/airflow-best-practices/SKILL.md +4 -4
  22. package/templates/.claude/skills/analysis/SKILL.md +1 -1
  23. package/templates/.claude/skills/dbt-best-practices/SKILL.md +5 -0
  24. package/templates/.claude/skills/design-shotgun/SKILL.md +104 -0
  25. package/templates/.claude/skills/dev-lead-routing/SKILL.md +3 -3
  26. package/templates/.claude/skills/django-best-practices/SKILL.md +1 -1
  27. package/templates/.claude/skills/evaluator-optimizer/SKILL.md +2 -0
  28. package/templates/.claude/skills/flutter-best-practices/SKILL.md +5 -5
  29. package/templates/.claude/skills/intent-detection/SKILL.md +2 -0
  30. package/templates/.claude/skills/intent-detection/patterns/agent-triggers.yaml +3 -3
  31. package/templates/.claude/skills/{java21-best-practices → java-best-practices}/SKILL.md +14 -14
  32. package/templates/.claude/skills/kafka-best-practices/SKILL.md +3 -1
  33. package/templates/.claude/skills/multi-model-verification/SKILL.md +2 -0
  34. package/templates/.claude/skills/playwright-compress/SKILL.md +68 -0
  35. package/templates/.claude/skills/pr-auto-improve/SKILL.md +1 -1
  36. package/templates/.claude/skills/product-strategy/SKILL.md +82 -0
  37. package/templates/.claude/skills/research/SKILL.md +2 -0
  38. package/templates/.claude/skills/spark-best-practices/SKILL.md +3 -1
  39. package/templates/.claude/skills/springboot-best-practices/SKILL.md +1 -1
  40. package/templates/.claude/skills/task-decomposition/SKILL.md +45 -1
  41. package/templates/.claude/skills/update-docs/SKILL.md +2 -2
  42. package/templates/.claude/skills/worker-reviewer-pipeline/SKILL.md +2 -0
  43. package/templates/CLAUDE.md +4 -3
  44. package/templates/guides/airflow/README.md +8 -8
  45. package/templates/guides/browser-automation/01-browser-automation-patterns.md +68 -0
  46. package/templates/guides/claude-code/14-token-efficiency.md +187 -0
  47. package/templates/guides/docker/compose-best-practices.md +3 -5
  48. package/templates/guides/docker/dockerfile-best-practices.md +9 -9
  49. package/templates/guides/flutter/index.yaml +1 -1
  50. package/templates/guides/flutter/state-management.md +4 -4
  51. package/templates/guides/index.yaml +9 -3
  52. package/templates/guides/{java21 → java}/index.yaml +9 -9
  53. package/templates/guides/{java21/modern-java21.md → java/modern-java.md} +2 -2
  54. package/templates/guides/slack-cli/README.md +1 -1
  55. package/templates/manifest.json +3 -3
  56. package/templates/.claude/agents/lang-java21-expert.md +0 -42
  57. /package/templates/guides/{java21 → java}/java-style-guide.md +0 -0
package/README.md CHANGED
@@ -13,7 +13,7 @@
13
13
 
14
14
  **[한국어 문서 (Korean)](./README_ko.md)**
15
15
 
16
- 48 agents. 109 skills. 22 rules. One command.
16
+ 48 agents. 112 skills. 22 rules. One command.
17
17
 
18
18
  ```bash
19
19
  npm install -g oh-my-customcode && cd your-project && omcustom init
@@ -132,7 +132,7 @@ Each agent declares its tools, model, memory scope, and limitations in YAML fron
132
132
 
133
133
  ---
134
134
 
135
- ### Skills (109)
135
+ ### Skills (112)
136
136
 
137
137
  | Category | Count | Includes |
138
138
  |----------|-------|----------|
@@ -222,7 +222,7 @@ Key rules: R010 (orchestrator never writes files), R009 (parallel execution mand
222
222
 
223
223
  ---
224
224
 
225
- ### Guides (39)
225
+ ### Guides (40)
226
226
 
227
227
  Reference documentation covering best practices, architecture decisions, and integration patterns. Located in `guides/` at project root, covering topics from agent design to CI/CD to observability.
228
228
 
@@ -272,14 +272,14 @@ your-project/
272
272
  ├── CLAUDE.md # Entry point
273
273
  ├── .claude/
274
274
  │ ├── agents/ # 48 agent definitions
275
- │ ├── skills/ # 109 skill modules
275
+ │ ├── skills/ # 112 skill modules
276
276
  │ ├── rules/ # 22 governance rules (R000-R021)
277
277
  │ ├── hooks/ # 15 lifecycle hook scripts
278
278
  │ ├── schemas/ # Tool input validation schemas
279
279
  │ ├── specs/ # Extracted canonical specs
280
280
  │ ├── contexts/ # 4 shared context files
281
281
  │ └── ontology/ # Knowledge graph for RAG
282
- └── guides/ # 39 reference documents
282
+ └── guides/ # 40 reference documents
283
283
  ```
284
284
 
285
285
  ---
package/dist/cli/index.js CHANGED
@@ -2334,7 +2334,7 @@ var init_package = __esm(() => {
2334
2334
  workspaces: [
2335
2335
  "packages/*"
2336
2336
  ],
2337
- version: "0.101.0",
2337
+ version: "0.103.0",
2338
2338
  description: "Batteries-included agent harness for Claude Code",
2339
2339
  type: "module",
2340
2340
  bin: {
package/dist/index.js CHANGED
@@ -2014,7 +2014,7 @@ var package_default = {
2014
2014
  workspaces: [
2015
2015
  "packages/*"
2016
2016
  ],
2017
- version: "0.101.0",
2017
+ version: "0.103.0",
2018
2018
  description: "Batteries-included agent harness for Claude Code",
2019
2019
  type: "module",
2020
2020
  bin: {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "workspaces": [
4
4
  "packages/*"
5
5
  ],
6
- "version": "0.101.0",
6
+ "version": "0.103.0",
7
7
  "description": "Batteries-included agent harness for Claude Code",
8
8
  "type": "module",
9
9
  "bin": {
@@ -26,7 +26,7 @@ You are a Spec-Driven Development agent that transforms requirements into execut
26
26
  External agent from https://github.com/github/spec-kit
27
27
  - **Version**: latest
28
28
  - **Update**: `uv tool upgrade specify-cli --from git+https://github.com/github/spec-kit.git`
29
- - **Prerequisites**: Python 3.11+, uv, Git
29
+ - **Prerequisites**: Python 3.14+, uv, Git
30
30
 
31
31
  ## Commands
32
32
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: be-springboot-expert
3
- description: Expert Spring Boot 3.5.x developer for enterprise-grade Java 21 applications. Use for Spring Boot projects, Java/Kotlin enterprise apps, RESTful APIs, microservices architecture, Spring Data, security patterns, virtual threads, and GraalVM native images.
3
+ description: Expert Spring Boot 4.0 developer for enterprise-grade Java 25 LTS applications. Use for Spring Boot projects, Java/Kotlin enterprise apps, RESTful APIs, microservices architecture, Spring Data, security patterns, virtual threads, and GraalVM native images.
4
4
  model: sonnet
5
5
  domain: backend
6
6
  memory: project
@@ -17,7 +17,7 @@ tools:
17
17
  permissionMode: bypassPermissions
18
18
  ---
19
19
 
20
- You are an expert Spring Boot developer for enterprise-grade Java/Kotlin applications. Focused on Spring Boot 3.5.x with Java 21.
20
+ You are an expert Spring Boot developer for enterprise-grade Java/Kotlin applications. Focused on Spring Boot 4.0 (GA: 2025-11) with Java 25 LTS.
21
21
 
22
22
  ## Capabilities
23
23
 
@@ -31,7 +31,7 @@ You are an expert Spring Boot developer for enterprise-grade Java/Kotlin applica
31
31
  ## Reference Documentation
32
32
 
33
33
  - https://docs.spring.io/spring-boot/reference/index.html
34
- - https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.5-Release-Notes
34
+ - https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Release-Notes
35
35
 
36
36
  ## Skills
37
37
 
@@ -17,7 +17,7 @@ tools:
17
17
  permissionMode: bypassPermissions
18
18
  ---
19
19
 
20
- You are an expert Apache Airflow developer for production-ready DAGs following official best practices, targeting **Airflow 3.1.8**.
20
+ You are an expert Apache Airflow developer for production-ready DAGs following official best practices, targeting **Airflow 3.2.0**.
21
21
 
22
22
  ## Capabilities
23
23
 
@@ -41,7 +41,7 @@ You are an expert Apache Airflow developer for production-ready DAGs following o
41
41
 
42
42
  ## Skills
43
43
 
44
- Apply **airflow-best-practices** for core Airflow 3.1.8 guidelines.
44
+ Apply **airflow-best-practices** for core Airflow 3.2.0 guidelines.
45
45
 
46
46
  ## Reference Guides
47
47
 
@@ -21,6 +21,7 @@ You are an expert dbt developer for analytics engineering, SQL modeling, and dat
21
21
 
22
22
  ## Capabilities
23
23
 
24
+ - dbt-core 1.11+ with Fusion engine (faster parallel execution)
24
25
  - Project structure: staging (stg_), intermediate (int_), marts (fct_, dim_)
25
26
  - Materializations (view, ephemeral, table, incremental)
26
27
  - Schema tests (unique, not_null, relationships, accepted_values)
@@ -17,7 +17,7 @@ tools:
17
17
  permissionMode: bypassPermissions
18
18
  ---
19
19
 
20
- You are an expert Apache Kafka developer for event streaming architectures with high throughput and reliability.
20
+ You are an expert Apache Kafka 4.x developer for event streaming architectures with high throughput and reliability. Kafka 4.x uses KRaft (Kafka Raft) as the default metadata management — ZooKeeper has been fully removed.
21
21
 
22
22
  ## Capabilities
23
23
 
@@ -26,6 +26,7 @@ You are an expert Apache Kafka developer for event streaming architectures with
26
26
  - Consumer applications with proper offset management
27
27
  - Kafka Streams and Connect pipelines
28
28
  - Schema Registry with Avro/Protobuf serialization
29
+ - KRaft cluster deployment and configuration (ZooKeeper removed in Kafka 4.x)
29
30
  - Cluster performance and monitoring
30
31
  - Event-driven architectures and CQRS patterns
31
32
 
@@ -17,17 +17,19 @@ tools:
17
17
  permissionMode: bypassPermissions
18
18
  ---
19
19
 
20
- You are an expert Apache Spark developer for performant distributed data processing using PySpark and Scala.
20
+ You are an expert Apache Spark 4.x developer for performant distributed data processing using PySpark and Scala. Spark 4.0 introduces Spark Connect as a decoupled client-server protocol and enables ANSI mode by default.
21
21
 
22
22
  ## Capabilities
23
23
 
24
24
  - DataFrame and Dataset APIs, Spark SQL
25
+ - Spark Connect for decoupled client-server communication (Spark 4.x)
25
26
  - Broadcast joins and hint-based optimization
26
27
  - Partitioning and bucketing strategies
27
28
  - Structured Streaming applications
28
29
  - Resource management (executor/driver memory, dynamic allocation)
29
30
  - Storage format optimization (Parquet, ORC, Delta, Iceberg)
30
31
  - Job profiling via Spark UI
32
+ - ANSI mode compliance (default in Spark 4.x — stricter SQL semantics)
31
33
 
32
34
  ## Skills
33
35
 
@@ -22,8 +22,8 @@ You are an expert Flutter developer following official documentation and Dart be
22
22
  ## Capabilities
23
23
 
24
24
  - Widget composition (StatelessWidget, StatefulWidget, InheritedWidget)
25
- - State management: Riverpod 3.0 (default), BLoC 9.0 (enterprise)
26
- - Dart 3.x null safety, sealed classes, pattern matching, records
25
+ - State management: Riverpod 3.3 (default), BLoC 9.1 (enterprise)
26
+ - Dart 3.11 null safety, sealed classes, pattern matching, records
27
27
  - go_router declarative navigation with deep linking
28
28
  - freezed immutable data models with code generation
29
29
  - Performance: const constructors, RepaintBoundary, Isolate
@@ -32,7 +32,7 @@ You are an expert Flutter developer following official documentation and Dart be
32
32
 
33
33
  ## Default Stack
34
34
 
35
- - **State**: Riverpod 3.0
35
+ - **State**: Riverpod 3.3
36
36
  - **Navigation**: go_router
37
37
  - **Models**: freezed + json_serializable
38
38
  - **HTTP**: dio
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: lang-java-expert
3
+ description: Expert Java 25 LTS developer for modern Java with Virtual Threads, Pattern Matching, Record Patterns, and Sequenced Collections. Use for Java files (*.java, pom.xml, build.gradle), Java-related keywords, high-concurrency systems, data-centric APIs with Records, and migrating from older Java versions.
4
+ model: sonnet
5
+ domain: backend
6
+ memory: project
7
+ effort: high
8
+ skills:
9
+ - java-best-practices
10
+ tools:
11
+ - Read
12
+ - Write
13
+ - Edit
14
+ - Grep
15
+ - Glob
16
+ - Bash
17
+ permissionMode: bypassPermissions
18
+ ---
19
+
20
+ You are an expert Java 25 LTS developer for modern Java features including Virtual Threads, Pattern Matching, Record Patterns, and Sequenced Collections.
21
+
22
+ ## Capabilities
23
+
24
+ - Modern Java 25 LTS leveraging latest features
25
+ - Virtual Threads (JEP 444) for scalable concurrency
26
+ - Pattern Matching for switch and instanceof
27
+ - Record Patterns (JEP 440), Sequenced Collections (JEP 431)
28
+ - Google Java Style Guide compliance
29
+ - Legacy Java migration to Java 25 LTS
30
+
31
+ ## Reference Documentation
32
+
33
+ - https://docs.oracle.com/en/java/javase/25/
34
+ - https://google.github.io/styleguide/javaguide.html
35
+
36
+ ## Skills
37
+
38
+ Apply **java-best-practices** for core Java guidelines.
39
+
40
+ ## Reference Guides
41
+
42
+ Consult `guides/java/` for reference documentation.
@@ -14,7 +14,7 @@ tools:
14
14
  permissionMode: bypassPermissions
15
15
  ---
16
16
 
17
- You are an expert Slack CLI developer specialized in building, deploying, and managing Slack apps using the official Slack CLI and the Slack Platform (https://docs.slack.dev/tools/slack-cli/).
17
+ You are an expert Slack CLI developer specialized in building, deploying, and managing Slack apps using the official Slack CLI v4.0 and the Slack Platform (https://docs.slack.dev/tools/slack-cli/). Slack CLI v4.0 adds first-class Slack Agent development support.
18
18
 
19
19
  ## Capabilities
20
20
 
@@ -475,6 +475,16 @@
475
475
  }
476
476
  ],
477
477
  "description": "Advisory reminder to sync skill counts in 6 locations when a SKILL.md is created/modified (R021)"
478
+ },
479
+ {
480
+ "matcher": "mcp_tool_name matches \"mcp__playwright__.*\" || mcp_tool_name matches \"mcp__claude-in-chrome__.*\"",
481
+ "hooks": [
482
+ {
483
+ "type": "command",
484
+ "command": "bash .claude/hooks/scripts/playwright-compress.sh"
485
+ }
486
+ ],
487
+ "description": "Layer 4: Compress Playwright/Chrome MCP output via Haiku summarization"
478
488
  }
479
489
  ],
480
490
  "Stop": [
@@ -0,0 +1,50 @@
1
+ #!/bin/bash
2
+ # Layer 4: Playwright/Chrome MCP Output Intelligence Compression
3
+ # Reduces MCP tool output by 94-96% using Haiku summarization
4
+ # Preserves ref= values for interactive flow continuity
5
+ # Source: adapted from treesoop/claude-native-plugin (MIT)
6
+
7
+ set -euo pipefail
8
+
9
+ input=$(cat)
10
+ tool_output=$(echo "$input" | jq -r '.tool_output // ""')
11
+
12
+ # Skip if output is small (< 3000 chars)
13
+ output_len=${#tool_output}
14
+ if [ "$output_len" -lt 3000 ]; then
15
+ echo "$input"
16
+ exit 0
17
+ fi
18
+
19
+ # Extract ref= values to preserve
20
+ refs=$(echo "$tool_output" | grep -oE 'ref="[^"]*"' | sort -u || true)
21
+
22
+ # Summarize using Haiku via subscription auth
23
+ summary=$(echo "$tool_output" | claude -p --model haiku "Summarize this browser page content concisely. Preserve ALL ref= attribute values exactly as they appear. Focus on: page structure, interactive elements with their ref values, visible text content, and any error messages." 2>/dev/null) || {
24
+ # Fallback: return original on failure
25
+ echo "$input"
26
+ exit 0
27
+ }
28
+
29
+ # Verify ref= preservation
30
+ if [ -n "$refs" ]; then
31
+ missing_refs=""
32
+ while IFS= read -r ref; do
33
+ if ! echo "$summary" | grep -qF "$ref"; then
34
+ missing_refs="$missing_refs $ref"
35
+ fi
36
+ done <<< "$refs"
37
+
38
+ # Append missing refs if any
39
+ if [ -n "$missing_refs" ]; then
40
+ summary="$summary
41
+
42
+ [Preserved refs]:$missing_refs"
43
+ fi
44
+ fi
45
+
46
+ # Return compressed output
47
+ compressed_len=${#summary}
48
+ savings=$(( (output_len - compressed_len) * 100 / output_len ))
49
+ echo "$input" | jq --arg summary "$summary" --arg savings "${savings}% reduced (${output_len}→${compressed_len} chars)" \
50
+ '.tool_output = $summary | .["updatedMCPToolOutput"] = $summary'
@@ -6,7 +6,7 @@ generated_at: "2026-02-12T00:00:00Z"
6
6
  # Agent class hierarchy
7
7
  classes:
8
8
  LanguageExpert:
9
- agents: [lang-golang-expert, lang-python-expert, lang-rust-expert, lang-kotlin-expert, lang-typescript-expert, lang-java21-expert]
9
+ agents: [lang-golang-expert, lang-python-expert, lang-rust-expert, lang-kotlin-expert, lang-typescript-expert, lang-java-expert]
10
10
  description: "Programming language specialists"
11
11
  BackendExpert:
12
12
  agents: [be-fastapi-expert, be-springboot-expert, be-go-backend-expert, be-express-expert, be-nestjs-expert]
@@ -101,7 +101,7 @@ agents:
101
101
  keywords: [typescript, type-safety, generics, conditional-types, mapped-types, nodejs]
102
102
  file_patterns: ["*.ts", "*.tsx", "tsconfig.json", "package.json"]
103
103
 
104
- lang-java21-expert:
104
+ lang-java-expert:
105
105
  class: LanguageExpert
106
106
  description: "Expert Java 21 developer for modern Java with Virtual Threads, Pattern Matching, Record Patterns, and Sequenced Collections. Use for Java files (*.java, pom.xml, build.gradle), Java-related keywords, high-concurrency systems, data-centric APIs with Records, and migrating from older Java versions."
107
107
  model: sonnet
@@ -147,7 +147,7 @@ skills:
147
147
  keywords: [routing, development, code-review, implementation, refactoring]
148
148
  routes_to: [
149
149
  lang-golang-expert, lang-python-expert, lang-rust-expert, lang-kotlin-expert,
150
- lang-typescript-expert, lang-java21-expert, fe-vercel-agent, fe-vuejs-agent,
150
+ lang-typescript-expert, lang-java-expert, fe-vercel-agent, fe-vuejs-agent,
151
151
  fe-svelte-agent, fe-flutter-agent, be-fastapi-expert, be-springboot-expert,
152
152
  be-go-backend-expert, be-nestjs-expert, be-express-expert, tool-npm-expert,
153
153
  tool-optimizer, tool-bun-expert, db-supabase-expert, db-postgres-expert,
@@ -227,6 +227,35 @@ When the user explicitly signals full-delegation intent, the orchestrator operat
227
227
  Autonomous mode and `/structured-dev-cycle` (stage-blocker) are mutually exclusive.
228
228
  -->
229
229
 
230
+ ## Universal bypassPermissions
231
+
232
+ **ALL Agent tool calls MUST include `mode: "bypassPermissions"`.**
233
+
234
+ The Agent tool defaults to `mode: "acceptEdits"`, which overrides agent frontmatter `permissionMode` and causes permission prompts during unattended execution. This is a CC platform behavior, not a configuration error.
235
+
236
+ | Aspect | Detail |
237
+ |--------|--------|
238
+ | Scope | Every Agent tool call, without exception |
239
+ | Why | CC's Agent tool `mode` default (`acceptEdits`) overrides frontmatter |
240
+ | History | #926 (v0.99.1), #947 (v0.100.1), #955 (v0.103.0) — recurring issue |
241
+ | Enforcement | Prompt-based (R021); all 23 agent-spawning skills include instruction |
242
+
243
+ ### Self-Check
244
+
245
+ Before spawning any agent:
246
+ 1. Does the Agent tool call include `mode: "bypassPermissions"`? → YES: proceed → NO: add it
247
+ 2. Is this a new skill that spawns agents? → Add Permission Mode section
248
+
249
+ ### Common Violation
250
+
251
+ ```
252
+ ❌ WRONG: Agent tool call without mode parameter
253
+ Agent(subagent_type: "lang-golang-expert", prompt: "...")
254
+
255
+ ✓ CORRECT: Always include mode
256
+ Agent(subagent_type: "lang-golang-expert", mode: "bypassPermissions", prompt: "...")
257
+ ```
258
+
230
259
  ## Session Continuity
231
260
 
232
261
  After restart/compaction: re-read CLAUDE.md, all delegation rules still apply. Never write code directly from orchestrator.
@@ -102,7 +102,7 @@ Check for language manifest files and framework indicators:
102
102
  | `svelte.config.*`, `*.svelte` | Svelte | fe-svelte-agent |
103
103
  | `pubspec.yaml`, `*.dart` | Flutter | fe-flutter-agent |
104
104
  | `*.kt`, `build.gradle.kts` | Kotlin | lang-kotlin-expert |
105
- | `*.java`, `pom.xml` | Java | lang-java21-expert |
105
+ | `*.java`, `pom.xml` | Java | lang-java-expert |
106
106
  | `spring-boot` in deps | Spring Boot | be-springboot-expert |
107
107
  | `express` in package.json deps | Express | be-express-expert |
108
108
  | `@nestjs` in package.json deps | NestJS | be-nestjs-expert |
@@ -192,3 +192,5 @@ agora:
192
192
  | Accepting first BUILD | May miss edge cases | Loop until ALL agree |
193
193
  | Ignoring split decisions | Unresolved disagreements fester | Resolve every split with evidence |
194
194
  | Push for consensus too fast | Premature agreement | Let reviewers challenge freely |
195
+
196
+ When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
@@ -5,7 +5,7 @@ scope: core
5
5
  user-invocable: false
6
6
  ---
7
7
 
8
- # Apache Airflow Best Practices (3.1.8)
8
+ # Apache Airflow Best Practices (3.2.0)
9
9
 
10
10
  ## DAG Authoring
11
11
 
@@ -89,6 +89,6 @@ user-invocable: false
89
89
  - **New UI**: React-based web interface (replaces Flask-based UI)
90
90
 
91
91
  ## References
92
- - [Airflow 3.1.8 Best Practices](https://airflow.apache.org/docs/apache-airflow/3.1.8/best-practices.html)
93
- - [Airflow SDK (Task SDK)](https://airflow.apache.org/docs/apache-airflow/3.1.8/authoring-and-scheduling/index.html)
94
- - [Migration Guide 2.x → 3.x](https://airflow.apache.org/docs/apache-airflow/3.1.8/migration-guide.html)
92
+ - [Airflow 3.2.0 Best Practices](https://airflow.apache.org/docs/apache-airflow/3.2.0/best-practices.html)
93
+ - [Airflow SDK (Task SDK)](https://airflow.apache.org/docs/apache-airflow/3.2.0/authoring-and-scheduling/index.html)
94
+ - [Migration Guide 2.x → 3.x](https://airflow.apache.org/docs/apache-airflow/3.2.0/migration-guide.html)
@@ -76,7 +76,7 @@ Detect tech stack by checking indicator files and dependency manifests.
76
76
  | Go Backend | go.mod + cmd/ or internal/ dirs | be-go-backend-expert | go-backend-best-practices |
77
77
  | Rust | Cargo.toml, *.rs | lang-rust-expert | rust-best-practices |
78
78
  | Kotlin | *.kt, build.gradle.kts | lang-kotlin-expert | kotlin-best-practices |
79
- | Java | *.java, pom.xml | lang-java21-expert | - |
79
+ | Java | *.java, pom.xml | lang-java-expert | - |
80
80
  | Spring Boot | spring-boot in deps | be-springboot-expert | springboot-best-practices |
81
81
  | Express.js | "express" in deps | be-express-expert | - |
82
82
  | NestJS | "@nestjs" in deps | be-nestjs-expert | - |
@@ -51,5 +51,10 @@ user-invocable: false
51
51
  - Use `doc` blocks for reusable text
52
52
  - Generate and host dbt docs
53
53
 
54
+ ## Version
55
+
56
+ - **dbt-core**: 1.11+ (includes Fusion engine for faster parallel model execution)
57
+ - Fusion engine is enabled by default in dbt-core 1.11 — no configuration required
58
+
54
59
  ## References
55
60
  - [dbt Best Practices](https://docs.getdbt.com/guides/best-practices)
@@ -0,0 +1,104 @@
1
+ ---
2
+ name: design-shotgun
3
+ description: Generate 4-6 parallel design mockups for rapid visual comparison — adapted from gstack /design-shotgun pattern
4
+ scope: core
5
+ version: 1.0.0
6
+ user-invocable: true
7
+ argument-hint: "<component/page description>"
8
+ effort: high
9
+ ---
10
+
11
+ # Design Shotgun — Parallel Mockup Generation
12
+
13
+ ## Purpose
14
+
15
+ Generates 4-6 independent design variations simultaneously, then presents them side-by-side for comparison. Prevents premature convergence on a single design direction.
16
+
17
+ ## Usage
18
+
19
+ ```
20
+ /design-shotgun "landing page hero section"
21
+ /design-shotgun "dashboard settings panel"
22
+ /design-shotgun "mobile navigation menu"
23
+ ```
24
+
25
+ ## Workflow
26
+
27
+ ### Phase 1: Brief Analysis
28
+
29
+ Parse the design brief to extract:
30
+ - Component type (page, section, widget, modal)
31
+ - Constraints (brand colors, existing design system, accessibility requirements)
32
+ - Target platform (web, mobile, responsive)
33
+
34
+ ### Phase 2: Parallel Generation (R009)
35
+
36
+ Spawn 4 parallel agents, each generating a distinct design approach:
37
+
38
+ | Agent | Style Direction | Focus |
39
+ |-------|----------------|-------|
40
+ | 1 | Minimal | Maximum whitespace, essential elements only |
41
+ | 2 | Data-dense | Information-rich, compact layout |
42
+ | 3 | Visual | Hero imagery, bold typography, emotional |
43
+ | 4 | Conventional | Industry-standard patterns, familiar UX |
44
+
45
+ Each agent generates:
46
+ - HTML mockup (self-contained, inline CSS)
47
+ - Design rationale (2-3 sentences)
48
+ - Accessibility notes
49
+
50
+ ### Phase 3: Comparison Board
51
+
52
+ Present all mockups with side-by-side comparison:
53
+
54
+ ```markdown
55
+ ## Design Shotgun Results: {component}
56
+
57
+ ### Variation 1: Minimal
58
+ Rationale: {why}
59
+ [HTML mockup code]
60
+
61
+ ### Variation 2: Data-dense
62
+ Rationale: {why}
63
+ [HTML mockup code]
64
+
65
+ ### Variation 3: Visual
66
+ Rationale: {why}
67
+ [HTML mockup code]
68
+
69
+ ### Variation 4: Conventional
70
+ Rationale: {why}
71
+ [HTML mockup code]
72
+
73
+ ## Comparison
74
+ | Criteria | V1 | V2 | V3 | V4 |
75
+ |----------|----|----|----|----|
76
+ | Readability | ★★★ | ★★ | ★★ | ★★★ |
77
+ | Visual impact | ★ | ★★ | ★★★ | ★★ |
78
+ | Information density | ★ | ★★★ | ★★ | ★★ |
79
+ | Accessibility | ★★★ | ★★ | ★★ | ★★★ |
80
+ ```
81
+
82
+ ### Phase 4: Selection & Refinement
83
+
84
+ User selects preferred variation(s). Selected design can be:
85
+ - Refined with follow-up iterations
86
+ - Combined with elements from other variations
87
+ - Handed to fe-design-expert for production implementation
88
+
89
+ ## Integration
90
+
91
+ | Component | Role |
92
+ |-----------|------|
93
+ | R009 | 4 parallel agents for mockup generation |
94
+ | impeccable-design | Quality baseline for generated mockups |
95
+ | fe-design-expert | Production refinement after selection |
96
+ | web-design-guidelines | Accessibility and UX compliance |
97
+
98
+ ## Permission Mode
99
+
100
+ When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
101
+
102
+ ## Source
103
+
104
+ Adapted from [garrytan/gstack](https://github.com/garrytan/gstack) /design-shotgun pattern.
@@ -12,7 +12,7 @@ context: fork
12
12
 
13
13
  | Type | Agents |
14
14
  |------|--------|
15
- | Language | lang-golang-expert, lang-python-expert, lang-rust-expert, lang-kotlin-expert, lang-typescript-expert, lang-java21-expert |
15
+ | Language | lang-golang-expert, lang-python-expert, lang-rust-expert, lang-kotlin-expert, lang-typescript-expert, lang-java-expert |
16
16
  | Frontend | fe-vercel-agent, fe-vuejs-agent, fe-svelte-agent, fe-flutter-agent, fe-design-expert |
17
17
  | Backend | be-fastapi-expert, be-springboot-expert, be-go-backend-expert, be-nestjs-expert, be-express-expert, be-django-expert |
18
18
  | Tooling | tool-npm-expert, tool-optimizer, tool-bun-expert |
@@ -31,7 +31,7 @@ context: fork
31
31
  | `.rs` | lang-rust-expert |
32
32
  | `.kt`, `.kts` | lang-kotlin-expert |
33
33
  | `.ts`, `.tsx` | lang-typescript-expert |
34
- | `.java` | lang-java21-expert |
34
+ | `.java` | lang-java-expert |
35
35
  | `.js/.jsx` (React) | fe-vercel-agent |
36
36
  | `.vue` | fe-vuejs-agent |
37
37
  | `.svelte` | fe-svelte-agent |
@@ -52,7 +52,7 @@ context: fork
52
52
  | rust | lang-rust-expert |
53
53
  | kotlin | lang-kotlin-expert |
54
54
  | typescript, ts | lang-typescript-expert |
55
- | java | lang-java21-expert |
55
+ | java | lang-java-expert |
56
56
  | react, next.js, vercel | fe-vercel-agent |
57
57
  | vue | fe-vuejs-agent |
58
58
  | svelte | fe-svelte-agent |
@@ -7,7 +7,7 @@ user-invocable: false
7
7
 
8
8
  ## Purpose
9
9
 
10
- Apply Django patterns for building production-ready, secure, and maintainable Python web applications.
10
+ Apply Django 6.0.4 patterns for building production-ready, secure, and maintainable Python web applications.
11
11
 
12
12
  ## Rules
13
13
 
@@ -419,3 +419,5 @@ Integration: Works with [impeccable-design](/skills/impeccable-design) skill for
419
419
  ### Harness Eval Preset
420
420
 
421
421
  The `harness-eval` skill provides a structured 15-task SE benchmark rubric that can be used as a preset for the evaluator-optimizer pipeline. When invoked via `/omcustom:harness-eval`, the harness rubric dimensions (Test Coverage 30%, Architecture 25%, Error Handling 25%, Extensibility 20%) are loaded as the sprint contract criteria.
422
+
423
+ When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
@@ -81,8 +81,8 @@ Reference: guides/flutter/fundamentals.md
81
81
 
82
82
  ```yaml
83
83
  default_choice:
84
- new_projects: "Riverpod 3.0"
85
- enterprise: "BLoC 9.0"
84
+ new_projects: "Riverpod 3.3"
85
+ enterprise: "BLoC 9.1"
86
86
  simple_prototypes: "setState or Provider"
87
87
  avoid: "GetX (maintenance crisis, runtime crashes)"
88
88
 
@@ -285,7 +285,7 @@ Reference: guides/flutter/architecture.md
285
285
  ## Default Stack
286
286
 
287
287
  ```yaml
288
- state_management: Riverpod 3.0
288
+ state_management: Riverpod 3.3
289
289
  navigation: go_router
290
290
  models: freezed + json_serializable
291
291
  di: Riverpod (built-in)
@@ -298,7 +298,7 @@ structure: Official MVVM (lib/{ui,data}/)
298
298
  ## Enterprise Stack
299
299
 
300
300
  ```yaml
301
- state_management: BLoC 9.0 + Cubit
301
+ state_management: BLoC 9.1 + Cubit
302
302
  navigation: go_router or auto_route
303
303
  models: freezed + json_serializable
304
304
  di: GetIt + injectable (or Riverpod)
@@ -314,7 +314,7 @@ When writing or reviewing Flutter/Dart code:
314
314
  1. **Always** use const constructors for static widgets
315
315
  2. **Always** return Result<T> from repositories, never throw
316
316
  3. **Always** use flutter_secure_storage for sensitive data
317
- 4. **Prefer** Riverpod 3.0 for new projects, BLoC for enterprise
317
+ 4. **Prefer** Riverpod 3.3 for new projects, BLoC for enterprise
318
318
  5. **Prefer** StatelessWidget classes over helper functions
319
319
  6. **Prefer** sealed classes for state/result types (exhaustive matching)
320
320
  7. **Use** freezed for all data model classes
@@ -306,3 +306,5 @@ Check Codex CLI availability
306
306
  ├── Method: codex-exec (xhigh) | WebFetch fallback
307
307
  └── Reason: {explanation}
308
308
  ```
309
+
310
+ When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
@@ -69,10 +69,10 @@ agents:
69
69
  supported_actions: [review, fix, refactor, explain]
70
70
  base_confidence: 40
71
71
 
72
- lang-java21-expert:
72
+ lang-java-expert:
73
73
  keywords:
74
- korean: [자바, 자바21]
75
- english: [java, java21, jdk21, jdk]
74
+ korean: [자바, 자바25]
75
+ english: [java, java25, jdk25, jdk]
76
76
  file_patterns: ["*.java", "pom.xml", "build.gradle"]
77
77
  supported_actions: [review, create, fix, refactor]
78
78
  base_confidence: 35