Skill Creator
Standards for creating new High-Density Agent Skills with optimal token economy.
Best use case
Skill Creator is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Standards for creating new High-Density Agent Skills with optimal token economy.
Teams using Skill Creator should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/skill-creator/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How Skill Creator Compares
| Feature / Agent | Skill Creator | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Standards for creating new High-Density Agent Skills with optimal token economy.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Agent Skill Creator Standard
## **Priority: P0 (CRITICAL)**
Strict guidelines for authoring High-Density Agent Skills. Maximize information density while minimizing token consumption through progressive disclosure and strategic content organization.
## Core Principles
### **Token Economy First** ⚡
Every word costs tokens. Design skills for maximum information/token ratio:
- **Progressive Loading**: Load only essential content initially
- **Lazy References**: Move detailed examples to `references/` folder
- **Imperative Compression**: Use verbs, abbreviations, bullet points
- **Context Window Awareness**: Design for 4k-32k token limits across agents
### **Three-Level Loading System**
```ts
Level 1: Metadata (100 words) → Always loaded
Level 2: SKILL.md Body (100 lines) → When triggered
Level 3: References/Scripts/Assets → As needed
```
## Directory Structure
```text
skills/
└── {category}/ # e.g., "flutter" (lowercase)
└── {skill-name}/ # e.g., "bloc-state-management" (kebab-case)
├── SKILL.md # Core Logic (High Density, <100 lines)
├── scripts/ # Executable code (Deterministic tasks)
│ └── automation.py
├── references/ # Heavy Examples (Lazy loaded)
│ ├── patterns.md
│ └── examples.md
└── assets/ # Output templates (Never loaded)
└── template.json
```
## Writing Rules (Token-Optimized)
1. **Imperative Compression**: Start with verbs. No "Please/You should".
- _Waste_: "You should use BLoC for state management." (8 words)
- _Efficient_: "Use BLoC for state management." (5 words)
2. **Token Economy**: Maximize info/token ratio.
- Skip articles ("the", "a") if readable
- Use standard abbreviations (cfg, param, impl)
- Bullet points > paragraphs (3x density)
3. **Progressive Disclosure**: Essential info first, details on-demand.
- Core workflow in SKILL.md
- Complex examples in references/
- Templates/assets never loaded
4. **Context-Aware Design**: Different agents have different limits.
- Cursor: ~100k tokens
- Claude: ~200k tokens
- Windsurf: ~32k tokens
## Content Sections (Token-Budgeted)
Required sections in `SKILL.md`:
1. **Frontmatter (Mandatory)**: Metadata for triggering (100 words max)
```yaml
---
name: Skill Name
description: What it does + when to use it (triggers activation)
metadata:
labels: [tag1, tag2]
triggers:
files: ['**/*.ext']
keywords: [term1, term2]
---
```
2. **Priority**: P0 (Critical), P1 (Standard), or P2 (Optional)
3. **Structure**: ASCII tree of expected file layout
4. **Guidelines**: Bullet points of "Do this" (imperative)
5. **Anti-Patterns**: Bullet points of "Don't do this"
6. **Reference Links**: Links to `references/` files (lazy loading)
## Size Limits (Strict)
| Element | Limit | Action if Exceeded |
| -------------------------- | --------- | ------------------------ |
| SKILL.md total | 100 lines | Extract to references/ |
| Inline code block | 10 lines | Move to references/ |
| Anti-pattern item | 15 words | Compress to imperative |
| Description after Priority | 0 lines | Remove (use frontmatter) |
| Tables | 8 rows | Extract to references/ |
| Explanatory sections | 10 lines | Extract to references/ |
## Resource Organization (Token-Saving)
### **scripts/** - Executable Code
**When to use**: Deterministic, repeated tasks
**Benefits**: Never loaded into context, executed directly
**Examples**: Code generators, formatters, validators
### **references/** - Documentation
**When to use**: Detailed examples, API docs, complex patterns
**Benefits**: Loaded only when needed, keeps SKILL.md lean
**Examples**: Implementation patterns, error handling guides
### **assets/** - Output Templates
**When to use**: Boilerplate files, images, configs
**Benefits**: Never loaded, copied to output as-needed
**Examples**: Project templates, config files, icons
## Skill Creation Lifecycle
### **Phase 1: Understanding (Token Audit)**
1. Define concrete use cases
2. Identify repetitive patterns
3. Calculate token budget per agent
### **Phase 2: Planning (Resource Strategy)**
1. Core workflow → SKILL.md
2. Complex examples → references/
3. Repeated code → scripts/
4. Templates → assets/
### **Phase 3: Implementation (Compression)**
1. Write imperative guidelines
2. Compress examples to essentials
3. Test context window fit
### **Phase 4: Validation (Token Testing)**
1. Verify loading efficiency
2. Test across different agents
3. Measure token consumption
### Validation Checklist
Before finalizing, verify:
- [ ] SKILL.md ≤100 lines (ideal: 40-60)
- [ ] No inline code >10 lines
- [ ] No repeated frontmatter content
- [ ] Anti-patterns use strict format (see below)
- [ ] Complex examples in references/
- [ ] Tables >8 rows moved to references/
- [ ] No description redundancy after Priority
## Anti-Patterns (Token Wasters)
- **Verbose Explanations**: "This is important because..." → Delete
- **Redundant Context**: Same info in multiple places
- **Large Inline Code**: Move code >10 lines to references/
- **Conversational Style**: "Let's see how to..." → "Do this:"
- **Over-Engineering**: Complex structure for simple skills
- **Redundant Descriptions**: Do not repeat frontmatter `description` after `## Priority`
- **Oversized Skills**: SKILL.md >100 lines → Extract to references/
- **Nested Formatting**: Avoid `**Bold**: \`**More Bold**\`` - causes visual noise
- **Verbose Anti-Patterns**: See strict format below
### Anti-Pattern Format (Strict)
Format: `**No X**: Do Y[, not Z]. [Optional context, max 15 words total]`
**Examples**:
```markdown
❌ Verbose (24 words):
- **No Manual Emit**: `**Avoid .then()**: Do not call emit() inside Future.then; always use await or emit.forEach.`
✅ Compressed (11 words):
- **No .then()**: Use `await` or `emit.forEach()` to emit states.
❌ Verbose (18 words):
- **No UI Logic**: `**Logic in Builder**: Do not perform calculations or data formatting inside BlocBuilder.`
✅ Compressed (9 words):
- **No Logic in Builder**: Perform calculations in BLoC, not UI.
```
### Progressive Disclosure Checklist
Extract to `references/` when:
- [ ] Code examples >10 lines
- [ ] Tables >8 rows
- [ ] Explanatory sections >10 lines
- [ ] Multiple code variants/alternatives
- [ ] Detailed performance benchmarks
- [ ] Step-by-step tutorials
## Reference & Examples
Use the enhanced template below to generate new skills:
[references/TEMPLATE.md](references/TEMPLATE.md)
For comprehensive lifecycle guidance:
[references/lifecycle.md](references/lifecycle.md)
For resource organization patterns:
[references/resource-organization.md](references/resource-organization.md)Related Skills
common-skill-creator
Standardizes the creation and evaluation of high-density Agent Skills (Claude, Cursor, Windsurf). Ensures skills achieve high Activation (specificity/completeness) and Implementation (conciseness/actionability) scores. Use when: writing or auditing SKILL.md, improving trigger accuracy, or refactoring skills to reduce redundancy and maximize token ROI. (triggers: SKILL.md, evals/evals.json, create skill, audit skill, trigger rate, optimize description)
swift-tooling
Configure SPM packages, SwiftLint, and build settings for Swift projects. Use when managing Swift packages with SPM, configuring build settings, or enforcing Swift code quality. (triggers: Package.swift, .swiftlint.yml, package, target, dependency)
swift-testing
Write XCTest cases, async tests, and organized test suites in Swift. Use when writing XCTest cases, async tests, or organizing test suites in Swift. (triggers: **/*Tests.swift, XCTestCase, XCTestExpectation, XCTAssert)
swift-swiftui
Configure SwiftUI state, view lifecycle, and Property Wrappers correctly. Use when managing SwiftUI state, view lifecycle, or property wrappers like @State and @Binding. (triggers: **/*.swift, @State, @Binding, @ObservedObject, View, body)
swift-memory-management
Prevent retain cycles via ARC, weak/unowned references, and Capture Lists in Swift. Use when managing Swift ARC, avoiding retain cycles, or configuring capture lists in closures. (triggers: **/*.swift, weak, unowned, capture, deinit, retain)
swift-language
Apply Optionals, Protocols, Extensions, and Type Safety patterns in Swift. Use when working with Swift Optionals, Protocols, Extensions, or type-safe APIs. (triggers: **/*.swift, protocol, extension, optional, guard, enum)
swift-error-handling
Standards for throwing functions, Result type, and Never. Use when implementing Swift error throwing, designing error hierarchies, using Result types, or adding do-catch blocks. (triggers: **/*.swift, throws, try, catch, Result, Error)
swift-concurrency
Implement async/await, Actors, and structured concurrency in Swift. Use when implementing Swift async/await, Actors, or structured concurrency in iOS/macOS. (triggers: **/*.swift, async, await, actor, Task, MainActor)
swift-best-practices
Apply Guard, Value Types, Immutability, and Naming conventions in Swift. Use when writing idiomatic Swift using guard, value types, immutability, or naming conventions. (triggers: **/*.swift, guard, let, struct, final)
spring-boot-testing
Write unit, integration, and slice tests for Spring Boot 3 applications. Use when writing unit tests, integration tests, or slice tests for Spring Boot 3 applications. (triggers: **/*Test.java, webmvctest, datajpatest, testcontainers, assertj)
spring-boot-security
Configure Spring Security 6+ with Lambda DSL, JWT, and hardening rules. Use when configuring Spring Security 6+, OAuth2, JWT, or security hardening in Spring Boot. (triggers: **/*SecurityConfig.java, **/*Filter.java, security-filter-chain, lambda-dsl, csrf, cors)
spring-boot-scheduling
Configure scheduled tasks and distributed locking with ShedLock in Spring Boot. Use when implementing @Scheduled tasks or distributed locking with ShedLock in Spring Boot. (triggers: **/*Scheduler.java, **/*Job.java, scheduled, shedlock, cron)