From tac
Designs YAML expertise files as mental models for domain-specific AI agents. Use for defining schemas, Act-Learn-Reuse workflows, or reviewing structures with line limits.
npx claudepluginhub melodic-software/claude-code-plugins --plugin tacThis skill is limited to using the following tools:
Guide for designing YAML expertise files that serve as mental models for agent experts.
Generates initial expertise.yaml for a codebase domain by exploring files and patterns. Bootstraps mental models for agent experts like database or websocket handling.
Generates comprehensive 500-1000 line expert agent prompts for Claude Code with detailed patterns, code examples, and best practices. Triggers on 'spawn agent', 'create agent', 'generate expert' phrases.
Generates or updates CLAUDE.md/AGENTS.md files for AI coding agents via project scanning and interactive Q&A. Supports multiple tech stacks, preserves customizations.
Share bugs, ideas, or general feedback.
Guide for designing YAML expertise files that serve as mental models for agent experts.
Expertise files are mental models, NOT sources of truth. They:
# {domain}/expertise.yaml
# Mental model for {domain} agent expert
# Last updated: {timestamp}
# Lines: {current}/{max}
overview:
description: "Brief description of this domain"
primary_technology: "Main tech/framework"
architecture_pattern: "Key pattern used"
core_implementation:
main_module:
file: "path/to/main/file.ext"
lines: approximate_line_count
purpose: "What this module does"
key_exports:
- name: "FunctionOrClass"
type: "function|class|constant"
purpose: "Brief description"
supporting_modules:
- file: "path/to/support.ext"
purpose: "Supporting functionality"
schema_structure: # For database/API domains
entities:
entity_name:
fields:
- name: "field_name"
type: "data_type"
constraints: "nullable, unique, etc."
relationships:
- target: "other_entity"
type: "one-to-many|many-to-many"
key_operations:
operation_category:
operation_name:
function: "function_name"
file: "path/to/file.ext"
signature: "func(param: Type) -> ReturnType"
logic: "Brief description of what it does"
edge_cases:
- "Important edge case 1"
- "Important edge case 2"
patterns_and_conventions:
naming:
- "Convention description"
error_handling:
- "How errors are handled"
data_flow:
- "How data moves through system"
best_practices:
- "Practice 1: Explanation"
- "Practice 2: Explanation"
known_issues:
- issue: "Issue description"
workaround: "How to handle it"
status: "open|resolved|wontfix"
integration_points:
- system: "External system name"
method: "How integration works"
considerations: "Important notes"
testing_notes:
- "How to test this domain"
- "Key test scenarios"
| Domain Complexity | Max Lines | Guidance |
|---|---|---|
| Small/Focused | 300 | Single module, simple operations |
| Medium | 500-600 | Multiple modules, moderate complexity |
| Large/Complex | 800-1000 | Full subsystem, many operations |
| Absolute Max | 1000 | Never exceed - split into sub-experts |
When approaching line limits, prioritize sections in this order:
overview:
database_system: "PostgreSQL|MySQL|MongoDB|etc"
orm_pattern: "Raw SQL|ORM name|Query builder"
connection_strategy: "Pooling|Single|Per-request"
schema_structure:
tables:
table_name:
purpose: "What this table stores"
primary_key: "id (UUID|INT)"
fields: [...]
indexes: [...]
foreign_keys: [...]
key_operations:
crud:
create: {function: "", file: "", logic: ""}
read: {function: "", file: "", logic: ""}
update: {function: "", file: "", logic: ""}
delete: {function: "", file: "", logic: ""}
specialized:
bulk_insert: {...}
transaction_handling: {...}
overview:
api_style: "REST|GraphQL|gRPC"
auth_method: "JWT|OAuth|API Key"
versioning: "URL|Header|None"
endpoints:
resource_name:
base_path: "/api/v1/resource"
operations:
list: {method: "GET", auth: "required", pagination: "cursor"}
create: {method: "POST", auth: "required", validation: "..."}
request_response_patterns:
success_format: {...}
error_format: {...}
overview:
framework: "React|Vue|Angular|etc"
state_management: "Redux|Zustand|Context|etc"
styling: "CSS Modules|Tailwind|Styled Components"
component_hierarchy:
pages:
- name: "PageName"
route: "/path"
children: [...]
shared:
- name: "ComponentName"
purpose: "Reusable for X"
state_structure:
stores:
store_name:
shape: {...}
actions: [...]
When creating a new expertise file:
| Pattern | Problem | Solution |
|---|---|---|
| Copy-pasting docs | Duplicates source of truth | Reference files, don't copy |
| Including code | Bloats file, goes stale | Reference by function name |
| No line limits | Context window overflow | Enforce max lines strictly |
| Manual updates | Human time wasted | Self-improve prompt only |
| Flat structure | Hard to navigate | Use nested YAML sections |
Before considering an expertise file complete:
agent-expert-creation: Full agent expert workflowself-improve-prompt-design: Maintaining expertise accuracymeta-agentic-creation: Building experts that build expertsLast Updated: 2025-12-15