/SKILL.md
Create a new Claude Code skill. Use when the user wants to create a custom slash command, add background knowledge, or define a reusable workflow.
npx skillsauth add gswangg/create-skill create-skillInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create a skill based on the user's request. $ARGUMENTS is a plain text description of what the skill should do.
Create skills in the personal location by default unless the user specifies otherwise:
| Location | Path | When to Use |
|----------|------|-------------|
| Personal (default) | ~/.claude/skills/<name>/SKILL.md | Available across all projects |
| Project | .claude/skills/<name>/SKILL.md | Only when user requests project-specific |
Every skill needs a SKILL.md file with YAML frontmatter:
---
name: skill-name
description: What this skill does and when Claude should use it
---
Instructions for Claude when this skill is invoked...
Include only the fields needed for the skill's purpose:
| Field | Type | Purpose |
|-------|------|---------|
| name | string | Slash command name. Lowercase, hyphens only, max 64 chars. |
| description | string | What the skill does and when to use it. Helps Claude decide when to invoke automatically. |
By default, skills are invocable by both the user (via /skill-name) and Claude (automatically when relevant). Only change these when you have a specific reason:
| Field | Default | When to Change |
|-------|---------|----------------|
| disable-model-invocation | false | Set true only for destructive actions (deploys, commits, deletions) where you want explicit user control. |
| user-invocable | true | Set false only for pure background knowledge that should never appear in the / menu. |
| Field | Purpose |
|-------|---------|
| allowed-tools | Tools Claude can use without permission when skill is active. Example: Read, Grep, Bash(git *) |
| model | Model to use when skill is active. Example: claude-sonnet-4-5-20250514 |
| Field | Purpose |
|-------|---------|
| context | Set to fork to run in isolated subagent context |
| agent | Subagent type when using context: fork. Options: Explore, Plan, general-purpose |
| Field | Purpose |
|-------|---------|
| argument-hint | Autocomplete hint shown to user. Use a plain description string (e.g. "description of what to do"). Only use structured [arg] syntax if the user specifically requests positional arguments. |
Use these in skill content:
| Variable | Expands To |
|----------|------------|
| $\ARGUMENTS | All arguments passed when invoking (preferred — treat as plain text description) |
| $\0, $\1, $\2, ... | Specific arguments by position (only use when user explicitly requests structured args) |
| $\{CLAUDE_SESSION_ID} | Current session ID |
(Remove backslashes in actual skill files)
Default to $\ARGUMENTS as a plain string. Only use positional $\0, $\1 etc. if the user specifically asks for structured arguments.
Inject shell command output into skill content at load time. Write an exclamation mark immediately followed by the command wrapped in backticks. Example: to inject the current git branch, write exclamation-backtick-git branch --show-current-backtick (all as one token, no spaces around the backticks).
For complex skills, keep SKILL.md under 500 lines and reference additional files:
my-skill/
├── SKILL.md # Main instructions (required)
├── reference.md # Detailed documentation
├── examples.md # Example outputs
└── templates/
└── component.md # Templates for Claude to use
Reference them in SKILL.md:
For API details, see [reference.md](reference.md)
---
name: explain-code
description: Explains code with diagrams and analogies
---
When explaining code:
1. Start with an analogy
2. Draw ASCII diagram of the flow
3. Walk through step-by-step
4. Highlight common gotchas
---
name: fix-issue
description: Fix a GitHub issue by number
disable-model-invocation: true
argument-hint: "issue number or description"
---
Fix GitHub issue based on: $\ARGUMENTS
1. Find the relevant issue
2. Understand requirements
3. Implement the fix
4. Write tests
5. Create a commit referencing the issue
Use this pattern only when the skill should never appear in the / menu - purely contextual knowledge that Claude applies automatically:
---
name: project-architecture
description: Architecture context for this codebase
user-invocable: false
---
This project uses:
- TypeScript with strict mode
- React for frontend
- PostgreSQL for data
- Our custom ORM in src/db/
When making changes, follow these patterns...
---
name: safe-explore
description: Explore codebase without modifications
allowed-tools: Read, Grep, Glob
---
You can read and search files but cannot modify anything.
Answer questions about the codebase structure and content.
---
name: analyze-pr
description: Analyze a pull request in isolated context
context: fork
agent: Explore
---
PR context:
\!\`gh pr view\`
\!\`gh pr diff --name-only\`
Analyze this PR for:
- Code quality issues
- Potential bugs
- Missing test coverage
- Documentation needs
(Remove backslashes in actual skill files)
Most skills should use $\ARGUMENTS as a plain string. Only use positional args if the user specifically asks for them:
---
name: migrate
description: Migrate code from one pattern to another
argument-hint: "[file-pattern] [from] [to]"
---
Migrate files matching `$\0` from $\1 to $\2.
1. Find all matching files
2. Apply the migration pattern
3. Update imports
4. Verify no regressions
SKILL.md with appropriate frontmatter/<skill-name>development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.
development
End-to-end Parallels smoke, upgrade, and rerun workflow for OpenClaw across macOS, Windows, and Linux guests. Use when Codex needs to run, rerun, debug, or interpret VM-based install, onboarding, gateway smoke tests, latest-release-to-main upgrade checks, fresh snapshot retests, or optional Discord roundtrip verification under Parallels.