Design YAML expertise file structures for agent experts. Use when creating mental models for domain-specific agents, defining expertise schema, or structuring knowledge for Act-Learn-Reuse workflows.
Scanned 2/12/2026
Install to Claude Code
npx -y skills add melodic-software/claude-code-plugins --skill expertise-file-design --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Expertise File Design?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/melodic-software-expertise-file-design)More formats (shields.io, HTML) on the badges page.
---
name: expertise-file-design
description: Design YAML expertise file structures for agent experts. Use when creating mental models for domain-specific agents, defining expertise schema, or structuring knowledge for Act-Learn-Reuse workflows.
allowed-tools: Read, Grep, Glob, Write
---
# Expertise File Design
Guide for designing YAML expertise files that serve as mental models for agent experts.
## MANDATORY: Act-Learn-Reuse Context
Expertise files are **mental models**, NOT sources of truth. They:
- Accelerate agent execution by pre-loading domain knowledge
- Are maintained by self-improve prompts, not humans
- Validate against the actual codebase (source of truth)
- Have enforced line limits to protect context windows
## When to Use
- Creating mental models for new domain-specific agents
- Defining expertise schema structures (YAML)
- Structuring knowledge for Act-Learn-Reuse workflows
- Reviewing or auditing existing expertise file designs
- Setting up line limits and section priorities
## Expertise File Structure
### Core Template
```yaml
# {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"
```
## Line Limits
| 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 |
## Section Priority
When approaching line limits, prioritize sections in this order:
1. **core_implementation** - Essential for navigation
2. **key_operations** - Critical for task execution
3. **best_practices** - Prevents mistakes
4. **known_issues** - Avoids wasted effort
5. **patterns_and_conventions** - Nice to have
6. **testing_notes** - Can reference external docs
## Domain-Specific Templates
### Database Domain
```yaml
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: {...}
```
### API/Service Domain
```yaml
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: {...}
```
### Frontend/UI Domain
```yaml
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: [...]
```
## Seeding Strategy
When creating a new expertise file:
1. **Start minimal** - Begin with overview and core_implementation only
2. **Let agent discover** - Run self-improve to populate
3. **Iterate** - Run self-improve until stable (no changes)
4. **Review** - Human validates accuracy
5. **Maintain** - Self-improve after every ACT
## Anti-Patterns
| 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 |
## Validation Checklist
Before considering an expertise file complete:
- [ ] Valid YAML syntax (no parse errors)
- [ ] Under line limit for domain complexity
- [ ] All file paths verified to exist
- [ ] All function names verified accurate
- [ ] Overview section complete
- [ ] Key operations documented
- [ ] Best practices included
- [ ] Known issues captured
## Related Skills
- `agent-expert-creation`: Full agent expert workflow
- `self-improve-prompt-design`: Maintaining expertise accuracy
- `meta-agentic-creation`: Building experts that build experts
---
**Last Updated:** 2025-12-15
## Version History
- **v1.0.0** (2025-12-26): Initial release
---
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!