when-creating-slash-commands-use-slash-command-encoder
关于
This Claude Skill helps developers create ergonomic slash commands (/command) for fast access to micro-skills. It provides auto-discovery, intelligent routing, and parameter validation capabilities. Use it when building command-line interfaces that require structured command handling with validation logic.
技能文档
Slash Command Encoder SOP
Overview
Create ergonomic slash commands (/command) for fast, unambiguous access to micro-skills with auto-discovery, intelligent routing, parameter validation, and command chaining.
Agents & Responsibilities
coder
Role: Command implementation and handler logic Responsibilities:
- Implement command handlers
- Create validation logic
- Build routing mechanisms
- Test command functionality
base-template-generator
Role: Generate command templates and boilerplate Responsibilities:
- Create command templates
- Generate documentation
- Build example commands
- Create test scaffolding
Phase 1: Design Command Interface
Objective
Design command syntax, parameters, and behavior specifications.
Scripts
# Generate command template
npx claude-flow@alpha command template \
--name "analyze" \
--description "Analyze codebase for patterns" \
--output commands/analyze.js
# Define command schema
cat > command-schema.json <<EOF
{
"name": "analyze",
"alias": "a",
"description": "Analyze codebase for patterns",
"parameters": [
{
"name": "path",
"type": "string",
"required": true,
"description": "Path to analyze"
},
{
"name": "depth",
"type": "number",
"required": false,
"default": 3,
"description": "Analysis depth"
}
],
"examples": [
"/analyze ./src",
"/analyze ./src --depth 5"
]
}
EOF
# Validate schema
npx claude-flow@alpha command validate --schema command-schema.json
Command Design Patterns
Simple Command:
/deploy
Command with Arguments:
/analyze ./src
Command with Flags:
/test --watch --coverage
Command with Subcommands:
/git commit -m "message"
/git push origin main
Memory Patterns
# Store command definition
npx claude-flow@alpha memory store \
--key "commands/analyze/schema" \
--file command-schema.json
Phase 2: Generate Command Code
Objective
Implement command handler with validation, routing, and execution logic.
Scripts
# Generate command handler
npx claude-flow@alpha command generate \
--schema command-schema.json \
--output commands/analyze-handler.js
# Implement validation logic
npx claude-flow@alpha command add-validation \
--command analyze \
--rules validation-rules.json
# Add routing logic
npx claude-flow@alpha command add-routing \
--command analyze \
--route-to "task-orchestrator"
# Build command registry
npx claude-flow@alpha command registry build \
--commands ./commands \
--output command-registry.json
Command Handler Template
// commands/analyze-handler.js
module.exports = {
name: 'analyze',
alias: 'a',
description: 'Analyze codebase for patterns',
parameters: [
{
name: 'path',
type: 'string',
required: true,
validate: (value) => {
if (!fs.existsSync(value)) {
throw new Error(`Path not found: ${value}`);
}
return true;
}
},
{
name: 'depth',
type: 'number',
required: false,
default: 3,
validate: (value) => {
if (value < 1 || value > 10) {
throw new Error('Depth must be between 1 and 10');
}
return true;
}
}
],
async execute(args) {
const { path, depth } = args;
// Validate parameters
this.validateParameters(args);
// Route to appropriate agent
const result = await this.routeToAgent('code-analyzer', {
action: 'analyze',
path,
depth
});
return result;
},
validateParameters(args) {
for (const param of this.parameters) {
const value = args[param.name];
if (param.required && value === undefined) {
throw new Error(`Required parameter missing: ${param.name}`);
}
if (value !== undefined && param.validate) {
param.validate(value);
}
}
},
async routeToAgent(agentType, payload) {
// Implementation of agent routing
return await claudeFlow.agent.execute(agentType, payload);
}
};
Phase 3: Test Command
Objective
Validate command functionality with comprehensive testing.
Scripts
# Test command registration
npx claude-flow@alpha command test-register --command analyze
# Test parameter validation
npx claude-flow@alpha command test \
--command analyze \
--input '{"path": "./src", "depth": 3}'
# Test error handling
npx claude-flow@alpha command test \
--command analyze \
--input '{"path": "./nonexistent"}' \
--expect-error
# Run integration tests
npx claude-flow@alpha command test-suite \
--commands ./commands \
--output test-results.json
Test Cases
// tests/analyze-command.test.js
describe('analyze command', () => {
it('should validate required parameters', async () => {
await expect(
commands.analyze.execute({})
).rejects.toThrow('Required parameter missing: path');
});
it('should validate path exists', async () => {
await expect(
commands.analyze.execute({ path: './nonexistent' })
).rejects.toThrow('Path not found');
});
it('should use default depth', async () => {
const result = await commands.analyze.execute({ path: './src' });
expect(result.config.depth).toBe(3);
});
it('should accept custom depth', async () => {
const result = await commands.analyze.execute({
path: './src',
depth: 5
});
expect(result.config.depth).toBe(5);
});
});
Phase 4: Document Usage
Objective
Create comprehensive documentation for command usage.
Scripts
# Generate command documentation
npx claude-flow@alpha command docs \
--command analyze \
--output docs/commands/analyze.md
# Generate help text
npx claude-flow@alpha command help-text \
--command analyze \
--output commands/analyze-help.txt
# Build command catalog
npx claude-flow@alpha command catalog \
--all \
--output docs/command-catalog.md
# Generate usage examples
npx claude-flow@alpha command examples \
--command analyze \
--count 5 \
--output docs/examples/analyze-examples.md
Documentation Template
# /analyze Command
## Description
Analyze codebase for patterns, complexity, and improvement opportunities.
## Syntax
/analyze <path> [--depth <number>]
## Parameters
### path (required)
- Type: string
- Description: Path to analyze
- Example: `./src`, `./components`
### --depth (optional)
- Type: number
- Default: 3
- Range: 1-10
- Description: Analysis depth level
## Examples
```bash
# Basic usage
/analyze ./src
# With custom depth
/analyze ./src --depth 5
# Analyze specific directory
/analyze ./components --depth 2
Output
Returns analysis report with:
- Complexity metrics
- Pattern detection results
- Improvement recommendations
- File statistics
Related Commands
/test- Run tests on analyzed code/optimize- Apply optimization recommendations/refactor- Refactor based on analysis
## Phase 5: Deploy Command
### Objective
Install command to system and verify functionality.
### Scripts
```bash
# Build command package
npx claude-flow@alpha command build \
--commands ./commands \
--output dist/commands.bundle.js
# Install to system
npx claude-flow@alpha command install \
--from dist/commands.bundle.js \
--global
# Verify installation
npx claude-flow@alpha command list --installed
# Test installed command
npx claude-flow@alpha analyze ./src --depth 3
# Update command registry
npx claude-flow@alpha command registry update
# Generate shell completions
npx claude-flow@alpha command completions \
--shell bash \
--output ~/.bash_completion.d/claude-flow-commands
Installation Validation
# Check command is registered
if npx claude-flow@alpha command exists analyze; then
echo "✓ Command installed successfully"
else
echo "✗ Command installation failed"
exit 1
fi
# Test command execution
RESULT=$(npx claude-flow@alpha analyze ./src)
if [ $? -eq 0 ]; then
echo "✓ Command execution successful"
else
echo "✗ Command execution failed"
exit 1
fi
Success Criteria
- Command interface designed
- Handler implemented
- Tests passing
- Documentation complete
- Command deployed
Performance Targets
- Command registration: <100ms
- Parameter validation: <50ms
- Command execution: <2s
- Help text generation: <100ms
Best Practices
- Clear Naming: Use descriptive command names
- Parameter Validation: Validate all inputs
- Error Messages: Provide helpful error messages
- Documentation: Include examples and usage
- Testing: Comprehensive test coverage
- Versioning: Version commands properly
- Backwards Compatibility: Maintain compatibility
- Auto-Discovery: Support command discovery
Common Issues & Solutions
Issue: Command Not Found
Symptoms: Command not recognized
Solution: Run command install and verify registry
Issue: Parameter Validation Fails
Symptoms: Unexpected validation errors Solution: Check parameter types and validation rules
Issue: Command Execution Timeout
Symptoms: Command hangs Solution: Add timeout handling, check agent availability
Integration Points
- micro-skills: Commands trigger micro-skills
- task-orchestrator: Route to orchestrator
- memory-coordinator: Store command history
References
- CLI Design Patterns
- Command Interface Best Practices
- Parameter Validation Techniques
快速安装
/plugin add https://github.com/DNYoussef/ai-chrome-extension/tree/main/when-creating-slash-commands-use-slash-command-encoder在 Claude Code 中复制并粘贴此命令以安装该技能
GitHub 仓库
相关推荐技能
sglang
元SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。
generating-unit-tests
元该Skill能自动为源代码生成全面的单元测试,支持Jest、pytest、JUnit等多种测试框架。当开发者请求"生成测试"、"创建单元测试"或使用"gut"快捷指令时即可触发。它能智能识别合适框架或按指定框架生成测试用例,显著提升测试效率。
business-rule-documentation
元该Skill为开发者提供标准化的业务规则和领域知识文档模板,遵循领域驱动设计原则。它能系统化地捕获业务规则、流程、决策树和术语表,确保业务需求与技术实现的一致性。适用于创建领域模型、业务规则库、流程映射,以及改善业务与技术团队之间的沟通。
orchestrating-test-workflows
元该技能让开发者能通过Claude编排复杂测试工作流,包括定义测试依赖关系图、并行执行测试以及基于代码变更智能选择测试用例。适用于需要测试编排、依赖管理、并行测试或CI/CD集成测试的场景。当用户提及"orchestrate tests"、"parallel testing"等触发词时即可调用此技能。
