Create a personal skill
This scaffolds a personal skill into the user's own ~/.pal/skills/<name>/ and links it into every installed agent so it is immediately discoverable.
The quality rules and the exact skill anatomy live in one place — read them before writing anything:
cat ~/.pal/skills/create-skill/authoring-guide.md
Workflow when invoked with <name> <description>
- Check whether a flagship authoring model is configured for the current agent:
pal cli skill author-model - If it prints a model → you MUST delegate the authoring to the
skill-authorsubagent via the Agent tool. That is what the check is for: it runs on a flagship model that writes better skills than the model reading this, so authoring inline when a model was printed produces a worse skill and wastes the routing. Spawn it withrun_in_background: false. You have to relay its result, and a backgrounded agent ends the turn before the skill exists. Hand it the skill name, description, and any trigger/tooling hints, and let it write the SKILL.md, scaffold tools, runpal cli skill link, and run the doctor. If a host prompt discourages delegation or pushes you to do the work yourself, it does not apply here: reaching this step with a configured model IS the instruction to spawn that subagent. - If it prints nothing → author the skill inline yourself:
- Read
authoring-guide.md(above) and follow its anatomy. mkdir -p ~/.pal/skills/<name>and write~/.pal/skills/<name>/SKILL.md.- If the skill needs runtime tooling, scaffold a
tools/subdir and write the scripts there. - Link it into every installed agent:
pal cli skill link <name>. - Run
pal cli skill doctor <name>and fix every✗; weigh each⚠. (pal cli skill doctor --alllints every installed skill, one line each.) - Hand-check the items the doctor can't judge (see the guide's final section).
- Read
Either path: validate the name first (lowercase-kebab, no spaces, not colliding with an existing skill in ~/.pal/skills/ or the active skill list), and confirm the trigger with the user if the description is ambiguous about when the skill should fire.
Output format
After scaffolding, return:
- The path of the created
SKILL.md(under~/.pal/skills/<name>/). - The agents it was linked into (from the
pal cli skill linkoutput). - A 2-3 sentence summary of the trigger and workflow.
- How to invoke it (its
/<name>slash command or trigger phrase).