📦 deps(thirdparty): update snapshots
This commit is contained in:
@@ -0,0 +1,282 @@
|
||||
# Quick Start Guide
|
||||
|
||||
Fast track to using Claude Code templates.
|
||||
|
||||
## 30-Second Quick Start
|
||||
|
||||
```bash
|
||||
# 1. Choose a template (from outfitter/templates/)
|
||||
ls slash-commands/ # or hooks/, skills/, agents/
|
||||
|
||||
# 2. Copy it
|
||||
cp slash-commands/simple.md ~/.claude/commands/my-command.md
|
||||
|
||||
# 3. Edit it (replace [YOUR_*] placeholders)
|
||||
# 4. Use it
|
||||
claude
|
||||
/my-command
|
||||
```
|
||||
|
||||
## Template Quick Reference
|
||||
|
||||
### Slash Commands
|
||||
|
||||
```bash
|
||||
# Simple command
|
||||
cp slash-commands/simple.md .claude/commands/review.md
|
||||
|
||||
# With arguments ($1, $2, $ARGUMENTS)
|
||||
cp slash-commands/with-args.md .claude/commands/fix-issue.md
|
||||
|
||||
# With bash execution (!`git status`)
|
||||
cp slash-commands/with-bash.md .claude/commands/commit.md
|
||||
|
||||
# With file references (@src/file.ts)
|
||||
cp slash-commands/with-files.md .claude/commands/analyze.md
|
||||
```
|
||||
|
||||
**Location**: `.claude/commands/` (project) or `~/.claude/commands/` (personal)
|
||||
|
||||
### Hooks
|
||||
|
||||
```bash
|
||||
# Auto-formatter (PostToolUse)
|
||||
cp -r hooks/post-tool-use-formatter/ .claude/hooks/formatter/
|
||||
chmod +x .claude/hooks/formatter/format.sh
|
||||
|
||||
# File validator (PreToolUse)
|
||||
cp -r hooks/pre-tool-use-validator/ .claude/hooks/validator/
|
||||
chmod +x .claude/hooks/validator/validate.sh
|
||||
|
||||
# Add context (UserPromptSubmit)
|
||||
cp -r hooks/user-prompt-context/ .claude/hooks/context/
|
||||
chmod +x .claude/hooks/context/add-context.sh
|
||||
|
||||
# Bash validator (PreToolUse, TypeScript)
|
||||
cp -r hooks/bash-validator/ .claude/hooks/bash/
|
||||
chmod +x .claude/hooks/bash/validate-bash.ts
|
||||
```
|
||||
|
||||
**Then add to** `.claude/settings.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"hooks": {
|
||||
"PostToolUse": [
|
||||
{
|
||||
"matcher": "Write|Edit(*.ts)",
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/formatter/format.sh",
|
||||
"timeout": 30
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Skills
|
||||
|
||||
```bash
|
||||
# Simple skill
|
||||
cp -r skills/simple-skill/ .claude/skills/my-skill/
|
||||
|
||||
# Complex skill with docs
|
||||
cp -r skills/multi-file-skill/ .claude/skills/my-complex-skill/
|
||||
|
||||
# Skill with helper scripts
|
||||
cp -r skills/skill-with-scripts/ .claude/skills/my-scripted-skill/
|
||||
chmod +x .claude/skills/my-scripted-skill/scripts/*.sh
|
||||
```
|
||||
|
||||
**Location**: `.claude/skills/` (project) or `~/.claude/skills/` (personal)
|
||||
|
||||
**Critical**: Edit the `description` field - it controls discovery!
|
||||
|
||||
### Agents
|
||||
|
||||
```bash
|
||||
# Code reviewer
|
||||
cp agents/code-reviewer.md .claude/agents/
|
||||
|
||||
# Test specialist
|
||||
cp agents/test-specialist.md .claude/agents/
|
||||
|
||||
# Documentation generator
|
||||
cp agents/documentation-generator.md .claude/agents/
|
||||
```
|
||||
|
||||
**Location**: `.claude/agents/` (project) or `~/.claude/agents/` (personal)
|
||||
|
||||
## Common Tasks
|
||||
|
||||
### Create a Git Commit Command
|
||||
|
||||
```bash
|
||||
# 1. Copy template
|
||||
cp slash-commands/with-bash.md .claude/commands/commit.md
|
||||
|
||||
# 2. Edit .claude/commands/commit.md
|
||||
# Replace:
|
||||
# [YOUR_DESCRIPTION] → "Create a git commit from staged changes"
|
||||
# [YOUR_ALLOWED_TOOLS] → "Bash(git *)"
|
||||
# [YOUR_BASH_COMMANDS] → Git commands you want
|
||||
# [YOUR_INSTRUCTIONS_USING_THE_BASH_OUTPUT_ABOVE] → "Create commit with clear message"
|
||||
|
||||
# 3. Use it
|
||||
claude
|
||||
/commit
|
||||
```
|
||||
|
||||
### Create an Auto-Formatter Hook
|
||||
|
||||
```bash
|
||||
# 1. Copy template
|
||||
cp -r hooks/post-tool-use-formatter/ .claude/hooks/
|
||||
|
||||
# 2. Make executable
|
||||
chmod +x .claude/hooks/format.sh
|
||||
|
||||
# 3. Configure in .claude/settings.json
|
||||
{
|
||||
"hooks": {
|
||||
"PostToolUse": [
|
||||
{
|
||||
"matcher": "Write|Edit(*.ts)",
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/format.sh",
|
||||
"timeout": 30
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
# 4. Test - write a .ts file and watch it format
|
||||
```
|
||||
|
||||
### Create a Custom Skill
|
||||
|
||||
```bash
|
||||
# 1. Copy template
|
||||
cp -r skills/simple-skill/ .claude/skills/pdf-processor/
|
||||
|
||||
# 2. Edit .claude/skills/pdf-processor/SKILL.md
|
||||
# Replace:
|
||||
# [YOUR_SKILL_NAME] → "pdf-processor"
|
||||
# [YOUR_DESCRIPTION] → "Extract text from PDF files. Use when working with PDFs, documents, or when user mentions PDF extraction."
|
||||
# [CORE_CAPABILITY] → Complete the instructions
|
||||
|
||||
# 3. Test - mention "PDF" in your prompt to activate
|
||||
claude
|
||||
"Can you help me extract text from a PDF?"
|
||||
```
|
||||
|
||||
## Placeholder Reference
|
||||
|
||||
Replace these in templates:
|
||||
|
||||
- `[YOUR_DESCRIPTION]` - Brief description
|
||||
- `[YOUR_COMMAND_NAME]` - Name
|
||||
- `[YOUR_PROMPT_INSTRUCTIONS]` - Instructions
|
||||
- `[YOUR_ARG_HINT]` - Argument hint (e.g., `<file>`)
|
||||
- `[YOUR_ALLOWED_TOOLS]` - Tool restrictions
|
||||
- `[YOUR_SKILL_NAME]` - Skill name
|
||||
- `[CORE_CAPABILITY]` - What it does
|
||||
- `[language]` - Programming language
|
||||
- `[CODE_EXAMPLE]` - Working code
|
||||
|
||||
## Testing
|
||||
|
||||
### Test a Command
|
||||
|
||||
```bash
|
||||
claude
|
||||
/help # Should see your command
|
||||
/your-command arg1 arg2 # Run it
|
||||
# Press Ctrl+R for transcript mode to see details
|
||||
```
|
||||
|
||||
### Test a Hook
|
||||
|
||||
```bash
|
||||
# Test script manually first
|
||||
echo '{"tool_name":"Write","tool_input":{"file_path":"test.ts"}}' | ./.claude/hooks/your-hook.sh
|
||||
|
||||
# Then test with Claude
|
||||
claude --debug # See hook execution
|
||||
# Trigger the hook (e.g., write a file)
|
||||
```
|
||||
|
||||
### Test a Skill
|
||||
|
||||
```bash
|
||||
# Check it loads
|
||||
claude --debug # Look for skill loading messages
|
||||
|
||||
# Test discovery
|
||||
claude
|
||||
# Use trigger keywords from description
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Command not found
|
||||
|
||||
- Check: `.claude/commands/name.md` (correct location?)
|
||||
- Check: Lowercase filename, `.md` extension
|
||||
- Fix: Restart Claude
|
||||
|
||||
### Hook not firing
|
||||
|
||||
- Check: Matcher syntax in settings.json
|
||||
- Check: Script is executable (`chmod +x`)
|
||||
- Fix: Test script manually, enable debug mode
|
||||
|
||||
### Skill not activating
|
||||
|
||||
- Check: Description has specific trigger keywords
|
||||
- Check: YAML frontmatter valid (no tabs!)
|
||||
- Fix: Use trigger keywords explicitly in prompt
|
||||
|
||||
### Permission denied
|
||||
|
||||
```bash
|
||||
# Make all scripts executable
|
||||
find .claude/hooks -name "*.sh" -exec chmod +x {} \;
|
||||
find .claude/skills -name "*.sh" -exec chmod +x {} \;
|
||||
```
|
||||
|
||||
## File Locations
|
||||
|
||||
| Component | Project | Personal | Plugin |
|
||||
|-----------|---------|----------|--------|
|
||||
| Commands | `.claude/commands/` | `~/.claude/commands/` | `commands/` |
|
||||
| Hooks (config) | `.claude/settings.json` | `~/.claude/settings.json` | `hooks/hooks.json` |
|
||||
| Hooks (scripts) | `.claude/hooks/` | `~/.claude/hooks/` | `scripts/` |
|
||||
| Skills | `.claude/skills/` | `~/.claude/skills/` | `skills/` |
|
||||
| Agents | `.claude/agents/` | `~/.claude/agents/` | `agents/` |
|
||||
|
||||
## Next Steps
|
||||
|
||||
1. **Read**: [README.md](README.md) for detailed documentation
|
||||
2. **Review**: [SUMMARY.md](SUMMARY.md) for complete overview
|
||||
3. **Customize**: Replace placeholders with your content
|
||||
4. **Test**: Run in Claude and iterate
|
||||
|
||||
## Help
|
||||
|
||||
- **Debug mode**: `claude --debug`
|
||||
- **View hooks**: `/hooks` in Claude
|
||||
- **View commands**: `/help` in Claude
|
||||
- **Test manually**: Use transcript mode (Ctrl+R)
|
||||
|
||||
---
|
||||
|
||||
**Quick Reference**: Keep this file handy while building Claude Code components!
|
||||
Reference in New Issue
Block a user