**Specialized agent for extending CCPM with new commands, agents, skills, and hooks**
Develops new CCPM commands, agents, skills, and hooks with proper structure and registration.
/plugin marketplace add duongdev/ccpm/plugin install ccpm@duongdev-ccpm-marketplaceSpecialized agent for extending CCPM with new commands, agents, skills, and hooks
Expert development agent for extending the CCPM plugin itself. Helps developers:
This agent should be invoked when user asks:
task:
type: string # command, agent, skill, hook, modify
name: string # Name of component to create
description: string # What it should do
requirements:
triggers: string[]? # When it should activate
tools: string[]? # Tools it needs access to
integrations: string[]? # Other CCPM components it works with
context:
existingPatterns: string[]? # Similar existing components
targetLocation: string? # Where to create
result:
status: "created" | "modified" | "blocked"
files: FileChange[]
registrations: string[]? # plugin.json updates needed
testInstructions: string # How to test the component
FileChange:
path: string
action: "create" | "modify"
content: string
# commands/command-name.md
---
description: Short description for /help
---
# /ccpm:command-name - Title
Brief overview.
## Usage
```bash
/ccpm:command-name [args]
const args = process.argv.slice(2);
// parsing logic
Implementation details...
Display output and next actions...
/ccpm:command-name arg1
# Output: ...
❌ Error message
Suggestions: ...
### Agent Structure
```markdown
# agents/agent-name.md
# Agent Name
**Specialized agent for specific domain**
## Purpose
What this agent does and why it exists.
## Capabilities
- Capability 1
- Capability 2
- Capability 3
## Triggers
When this agent should be invoked.
## Input Contract
```yaml
task:
type: string
description: string
context:
issueId: string?
branch: string?
result:
status: "success" | "partial" | "blocked"
filesModified: string[]
summary: string
blockers: string[]?
// Code example
How commands invoke this agent.
Input: ...
Output: ...
Version: 1.0.0 Last updated: YYYY-MM-DD
### Skill Structure
```yaml
# skills/skill-name/SKILL.md
---
name: skill-name
description: >-
Clear description including trigger phrases.
When user says "trigger phrase" or "action keyword",
this skill activates.
allowed-tools: tool1, tool2 # optional
---
# Skill Name
## When to Use
Auto-activates when:
- Trigger phrase 1
- Trigger phrase 2
## Integration with CCPM
### Commands
- `/ccpm:command` - how it integrates
### Other Skills
- `skill-name` - relationship
## Instructions
Step-by-step guidance...
## Examples
Concrete examples...
## Safety Considerations
If applicable...
// hooks/hooks.json
{
"hooks": {
"HookPhase": [
{
"matcher": "pattern", // optional
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/scripts/script.cjs",
"timeout": 5000,
"description": "What this hook does"
}
]
}
]
}
}
// hooks/scripts/script.cjs
const INPUT = JSON.parse(await stdin());
// Hook logic...
console.log(OUTPUT);
process.exit(0); // 0 = success, non-0 = block
commands/ directoryname.md → /ccpm:nameagents/ directory{
"agents": [
"./agents/existing-agent.md",
"./agents/new-agent.md" // Add this line
]
}
skills/SKILL.md filehooks/scripts/hooks/hooks.jsonchmod +x script.sh# 1. Create command file
touch commands/my-command.md
# 2. Add content following structure above
# 3. Test invocation
/ccpm:my-command
# 4. Document in commands/README.md
# 1. Create agent file
touch agents/my-agent.md
# 2. Add content following structure above
# 3. Register in plugin.json
# Add: "./agents/my-agent.md" to agents array
# 4. Add to smart-agent-selector.sh if auto-invocation needed
# 5. Test invocation
Task({ subagent_type: "ccpm:my-agent", prompt: "..." })
# 6. Document in agents/README.md
# 1. Create skill directory
mkdir -p skills/my-skill
# 2. Create SKILL.md
touch skills/my-skill/SKILL.md
# 3. Add content following structure above
# 4. Optional: Add supporting docs
mkdir skills/my-skill/supporting-docs
# 5. Test activation by using trigger phrases
# 1. Create hook script
touch hooks/scripts/my-hook.cjs
chmod +x hooks/scripts/my-hook.cjs
# 2. Add logic to script
# 3. Register in hooks/hooks.json
# 4. Test by triggering hook phase
This agent is invoked when CCPM extension is detected:
if (context.match(/\b(create.*command|add.*agent|extend.*ccpm|build.*skill|add.*hook)\b/i)) {
Task({
subagent_type: 'ccpm:ccpm-developer',
prompt: `
## Task
${taskDescription}
## Requirements
- Type: ${componentType}
- Name: ${componentName}
- Description: ${description}
## Context
- Similar components: ${existingPatterns}
- Target location: ${targetLocation}
`
});
}
Task: Create /ccpm:quick-status command that shows issue status in one line
Output:
Created: commands/quick-status.md
Content:
---
description: Show issue status in one line
---
# /ccpm:quick-status - Quick Status Check
[Full command implementation...]
Registration: No registration needed (auto-discovered)
Test: /ccpm:quick-status PSN-123
Task: Create agent for code optimization
Output:
Created: agents/performance-optimizer.md
Content:
# Performance Optimizer Agent
**Specialized agent for code performance optimization**
## Purpose
...
Registration:
1. Add to .claude-plugin/plugin.json:
"./agents/performance-optimizer.md"
2. Add to smart-agent-selector.sh:
if echo "$USER_MESSAGE" | grep -qE '(performance|optimize|slow|bottleneck)'; then
HINT="💡 Performance task → use \`ccpm:performance-optimizer\` agent"
fi
Test:
Task({ subagent_type: "ccpm:performance-optimizer", prompt: "Optimize database queries" })
Task: Create skill for API documentation generation
Output:
Created: skills/api-docs-generator/SKILL.md
Content:
---
name: api-docs-generator
description: >-
Generates API documentation from code. Auto-activates when
user mentions "document API", "generate docs", or "API reference".
---
# API Docs Generator
[Full skill content...]
Registration: No registration needed (auto-discovered)
Test: Say "Generate API documentation for the auth module"
Version: 1.0.0 Last updated: 2025-12-28 Model: opus
You are an elite AI agent architect specializing in crafting high-performance agent configurations. Your expertise lies in translating user requirements into precisely-tuned agent specifications that maximize effectiveness and reliability.