.github_gpt/skills/create-agent-skills/SKILL.md
Expert guidance for creating the host CLI skills and slash commands. Use when working with SKILL.md files, authoring new skills, improving existing skills, creating slash commands, or understanding skill structure and best practices.
npx skillsauth add the-rabak/compound-engineering-plugin create-agent-skillsInstall 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, edit, audit, and explain the host CLI skills and slash commands using the official skill format and progressive disclosure patterns.
SKILL.md files.SKILL.md body; use standard markdown headings instead.disable-model-invocation: true.SKILL.md..github_gpt/commands/review.md and a skill in .github_gpt/skills/review/SKILL.md both create /review.SKILL.md under 500 lines when possible.SKILL.md.Use a command file such as commands/name.md when:
Use a skill directory such as skills/name/SKILL.md when:
---
name: my-skill-name
description: What it does and when to use it
---
# My Skill Name
## Quick Start
Immediate actionable guidance...
## Instructions
Step-by-step procedures...
## Examples
Concrete usage examples...
| Field | Required | Description |
|-------|----------|-------------|
| name | No | Display name. Lowercase letters, numbers, hyphens. Max 64 chars. Defaults to directory name. |
| description | Recommended | What it does and when to use it. Max 1024 chars. Critical for discovery. |
| argument-hint | No | Hint shown during autocomplete, such as [issue-number]. |
| disable-model-invocation | No | Set true for manual workflows with side effects. |
| user-invocable | No | Set false for background knowledge that should not appear in the slash menu. |
| allowed-tools | No | Tools the model can use without prompts, such as Read, Bash(git *). |
| model | No | haiku, sonnet, or opus. |
| context | No | Set fork to run in an isolated subagent context. |
| agent | No | Subagent type when context: fork, such as Explore, Plan, or general-purpose. |
| Frontmatter | User can invoke | the model can invoke | When loaded |
|-------------|----------------|-------------------|-------------|
| default | Yes | Yes | Description is always available; full content loads on invocation |
| disable-model-invocation: true | Yes | No | Description is not available for auto-discovery; content loads only when the user invokes it |
| user-invocable: false | No | Yes | Description remains available for auto-discovery; content loads when relevant |
Use disable-model-invocation: true for workflows with side effects such as /deploy, /commit, /triage-prs, or /send-slack-message.
Use user-invocable: false for background knowledge such as conventions, legacy system notes, or domain context.
Arguments:
---
name: fix-issue
description: Fix a GitHub issue
disable-model-invocation: true
---
Fix GitHub issue $ARGUMENTS following our coding standards.
Access individual arguments with $ARGUMENTS[0] or $0, $1, $2.
Dynamic context injection:
---
name: pr-summary
description: Summarize changes in a pull request
context: fork
agent: Explore
---
## Context
- Branch diff: !`git diff main...HEAD`
- Changed files: !`git diff --name-only main...HEAD`
Summarize this pull request...
Running in a subagent:
---
name: deep-research
description: Research a topic thoroughly
context: fork
agent: Explore
---
Research $ARGUMENTS thoroughly:
1. Find relevant files
2. Analyze the code
3. Summarize findings
my-skill/
|- SKILL.md
|- reference.md
|- examples.md
`- scripts/
`- helper.py
Link detailed files directly, for example: For API details, see [reference.md](reference.md).
Good:
description: Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
Bad:
description: Helps with documents
Step 1: choose the type.
disable-model-invocation: truedisable-model-invocationStep 2: create the file.
Command template:
---
name: my-command
description: What this command does
argument-hint: [expected arguments]
disable-model-invocation: true
allowed-tools: Bash(gh *), Read
---
# Command Title
## Workflow
### Step 1: Gather Context
...
### Step 2: Execute
...
## Success Criteria
- [ ] Expected outcome 1
- [ ] Expected outcome 2
Skill template:
---
name: my-skill
description: What it does. Use when [trigger conditions].
---
# Skill Title
## Quick Start
[Immediate actionable example]
## Instructions
[Core guidance]
## Examples
[Concrete input/output pairs]
Step 3: add reference files when needed.
For API reference, see [reference.md](reference.md).
For form filling guide, see [forms.md](forms.md).
Step 4: test with real usage.
/skill-name.SKILL.mdSKILL.md under 500 linesdisable-model-invocation: true for side effectsallowed-tools declared when neededSKILL.md bodiestools
Package one plan execution packet into a compact ticket-local execution packet with parent refs, scope fences, feature-home ownership, and evidence commands. Use when converting plans into local tickets or when execution needs one ticket-sized context pack without the full plan.
tools
Package one plan execution packet into a compact ticket-local execution packet with parent refs, scope fences, feature-home ownership, and evidence commands. Use when converting plans into local tickets or when execution needs one ticket-sized context pack without the full plan.
testing
Run a deep adversarial review of plans and architecture before implementation. Use when validating strategy docs, contracts, roadmaps, and competitive positioning with scored findings and prioritized recommendations.
testing
Run a deep adversarial review of plans and architecture before implementation. Use when validating strategy docs, contracts, roadmaps, and competitive positioning with scored findings and prioritized recommendations.