Guides
Adding a skill, command, or agent
Author a new skill, slash command, or Claude subagent in Mallard and ship it to the team.
Mallard is the source repo. You add a skill / command / agent here, ship a
release, and the team picks it up with brew upgrade mallard (or
scoop update mallard) followed by mallard update.
Adding a skill
-
Create
skills/<skill-name>/SKILL.mdin the Mallard repo. -
Required frontmatter:
--- name: skill-name description: > When to trigger this skill. Be specific — Claude uses this to decide whether to invoke the skill. Include contexts, project types, keywords. version: "0.1.0" --- -
Locally (during development):
go build -o mallard . ./mallard update # re-link skills into ~/.claude/skills (with backup) ./mallard doctor # confirm the new skill appears under "managed" ./mallard registry # check version + drift status -
Ship to the team:
git add skills/<skill-name>/ git commit -m "feat: add <skill-name> skill" git push git tag vX.Y.Z git push origin vX.Y.Z # GH Actions builds + publishes Homebrew/Scoop/binariesTeam members pick it up with
brew upgrade mallard(orscoop update mallard) followed bymallard update.
Adding a command
-
Create
claude/commands/<command-name>.md. -
Required frontmatter:
--- name: command-name description: One-line summary of what the command does version: "0.1.0" --- -
Available in Claude Code as
/<command-name>after runningmallard update.
Adding an agent
Agents are Claude Code subagents, symlinked to ~/.claude/agents/ (Claude only —
the Codex / OpenCode / generic adapters skip them, since the format is
Claude-specific).
-
Create
claude/agents/<agent-name>.md. -
Required frontmatter:
--- name: agent-name description: When to invoke this agent (Claude routes to it based on this). tools: Read, Grep, Glob, Bash model: sonnet color: orange version: "0.1.0" --- -
Available as a subagent after
mallard update. A companion/<name>command inclaude/commands/is the usual way to invoke it explicitly.
Skill scope
| Scope | Where |
|---|---|
| Reusable across projects | skills/ here |
| Specific to one project | .claude/commands/ inside that project's repo |
| Personal preferences | ~/.claude/ (not tracked here) |
Bumping a skill version
Just edit the version: field in the skill's frontmatter and ship a new release.
mallard registry will surface drift between installed and source versions per
agent.