oh-my-customcode 1.1.36 → 1.1.37
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/dist/cli/index.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/templates/.claude/agents/arch-documenter.md +2 -2
- package/templates/.claude/agents/arch-speckit-agent.md +1 -1
- package/templates/.claude/agents/be-django-expert.md +1 -1
- package/templates/.claude/agents/be-express-expert.md +1 -1
- package/templates/.claude/agents/be-fastapi-expert.md +1 -1
- package/templates/.claude/agents/be-go-backend-expert.md +1 -1
- package/templates/.claude/agents/be-nestjs-expert.md +1 -1
- package/templates/.claude/agents/be-springboot-expert.md +1 -1
- package/templates/.claude/agents/db-alembic-expert.md +1 -5
- package/templates/.claude/agents/db-postgres-expert.md +1 -1
- package/templates/.claude/agents/db-redis-expert.md +2 -2
- package/templates/.claude/agents/db-supabase-expert.md +1 -1
- package/templates/.claude/agents/de-airflow-expert.md +1 -1
- package/templates/.claude/agents/de-dbt-expert.md +2 -2
- package/templates/.claude/agents/de-kafka-expert.md +1 -1
- package/templates/.claude/agents/de-pipeline-expert.md +1 -1
- package/templates/.claude/agents/de-snowflake-expert.md +2 -2
- package/templates/.claude/agents/de-spark-expert.md +1 -1
- package/templates/.claude/agents/fe-design-expert.md +1 -1
- package/templates/.claude/agents/fe-flutter-agent.md +1 -1
- package/templates/.claude/agents/fe-svelte-agent.md +1 -1
- package/templates/.claude/agents/fe-vercel-agent.md +1 -1
- package/templates/.claude/agents/fe-vuejs-agent.md +1 -1
- package/templates/.claude/agents/infra-aws-expert.md +1 -1
- package/templates/.claude/agents/infra-docker-expert.md +1 -1
- package/templates/.claude/agents/lang-golang-expert.md +1 -1
- package/templates/.claude/agents/lang-java-expert.md +2 -2
- package/templates/.claude/agents/lang-kotlin-expert.md +1 -1
- package/templates/.claude/agents/lang-python-expert.md +1 -1
- package/templates/.claude/agents/lang-rust-expert.md +1 -1
- package/templates/.claude/agents/lang-typescript-expert.md +1 -1
- package/templates/.claude/agents/mgr-claude-code-bible.md +1 -1
- package/templates/.claude/agents/mgr-creator.md +2 -2
- package/templates/.claude/agents/mgr-gitnerd.md +1 -1
- package/templates/.claude/agents/mgr-sauron.md +2 -2
- package/templates/.claude/agents/mgr-updater.md +1 -1
- package/templates/.claude/agents/qa-engineer.md +1 -1
- package/templates/.claude/agents/qa-planner.md +1 -1
- package/templates/.claude/agents/qa-writer.md +1 -1
- package/templates/.claude/agents/sec-codeql-expert.md +1 -1
- package/templates/.claude/agents/slack-cli-expert.md +1 -1
- package/templates/.claude/agents/sys-memory-keeper.md +1 -1
- package/templates/.claude/agents/sys-naggy.md +1 -1
- package/templates/.claude/agents/tool-bun-expert.md +1 -1
- package/templates/.claude/agents/tool-npm-expert.md +1 -1
- package/templates/.claude/agents/tool-optimizer.md +1 -1
- package/templates/.claude/agents/tracker-checkpoint.md +1 -1
- package/templates/.claude/agents/wiki-curator.md +2 -1
- package/templates/.claude/hooks/scripts/model-escalation-advisor.sh +7 -2
- package/templates/.claude/rules/MUST-agent-design.md +45 -19
- package/templates/guides/deep-plan/phases.md +1 -1
- package/templates/guides/harness-engineering/README.md +1 -1
- package/templates/guides/multi-model-routing/README.md +58 -33
- package/templates/guides/multi-provider-exec/README.md +1 -1
- package/templates/manifest.json +1 -1
- package/templates/workflows/auto-dev.yaml +22 -8
package/dist/cli/index.js
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: arch-documenter
|
|
3
3
|
description: Use for generating architecture documentation, API specifications (OpenAPI), Architecture Decision Records (ADRs), technical diagrams (Mermaid/PlantUML), and README maintenance
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: universal
|
|
6
6
|
memory: local
|
|
7
|
-
effort:
|
|
7
|
+
effort: medium
|
|
8
8
|
limitations:
|
|
9
9
|
- "cannot execute commands"
|
|
10
10
|
- "cannot deploy"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: arch-speckit-agent
|
|
3
3
|
description: Use for spec-driven development, transforming requirements into executable specifications, defining project constitution, creating technical plans, and generating TDD task lists
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: universal
|
|
6
6
|
memory: local
|
|
7
7
|
effort: high
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: be-django-expert
|
|
3
3
|
description: Expert Django developer for production-ready Python web applications. Use for Django projects, models/views/templates, Django REST Framework, authentication, admin customization, and deployment optimization.
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: backend
|
|
6
6
|
memory: local
|
|
7
7
|
effort: high
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: be-express-expert
|
|
3
3
|
description: Expert Express.js developer for production-ready Node.js APIs following security best practices and 12-factor app principles. Use for Express.js APIs, REST API architectures, middleware chains, authentication/authorization, security hardening, and Node.js performance optimization.
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: backend
|
|
6
6
|
memory: local
|
|
7
7
|
effort: high
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: be-fastapi-expert
|
|
3
3
|
description: Expert FastAPI developer for building high-performance async Python APIs. Use for FastAPI projects, Python async/await patterns, Pydantic models, API architecture design, and performance optimization.
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: backend
|
|
6
6
|
memory: local
|
|
7
7
|
effort: high
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: be-go-backend-expert
|
|
3
3
|
description: Expert Go backend developer for production-ready services following Uber style guide and standard layout. Use for Go backend services, HTTP/gRPC servers, microservices in Go, concurrent systems, and Go performance optimization.
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: backend
|
|
6
6
|
memory: local
|
|
7
7
|
effort: high
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: be-nestjs-expert
|
|
3
3
|
description: Expert NestJS developer for opinionated, scalable Node.js applications with TypeScript. Use for NestJS projects, decorator-based patterns (@Injectable, @Module, @Controller), enterprise API architectures, authentication/authorization guards, DTO validation, and modular architecture.
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: backend
|
|
6
6
|
memory: local
|
|
7
7
|
effort: high
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: be-springboot-expert
|
|
3
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
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: backend
|
|
6
6
|
memory: local
|
|
7
7
|
effort: high
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: db-alembic-expert
|
|
3
3
|
description: Alembic migration specialist for generating, reviewing, fixing, and advising on SQLAlchemy database migrations
|
|
4
|
-
model:
|
|
4
|
+
model: claude-opus-5
|
|
5
5
|
domain: backend
|
|
6
6
|
memory: local
|
|
7
7
|
effort: high
|
|
@@ -15,10 +15,6 @@ tools:
|
|
|
15
15
|
skills:
|
|
16
16
|
- alembic-best-practices
|
|
17
17
|
- postgres-best-practices
|
|
18
|
-
escalation:
|
|
19
|
-
enabled: true
|
|
20
|
-
path: sonnet → opus
|
|
21
|
-
threshold: 2
|
|
22
18
|
limitations:
|
|
23
19
|
- "cannot apply migrations directly to production databases"
|
|
24
20
|
- "cannot resolve application-level data backfill logic without domain context"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: db-postgres-expert
|
|
3
3
|
description: Expert PostgreSQL DBA for pure PostgreSQL environments. Use for database design, query optimization, indexing strategies, partitioning, replication, PG-specific SQL syntax, and performance tuning without Supabase dependency.
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: backend
|
|
6
6
|
memory: user
|
|
7
7
|
effort: high
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: db-redis-expert
|
|
3
3
|
description: Expert Redis developer for caching strategies, data structure design, Pub/Sub messaging, Streams, Lua scripting, and cluster management. Use for Redis configuration, performance optimization, and in-memory data architecture.
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: backend
|
|
6
6
|
memory: user
|
|
7
|
-
effort:
|
|
7
|
+
effort: medium
|
|
8
8
|
skills:
|
|
9
9
|
- redis-best-practices
|
|
10
10
|
tools:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: db-supabase-expert
|
|
3
3
|
description: Supabase and PostgreSQL expert. Use when working with Supabase projects, writing SQL queries, designing database schemas, configuring Row-Level Security (RLS), optimizing Postgres performance, or managing connection pooling. Handles .sql files and Supabase configuration.
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: backend
|
|
6
6
|
memory: user
|
|
7
7
|
effort: high
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: de-airflow-expert
|
|
3
3
|
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.
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: data-engineering
|
|
6
6
|
memory: local
|
|
7
7
|
effort: high
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: de-dbt-expert
|
|
3
3
|
description: Expert dbt developer for SQL modeling, testing, and documentation. Use for dbt model files (*.sql in models/), schema.yml, dbt_project.yml, dbt-related keywords, and analytics engineering workflows.
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: data-engineering
|
|
6
6
|
memory: local
|
|
7
|
-
effort:
|
|
7
|
+
effort: medium
|
|
8
8
|
skills:
|
|
9
9
|
- dbt-best-practices
|
|
10
10
|
tools:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: de-kafka-expert
|
|
3
3
|
description: Expert Apache Kafka developer for event streaming, topic design, and producer-consumer patterns. Use for Kafka configs, streaming applications, event-driven architectures, and message broker design.
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: data-engineering
|
|
6
6
|
memory: local
|
|
7
7
|
effort: high
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: de-pipeline-expert
|
|
3
3
|
description: Expert data pipeline architect for ETL/ELT design, orchestration patterns, data quality, and cross-tool integration. Use for pipeline architecture decisions, data quality frameworks, lineage tracking, and multi-tool coordination.
|
|
4
|
-
model:
|
|
4
|
+
model: claude-opus-5
|
|
5
5
|
domain: data-engineering
|
|
6
6
|
memory: local
|
|
7
7
|
effort: high
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: de-snowflake-expert
|
|
3
3
|
description: Expert Snowflake developer for cloud data warehouse design, query optimization, and data loading. Use for Snowflake SQL, warehouse configuration, clustering keys, data sharing, and Iceberg table integration.
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: data-engineering
|
|
6
6
|
memory: local
|
|
7
|
-
effort:
|
|
7
|
+
effort: medium
|
|
8
8
|
skills:
|
|
9
9
|
- snowflake-best-practices
|
|
10
10
|
tools:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: de-spark-expert
|
|
3
3
|
description: Expert Apache Spark developer for PySpark and Scala distributed data processing. Use for Spark jobs (*.py, *.scala), spark-submit configs, Spark-related keywords, and large-scale data transformation.
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: data-engineering
|
|
6
6
|
memory: local
|
|
7
7
|
effort: high
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: fe-design-expert
|
|
3
3
|
description: Use for design system review, typography audit, color palette evaluation, motion design, and AI-generated design quality assessment
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: frontend
|
|
6
6
|
memory: local
|
|
7
7
|
effort: medium
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: fe-flutter-agent
|
|
3
3
|
description: Use for Flutter/Dart cross-platform app development, widget composition, state management (Riverpod/BLoC), and performance optimization
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: frontend
|
|
6
6
|
memory: local
|
|
7
7
|
effort: medium
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: fe-vercel-agent
|
|
3
3
|
description: Use for React/Next.js optimization, web design review (accessibility, UX), Vercel deployment automation, and bundle size optimization
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: frontend
|
|
6
6
|
memory: local
|
|
7
7
|
effort: medium
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: infra-aws-expert
|
|
3
3
|
description: Use for AWS architecture design with Well-Architected Framework, infrastructure as code (CloudFormation/CDK/Terraform), VPC networking, IAM security, and cost optimization
|
|
4
|
-
model:
|
|
4
|
+
model: claude-opus-5
|
|
5
5
|
domain: devops
|
|
6
6
|
memory: user
|
|
7
7
|
effort: high
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: infra-docker-expert
|
|
3
3
|
description: Use for creating optimized Dockerfiles, multi-stage builds, container security hardening, Docker Compose configurations, and image size optimization
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: devops
|
|
6
6
|
memory: user
|
|
7
7
|
effort: medium
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lang-golang-expert
|
|
3
3
|
description: Expert Go developer for writing idiomatic, performant Go code. Use for Go files (*.go, go.mod, go.sum), Go-related keywords, implementing concurrent systems, reviewing Go code, and optimizing Go applications.
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: backend
|
|
6
6
|
memory: local
|
|
7
7
|
effort: high
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lang-java-expert
|
|
3
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
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: backend
|
|
6
6
|
memory: local
|
|
7
|
-
effort:
|
|
7
|
+
effort: medium
|
|
8
8
|
skills:
|
|
9
9
|
- java-best-practices
|
|
10
10
|
tools:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lang-kotlin-expert
|
|
3
3
|
description: Expert Kotlin developer for writing idiomatic, concise, null-safe Kotlin code. Use for Kotlin files (*.kt, *.kts), Kotlin-related keywords, Android development, Kotlin multiplatform projects, and migrating Java to Kotlin.
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: backend
|
|
6
6
|
memory: local
|
|
7
7
|
effort: high
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lang-python-expert
|
|
3
3
|
description: Expert Python developer for writing Pythonic, clean code following PEP 8. Use for Python files (*.py, requirements.txt, pyproject.toml), Python-related keywords, designing Python APIs, reviewing Python code, and optimizing Python applications.
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: backend
|
|
6
6
|
memory: local
|
|
7
7
|
effort: high
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lang-rust-expert
|
|
3
3
|
description: Expert Rust developer for writing safe, performant, idiomatic Rust code. Use for Rust files (*.rs, Cargo.toml), Rust-related keywords, designing safe APIs, debugging ownership/lifetime issues, and implementing high-performance systems.
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: backend
|
|
6
6
|
memory: local
|
|
7
7
|
effort: high
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lang-typescript-expert
|
|
3
3
|
description: Expert TypeScript developer for writing type-safe, maintainable, scalable TypeScript code. Use for TypeScript files (*.ts, *.tsx, tsconfig.json), TypeScript-related keywords, designing APIs with type contracts, migrating JavaScript to TypeScript, and Node.js backend services.
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: backend
|
|
6
6
|
memory: local
|
|
7
7
|
effort: high
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mgr-claude-code-bible
|
|
3
3
|
description: Fetches latest Claude Code official documentation from code.claude.com and verifies agents/skills compliance against the official spec. Use when you need to check official Claude Code documentation or verify frontmatter fields.
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: universal
|
|
6
6
|
memory: local
|
|
7
7
|
effort: medium
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mgr-creator
|
|
3
3
|
description: Use when you need to create new agents following design guidelines. Automatically researches authoritative references before agent creation to ensure high-quality knowledge base
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: universal
|
|
6
6
|
memory: local
|
|
7
7
|
effort: high
|
|
@@ -50,7 +50,7 @@ When invoked as routing fallback (not explicit `/create-agent`):
|
|
|
50
50
|
3. Auto-connect: scan `guides/` for relevant reference docs
|
|
51
51
|
4. Create minimal viable agent with:
|
|
52
52
|
- Detected skills and relevant guides
|
|
53
|
-
- `sonnet` model (default)
|
|
53
|
+
- `claude-sonnet-5` model (default; Tier 2 full model ID — CC does not resolve invented version-suffixed aliases, use the full ID per R006)
|
|
54
54
|
- `project` memory scope
|
|
55
55
|
5. Agent is persisted (not ephemeral) for future reuse
|
|
56
56
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mgr-gitnerd
|
|
3
3
|
description: Use when you need to handle Git operations and GitHub workflow management, including commits, branches, PRs, and history management following best practices
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: universal
|
|
6
6
|
memory: local
|
|
7
7
|
effort: medium
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mgr-sauron
|
|
3
3
|
description: Use when you need automated verification of R017 compliance, executing mandatory multi-round verification (5 manager rounds + 3 deep review rounds, with rounds 3-4 conditionally skipped when rounds 1-2 return 0 issues) before commits
|
|
4
|
-
model:
|
|
4
|
+
model: claude-opus-5
|
|
5
5
|
domain: universal
|
|
6
6
|
memory: local
|
|
7
|
-
effort:
|
|
7
|
+
effort: medium
|
|
8
8
|
skills:
|
|
9
9
|
- sauron-watch
|
|
10
10
|
tools:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qa-engineer
|
|
3
3
|
description: Use when you need to execute tests based on detailed plans and documentation, perform manual and automated testing, report defects, and validate fixes
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: universal
|
|
6
6
|
memory: local
|
|
7
7
|
effort: medium
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qa-planner
|
|
3
3
|
description: Use when you need to create detailed QA plans from requirements and specifications, including test strategy design, risk-based prioritization, test scenario identification, and acceptance criteria definition
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: universal
|
|
6
6
|
memory: local
|
|
7
7
|
effort: high
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qa-writer
|
|
3
3
|
description: Use when you need to create comprehensive QA documentation from detailed plans, including test cases, test reports, and quality documentation
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: universal
|
|
6
6
|
memory: local
|
|
7
7
|
effort: medium
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sec-codeql-expert
|
|
3
3
|
description: Expert security code analyst using CodeQL for vulnerability detection, call graph analysis, and SARIF output. Use for security audits, CVE triage, code pattern analysis, and vulnerability validation.
|
|
4
|
-
model:
|
|
4
|
+
model: claude-opus-5
|
|
5
5
|
effort: high
|
|
6
6
|
domain: devops
|
|
7
7
|
memory: local
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sys-memory-keeper
|
|
3
3
|
description: Use when you need to manage session memory persistence via native auto-memory, save context before compaction, restore context on session start, collect session summaries, or perform session-end memory operations
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: universal
|
|
6
6
|
memory: local
|
|
7
7
|
effort: medium
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sys-naggy
|
|
3
3
|
description: Use when you need TODO list management and task tracking with proactive reminders, helping maintain project momentum by monitoring stale tasks and deadlines
|
|
4
|
-
model:
|
|
4
|
+
model: haiku
|
|
5
5
|
domain: universal
|
|
6
6
|
memory: local
|
|
7
7
|
effort: low
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: tool-npm-expert
|
|
3
3
|
description: Use for npm package publishing workflows, semantic versioning (major/minor/patch), package.json optimization, and dependency audits
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: universal
|
|
6
6
|
memory: local
|
|
7
7
|
effort: medium
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: tool-optimizer
|
|
3
3
|
description: Use for bundle size analysis, tree-shaking verification, performance profiling, dead code detection, and build optimization recommendations
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
domain: universal
|
|
6
6
|
memory: local
|
|
7
7
|
effort: medium
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: tracker-checkpoint
|
|
3
3
|
description: Pipeline execution state tracker with checkpoint persistence. Reads/writes /tmp/.claude-pipeline-*-{PPID}.json state files and validates state transitions. Used by dag-orchestration for resume-after-failure and pipeline-guards for quality gate state.
|
|
4
|
-
model:
|
|
4
|
+
model: haiku
|
|
5
5
|
effort: medium
|
|
6
6
|
tools: [Read, Write, Edit, Bash, Glob, Grep]
|
|
7
7
|
memory: local
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wiki-curator
|
|
3
3
|
description: Dedicated wiki page CRUD agent — creates, updates, and maintains wiki/ markdown pages for the codebase knowledge base
|
|
4
|
-
model: sonnet
|
|
4
|
+
model: claude-sonnet-5
|
|
5
5
|
tools:
|
|
6
6
|
- Read
|
|
7
7
|
- Write
|
|
@@ -11,6 +11,7 @@ tools:
|
|
|
11
11
|
- Bash
|
|
12
12
|
domain: universal
|
|
13
13
|
memory: local
|
|
14
|
+
effort: medium
|
|
14
15
|
permissionMode: bypassPermissions
|
|
15
16
|
---
|
|
16
17
|
|
|
@@ -39,16 +39,20 @@ fi
|
|
|
39
39
|
consecutive_failures=$(tail -${CONSECUTIVE_THRESHOLD} "$OUTCOME_FILE" 2>/dev/null | grep -c '"outcome":"failure"' 2>/dev/null || echo "0")
|
|
40
40
|
|
|
41
41
|
# Escalation path
|
|
42
|
+
# NOTE: Agent tool `model` param is an enum of exactly 4 values: sonnet | opus | haiku | fable.
|
|
43
|
+
# Full model IDs and virtual/versioned aliases NEVER match here — they never reach this
|
|
44
|
+
# script via tool_input.model, so using them as case labels silently no-ops the entire
|
|
45
|
+
# advisory (no error, just dead code). Keep case labels as bare enum aliases only.
|
|
42
46
|
next_model=""
|
|
43
47
|
cost_multiplier=""
|
|
44
48
|
case "$current_model" in
|
|
45
49
|
haiku)
|
|
46
50
|
next_model="sonnet"
|
|
47
|
-
cost_multiplier="~
|
|
51
|
+
cost_multiplier="~3x"
|
|
48
52
|
;;
|
|
49
53
|
sonnet)
|
|
50
54
|
next_model="opus"
|
|
51
|
-
cost_multiplier="~5-
|
|
55
|
+
cost_multiplier="~1.5-2x"
|
|
52
56
|
;;
|
|
53
57
|
*)
|
|
54
58
|
next_model=""
|
|
@@ -86,6 +90,7 @@ if [ "$current_model" != "haiku" ] && [ "$current_model" != "inherit" ] && [ "$c
|
|
|
86
90
|
|
|
87
91
|
if [ "$recent_successes" -ge "$COOLDOWN" ]; then
|
|
88
92
|
lower_model=""
|
|
93
|
+
# Same enum constraint as the escalation case above: bare aliases only.
|
|
89
94
|
case "$current_model" in
|
|
90
95
|
opus) lower_model="sonnet" ;;
|
|
91
96
|
sonnet) lower_model="haiku" ;;
|
|
@@ -11,42 +11,68 @@ Location: `.claude/agents/{name}.md` (single file, kebab-case)
|
|
|
11
11
|
```yaml
|
|
12
12
|
name: agent-name # Unique identifier (kebab-case)
|
|
13
13
|
description: Brief desc # One-line summary
|
|
14
|
-
model: sonnet #
|
|
14
|
+
model: sonnet # CC-native alias (Tier 1) or full model ID (Tier 2) — see "Model Specification — 3 Tiers" below
|
|
15
15
|
tools: [Read, Write, ...] # Allowed tools
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
> **v2.1.208+**: The Agent tool no longer launches with no tools when a subagent's `tools:` list resolves to nothing — it now returns a clear error naming the unrecognized entries, catching frontmatter `tools:` typos that previously failed silently.
|
|
19
19
|
|
|
20
|
-
### Model
|
|
20
|
+
### Model Specification — 3 Tiers
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
|
27
|
-
|
|
28
|
-
| `
|
|
29
|
-
| `
|
|
30
|
-
| `
|
|
31
|
-
| `
|
|
22
|
+
Model values resolve differently depending on WHERE they are written. Mixing tiers causes a value that is valid in one place to silently fail spawn in another (measured this session: `sonnet5`/`opus5`/`opus48` are invented names this project had documented as if they were CC-recognized — CC v2.1.220 does not resolve them, and spawn fails immediately).
|
|
23
|
+
|
|
24
|
+
#### Tier 1 — CC-native aliases (valid in BOTH frontmatter `model:` AND the Agent tool `model` parameter)
|
|
25
|
+
|
|
26
|
+
| Alias | Use Case |
|
|
27
|
+
|-------|----------|
|
|
28
|
+
| `haiku` | Fast, cheap tasks (search, simple edits) |
|
|
29
|
+
| `sonnet` | General tasks, code generation (default) |
|
|
30
|
+
| `opus` | Complex reasoning, architecture |
|
|
31
|
+
| `opusplan` | Opus + plan mode; architecture planning with approval gates |
|
|
32
|
+
| `inherit` | Inherit the parent session's model |
|
|
33
|
+
|
|
34
|
+
**CC resolves these, not this project.** This project cannot "pin" an alias to a specific version — measured: a frontmatter `model: sonnet` agent executed as `claude-sonnet-5` (CC v2.1.197+ default), not a project-fixed `claude-sonnet-4-6`. Treat any "currently resolves to X" statement as a snapshot that changes when CC's own default changes.
|
|
35
|
+
|
|
36
|
+
#### Tier 2 — Full model IDs (frontmatter `model:` ONLY — recommended for stability)
|
|
37
|
+
|
|
38
|
+
| Full ID | Use Case |
|
|
39
|
+
|---------|----------|
|
|
40
|
+
| `claude-haiku-4-5` | Fast, cheap tasks |
|
|
41
|
+
| `claude-sonnet-5` | Native 1M context; current CC default Sonnet (v2.1.197+) |
|
|
42
|
+
| `claude-opus-4-6` | Opus, previous generation |
|
|
43
|
+
| `claude-opus-4-8` | Opus, previous generation; supports xhigh effort |
|
|
44
|
+
| `claude-opus-5` | Latest Opus (GA); native 1M context, fast mode at $10/$50 per Mtok |
|
|
45
|
+
| `claude-fable-5` | Mythos-class; tier above Opus (access via CC v2.1.170+) |
|
|
46
|
+
|
|
47
|
+
Full IDs are valid ONLY in agent frontmatter — the Agent tool's `model:` spawn parameter does NOT accept them (see Tier 3). Writing the full ID directly (not a project-invented shorthand) pins the agent regardless of future CC default changes. This is the recommended way to opt into Sonnet 5 / Opus 5 / Fable 5 explicitly rather than riding CC's Tier-1 default resolution.
|
|
32
48
|
|
|
33
49
|
Extended context suffix: `[1m]` (e.g., `claude-opus-4-6[1m]`) — enables 1M token context window.
|
|
34
50
|
|
|
35
|
-
|
|
51
|
+
#### Tier 3 — Agent tool `model` parameter (spawn-time override, enum of exactly 4 values)
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
Agent(subagent_type: "...", model: "opus", mode: "bypassPermissions", prompt: "...")
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
The Agent tool's `model` parameter accepts ONLY `sonnet` | `opus` | `haiku` | `fable`. It does NOT accept full model IDs (Tier 2) and does NOT accept `sonnet5`/`opus5`/`opus48` (never valid anywhere — retire these names). Note `fable` is valid HERE (Tier 3) but is NOT a Tier-1 frontmatter alias — Fable 5 in frontmatter requires the Tier-2 full ID `claude-fable-5`.
|
|
58
|
+
|
|
59
|
+
Skill/rule text instructing "spawn with `model: opus`" refers to this tier — always the bare 4-value alias, never a full ID.
|
|
60
|
+
|
|
61
|
+
> **v2.1.219+**: Claude Opus 5 (`claude-opus-5`) added. Opt in via the Tier-2 full ID in frontmatter; Tier-1 `opus`/`sonnet` alias resolution is CC-controlled (see Tier 1 above — this project does not pin it). Relative standing vs Fable 5 is not yet confirmed officially — do not assert an ordering.
|
|
36
62
|
|
|
37
|
-
> **Claude Fable 5 (access via CC v2.1.170+)**: Mythos-class model, GA on the Claude API and positioned as a tier above Opus — its capabilities exceed any previously GA model. CC v2.1.170 is the client version that adds access (the model's GA is an API/platform property, not a CC-release milestone). Available via
|
|
63
|
+
> **Claude Fable 5 (access via CC v2.1.170+)**: Mythos-class model, GA on the Claude API and positioned as a tier above Opus — its capabilities exceed any previously GA model. CC v2.1.170 is the client version that adds access (the model's GA is an API/platform property, not a CC-release milestone). Available via frontmatter full ID `claude-fable-5` (Tier 2) or Agent tool `model: fable` (Tier 3) — NOT via a Tier-1 frontmatter alias. Reserve for the most complex reasoning where its capability premium is warranted; `sonnet` remains the default for general tasks and `opus` for architecture (cost/latency awareness, R005). CC v2.1.170 also fixes session transcripts not saving (and not appearing in `--resume`) when launched from a VS Code integrated terminal or any shell inheriting Claude Code env vars — relevant to transcript-dependent skills (`homework`, `episodic-memory`). Closes #1352.
|
|
38
64
|
|
|
39
65
|
<!-- ARCHIVED CC version notes (historical):
|
|
40
66
|
> **v2.1.173+**: Fable 5 model IDs carrying a `[1m]` suffix are now auto-normalized (the suffix is stripped) because Fable 5 includes 1M context by default. Use `claude-fable-5` / `model: fable` WITHOUT a `[1m]` suffix — appending it is redundant and normalized away. (The `[1m]` suffix remains meaningful for Opus/Sonnet IDs.)
|
|
41
67
|
|
|
42
|
-
> **v2.1.197+**: Claude Sonnet 5가 Claude Code의 **기본 모델**로 도입되었습니다 — 네이티브 1M-token 컨텍스트, 프로모션 가격 $2/$10 per Mtok(2026-08-31까지).
|
|
68
|
+
> **v2.1.197+**: Claude Sonnet 5가 Claude Code의 **기본 모델**로 도입되었습니다 — 네이티브 1M-token 컨텍스트, 프로모션 가격 $2/$10 per Mtok(2026-08-31까지). frontmatter에서 명시 opt-in하려면 Tier-2 full ID `claude-sonnet-5`를 사용합니다(`sonnet5`는 어느 계층에서도 유효한 값이 아님 — 위 3-Tier 구분 참조). **정정(실측)**: 이 조항이 이전에 "oh-my-customcode의 base `sonnet` alias는 안정성을 위해 `claude-sonnet-4-6`에 고정 유지"라고 서술했으나 사실이 아니다 — `sonnet` alias 해석 주체는 CC이며 프로젝트가 pin할 수 없다(Tier 1 참조); frontmatter `model: sonnet` 에이전트가 실측상 `claude-sonnet-5`로 실행되었다. Sonnet 5가 CC 신규 기본값이므로 명시 모델 없는 세션은 이제 Sonnet 5에서 동작합니다.
|
|
43
69
|
|
|
44
70
|
> **v2.1.201+**: Claude Sonnet 5 세션이 harness reminder를 mid-conversation system role로 주입하지 않도록 변경되었습니다 — Sonnet 5 실행 시 하니스 리마인더(규칙 재주입 등) 전달 방식이 조정되었으며, PostCompact 규칙 재주입(R021)·세션 연속성 동작 자체에는 영향이 없습니다. Sonnet 5가 CC 기본 모델(v2.1.197+)이므로 명시 모델 없는 세션에 적용됩니다.
|
|
45
71
|
-->
|
|
46
72
|
|
|
47
73
|
> **Fable 5 Effort 전략**: Fable 5는 **high effort가 기본값**이며, `xhigh`는 capability-sensitive 작업(최고난도 아키텍처/추론)에 한정해야 합니다. Fable 5의 `low`/`medium` effort조차 이전 세대 모델의 `xhigh`를 상회하는 품질을 보이므로, Fable 5를 사용하는 실행 에이전트는 `effort` 필드를 신중히 명시하고 불필요한 `xhigh` 남용을 지양합니다(R005 비용/지연 인식과 정합).
|
|
48
74
|
|
|
49
|
-
> **Mythos 5 (`claude-mythos-5`)**: Project Glasswing 한정 공급 모델로, **GA가 아닙니다** — Fable 5(GA, 위 Model
|
|
75
|
+
> **Mythos 5 (`claude-mythos-5`)**: Project Glasswing 한정 공급 모델로, **GA가 아닙니다** — Fable 5(GA, 위 "Model Specification — 3 Tiers"의 `claude-fable-5`/`fable`)와 구분해야 합니다. 특성: adaptive-thinking 전용 아키텍처 + 안전 분류기가 개입 시 `stop_reason: "refusal"`로 fallback하는 체계를 가집니다. oh-my-customcode 에이전트 frontmatter에는 아직 alias를 등록하지 않습니다(비-GA, 공급 제한).
|
|
50
76
|
|
|
51
77
|
> **프롬프팅 패턴 상호참조**: Fable 5/Mythos 5 대상 프롬프팅 패턴(effort 조합, adaptive-thinking 활용, refusal fallback 대응)의 상세 가이드는 `guides/claude-code/16-fable5-prompting.md`를 참조하세요.
|
|
52
78
|
|
|
@@ -67,7 +93,7 @@ This is a settings-level resilience mechanism, distinct from the per-agent `mode
|
|
|
67
93
|
-->
|
|
68
94
|
|
|
69
95
|
<!-- ARCHIVED CC version notes (historical):
|
|
70
|
-
> **v2.1.183+**: CC now warns (stderr, in `-p` print mode) when the requested model is deprecated or auto-updated to a newer model — and this warning now ALSO covers models set in agent frontmatter (`model:`). Relevant to
|
|
96
|
+
> **v2.1.183+**: CC now warns (stderr, in `-p` print mode) when the requested model is deprecated or auto-updated to a newer model — and this warning now ALSO covers models set in agent frontmatter (`model:`). Relevant to "Model Specification — 3 Tiers" above: a stale/deprecated `model:` value in agent frontmatter now surfaces a deprecation warning instead of silently resolving. Separately, v2.1.183 fixes `thinking.disabled.display: Extra inputs are not permitted` 400 errors on subagent spawns and session-title generation — extends the v2.1.166 toggle above; subagent spawns with thinking disabled no longer 400.
|
|
71
97
|
|
|
72
98
|
> **v2.1.187+**: Org-configured model restrictions now apply to the model picker, `--model`, `/model`, and `ANTHROPIC_MODEL` (a restricted model shows "restricted by your organization's settings"). Extends the v2.1.175 `enforceAvailableModels` scope to per-agent `model:` override entry points — a managed model allowlist now also constrains the picker/env paths. Also fixed `--json-schema` / workflow `agent({schema})` structured output: the model can no longer re-call `StructuredOutput` indefinitely after a successful call, and follow-up turns reliably return structured output — relevant to schema-constrained subagent spawns.
|
|
73
99
|
|
|
@@ -110,7 +136,7 @@ source: # For external agents
|
|
|
110
136
|
version: 1.0.0
|
|
111
137
|
escalation: # Model escalation policy (optional)
|
|
112
138
|
enabled: true # Enable auto-escalation advisory
|
|
113
|
-
path: haiku → sonnet → opus # Escalation sequence
|
|
139
|
+
path: haiku → sonnet → opus # Escalation sequence (Tier-3 Agent-tool aliases only)
|
|
114
140
|
threshold: 2 # Failures before advisory
|
|
115
141
|
soul: true # Enable SOUL.md identity injection
|
|
116
142
|
isolation: worktree | sandbox # worktree = git worktree, sandbox = restricted bash
|
|
@@ -297,7 +323,7 @@ When `escalation.enabled: true`, the model-escalation hooks will track outcomes
|
|
|
297
323
|
| Field | Default | Description |
|
|
298
324
|
|-------|---------|-------------|
|
|
299
325
|
| `enabled` | false | Enable escalation tracking for this agent |
|
|
300
|
-
| `path` | haiku → sonnet → opus | Model upgrade sequence |
|
|
326
|
+
| `path` | haiku → sonnet → opus | Model upgrade sequence (Tier-3 Agent-tool aliases only) |
|
|
301
327
|
| `threshold` | 2 | Failure count before escalation advisory |
|
|
302
328
|
-->
|
|
303
329
|
|
|
@@ -109,7 +109,7 @@ Phase 3: Plan Verification Research
|
|
|
109
109
|
|
|
110
110
|
**Invocation**: Phase 3 teams are spawned directly as parallel agents (NOT via `Skill(research)`). The orchestrator creates 3 focused agents, each with a specific verification mandate derived from the Phase 2 plan.
|
|
111
111
|
|
|
112
|
-
**Model selection**: sonnet for teams, opus for synthesis.
|
|
112
|
+
**Model selection**: sonnet for teams, opus for synthesis (Agent-tool Tier 3 enum — see `guides/multi-model-routing/README.md`).
|
|
113
113
|
|
|
114
114
|
### Verdict
|
|
115
115
|
|
|
@@ -226,7 +226,7 @@ oh-my-customcode에서의 현황:
|
|
|
226
226
|
# Break-out 시퀀스
|
|
227
227
|
1. 현재 상태를 tracker-checkpoint에 기록
|
|
228
228
|
2. [Warning] Doom loop detected — {action} × {n}회 반복
|
|
229
|
-
3. 에스컬레이션: haiku → sonnet → opus 순서로 모델 전환
|
|
229
|
+
3. 에스컬레이션: haiku → sonnet → opus 순서로 모델 전환 (Agent 도구 model 파라미터 — Tier 3 enum만 허용, sonnet5/opus5 등 전체 ID는 스폰 실패)
|
|
230
230
|
4. 메모리 저장: feedback_doom_loop_{날짜}.md → 세션 간 패턴 누적
|
|
231
231
|
```
|
|
232
232
|
|
|
@@ -4,37 +4,62 @@
|
|
|
4
4
|
|
|
5
5
|
Role-based model selection strategy for AI agent workflows. Consolidates model routing conventions from R006 (agent design), R008 (tool identification), and agent frontmatter into a single reference.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
This project uses a **3-tier model specification system** — the same-looking string means a different thing depending on where it is placed. Read "Model Specification — 3 Tiers" below before choosing a value for frontmatter vs. an Agent tool spawn.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|-------|---------|------|-------|----------|
|
|
11
|
-
| `haiku` | claude-haiku-4-5 | $ | Fast | Search, simple edits, file discovery |
|
|
12
|
-
| `sonnet` | claude-sonnet-4-6 | $$ | Moderate | Code generation, general tasks (project base alias — pinned to 4-6 for stability) |
|
|
13
|
-
| `sonnet5` | claude-sonnet-5 | $$ | Moderate | CC platform default (v2.1.197+); native 1M context |
|
|
14
|
-
| `opus` | claude-opus-4-6 | $$$ | Slower | Complex reasoning, architecture, planning (project base alias — pinned to 4-6 for stability) |
|
|
15
|
-
| `opus5` | claude-opus-5 | $$$ | Fast mode available | CC platform default Opus (v2.1.219+); native 1M context, fast mode at $10/$50 per Mtok |
|
|
16
|
-
| `opus48` | claude-opus-4-8 | $$$ | Slower | Previous-generation Opus (GA); supports xhigh effort |
|
|
17
|
-
| `fable` | claude-fable-5 | $$$$ | Slower | Mythos-class; tier above Opus, highest GA capability |
|
|
18
|
-
| `opusplan` | claude-opus-4-6 + plan mode | $$$ | Slower | Architecture with approval gates |
|
|
9
|
+
## Model Specification — 3 Tiers
|
|
19
10
|
|
|
20
|
-
|
|
11
|
+
### Tier 1 — CC Native Alias
|
|
21
12
|
|
|
22
|
-
|
|
13
|
+
Values: `sonnet` | `opus` | `haiku` | `opusplan` | `inherit`
|
|
14
|
+
|
|
15
|
+
Valid in BOTH agent frontmatter `model:` AND the Agent tool `model` parameter. **CC resolves these, not this project** — documentation claiming a pin (e.g. "the `sonnet` alias is pinned to 4-6") does not change what CC actually runs underneath. In practice, an agent with `model: sonnet` in frontmatter has been observed running as `claude-sonnet-5`.
|
|
16
|
+
|
|
17
|
+
### Tier 2 — Full Model ID (frontmatter only)
|
|
18
|
+
|
|
19
|
+
Values: `claude-sonnet-5` | `claude-opus-5` | `claude-haiku-4-5` | `claude-opus-4-6` | `claude-opus-4-8` | `claude-fable-5`, etc.
|
|
20
|
+
|
|
21
|
+
Valid ONLY in frontmatter `model:` — the Agent tool `model` parameter does NOT accept full model IDs. Use a Tier 2 ID when you want the agent pinned to a specific model regardless of any future drift in what CC's Tier 1 aliases resolve to.
|
|
22
|
+
|
|
23
|
+
### Tier 3 — Agent Tool `model` Parameter (enum)
|
|
24
|
+
|
|
25
|
+
Values: `sonnet` | `opus` | `haiku` | `fable` — **only these four**. Does NOT accept full model IDs, and does NOT accept `sonnet5`/`opus5`-style names. Any spawn-time model escalation or routing table that dispatches via the Agent tool MUST use one of these four values.
|
|
26
|
+
|
|
27
|
+
### Deprecated / Invalid Names
|
|
28
|
+
|
|
29
|
+
`sonnet5`, `opus5`, and `opus48` are **not recognized by CC in any context** (neither frontmatter nor the Agent tool parameter) — they were project-invented names previously documented in this repo as aliases, but the platform does not interpret them; using them causes an immediate spawn/resolution failure. Bare `fable` (without the `claude-` prefix) is valid ONLY as a Tier 3 Agent tool parameter value — it is NOT a valid frontmatter alias; use the full ID `claude-fable-5` in frontmatter instead.
|
|
30
|
+
|
|
31
|
+
## Model Catalog (Tier 2 full IDs)
|
|
32
|
+
|
|
33
|
+
| Full Model ID | Cost | Speed | Use Case |
|
|
34
|
+
|---------------|------|-------|----------|
|
|
35
|
+
| `claude-haiku-4-5` | $ | Fast | Search, simple edits, file discovery |
|
|
36
|
+
| `claude-sonnet-4-6` | $$ | Moderate | Code generation, general tasks — historically what the Tier 1 `sonnet` alias resolved to; CC's actual resolution target can drift (see Tier 1 above) |
|
|
37
|
+
| `claude-sonnet-5` | $$ | Moderate | Native 1M context; use as an explicit frontmatter pin |
|
|
38
|
+
| `claude-opus-4-6` | $$$ | Slower | Complex reasoning, architecture, planning |
|
|
39
|
+
| `claude-opus-5` | $$$ | Fast mode available | Native 1M context, fast mode at $10/$50 per Mtok |
|
|
40
|
+
| `claude-opus-4-8` | $$$ | Slower | Previous-generation Opus; supports xhigh effort |
|
|
41
|
+
| `claude-fable-5` | $$$$ | Slower | Mythos-class; use the full ID in frontmatter (bare `fable` is Tier 3 Agent-tool-only) |
|
|
42
|
+
|
|
43
|
+
Extended context: `[1m]` suffix enables 1M token context (e.g., `claude-opus-4-6[1m]`). Sonnet 5, Opus 5, and Fable 5 include 1M context by default — no `[1m]` suffix needed.
|
|
44
|
+
|
|
45
|
+
> Relative standing of Fable 5 vs Opus 5 is not officially confirmed — do not assert an ordering.
|
|
23
46
|
|
|
24
47
|
## Role-Based Routing Table
|
|
25
48
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
|
29
|
-
|
|
30
|
-
| Code
|
|
31
|
-
|
|
|
32
|
-
|
|
|
33
|
-
|
|
|
34
|
-
|
|
|
35
|
-
|
|
|
36
|
-
|
|
|
37
|
-
|
|
|
49
|
+
This table recommends **frontmatter (Tier 2) full model IDs** for pinning an agent's default model. When dispatching the same role via the Agent tool `model` parameter (Tier 3) instead — e.g. a routing skill spawning a one-off agent — use the alias equivalent in the last column.
|
|
50
|
+
|
|
51
|
+
| Role | Recommended Frontmatter ID (Tier 2) | Agent-Tool Equivalent (Tier 3) | Rationale |
|
|
52
|
+
|------|--------------------------------------|----------------------------------|-----------|
|
|
53
|
+
| Code search / file discovery | `claude-haiku-4-5` | `haiku` | Fast, cheap, sufficient for retrieval |
|
|
54
|
+
| Code review | `claude-sonnet-5` | `sonnet` | Needs understanding, not deep reasoning |
|
|
55
|
+
| Code generation | `claude-sonnet-5` | `sonnet` | Good balance of quality and speed |
|
|
56
|
+
| Bug fix (simple) | `claude-sonnet-5` | `sonnet` | Pattern recognition sufficient |
|
|
57
|
+
| Bug fix (complex) | `claude-opus-5` | `opus` | Needs deep reasoning across modules |
|
|
58
|
+
| Architecture design | `claude-opus-5` / `opusplan` | `opus` | Requires holistic thinking |
|
|
59
|
+
| Test generation | `claude-sonnet-5` | `sonnet` | Template-driven, moderate complexity |
|
|
60
|
+
| Documentation | `claude-sonnet-5` | `sonnet` | Straightforward generation |
|
|
61
|
+
| Release verification | `claude-opus-5` | `opus` | Cross-cutting validation |
|
|
62
|
+
| Orchestration | `claude-opus-5` | `opus` | Routing decisions need broad context |
|
|
38
63
|
|
|
39
64
|
## Cost-Quality Tradeoff Matrix
|
|
40
65
|
|
|
@@ -56,16 +81,16 @@ Quality ▲
|
|
|
56
81
|
|
|
57
82
|
## MODEL_ROUTING.md Convention
|
|
58
83
|
|
|
59
|
-
Projects can declare a `MODEL_ROUTING.md` file to override default routing:
|
|
84
|
+
Projects can declare a `MODEL_ROUTING.md` file to override default routing. This convention sets a persistent per-agent frontmatter override, so use Tier 2 full model IDs:
|
|
60
85
|
|
|
61
86
|
```markdown
|
|
62
87
|
# Model Routing
|
|
63
88
|
|
|
64
89
|
| Agent Pattern | Model | Override Reason |
|
|
65
90
|
|---------------|-------|-----------------|
|
|
66
|
-
| lang-*-expert | sonnet | Default sufficient for code generation |
|
|
67
|
-
| mgr-sauron | opus | Verification requires deep analysis |
|
|
68
|
-
| Explore | haiku | Search-only, no generation needed |
|
|
91
|
+
| lang-*-expert | claude-sonnet-5 | Default sufficient for code generation |
|
|
92
|
+
| mgr-sauron | claude-opus-5 | Verification requires deep analysis |
|
|
93
|
+
| Explore | claude-haiku-4-5 | Search-only, no generation needed |
|
|
69
94
|
```
|
|
70
95
|
|
|
71
96
|
Place in project root or `.claude/` directory.
|
|
@@ -75,14 +100,14 @@ Place in project root or `.claude/` directory.
|
|
|
75
100
|
```yaml
|
|
76
101
|
# .claude/agents/example.md
|
|
77
102
|
name: example-agent
|
|
78
|
-
model: sonnet #
|
|
103
|
+
model: claude-sonnet-5 # Tier 2 full model ID (recommended) — see Model Specification — 3 Tiers above
|
|
79
104
|
```
|
|
80
105
|
|
|
81
|
-
The `model` field in agent frontmatter sets the default. The Agent tool's `model` parameter
|
|
106
|
+
The `model` field in agent frontmatter accepts EITHER a Tier 1 alias (`sonnet`/`opus`/`haiku`/`opusplan`/`inherit`) OR a Tier 2 full model ID, and sets the agent's default. The Agent tool's `model` parameter at spawn time accepts ONLY the Tier 3 enum (`sonnet`/`opus`/`haiku`/`fable`) and overrides the frontmatter default when supplied.
|
|
82
107
|
|
|
83
108
|
## Escalation Pattern
|
|
84
109
|
|
|
85
|
-
When a task fails at a lower model tier, escalate:
|
|
110
|
+
When a task fails at a lower model tier, escalate. Escalation is executed by re-spawning via the Agent tool, so the path MUST use Tier 3 aliases — the Agent tool parameter does not accept full model IDs or `sonnet5`/`opus5`-style names:
|
|
86
111
|
|
|
87
112
|
```
|
|
88
113
|
haiku → sonnet → opus
|
|
@@ -102,6 +127,6 @@ Fast Mode (`/fast` toggle) uses the same model with faster output (~2.5x). It do
|
|
|
102
127
|
|
|
103
128
|
## Related
|
|
104
129
|
|
|
105
|
-
- R006 — Agent design rules (model
|
|
130
|
+
- R006 — Agent design rules (model tiers, frontmatter format)
|
|
106
131
|
- R008 — Tool identification (model in agent:model format)
|
|
107
132
|
- `guides/skill-bundle-design/` — Skill architecture patterns
|
|
@@ -42,7 +42,7 @@ Providers are opt-in — missing CLIs are silently skipped.
|
|
|
42
42
|
| Skill | Uses Provider | How |
|
|
43
43
|
|-------|--------------|-----|
|
|
44
44
|
| `reasoning-sandwich` | Any exec skill | Pre/post reasoning with different models |
|
|
45
|
-
| `model-escalation` | Claude models only | Internal escalation (haiku→sonnet→opus), not cross-provider |
|
|
45
|
+
| `model-escalation` | Claude models only | Internal escalation (haiku→sonnet→opus, Agent-tool Tier 3 enum), not cross-provider |
|
|
46
46
|
|
|
47
47
|
## Relationship to Multi-Model Routing
|
|
48
48
|
|
package/templates/manifest.json
CHANGED
|
@@ -230,15 +230,19 @@ steps:
|
|
|
230
230
|
|
|
231
231
|
## Local CI-mimic verification (MUST run before marking implement done)
|
|
232
232
|
|
|
233
|
-
After all implementation tasks complete, run these scripts in sequence and halt on failure
|
|
233
|
+
After all implementation tasks complete, run these scripts in sequence and halt on failure.
|
|
234
|
+
Run each standalone (NO pipe) and read its exit code directly — `$?` after a pipe is the last command's code (R005, #1492):
|
|
234
235
|
|
|
235
236
|
1. bash .github/scripts/verify-template-sync.sh
|
|
236
237
|
2. bash .github/scripts/verify-wiki-sync.sh
|
|
238
|
+
3. bun .github/scripts/validate-docs.ts --programmatic-only
|
|
237
239
|
|
|
238
|
-
If
|
|
240
|
+
If any fails:
|
|
239
241
|
- For wiki-sync failures: delegate to wiki-curator to generate missing pages (`/omcustom:wiki ingest <path>`)
|
|
242
|
+
(Regenerating the wiki source-hash manifest targets `wiki/.source-hashes.json` ALWAYS — NEVER `templates/manifest.json`. Command: `bash .github/scripts/lib/source-hash.sh generate wiki/.source-hashes.json`. Ref #1423.)
|
|
240
243
|
- For template-sync failures: delegate to mgr-updater to sync `.claude/` -> `templates/.claude/`
|
|
241
|
-
-
|
|
244
|
+
- For validate-docs failures (count mismatch): delegate to mgr-updater to fix counts via EXHAUSTIVE grep across all docs — file-enumeration misses `.en`/`.ko` variants and secondary docs (#1521 — v1.1.32에서 validate-docs 누락으로 push 왕복 1회 발생)
|
|
245
|
+
- After fixes, re-run the scripts until all pass
|
|
242
246
|
|
|
243
247
|
This mirrors CI and prevents the known 1-2 wasted push cycles per release (ref: issue #927, v0.98.0 PR #925).
|
|
244
248
|
description: "Per-issue implementation with lifecycle, specialist routing, and CI-mimic verification"
|
|
@@ -299,10 +303,17 @@ steps:
|
|
|
299
303
|
Determine NEW version per semver rules below.
|
|
300
304
|
npm project (package.json exists):
|
|
301
305
|
a. package.json: jq '.version = "<NEW>"' package.json > package.json.tmp && mv package.json.tmp package.json
|
|
306
|
+
# ⚠ jq '.version=...' PRESERVES the manifest structure {version, lastUpdated, omcustomMinClaudeCode, components[]}.
|
|
307
|
+
# Edit ONLY the .version field — do NOT overwrite templates/manifest.json wholesale (e.g. a source-hash path→hash map).
|
|
308
|
+
# Recover a corrupted manifest: git show HEAD:templates/manifest.json | jq '.version="<NEW>"' > templates/manifest.json (#1423/#1154).
|
|
302
309
|
b. templates/manifest.json: jq '.version = "<NEW>"' templates/manifest.json > templates/manifest.json.tmp && mv templates/manifest.json.tmp templates/manifest.json
|
|
303
|
-
c.
|
|
304
|
-
|
|
305
|
-
|
|
310
|
+
c. bun run build — run standalone (NO pipe), read exit code directly ($? after a pipe is the last command's, R005/#1492).
|
|
311
|
+
This regenerates .omcustom.lock.json (generatorVersion/templateVersion) to <NEW> via scripts/sync-source-lockfile.ts.
|
|
312
|
+
d. git status --short — enumerate ALL tracked drift (`^ M`) the build produced; stage EVERY one (esp. .omcustom.lock.json) before commit.
|
|
313
|
+
(#1531 — .omcustom.lock.json missed staging across 4 consecutive releases after v1.1.29; root cause was no build step between version bump and commit.)
|
|
314
|
+
e. mgr-gitnerd commit: "chore(release): bump to v<NEW>" — MUST include the drift from step d
|
|
315
|
+
f. mgr-gitnerd push develop
|
|
316
|
+
g. mandatory verification (with existence guard for partial-update safety):
|
|
306
317
|
[ -f scripts/verify-version-sync.sh ] && bash scripts/verify-version-sync.sh || echo "::warning::verify-version-sync.sh not found, version sync verification skipped"
|
|
307
318
|
(verify-version-sync.sh 가 exit 1 시 release 단계 halt)
|
|
308
319
|
|
|
@@ -318,12 +329,15 @@ steps:
|
|
|
318
329
|
3. Adapt release mechanism to project (determines how steps 3-5 execute):
|
|
319
330
|
- npm project with auto-tag.yml (this repo — release/v* PR pattern):
|
|
320
331
|
a. mgr-gitnerd creates release/v{NEW} branch from develop with the version-bump commit
|
|
321
|
-
b. mgr-gitnerd creates PR: gh pr create --base develop --head release/v{NEW} --title "chore(release): bump to v{NEW}"
|
|
332
|
+
b. mgr-gitnerd creates PR: gh pr create --base develop --head release/v{NEW} --title "chore(release): bump to v{NEW}" --body "<MUST include 'Closes #N' for EVERY issue this release resolves>"
|
|
333
|
+
⚠ auto-tag.yml closes issues by grep'ing Closes/Fixes/Resolves keywords in the PR BODY — NOT by milestone membership. If the keywords are missing, no issues close and the workflow still reports success (#1531).
|
|
334
|
+
Before creating the PR (whether via inline --body or --body-file), confirm the body text actually contains a Closes line per issue.
|
|
322
335
|
c. mgr-gitnerd merges PR (admin merge required due to branch protection)
|
|
323
336
|
d. DO NOT manually git tag or gh release create.
|
|
324
|
-
auto-tag.yml fires on release/v* PR merge → creates tag → closes linked
|
|
337
|
+
auto-tag.yml fires on release/v* PR merge → creates tag → closes issues linked via PR-body Closes/Fixes/Resolves keywords → closes milestone → deletes release branch.
|
|
325
338
|
release.yml fires on the tag → npm publish + GitHub Release creation.
|
|
326
339
|
Milestone close and issue close are handled downstream by auto-tag.yml — do NOT close them manually.
|
|
340
|
+
After merge, verify each targeted issue is actually CLOSED (gh issue view); close manually if still open. Workflow conclusion=success is not evidence of close (#1531 — v1.1.34 Closes-keyword omission left 5 issues open, manual close required).
|
|
327
341
|
- Non-npm / no auto-tag.yml:
|
|
328
342
|
mgr-gitnerd: git tag v{NEW} && git push origin v{NEW}
|
|
329
343
|
mgr-gitnerd: gh release create v{NEW} (with release notes)
|