From claude-kit
Customize a kit-scaffolded project's .claude/ setup. Use AUTOMATICALLY whenever the user asks to create, add, edit, modify, rename, delete, or remove an agent in a project — and also to add a skill to an agent, attach skills, wire tools, find or search for a skill, suggest agents/skills for my project, lint my agents, validate an agent, build a custom profile, or pick a preset profile. Works on a project already scaffolded by /kit-init (a `.claude/` dir with `.claude/kit.config.json`).
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-kit:kit-customize [add-agent <name> | add-skill <agent> | lint | profile][add-agent <name> | add-skill <agent> | lint | profile]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You customize an **already-scaffolded** claude-kit project: add agents, wire skills + tools onto
You customize an already-scaffolded claude-kit project: add agents, wire skills + tools onto them, search/suggest skills, lint everything, and apply a preset or custom profile. The kit (presets
${CLAUDE_PLUGIN_ROOT}; the project's setup lives in ./.claude/../.claude/kit.config.json → current profile, roles, project.{name,slug,language},
memory.enabled. If it's missing, stop: tell the user to run /kit-init first — this skill
only customizes a project the kit already scaffolded..claude/agents/*/AGENT.md (Glob). Note their names.${CLAUDE_PLUGIN_ROOT}/profiles/*.json${CLAUDE_PLUGIN_ROOT}/templates/agents/<name>.md${CLAUDE_PLUGIN_ROOT}/templates/skills/<name>/SKILL.mdIf $ARGUMENTS names one (add-agent, edit-agent, delete-agent, add-skill, lint, profile),
use it. If the user's request clearly says create/add, edit/modify/rename, or delete/remove an agent,
go straight to that path in step 3 — don't ask the mode. Otherwise ask via AskUserQuestion:
Add an agent · Edit an agent · Delete an agent · Add skills/tools ·
Search/suggest skills · Lint · Profile (preset or custom).
Add — two paths, ask which:
${CLAUDE_PLUGIN_ROOT}/templates/agents/<name>.md, then:
{{PROJECT_NAME}}, {{COMMS_LANG}}, {{WING}}, {{PROJECT_SLUG}} etc. from
kit.config.json;<!-- IF:MEMORY -->…<!-- /IF:MEMORY --> block — keep its inner content when
memory.enabled is true, delete the whole block (markers + body) when false.Frontmatter contract (match the templates exactly):
---
name: <slug> # must equal the agent's directory name
description: <one line — what it owns + when it's invoked>
when_to_use: <trigger conditions>
tools: [Bash, Read, Edit, Write, Grep, Glob, mcp__server__tool, ...]
skills:
- bare-global-skill
- plugin:skill
---
Body: terse ## Authority (✅ owns / ❌ defers + ❌ never), a numbered workflow, ## Voice + style,
and (only if memory enabled) the ## Memory (MemPalace) table.
Write to .claude/agents/<name>/AGENT.md. Then lint it (step 6). Offer to:
kit.config.json roles, andCLAUDE.md.Edit — open .claude/agents/<name>/AGENT.md and change frontmatter (description, when_to_use,
tools, skills) or body; for skills/tools specifically use step 4. To rename, move the dir to
.claude/agents/<new>/AGENT.md, set name: <new>, and update its role in kit.config.json + the
CLAUDE.md table. Keep edits additive; re-lint (step 6) after.
Delete — confirm explicitly first and show what will be removed. Then delete the whole
.claude/agents/<name>/ directory and clean up references: drop the role from kit.config.json
roles, remove its row from the CLAUDE.md agent table, and grep .claude/ for other mentions —
warn if any agent or rule still references it. Never delete without confirmation.
Open .claude/agents/<name>/AGENT.md and edit additively:
skills: — append bare global names, plugin:skill refs, or scaffolded project skills.tools: — append builtins (Bash, Read, Edit, Write, Grep, Glob, AskUserQuestion)
and domain mcp__<server>__<tool> names.Verify every name resolves before adding (see step 5) — never invent a skill or tool name. Re-lint (step 6) after editing.
Discover — invoke the find-skills skill via the Skill tool, and enumerate what's already
available: the session's skill list, ~/.claude/skills/*, and installed plugin skills. For tools,
scan the available mcp__* names in this session.
Suggest by profile/roles — map the project to relevant skills + tools. Read what's actually available rather than hardcoding; the table below is illustrative:
| Profile / role | Skills (examples) | Tools (examples) |
|---|---|---|
| software | agent-skills:context7, claude-api, playwright-best-practices | mcp__chrome-devtools__* |
| design / content | tailwind-design-system, gsap-*, gws-slides | mcp__paper__* |
| automation | n8n-* (mcp-tools-expert, workflow-patterns, …) | mcp__n8n__* |
| research | deep-research | WebSearch, WebFetch |
Present the candidates and let the user pick which to wire into which agent → hand off to step 4.
Validate one agent (add-agent/add-skill follow-up) or all (lint mode). Per file check:
| Check | Pass condition |
|---|---|
| Frontmatter | opens & closes with ---; parses as valid YAML |
| Required keys | name, description, when_to_use, tools, skills all present |
| Name = dir | name equals the parent directory name |
| Tools shape | a list; each is a known builtin or matches mcp__<server>__<tool> |
| Skills resolve | a list; each resolves as global / plugin:skill / project skill — warn if not |
| No template tokens | no leftover {{VAR}} in a scaffolded agent |
Report a table: file · check · pass/warn/fail, then offer to fix the fixable ones (missing keys,
name↔dir mismatch, unsubstituted tokens). For deeper skill authoring/validation, defer to
agent-skills:skill-crafting via the Skill tool.
${CLAUDE_PLUGIN_ROOT}/profiles/*.json, show each label + description +
agents; on pick, scaffold/adapt its agents (step 3) and offer its skills to relevant agents.roles +
milestones. Offer to save it for reuse to ~/.claude/kit-profiles/<name>.json using the
preset JSON shape (name, label, description, agents, skills, rules, roles,
milestones, defaults) — note it can feed a future /kit-init or kit-customize run.Either way, update .claude/kit.config.json profile + roles to reflect the active selection.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub jeiemgi/claude-kit --plugin claude-kit