Composability
Deep dive into how skills compose using the SIP Framework.
Core Concepts
Domains
Every skill owns exactly one domain:
- Voice — tone, personality, vocabulary
- Density — token count, verbosity
- Craft — visual design, code quality
- Process — workflow steps, templates
- Content — substance being produced
Composition Modes
Layered — simultaneous application:
/blog + /cavemanPipeline — sequential processing:
/postmortem → /compressHandoff — skill delegates to another:
Postmortem detects UI issue → invokes painterAdvisory — skill references another's principles:
Blogger writing about UI → references painter's heuristicsPrecedence Rules
When skills conflict, resolution follows this order:
Priority Order
- Safety/Accuracy — always wins (implicit)
- User's explicit instruction — second priority
- Domain owner — authoritative in its domain
- Most recently invoked — last one wins
- Specificity — narrow scope beats broad scope
The Composition Contract
Every SIP-compliant skill must follow these rules:
Composition Contract
- Input Agnosticism — operate on any input
- Domain Respect — don't modify other domains
- Marker Preservation — keep structure intact
- Signal Emission — state what you're handling
- Graceful Degradation — defer when conflicting
Examples
Example 1: Voice + Density
User: "Write a blog, make it terse"
Skills: Blogger (voice) + Caveman (density)
Resolution: Caveman density wins. Blogger's voice preserved in fewer words.
Example 2: Process + Density
User: "Run postmortem, then compress it"
Skills: Postmortem (process) → Compress (density)
Resolution: Pipeline. Postmortem structure preserved, content compressed.
Example 3: Craft + Voice
User: "Blog about UI decisions"
Skills: Blogger (voice) + Painter (craft, advisory)
Resolution: Blogger owns voice. Painter validates technical claims.
Conflict Resolution Matrix
| Skill A | Skill B | Resolution |
|---|---|---|
| Blogger (voice) | Caveman (density) | Caveman wins, blogger voice preserved |
| Postmortem (process) | Compress (density) | Pipeline: structure preserved, content compressed |
| Painter (craft) | Blogger (voice) | Painter advisory, blogger owns voice |
Best Practices
- Declare domain clearly — don't try to own multiple
- Yield to process — structure is sacred
- Preserve upstream work — keep structure intact
- Signal boundaries — state what you handle
- Test composition — ensure works with other skills
Resources
- SIP Framework — full specification
- Creating Skills — build SIP-compliant skills
- PROTOCOL.md — source