ai-agent-skills 1.1.1 → 1.2.1

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.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Vlad-Alexandru Nicolescu
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,188 @@
1
+ # create-expert-skill
2
+
3
+ > Transform expert conversations into production-grade Claude Skills. Whith this enhanced "skill-creator" skill you can capture domain knowledge and system-specific ontologies through structured roleplay. It also packages deterministic scripts alongside flexible guidance, and loads expertise progressively, turning AI assistants into specialists.
4
+
5
+ ## Why This Exists
6
+
7
+ Anthropic released a basic "skill-creator", however, it doesn't utilize the entire range of what's possible within a Skill. This enhanced skill creator makes use of resources, examples, templates, scripts, progressive disclosure and system architecture knowledge to deliver elaborate skills, zipped and ready to upload.
8
+
9
+ ## Why the "Expert" Part Matters
10
+
11
+ AI assistants struggle in production for two reasons:
12
+
13
+ 1. **Missing domain expertise** — Generic models don't know or aren't primed with your industry's edge cases, terminology, or unwritten rules.
14
+ 2. **Missing ontology understanding** — They don't grasp your specific data structures, entity relationships, or system constraints
15
+
16
+ This skill solves both by helping you:
17
+ - **Interview experts** (or yourself) to extract implicit domain knowledge
18
+ - **Map system ontologies** — company-specific structures, codes, and relationships
19
+ - **Separate deterministic work** (validation, parsing, math) from flexible interpretation
20
+ - **Load knowledge progressively** — only what's needed, when it's needed
21
+
22
+ The result: Claude works like a trained specialist who understands both the domain AND your specific systems.
23
+
24
+ ## Installation
25
+
26
+ ### Claude Desktop (Recommended)
27
+
28
+ The packaged `.zip` file is included in this repository for easy installation:
29
+
30
+ 1. Download `create-expert-skill-v2.2.zip` from this repository
31
+ 2. Open Claude Desktop → **Settings** → **Capabilities**
32
+ 3. Under Skills, click **Upload Skill**
33
+ 4. Drag and drop the `.zip` file (no need to unzip)
34
+
35
+ ### Claude Code
36
+
37
+ Skills can be installed at user or project level:
38
+
39
+ **Personal skills** (available in all projects):
40
+ ```bash
41
+ # Unzip and copy to your personal skills directory
42
+ unzip create-expert-skill-v2.2.zip -d ~/.claude/skills/
43
+ ```
44
+
45
+ **Project skills** (shared with team via git):
46
+ ```bash
47
+ # Unzip into your project's .claude/skills/ directory
48
+ unzip create-expert-skill-v2.2.zip -d ./.claude/skills/
49
+ git add .claude/skills/create-expert-skill
50
+ git commit -m "Add create-expert-skill"
51
+ ```
52
+
53
+ Claude Code automatically discovers skills in these locations.
54
+
55
+ ### Claude Agent SDK
56
+
57
+ For programmatic usage with the Agent SDK:
58
+
59
+ 1. Create skills directory in your project: `.claude/skills/`
60
+ 2. Unzip the skill into that directory
61
+ 3. Enable skills in your configuration by adding `"Skill"` to `allowed_tools`
62
+
63
+ ```python
64
+ from claude_agent_sdk import query, ClaudeAgentOptions
65
+
66
+ options = ClaudeAgentOptions(
67
+ allowed_tools=["Skill", "Read", "Write", "Bash"],
68
+ # Skills are auto-discovered from .claude/skills/
69
+ )
70
+ ```
71
+
72
+ See [Agent Skills in the SDK](https://platform.claude.com/docs/en/agent-sdk/skills) for full documentation.
73
+
74
+ ## Usage
75
+
76
+ Start a conversation:
77
+ > "I want to create a skill for validating LEDES billing files"
78
+
79
+ Claude guides you through:
80
+ ```
81
+ Assess → Is this worth creating? (3+ uses, consistent procedure)
82
+ Discover → What's the domain expertise? What are the system ontologies?
83
+ Design → What needs scripts vs guidance vs reference material?
84
+ Create → Generate the skill
85
+ Refine → Iterate until complete
86
+ Ship → Package for deployment
87
+ ```
88
+
89
+ ## How It Works
90
+
91
+ ### Two Knowledge Streams
92
+
93
+ Production-ready skills require BOTH:
94
+
95
+ **Domain Expertise** — Industry knowledge that applies universally:
96
+ - Standards and their versions (e.g., LEDES 98B vs XML 2.0)
97
+ - Professional conventions and edge cases
98
+ - Validation rules from specifications
99
+
100
+ **Ontology Understanding** — System-specific structures:
101
+ - Company policies and constraints
102
+ - Entity relationships (timekeepers → IDs → rates)
103
+ - Data format variations unique to your systems
104
+
105
+ ### Progressive Disclosure Architecture
106
+
107
+ Skills load knowledge in layers, not all at once:
108
+
109
+ ```
110
+ Layer 0 (~25 tokens) → Description only, always visible
111
+ Layer 1 (~500 tokens) → Core procedures in SKILL.md, loaded when triggered
112
+ Layer 2 (~1000+ tokens) → Deep reference in resources/, loaded selectively
113
+ ```
114
+
115
+ **Why this matters:** A 2,000-token skill that loads everything wastes context. A layered skill loads 25 tokens until needed, then 500, then more only if required.
116
+
117
+ ### Deterministic Scripts
118
+
119
+ Anything that can be computed exactly should be:
120
+
121
+ | Task | Without Script | With Script |
122
+ |------|---------------|-------------|
123
+ | Validate date format | LLM guesses (sometimes wrong) | `python validate.py` (always right) |
124
+ | Sum line items | LLM approximates | Script calculates exactly |
125
+ | Check against schema | LLM interprets | Script returns pass/fail |
126
+
127
+ Scripts run at **zero token cost** — Claude executes them and uses the output.
128
+
129
+ ### Skill Structure
130
+
131
+ ```
132
+ my-skill/
133
+ ├── SKILL.md # Layer 1: Core procedures (300-500 tokens)
134
+ ├── scripts/ # Layer 0: Deterministic automation
135
+ │ └── validate.py
136
+ └── resources/ # Layer 2: Deep reference (loaded selectively)
137
+ ├── schemas/
138
+ └── ADVANCED.md
139
+ ```
140
+
141
+ ## Token Optimization
142
+
143
+ | Technique | Before | After | Savings |
144
+ |-----------|--------|-------|---------|
145
+ | Scripts | 500 tokens explaining logic | `python scripts/validate.py` | ~450 |
146
+ | Reference files | Inline schema (200 tokens) | Link to file | ~185 |
147
+ | Layer 2 split | Everything in SKILL.md | Split to resources/ | ~750 |
148
+
149
+ ## Packaging
150
+
151
+ **This skill includes an automated zipping procedure** In most cases, it runs on its own once the expert skill is finished, returning the plug-and-play .zip of the skill directly in conversation. If this doesn't run automatically, simply ask Claude to deliver the packaged skill.
152
+
153
+ ## Files
154
+
155
+ ```
156
+ create-expert-skill/
157
+ ├── SKILL.md # Main skill (Layer 1)
158
+ ├── README.md # This file
159
+ ├── LICENSE # MIT
160
+ ├── create-expert-skill-v2.2.zip # Ready-to-install package
161
+ ├── scripts/
162
+ │ ├── package_skill.py # Packaging automation
163
+ │ └── README.md
164
+ └── resources/
165
+ ├── templates/
166
+ │ └── TEMPLATES.md # Skill templates (minimal/enhanced/script)
167
+ └── examples/
168
+ └── EXAMPLES.md # Domain patterns (billing, API, schemas)
169
+ ```
170
+
171
+ ## Contributing
172
+
173
+ Found a bug or want to improve the skill?
174
+ - Open an issue for bugs or feature requests
175
+ - PRs welcome for templates, examples, or documentation
176
+
177
+ ## License
178
+
179
+ MIT — use freely, modify as needed.
180
+
181
+ ## Author
182
+
183
+ [Vlad-Alexandru Nicolescu](https://github.com/vnicolescu)
184
+
185
+ ---
186
+
187
+ **Version:** 2.2
188
+ **Tested with:** Claude Desktop
@@ -0,0 +1,131 @@
1
+ ---
2
+ name: create-expert-skill
3
+ description: Create production-ready skills from expert knowledge. Extracts domain expertise and system ontologies, uses scripts for deterministic work, loads knowledge progressively. Use when building skills that must work reliably in production.
4
+ version: 2.2
5
+ ---
6
+
7
+ # Expert Skill Creation
8
+
9
+ Transform expert knowledge into production-ready skills that combine domain expertise with system-specific understanding.
10
+
11
+ ## Why Skills Fail in Production
12
+
13
+ AI assistants fail not because they lack intelligence, but because they lack:
14
+
15
+ 1. **Domain Expertise** — Industry-specific rules, edge cases, unwritten conventions
16
+ 2. **Ontology Understanding** — How YOUR systems, data structures, and workflows actually work
17
+
18
+ **Both are required.** Domain knowledge without system context produces generic output. System knowledge without domain expertise produces structurally correct but semantically wrong results.
19
+
20
+ ## Workflow
21
+
22
+ ```
23
+ Assess → Discover (Expertise + Ontology) → Design → Create → Refine → Ship
24
+ ```
25
+
26
+ ## Quick Assessment
27
+
28
+ **Create a skill when:**
29
+ - Used 3+ times (or will be)
30
+ - Follows consistent procedure
31
+ - Saves >300 tokens per use
32
+ - Requires specialized knowledge not in Claude's training
33
+ - Must produce trusted output (not "close enough")
34
+
35
+ **Don't create for:** one-time tasks, basic knowledge Claude already has, rapidly changing content.
36
+
37
+ ## Discovery: Two Streams
38
+
39
+ ### Stream 1: Domain Expertise
40
+
41
+ Deep knowledge that transcends any specific company:
42
+ - Industry standards and their versions
43
+ - Professional conventions and best practices
44
+ - Edge cases only practitioners know
45
+ - Validation rules from specifications
46
+
47
+ *Example (LEDES validation):* LEDES 98B vs XML 2.0 formats, UTBMS code taxonomy, date format requirements, required vs optional fields.
48
+
49
+ ### Stream 2: Ontology Understanding
50
+
51
+ How the skill maps to specific systems and organizations:
52
+ - Company-specific policies and constraints
53
+ - Data structures and identifiers unique to the system
54
+ - Cross-references between entities (timekeepers → IDs → rates)
55
+ - Workflow states and transitions
56
+
57
+ *Example (LEDES validation):* Firm-specific timekeeper codes, matter numbering conventions, approved billing rates, outside counsel guideline requirements.
58
+
59
+ ### Discovery Questions
60
+
61
+ When starting, I'll ask about:
62
+ 1. **Domain & Purpose** — What problem? What industry standards apply?
63
+ 2. **Ontology Requirements** — What system-specific structures must the skill understand?
64
+ 3. **Content Source** — Conversation, docs, specifications, or files to distill from?
65
+ 4. **Automation Potential** — What can be deterministic (scripts)? What needs interpretation (LLM)?
66
+ 5. **Complexity Level** — Simple (SKILL.md only), Enhanced (+scripts), or Full (+resources)?
67
+
68
+ ## Skill Architecture
69
+
70
+ ```
71
+ skill-name/
72
+ ├── SKILL.md # Layer 1: Core (300-500 tokens)
73
+ ├── scripts/ # Layer 0: Automation (0 tokens to run)
74
+ │ └── validate.py
75
+ └── resources/ # Layer 2: Details (loaded selectively)
76
+ └── ADVANCED.md
77
+ ```
78
+
79
+ **Layer 0** (Scripts): Free execution, structured JSON output
80
+ **Layer 1** (SKILL.md): Loaded when triggered - keep lean
81
+ **Layer 2** (Resources): Fetched only when specific section needed
82
+
83
+ ## Token Optimization
84
+
85
+ | Technique | Instead of | Do this | Savings |
86
+ |-----------|-----------|---------|---------|
87
+ | Scripts | 500 tokens explaining validation | `python scripts/validate.py` | ~450 tokens |
88
+ | Reference | Inline schema (200 tokens) | Link to `resources/schema.json` | ~185 tokens |
89
+ | Layer 2 | Everything in SKILL.md | Link to `resources/ADVANCED.md` | ~750 tokens |
90
+
91
+ ## Description Formula
92
+
93
+ `<Action> <Object> for <Purpose>. Use when <Trigger>.`
94
+
95
+ Example: "Validate billing data for system migration. Use before importing invoices."
96
+
97
+ ## Shipping
98
+
99
+ When content is finalized:
100
+
101
+ ```bash
102
+ python scripts/package_skill.py skill-name 1.0
103
+ ```
104
+
105
+ Creates `skill-name-v1.0.zip` with:
106
+ - DIRECTORY_STRUCTURE.txt (auto-generated)
107
+ - README.md with deployment instructions
108
+ - All skill files properly organized
109
+
110
+ ## Templates & Examples
111
+
112
+ See `resources/templates/` for:
113
+ - Minimal skill template
114
+ - Enhanced skill template
115
+ - Script template
116
+
117
+ See `resources/examples/` for domain-specific patterns.
118
+
119
+ ## Quality Checklist
120
+
121
+ Before shipping:
122
+ - [ ] Description <30 tokens
123
+ - [ ] SKILL.md <500 tokens (Layer 1)
124
+ - [ ] Scripts for deterministic operations
125
+ - [ ] Advanced content in resources/ (Layer 2)
126
+ - [ ] Version in frontmatter
127
+ - [ ] All referenced files exist
128
+
129
+ ---
130
+
131
+ **Version:** 2.2 | **Target:** <500 tokens Layer 1
@@ -0,0 +1,147 @@
1
+ # Domain Examples
2
+
3
+ Real-world skill patterns for common use cases.
4
+
5
+ ---
6
+
7
+ ## Example 1: Billing System Migration
8
+
9
+ **Context:** Company migrating from legacy billing to modern system.
10
+
11
+ **Discovery questions:**
12
+ 1. What format is legacy data? (CSV, JSON, database dump?)
13
+ 2. What's the target format for new system?
14
+ 3. Are there data transformations needed? (field mapping, calculations?)
15
+ 4. Any validation rules to enforce?
16
+ 5. How should errors be handled?
17
+
18
+ **Resulting structure:**
19
+ ```
20
+ billing-migration/
21
+ ├── SKILL.md # Migration workflow
22
+ ├── scripts/
23
+ │ ├── validate_legacy.py # Check data completeness
24
+ │ ├── transform.py # Map fields to new format
25
+ │ └── verify_totals.py # Verify financial totals match
26
+ └── resources/
27
+ ├── schemas/
28
+ │ ├── legacy.json # Legacy data schema
29
+ │ └── modern.json # Target schema
30
+ └── mappings/
31
+ └── field_mapping.json # Field-to-field mapping
32
+ ```
33
+
34
+ **Token efficiency:**
35
+ - Description: ~25 tokens
36
+ - SKILL.md: ~400 tokens
37
+ - Scripts: 0 tokens (execution is free)
38
+ - resources/: ~1200 tokens (loaded only for complex cases)
39
+
40
+ ---
41
+
42
+ ## Example 2: API Integration
43
+
44
+ **Context:** Integrating with external API, handling auth, rate limits, retries.
45
+
46
+ **Discovery questions:**
47
+ 1. What API? (OpenAPI spec available?)
48
+ 2. What endpoints are used most?
49
+ 3. How does authentication work?
50
+ 4. Are there rate limits to handle?
51
+ 5. What error cases need special handling?
52
+
53
+ **Resulting structure:**
54
+ ```
55
+ api-integration/
56
+ ├── SKILL.md # Common API patterns
57
+ ├── scripts/
58
+ │ ├── authenticate.py # Handle OAuth flow
59
+ │ ├── request.py # Wrapper with retry logic
60
+ │ └── rate_limiter.py # Respect rate limits
61
+ └── resources/
62
+ ├── openapi.json # API specification
63
+ └── templates/
64
+ └── request.json # Request body templates
65
+ ```
66
+
67
+ ---
68
+
69
+ ## Example 3: Data Schema Mapping
70
+
71
+ **Context:** Mapping between two data formats with transformations.
72
+
73
+ **Discovery questions:**
74
+ 1. What are the source and target schemas?
75
+ 2. Are transformations simple (rename) or complex (calculations)?
76
+ 3. What happens to unmapped fields?
77
+ 4. How should validation errors be handled?
78
+
79
+ **Resulting structure:**
80
+ ```
81
+ schema-mapper/
82
+ ├── SKILL.md # Mapping workflow
83
+ ├── scripts/
84
+ │ ├── validate_source.py # Check source data
85
+ │ ├── map_fields.py # Apply mapping rules
86
+ │ └── validate_target.py # Verify output
87
+ └── resources/
88
+ ├── schemas/
89
+ │ ├── source.json
90
+ │ └── target.json
91
+ └── mappings.json # Field mapping rules
92
+ ```
93
+
94
+ ---
95
+
96
+ ## Common Patterns
97
+
98
+ ### Pattern: Validation Script
99
+ Every skill that processes data should include validation:
100
+
101
+ ```python
102
+ def validate(data, schema_path):
103
+ """Validate data against JSON schema."""
104
+ with open(schema_path) as f:
105
+ schema = json.load(f)
106
+
107
+ errors = []
108
+ for i, item in enumerate(data):
109
+ try:
110
+ jsonschema.validate(item, schema)
111
+ except jsonschema.ValidationError as e:
112
+ errors.append({"index": i, "error": e.message, "path": list(e.path)})
113
+
114
+ return {"valid": len(errors) == 0, "errors": errors}
115
+ ```
116
+
117
+ ### Pattern: Transformation Script
118
+ For data conversion:
119
+
120
+ ```python
121
+ def transform(source_data, mapping):
122
+ """Transform data using field mapping."""
123
+ results = []
124
+ for item in source_data:
125
+ transformed = {}
126
+ for target_field, source_field in mapping.items():
127
+ if isinstance(source_field, str):
128
+ transformed[target_field] = item.get(source_field)
129
+ elif callable(source_field):
130
+ transformed[target_field] = source_field(item)
131
+ results.append(transformed)
132
+ return results
133
+ ```
134
+
135
+ ### Pattern: Error Accumulation
136
+ Never fail on first error - collect all issues:
137
+
138
+ ```python
139
+ def process_batch(items):
140
+ results = {"success": [], "errors": []}
141
+ for item in items:
142
+ try:
143
+ results["success"].append(process_one(item))
144
+ except Exception as e:
145
+ results["errors"].append({"item_id": item.get("id"), "error": str(e)})
146
+ return results
147
+ ```
@@ -0,0 +1,202 @@
1
+ # Skill Templates
2
+
3
+ Templates for creating new skills. Copy and customize.
4
+
5
+ ---
6
+
7
+ ## Minimal Skill Template
8
+
9
+ For simple skills with just procedures (no scripts):
10
+
11
+ ```markdown
12
+ ---
13
+ name: skill-name
14
+ description: Action on object for purpose. Use when trigger.
15
+ version: 1.0
16
+ ---
17
+
18
+ # Skill Name: Purpose
19
+
20
+ Brief explanation of what this skill does.
21
+
22
+ ## Quick Start
23
+
24
+ Most common usage - copy-paste ready.
25
+
26
+ ## Common Scenarios
27
+
28
+ ### Scenario 1: Typical Case
29
+ Description and steps.
30
+
31
+ ### Scenario 2: Variant
32
+ How to handle variations.
33
+
34
+ ## Error Handling
35
+
36
+ - **Error X**: Cause → Fix
37
+ - **Error Y**: Cause → Fix
38
+
39
+ ---
40
+ **Version:** 1.0
41
+ ```
42
+
43
+ ---
44
+
45
+ ## Enhanced Skill Template
46
+
47
+ For skills with automation scripts:
48
+
49
+ ```markdown
50
+ ---
51
+ name: skill-name
52
+ description: Action on object for purpose. Use when trigger.
53
+ version: 1.0
54
+ ---
55
+
56
+ # Skill Name: Purpose
57
+
58
+ ## Quick Start
59
+
60
+ \`\`\`bash
61
+ python scripts/process.py --input data.json
62
+ \`\`\`
63
+
64
+ Expected output: [describe success]
65
+
66
+ ## Prerequisites
67
+
68
+ - Input format: [specify]
69
+ - Required files: [list]
70
+
71
+ ## Common Scenarios
72
+
73
+ ### Scenario 1: Standard Usage
74
+ \`\`\`bash
75
+ python scripts/process.py --input data.json --output result.json
76
+ \`\`\`
77
+
78
+ ### Scenario 2: Validation Only
79
+ \`\`\`bash
80
+ python scripts/validate.py data.json
81
+ \`\`\`
82
+
83
+ ## Error Handling
84
+
85
+ - **Error X**: Cause → Fix
86
+ - **Error Y**: Cause → Fix
87
+
88
+ ## Advanced Usage
89
+
90
+ See [ADVANCED.md](./resources/ADVANCED.md) for complex scenarios.
91
+
92
+ ---
93
+ **Version:** 1.0
94
+ ```
95
+
96
+ ---
97
+
98
+ ## Script Template
99
+
100
+ Standard pattern for automation scripts:
101
+
102
+ ```python
103
+ #!/usr/bin/env python3
104
+ """
105
+ Script Name: Short description
106
+
107
+ Usage:
108
+ python script_name.py input.json [output.json]
109
+
110
+ Returns:
111
+ JSON with structured results:
112
+ {
113
+ "status": "success|error",
114
+ "data": {...},
115
+ "errors": [...]
116
+ }
117
+ """
118
+
119
+ import json
120
+ import sys
121
+ from pathlib import Path
122
+ from typing import Any
123
+
124
+
125
+ def process(input_path: str, output_path: str = None) -> dict[str, Any]:
126
+ """Main processing function."""
127
+ try:
128
+ with open(input_path) as f:
129
+ data = json.load(f)
130
+
131
+ # Process data
132
+ results = {"processed": [], "errors": []}
133
+ for item in data:
134
+ try:
135
+ results["processed"].append(transform(item))
136
+ except Exception as e:
137
+ results["errors"].append({"item": item.get("id"), "error": str(e)})
138
+
139
+ # Write output if specified
140
+ if output_path:
141
+ with open(output_path, 'w') as f:
142
+ json.dump(results["processed"], f, indent=2)
143
+
144
+ return {
145
+ "status": "success" if not results["errors"] else "partial",
146
+ "processed": len(results["processed"]),
147
+ "errors": results["errors"]
148
+ }
149
+
150
+ except Exception as e:
151
+ return {"status": "error", "message": str(e)}
152
+
153
+
154
+ def transform(item: dict) -> dict:
155
+ """Transform single item - customize this."""
156
+ return item
157
+
158
+
159
+ def main():
160
+ if len(sys.argv) < 2:
161
+ print(__doc__)
162
+ sys.exit(1)
163
+
164
+ input_path = sys.argv[1]
165
+ output_path = sys.argv[2] if len(sys.argv) > 2 else None
166
+
167
+ result = process(input_path, output_path)
168
+ print(json.dumps(result, indent=2))
169
+ sys.exit(0 if result["status"] == "success" else 1)
170
+
171
+
172
+ if __name__ == "__main__":
173
+ main()
174
+ ```
175
+
176
+ ---
177
+
178
+ ## DIRECTORY_STRUCTURE.txt Template
179
+
180
+ Auto-generated by `package_skill.py`, but here's the format:
181
+
182
+ ```
183
+ skill-name/
184
+ ├── SKILL.md # Main skill file (Layer 1)
185
+ ├── README.md # Deployment instructions
186
+ ├── DIRECTORY_STRUCTURE.txt # This file
187
+ ├── scripts/ # Automation scripts (Layer 0)
188
+ │ ├── process.py
189
+ │ └── README.md
190
+ └── resources/ # Reference materials (Layer 2)
191
+ ├── ADVANCED.md
192
+ └── schemas/
193
+ └── schema.json
194
+
195
+ Token Budget:
196
+ - Layer 0 (description): ~25 tokens
197
+ - Layer 1 (SKILL.md): ~400 tokens
198
+ - Layer 2 (resources/): ~1000 tokens (loaded selectively)
199
+
200
+ Version: 1.0
201
+ Created: YYYY-MM-DD
202
+ ```