Create, structure, and package agent skills. Use when designing new skills, updating existing skills, or helping users build skills with scripts, references, and assets. Triggers on requests to create skills, write SKILL.md files, or structure skill directories.
npx skills add https://github.com/gooseworks-ai/goose-skills --skill skill-creator
Read your credentials from ~/.gooseworks/credentials.json:
export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")
If ~/.gooseworks/credentials.json does not exist, tell the user to run: npx gooseworks login
All endpoints use Bearer auth: -H "Authorization: Bearer $GOOSEWORKS_API_KEY"
Create modular, self-contained skill packages that extend agent capabilities.
The context window is shared. Only add what the agent doesn't already know. Challenge every paragraph: "Does this justify its token cost?" Prefer concise examples over verbose explanations.
skill-name/
├── SKILL.md # Required: frontmatter + instructions
├── scripts/ # Optional: executable code (deterministic tasks)
├── references/ # Optional: docs loaded on-demand
└── assets/ # Optional: files used in output (templates, images)
---
name: skill-name
description: What it does + when to use it. This is the trigger mechanism.
---
# Skill Name
[Instructions for using the skill]
name: lowercase, hyphens, under 64 chars (e.g., pdf-editor, gh-review-pr)description: Include BOTH what it does AND when to trigger. The body isn't loaded until after triggering, so all "when to use" info must be here.Match specificity to task fragility:
| Freedom | Use When | Format |
|---------|----------|--------|
| High | Multiple valid approaches | Text instructions |
| Medium | Preferred pattern exists | Pseudocode, parameterized scripts |
| Low | Fragile/error-prone ops | Specific scripts, few params |
orth skills init <name>orth skills submit <path># Create new skill
orth skills init my-skill
# Or with path
orth skills init my-skill --path ~/.openclaw/skills
# Submit to Orthogonal
orth skills submit ./my-skill
# Update existing skill
orth skills update <slug> ./my-skill
Keep SKILL.md under 500 lines. Split into reference files when approaching this limit.
Pattern: High-level guide with references
## Quick start
[Core workflow here]
## Advanced
- **Complex feature**: See references/feature.md
- **API details**: See references/api.md
Pattern: Domain organization
bigquery-skill/
├── SKILL.md (overview + navigation)
└── references/
├── finance.md
├── sales.md
└── product.md
Agent loads only the relevant reference file.
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Replace with description of the skill and when Claude should use it.
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
Use when creating new skills, editing existing skills, or verifying skills work before deployment
Take gooseworks-ai/skill-creator from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npx.
Without those the skill loads but fails at the first command.