- Australian English in all narrative text (colour, optimise, behaviour, organisation)
- Markdown-first outputs — every skill produces structured markdown
- Evidence-backed — findings include file:line references and confidence scores where applicable
Every skill lives under plugins/<plugin-name>/skills/<skill-name>/ and must contain:
<skill-name>/
├── SKILL.md # Main skill instructions (under 500 lines)
├── LICENSE.txt # MIT or Apache 2.0
├── templates/
│ └── output-template.md # Output format skeleton with {{placeholders}}
└── examples/
└── example-output.md # Realistic completed example
Optional:
reference.md— Dense reference material (SQL templates, scoring rubrics, lookup tables) extracted to keep SKILL.md under 500 linesscripts/— Python or Bash helpers for the skill
Every SKILL.md begins with YAML frontmatter:
---
name: skill-name-in-kebab-case
description: Under 250 characters, front-loaded with key use case
argument-hint: [what-the-user-should-provide]
allowed-tools: Read Write Edit Glob Grep Bash Agent
effort: medium
---| Field | Description |
|---|---|
name |
Kebab-case identifier matching the directory name |
description |
Under 250 characters, front-loaded with the primary use case |
argument-hint |
Bracketed hint shown to users (e.g., [business-model-description]) |
allowed-tools |
Space-separated list of Claude Code tools the skill may use |
effort |
Complexity level: low, medium, high, or max |
| Field | Description |
|---|---|
context: fork |
Run skill in an isolated subagent context |
agent: Explore |
Specify agent type for subagent execution |
ultrathink |
Enable extended thinking for complex analytical skills |
paths |
Glob patterns for auto-activation on matching files |
After frontmatter, structure the skill as:
- Title (
# Skill Name) — followed byultrathinkon its own line if needed - User Context — receives
$ARGUMENTSfrom the user - System Prompt — defines the persona and constraints
- Phases — sequential workflow steps (typically 3-6 phases)
- Output Specification — references the output template
## Phase N: Phase Title
### Objective
What this phase accomplishes.
### Steps
1. Step one
2. Step two
### Output
What this phase produces.Each plugin lives under plugins/<plugin-name>/ and must contain:
<plugin-name>/
├── .claude-plugin/
│ └── plugin.json # Plugin manifest
├── skills/
│ └── <skill-name>/ # One or more skills
├── hooks/ # Optional lifecycle hooks
│ ├── hooks.json
│ └── scripts/
│ └── suggest-related.sh
├── settings.json # Plugin settings (usually empty {})
└── README.md # Plugin-level documentation
{
"name": "plugin-name",
"version": "1.0.0",
"description": "Short description of what the plugin provides",
"author": {
"name": "Anthril",
"email": "john@anthril.com",
"url": "https://github.com/anthril"
},
"homepage": "https://github.com/anthril/official-claude-plugins/tree/main/plugins/plugin-name",
"repository": "https://github.com/anthril/official-claude-plugins",
"license": "MIT",
"keywords": ["relevant", "keywords"],
"skills": "./skills/",
"hooks": "./hooks/hooks.json"
}When adding a new plugin, add an entry to .claude-plugin/marketplace.json:
{
"name": "plugin-name",
"version": "1.0.0",
"description": "Short description",
"source": "plugin-name",
"category": "category-name",
"homepage": "https://github.com/anthril/official-claude-plugins/tree/main/plugins/plugin-name"
}Categories: data-analysis, knowledge-engineering, business-operations, developer-tools, marketing
The standard Stop hook suggests related skills after a skill completes:
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "bash \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/suggest-related.sh\"",
"timeout": 5
}
]
}
]
}
}- Marketplace entry version in
marketplace.jsonmust match the plugin'splugin.jsonversion - Use semantic versioning (MAJOR.MINOR.PATCH)
- Run
node scripts/check-versions.mjsto validate consistency
Before submitting a new skill:
- SKILL.md has valid YAML frontmatter with
name,description,effort - SKILL.md is under 500 lines
- Uses
$ARGUMENTSfor user input - Description is under 250 characters, front-loaded with key use case
-
effortfield set appropriately (medium,high, ormax) -
templates/directory has at least one output template -
examples/directory has at least one example output - Dense reference material is in
reference.md, not SKILL.md - Australian English used throughout
- Tested locally with
claude --plugin-dir .