Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
joelhooks avatar

Add Skill

  • 32 installs
  • 61 repo stars
  • Updated August 4, 2026
  • joelhooks/joelclaw

Creates new joelclaw skills the canonical way - repo-tracked SKILL.md with frontmatter, references, and symlinks.

About

Walks the process of scaffolding a skill directory, writing SKILL.md with frontmatter, and adding optional references and scripts. A developer uses it to formalize a process into a reusable skill.

  • Canonical, git-tracked, symlinked skill creation process
  • SKILL.md frontmatter and directory-structure template

Add Skill by the numbers

  • 32 all-time installs (skills.sh)
  • Ranked #402 of 782 Skill Development skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/joelhooks/joelclaw --skill add-skill

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs32
repo stars61
Last updatedAugust 4, 2026
Repositoryjoelhooks/joelclaw

What it does

Creates new joelclaw skills the canonical way - repo-tracked SKILL.md with frontmatter, references, and symlinks.

Files

SKILL.mdMarkdownGitHub ↗

Add Skill

Create a new joelclaw skill. Skills are modular instruction sets that extend agent capabilities with specialized knowledge, workflows, or tool integrations.

Process

1. Create the skill directory

mkdir -p ~/Code/joelhooks/joelclaw/skills/<skill-name>

2. Write SKILL.md

Every skill needs a SKILL.md with frontmatter and instructions:

---
name: <skill-name>
displayName: <Human Readable Name>
description: <One-line description. This shows in the skill list and is used for trigger matching.>
version: 0.1.0
author: joel
tags:
  - <relevant>
  - <tags>
---

# <Skill Title>

<Instructions for the agent. Write for another Claude instance — include non-obvious procedural knowledge, domain-specific details, gotchas, and reusable patterns.>

## When to Use

<Trigger phrases and situations that should activate this skill.>

## Operations

<Step-by-step procedures, commands, API calls, etc.>

## Rules

<Constraints, safety boundaries, things to never do.>

3. Add references (optional)

For complex skills, add supporting files:

skills/<skill-name>/
├── SKILL.md              # Required
├── references/           # Optional — detailed docs, examples
│   └── operations.md
├── scripts/              # Optional — helper scripts
└── assets/               # Optional — logos, templates
    ├── small-logo.svg    # For Codex desktop
    └── large-logo.png    # For Codex desktop

4. Symlink to all consumer directories

ln -sf ~/Code/joelhooks/joelclaw/skills/<skill-name> ~/.pi/agent/skills/<skill-name>
ln -sf ~/Code/joelhooks/joelclaw/skills/<skill-name> ~/.agents/skills/<skill-name>
ln -sf ~/Code/joelhooks/joelclaw/skills/<skill-name> ~/.claude/skills/<skill-name>

5. Slog it

slog write --action configure --tool skills --detail "created <skill-name> skill: <what it does>" --reason "<why>"

6. Commit

The skills/ directory is sacred and fully git-tracked. Every skill must be committed.

cd ~/Code/joelhooks/joelclaw
git add skills/<skill-name>
git commit -m "feat(skills): add <skill-name> — <short description>"

Key Rules

  • Repo is canonical: ~/Code/joelhooks/joelclaw/skills/ is the source of truth. Home dirs symlink to it.
  • Directory name must match `name` field in SKILL.md frontmatter. Mismatch causes [Skill conflicts] warning on pi load.
  • Never copy skills — always symlink. cat > symlink writes through and destroys the target.
  • External/third-party skill packs stay external (global install), not copied into repo unless intentionally curated.
  • Pi extensions load at session startup only — new skills are available immediately (loaded on demand), but if you modify an existing skill mid-session, run /reload.
  • One skill per concern — don't overload a skill with unrelated capabilities. Split into focused skills.
  • Write for another agent — the consumer is another Claude instance, not Joel. Include what's non-obvious.
  • Include trigger phrases in the description — this is how pi matches user requests to skills.

Installing External Skill Packs

External/third-party skills are installed globally, not copied into joelclaw/skills/, unless Joel explicitly wants to curate them into the repo.

For unattended installs, pass -y to both npx and the skills CLI:

npx -y skills add <owner>/<repo> --skill <skill-name> -g -y

Gotcha: -g installs globally but still opens the agent-selection prompt. The trailing -y accepts the default global agent set. Without it, headless sessions hang at the picker like a stunned mullet.

Verify the install:

ls -l ~/.agents/skills/<skill-name> ~/.pi/agent/skills/<skill-name>

Updating Existing Skills

1. Edit the SKILL.md (or references) in the repo copy 2. Symlinks mean all consumers see the change immediately 3. Slog the change 4. Commit

Codex Desktop Metadata (optional)

For skills that should appear in Codex desktop:

skills/<skill-name>/
├── agents/
│   └── openai.yaml       # Codex agent config
└── assets/
    ├── small-logo.svg
    └── large-logo.png

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.