description: Mint a new PMOVES skill through Archon — scaffold SKILL.md, lint, register, publish archon.mint.skill.v1.
Mint a new composable skill into the PMOVES skills constellation. Mirrors /archon:mint-agent for skills.
Usage
Invoke when the operator says "mint a skill", "scaffold a SKILL.md", or "register a composable skill". Produces a SKILL.md under .claude/skills/<name>/, runs the skill linter, registers via Archon (when ready), and publishes the NATS mint event.
Implementation
Step 0 — Authenticate the creator (Google OAuth via Supabase)
Mandatory. Skills are tied to a creator identity (same RLS rules as agents). Follow the Step 0 procedure in /archon:mint-agent to obtain a valid Supabase session JWT with provider: 'google' and email_verified: true. Capture creator_id (Supabase auth.users.id) and creator_email for the skill manifest.
If OAuth wiring is not live, halt — see .claude/context/self-hosted-defaults.md § "Authentication".
Step 1 — Collect the manifest
Ask the operator for:
skill-name— kebab-case (e.g.pmoves-room-rotator).description— single sentence beginning with an action verb; this becomes the frontmatterdescription.user-invocable?— boolean. If false, set frontmatteruser-invocable: false(Claude-only).owning-persona— accountable agent or human; defaults to authenticated creator email from Step 0.- Optional:
tools,dependencies(other skills it composes with).
Validate uniqueness:
test ! -d ".claude/skills/<skill-name>" || { echo "skill exists"; exit 1; }
Step 2 — Scaffold the skill
Create .claude/skills/<skill-name>/SKILL.md:
---
name: <skill-name>
description: <description>
user-invocable: <true|false>
owning_persona: <owning-persona>
minted_at: <YYYY-MM-DD>
---
# <Skill-Name>
## When to invoke
<one paragraph trigger conditions>
## Inputs
<bullet list>
## Outputs
<bullet list>
## Implementation
<script reference or inline steps>
If the skill ships a script, also scaffold .claude/skills/<skill-name>/scripts/<entry>.sh (or .py) with a shebang and set -euo pipefail.
Step 3 — Lint
Run frontmatter + structure checks:
# Frontmatter present
head -1 .claude/skills/<skill-name>/SKILL.md | grep -q '^---$' || echo "FAIL: missing frontmatter"
# Description starts with verb (heuristic)
grep -E '^description: [A-Z][a-z]+ ' .claude/skills/<skill-name>/SKILL.md || echo "WARN: description should start with an action verb"
# Required sections
for s in "When to invoke" "Inputs" "Outputs" "Implementation"; do
grep -q "^## $s$" .claude/skills/<skill-name>/SKILL.md || echo "FAIL: missing section '$s'"
done
Block on any FAIL.
Step 4 — Register through Archon
Contract for the future archon:create-skill MCP tool:
{
"name": "create-skill",
"input": {
"skill_name": "<skill-name>",
"description": "<description>",
"user_invocable": <bool>,
"path": ".claude/skills/<skill-name>/SKILL.md"
},
"output": { "skill_id": "<uuid>", "registry_url": "<url>" }
}
Until the MCP tool ships, optionally curl -sf -X POST http://localhost:8091/api/skills with the manifest. If the endpoint is unavailable, stash the manifest under /tmp/skill-manifest.json and continue.
Step 5 — Publish NATS mint event
{
"subject": "archon.mint.skill.v1",
"payload": {
"skill_id": "<uuid|null>",
"skill_name": "<skill-name>",
"path": ".claude/skills/<skill-name>/SKILL.md",
"user_invocable": <bool>,
"owning_persona": "<owning-persona>",
"ts": "<RFC3339>"
}
}
Publish via pmoves-nats-mcp nats_publish tool if configured, otherwise print the payload + the nats pub archon.mint.skill.v1 ... fallback.
Step 6 — Cross-link
Append a row to skills/README.md (Status: provisional) so the constellation surface reflects the new skill.
Notes
- Wave-0 Task 9 in the gap-fill roadmap.
- Wave-1 dependency: Supabase
archon_minted_artifactstable (W1.10). - Wave-2 dependency:
archon.mint.skill.v1publishers on the bus (W2.1). - Companion:
/archon:mint-agentfor agents,/archon:creator-onboardfor human creators.
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.