From platform
Quick-reference for editing Claude Code skills, agents, slash commands, hooks, plugins, and configs. Triggers on YAML frontmatter, .claude/ files, Task tools, hook debugging.
npx claudepluginhub closedloop-ai/claude-plugins --plugin platformThis skill uses the workspace's default tool permissions.
Comprehensive quick-reference for Claude Code extensibility. For detailed examples, see the reference files linked at the end.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Comprehensive quick-reference for Claude Code extensibility. For detailed examples, see the reference files linked at the end.
Do NOT use for: Creating NEW skills from scratch (use claude-creator instead), general coding tasks, or CI/CD unrelated to Claude Code.
| Type | Invocation | Purpose | Location |
|---|---|---|---|
| Skills | Auto (model-invoked) | Persistent context/knowledge | ~/.claude/skills/, .claude/skills/, <plugin>/skills/ |
| Agents | Explicit (@agent-name) | Multi-step workflows | .claude/agents/, <plugin>/agents/ |
| Commands | User (/command) | Saved prompts/shortcuts | ~/.claude/commands/, .claude/commands/, <plugin>/commands/ |
| Plugins | Package | Bundled distribution | .claude-plugin/plugin.json |
---
name: skill-name # Required: lowercase, hyphens, max 64 chars
description: This skill should be used when [triggers]. It provides [capabilities]. # Required: max 1024 chars
allowed-tools: Read, Grep, Glob # Optional: tool restrictions
context: fork # Optional: run in forked sub-agent
agent: my-agent # Optional: use agent's config
hooks: # Optional: component-scoped hooks
PreToolUse: [...]
PostToolUse: [...]
Stop: [...]
---
Skills hot-reload when modified. See references/skill-triggers.md for trigger optimization.
---
name: agent-name # Required: kebab-case, match filename
description: What agent does and when to use it. # Required
model: opus # Optional: sonnet, opus, haiku
color: blue # Optional: visual identifier
tools: Read, Grep, Glob, Bash # Optional: tool restrictions
hooks: # Optional: component-scoped hooks
PreToolUse: [...]
PostToolUse: [...]
Stop: [...]
---
Disable agents: "disallowed-tools": ["Task(agent-name)"] in settings.json.
---
description: Brief description for autocomplete # Optional
argument-hint: [file] [options] # Optional: shown in picker
model: opus # Optional: override model
allowed-tools: Bash(git *), Read, Grep # Optional: tool restrictions
disable-model-invocation: false # Optional: prevent Skill tool calling
hooks: # Optional: component-scoped hooks
PreToolUse: [...]
Stop: [...]
---
Special syntax: $ARGUMENTS, $1/$2, inline bash with exclamation prefix (requires allowed-tools), @path/file
See references/command-patterns.md for patterns and examples.
{
"name": "plugin-name",
"description": "What this plugin provides",
"version": "1.0.0",
"author": "Author Name"
}
Locations: settings.json (global) or frontmatter (component-scoped)
| Hook | Timing | Frontmatter | settings.json |
|---|---|---|---|
PreToolUse | Before tool runs | ✅ | ✅ |
PostToolUse | After tool completes | ✅ | ✅ |
Stop | When component/agent finishes | ✅ | ✅ |
UserPromptSubmit | When user sends message | ❌ | ✅ |
PermissionRequest | When permission requested | ❌ | ✅ |
SessionStart | Session starts/resumes | ❌ | ✅ |
SessionEnd | Session ends | ❌ | ✅ |
SubagentStart/Stop | Subagent lifecycle | ❌ | ✅ |
Notification | Notification sent | ❌ | ✅ |
PreCompact | Before context compact | ❌ | ✅ |
Matcher patterns: Bash(git commit:*), Write(*.py), Edit(src/**/*.ts), mcp__server_*, *
Hook options: matcher, command, once (run only once per session)
See references/hook-recipes.md for complete schemas and recipes.
Location: .claude/settings.json or ~/.claude/settings.json
| Setting | Description |
|---|---|
agent | Use agent's system prompt, tools, model for main thread |
language | Response language (e.g., "japanese") |
disallowed-tools | Disable tools: Task(AgentName), mcp__server_* |
CLI flags: --agent, --tools, --disable-slash-commands, --session-id, --system-prompt
CLAUDE.md: Project root or ~/.claude/CLAUDE.md. Keep concise (always loaded).
Rules directory: .claude/rules/*.md - modular alternative to single CLAUDE.md.
CRITICAL: Use imperative/infinitive form, not second person.
| ✅ Correct | ❌ Incorrect |
|---|---|
| "Identify candidate files..." | "You should identify..." |
| "Extract data from..." | "You can extract..." |
| Issue | Cause | Fix |
|---|---|---|
| Skill not triggering | Vague description, >1024 chars | Add specific trigger keywords |
| Hook not executing | Not executable, wrong path | chmod +x, use relative path from root |
| Agent not found | Name mismatch, wrong location | Match name to filename, check .claude/agents/ |
| Inline bash not working | Missing allowed-tools | Add allowed-tools: Bash(...) to frontmatter |
name, description)chmod +x)