Create skill
SkillAI & modelsCreate a new skill under .agents/skills/. Use when the user says create skill, new skill, add a skill, or when a repeated multi-step procedure should become a reusable, invocable workflow instead of being re-explained each session.
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Create skill skill
What this skill tells your AI
The instructions your AI receives, as published by apocrathia/home-assistant-config in .agents/skills/create-skill/SKILL.md and read by ahel’s review.
Create a procedural skill in .agents/skills/<name>/SKILL.md so the parent can
invoke a repeatable workflow by name (/name) instead of re-deriving the steps
each session.
Before writing, skim existing Homelab skills and (when available) upstream
/Users/ianyoung/Projects/prime-context/templates/context/skill-authoring.md.tmpl
— conciseness, progressive disclosure, invocation choice, information
hierarchy, imperative voice.
When to create a skill
| Signal | Action |
|---|---|
| A multi-step procedure runs 3+ sessions, same steps each time | Create a skill |
| The parent re-derives the same workflow from scratch each lap | Create a skill |
| Another skill needs to call this procedure by name | Create a skill (model-invoked) |
Do not create a skill when:
- The procedure is one or two steps. Put it in a rule or context module.
- The task is a single role's charter (what it does, not how to do it). That is
a persona, not a skill. Use
create-agent. - The workflow is project-specific and unlikely to recur. Keep it in chat or a plan file.
Procedure
-
Name the skill. Use a verb phrase or noun describing the workflow:
find-work,review-loop,ship-work. Check.agents/skills/for collisions. -
Create the directory:
.agents/skills/<name>/SKILL.mdOptionally add
references/for long reference material orscripts/for executable checks. Do not addREADME.md,CHANGELOG.md, or other non-agent files. -
Write the frontmatter:
--- name: <skill-name> description: >- <what it does; include trigger phrases the agent or operator matches on. This is the only trigger surface — do not duplicate it in the body.> disable-model-invocation: true ---Set
disable-model-invocation: truewhen only the operator should invoke the skill by name. Omit it when the agent should discover the skill autonomously from the description, or when another skill needs to call it. Each model-invoked description sits in the context window every turn, so prefer user-invocation when only the operator needs to reach the skill. -
Write the body. Structure:
- Opening — one or two sentences: what the skill does and its boundary (read-only, creates worktree, etc.).
- Steps — ordered, numbered. Each step ends on a completion criterion the agent can check (done vs not-done).
- Reference — non-ordered material (tables, pattern catalogs) the agent
consults during a step. Keep this in the skill or move to
references/if it is long. - Return — what the skill hands back to the parent or operator.
-
Keep SKILL.md lean. Move long catalogs and examples to
references/and load them only when the step needs them. The skill body is the procedure; the references are the library. -
Update routing. If the skill should be discoverable via
AGENTS.md, add a routing table row inAGENTS.mdpointing at the skill. -
Validate. Run
check_links.pyif the skill contains links:python3 .agents/skills/reconcile-context/scripts/check_links.py -
Hand off. Do not commit or push (
operator-owned-git.md).
Return to parent
Lead with the skill name and one-sentence description. Then:
- File — path created
- Routing — whether
AGENTS.mdwas updated (and the row added) - Next — suggest a first invocation to test the skill; operator commits
Signals
- GitHub stars
- 179
- Forks
- 32
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
create-skill-apocrathia- Source
- github.com/apocrathia/home-assistant-config