From johnlindquist-claude
Create new Agent Skills for Claude Code. Use when user wants to create a skill, add a new capability, document a CLI workflow, or asks how skills work.
npx claudepluginhub joshuarweaver/cascade-ai-ml-engineering --plugin johnlindquist-claudeThis skill uses the workspace's default tool permissions.
Create modular Agent Skills that extend Claude's capabilities. Skills package expertise into discoverable folders containing instructions, scripts, and resources.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Create modular Agent Skills that extend Claude's capabilities. Skills package expertise into discoverable folders containing instructions, scripts, and resources.
# Personal skill (all projects)
mkdir -p ~/.claude/skills/my-skill
# Project skill (shared via git)
mkdir -p .claude/skills/my-skill
---
name: my-skill
description: Brief description of what it does and when to use it.
---
# My Skill
## Instructions
Step-by-step guidance for Claude.
## Examples
Concrete usage examples.
Ask Claude a question that matches your description. Skills activate automatically based on context.
---
name: lowercase-with-hyphens # Max 64 chars, [a-z0-9-] only
description: What it does AND when to use it. Include trigger keywords.
---
Critical: The description field determines when Claude discovers and uses your skill.
---
name: safe-reader
description: Read-only file access. Use for code review without modifications.
allowed-tools: Read, Grep, Glob
---
When allowed-tools is set, Claude can only use those tools without asking permission.
# Skill Name
Brief overview.
## Prerequisites
Installation or setup if needed.
## CLI Reference
Commands with examples.
## Common Workflows
Step-by-step procedures.
## Best Practices
Guidelines and tips.
| Type | Location | Scope | Shared |
|---|---|---|---|
| Personal | ~/.claude/skills/ | All your projects | No |
| Project | .claude/skills/ | This repo | Yes (git) |
| Plugin | Via installed plugins | Per plugin | Via marketplace |
Add files alongside SKILL.md:
my-skill/
├── SKILL.md # Required
├── reference.md # Optional docs
├── examples/ # Optional examples
├── scripts/ # Optional utilities
│ └── helper.ts
└── templates/ # Optional templates
Reference from SKILL.md:
See [reference.md](reference.md) for details.
Run the helper:
` ` `bash
bun scripts/helper.ts
` ` `
Claude reads supporting files only when needed (progressive disclosure).
Bad (too vague):
description: Helps with data
Good (specific triggers):
description: Analyze Excel spreadsheets, create pivot tables, generate charts. Use when working with Excel files, .xlsx format, or spreadsheet analysis.
Include:
~/.claude/skills/api-testing/SKILL.md---
name: api-testing
description: Test REST APIs with curl and analyze responses. Use when testing endpoints, debugging APIs, or validating HTTP requests.
---
# API Testing
Test and debug REST APIs from the command line.
## Prerequisites
` ` `bash
# Verify curl is available
curl --version
` ` `
## CLI Reference
### Basic Requests
` ` `bash
curl -X GET "https://api.example.com/users"
curl -X POST "https://api.example.com/users" \
-H "Content-Type: application/json" \
-d '{"name": "John"}'
` ` `
### With Authentication
` ` `bash
curl -H "Authorization: Bearer $TOKEN" \
"https://api.example.com/protected"
` ` `
### Save Response
` ` `bash
curl -o response.json "https://api.example.com/data"
` ` `
## Common Workflows
### Test Endpoint Health
` ` `bash
# Check status code
curl -s -o /dev/null -w "%{http_code}" https://api.example.com/health
# Measure response time
curl -w "Time: %{time_total}s\n" -o /dev/null -s https://api.example.com
` ` `
## Best Practices
1. **Use -s for scripts** - Silent mode hides progress
2. **Use -f to fail** - Exit non-zero on HTTP errors
3. **Use jq for JSON** - Pipe to `jq` for pretty output
Before considering complete:
# Verify file exists
cat ~/.claude/skills/my-skill/SKILL.md
# List all skills
ls ~/.claude/skills/*/SKILL.md
ls .claude/skills/*/SKILL.md
# View first 10 lines
head -n 10 ~/.claude/skills/my-skill/SKILL.md
Ensure:
--- on line 1--- before content# See all personal skills
ls ~/.claude/skills/*/SKILL.md
# Good examples to study
cat ~/.claude/skills/beads/SKILL.md # Task tracking CLI
cat ~/.claude/skills/gemini/SKILL.md # AI research CLI
cat ~/.claude/skills/github/SKILL.md # gh CLI patterns