Build your own skills, hooks, agents, and commands
The shared-skills bundle ships a complete set of authoring tools that guide you through every phase of building and shipping your own Claude Code artifacts. This guide explains what each artifact type is and which SDLC skill to invoke to build one.
What you can build
Claude Code supports several distinct artifact types. Each serves a different purpose and has its own authoring workflow:
- Skills are
SKILL.mdfiles stored in your Claude Code plugin directory. When a conversation matches the skill's trigger description, Claude loads the file into context and follows its instructions. Skills encode reusable engineering practices: TDD workflows, commit style guides, CI/CD playbooks, and similar domain knowledge. - Hooks are shell scripts that Claude Code runs automatically in response to specific events: before or after a tool call, at session start, or when a notification fires. Hooks enforce policies (e.g., block writes to protected paths), log activity, or set up session state without requiring any user action.
- Slash commands are user-invocable
/commandtriggers stored in your Claude Code settings. Unlike skills, which activate automatically by description match, a slash command is always triggered explicitly by the user typing its name. - Agents and subagents are structured delegation workflows. The primary Claude instance hands off a scoped task to a specialized agent with its own context, tools, and success criteria. Agent workflows are useful for parallelizing work or isolating tasks with distinct tool requirements.
- MCP servers extend Claude Code with custom tools, resources, and prompts over the Model Context Protocol. If the authoring tools you need do not exist as built-in Claude Code tools, an MCP server is the extension point to reach for.
All five artifact types have dedicated SDLC skills in the shared-skills bundle. Install the bundle once and you have authoring support for all of them.
Before you start: install the authoring tools
All of the SDLC skills described in this guide are part of the shared-skills bundle. If you have not installed it yet, register the marketplace and run:
/plugin install shared-skills@llm-skillsIf you have not registered the marketplace yet, see how to install skills from GitHub for the one-time setup step. After installation, all of the skill-development, claude-hook-sdlc, claude-command-sdlc, claude-agent-sdlc, and mcp-sdlc skills are available in every new Claude Code conversation.
Building a skill
The skill-development SDLC orchestrator covers the full lifecycle from ideation to a committed, linted, and validated skill file. It coordinates the three supporting skills below and guides you through each phase gate:
- skill-creator authors the directory structure and
SKILL.mdcontent. - skill-linting runs a 12-rule structural lint against the skill directory.
- skill-validation scores the skill against an 8-criterion qualitative rubric.
- skill-test-drive runs live scenario tests and produces a friction report.
To start the full lifecycle, open a Claude Code conversation and say:
Use $skill-development to create a new skill for [your topic].You can also jump straight to authoring if you already know what you want to write and just need the file structure:
Use $skill-creator to create a new skill for [your topic].Building a hook
Hooks let you automate Claude Code's behavior without writing a skill. Common uses: blocking tool calls that match a pattern (e.g., preventing writes to a protected directory), logging every tool invocation to a file, or injecting session context at startup.
The claude-hook-sdlc skill orchestrates eight phases: planning, design, creation, testing, verification, integration, validation, and a live test drive.
Use $claude-hook-sdlc to build a hook that [describe the behavior].Individual phase skills are also available if you want to re-enter at a specific gate: claude-hook-planning, claude-hook-design, claude-hook-creation, claude-hook-testing, and so on. See the shared-skills bundle for the full list.
Building a slash command
Slash commands are explicit user triggers stored in your .claude/commands/ directory. Unlike skills, which activate automatically, a command only runs when the user types its name. This makes commands well suited for one-off workflows, project-specific utilities, and tasks where explicit invocation is safer than automatic triggering.
The claude-command-sdlc skill orchestrates nine phases, including an iterative development phase for commands that need multiple improvement cycles.
Use $claude-command-sdlc to build a command for [describe the workflow].Building an agent or subagent
Agents are structured delegation workflows. The primary Claude instance spawns a scoped subagent with its own context window, tool permissions, and success criteria. Agent workflows are most valuable when a task is large enough to benefit from parallel execution or when parts of the work need different tool access than the primary session.
The claude-agent-sdlc skill covers planning (role scope, handoff inventory), design (interface contract, safety rules), creation, testing (happy path plus blocked and recovery paths), verification, integration (live delegated run), and a final test drive.
Use $claude-agent-sdlc to build an agent that [describe the role].Building an MCP server
The Model Context Protocol lets you extend Claude Code with custom tools, resources, and prompt templates. If you need capabilities that do not exist as built-in tools (a private API, a database query interface, a custom file system view), an MCP server is the right extension point.
The mcp-sdlc skill orchestrates the same eight-phase pipeline as the other SDLC workflows: planning, design, creation, testing, verification, integration, validation, and a live test drive.
Use $mcp-sdlc to build an MCP server that [describe the tools or resources].The common SDLC pattern
All four artifact types follow the same phased pipeline. The phase names differ slightly by artifact type (e.g., hooks have an event scope while agents have a role scope), but the structure is consistent:
- Planning — define scope, identify interfaces, write success criteria
- Design — make every contract explicit; no implicit safety rules
- Creation — implement the artifact; confirm it runs locally
- Testing — happy path, one variant, one blocked path, one recovery
- Verification — confirm design and implementation match; resolve gaps
- Integration — wire into Claude Code; confirm live discovery and invocation
- Validation — rubric score; safety pass required
- Test drive — five or more real scenarios; friction report
- Iterative development — re-enter at the right phase after friction or a gate failure; don't restart from scratch
You can enter the pipeline at any phase. If you already have a draft artifact, skip to the linting or testing phase. If you are recovering from a specific failure, the SDLC skill will tell you which phase to re-enter.
Packaging your skill into a plugin
A plugin is a versioned bundle of one or more skills distributed through a Claude Code marketplace. If you want to share your skills with a team or publish them for others to install, the steps are:
- Fork or create a GitHub repository following the same structure used by this marketplace's bundles: a
skills/directory at the root, one subdirectory per skill, each containing aSKILL.mdand anagents/claude.yamlmetadata file. - Tag a release. Claude Code's plugin system pins installs to a specific Git ref. A semver tag on a release is the conventional approach.
- Add a
marketplace.jsonor point your marketplace config at the repository. The Claude Code/plugin marketplace addcommand accepts either a GitHub repository URL or a published JSON catalog URL. - Publish the install command. It follows the format
/plugin install <pluginName>@<marketplaceName>.
To contribute skills back to this marketplace, open a pull request on the relevant GitHub repository. See the marketplace home page for the GitHub links to each bundle.
Where to go next
- Browse the shared-skills bundle to see the full list of authoring skills and their trigger descriptions.
- Read what are agent skills if the basics are still unfamiliar.
- See the install guide if you have not yet added the marketplace to Claude Code.
- Check the well-documented case study for a concrete example of a skill that passed the full SDLC pipeline.
- Official reference: docs.claude.com covers the plugin system, hooks configuration, and slash command setup in detail.