Customization surfaces
This page is retained as a compact cross-reference. Use the detailed guides for implementation:
- Choose the right surface
- Skills
- Plugins
- Hooks, rules, and permissions
- MCP, tools, and subagents
- Repository file layout
Composition model
instructions route work ↓skills define repeatable judgement and procedure ↓scripts perform deterministic mechanics ↓MCP/tools provide bounded capability and current data
artifacts preserve evidence and handoff state
hooks react automatically to lifecycle eventsrules/permissions constrain authorityplugins package stable combinations for distributionThe arrows describe common composition, not authority inheritance. A skill does not grant tool access; an MCP server does not decide the workflow; a hook does not replace permissions; and a plugin does not make its bundled code trusted.
Lifecycle
- Prove a need with a prompt, existing command, and repo documentation.
- Create a local skill when the procedure repeats and needs judgement.
- Extract repeatable mechanics into scripts shared with CI.
- Add hooks only for behavior tied to a specific event.
- Add MCP only for external state or actions.
- Add native rules and permissions for security boundaries.
- Package as a plugin only after routing, outcomes, dependencies, and safety have stabilized for more than one consumer.
- Evaluate, version, observe, and retire the capability as a maintained product.
Non-negotiable distinctions
- Automatic is not mandatory. Implicit skill routing can fail; mandatory workflows need explicit instruction and deterministic enforcement.
- Interception is not containment. A pre-use hook may miss equivalent tool paths; permissions, sandboxing, and per-tool policy define authority.
- Packaging is not trust. Plugin skills, hooks, scripts, MCP servers, and remote updates remain executable supply-chain inputs.
- Parallelism is not free. Subagents multiply contexts and tool work; use them for independent bounded tasks.
- Shared standard is not identical configuration. OpenAI and Anthropic use related concepts with different discovery, trust, event, and manifest semantics. Share intent and portable components, then test each client.
- A final message is not durable evidence. Plans, logs, diffs, generated artifacts, and validation results must survive compaction and reconnect.
- More context is not more legibility. Expose queryable UI and operational signals, then load only those required by the current workflow.