| name | personal-skill |
| description | Use when creating or adding a personal skill that must live only in the dotfiles repo and be symlinked into agent skill directories for availability across tools. |
| argument-hint | name or topic of the new personal skill |
Personal Skill Creation
When the user asks you to create a personal (global, agent-agnostic) skill, follow this process to ensure it is versioned in the dotfiles repo and available everywhere.
The description field is the only thing the agent harness sees when deciding to load a skill. Keep it short and focused on capability + triggers.
Quick start
- Locate your dotfiles repo (usually
~/git/n4bb12/dotfiles).
- Pick a kebab-case name.
- Create dir only in
dotfiles/config/~/.agents/skills/<name>/.
- Write SKILL.md there with short description (what + "Use when...") and agent instructions.
- Symlink the skill dir from
~/.agents/skills/, ~/.codex/skills/, ~/.claude/skills/, ~/.grok/skills/ (and optionally cursor) directly to that dir.
- Verify symlinks and test the skill.
See detailed steps and template below. Follow write-a-skill guidelines for structure and review.
Core Rules
- One real file only: the SKILL.md must live in the dotfiles repo under
config/~/.agents/skills/<name>/SKILL.md.
- Live locations (~/.agents/skills/, ~/.codex/skills/, ~/.claude/skills/, ~/.grok/skills/, optionally ~/.cursor/skills/) are direct symlinks only.
- Never write the real file in work repos, ~/.agents/skills/, or other live dirs.
- Follow progressive disclosure: keep main SKILL.md concise (<100 lines if possible). Split complex content into REFERENCE.md, EXAMPLES.md, or scripts/.
- Writing skills follows TDD: create pressure scenarios (with subagents) that fail without the skill first, then write the minimal skill that makes them pass, then refactor to close loopholes. Never write the skill before seeing the failure.
Canonical Location
The single source of truth:
<dotfiles-repo>/config/~/.agents/skills/<kebab-name>/SKILL.md
Typical on this machine: /home/n4bb12/git/n4bb12/dotfiles/config/~/.agents/skills/<name>/SKILL.md
Live Symlinks
Create direct symlinks (use ln -sfn):
~/.agents/skills/<name> → canonical dir
~/.codex/skills/<name> → canonical dir
~/.claude/skills/<name> → canonical dir
~/.grok/skills/<name> → canonical dir
- (optional)
~/.cursor/skills/<name>
Point them directly at the skill directory containing the real SKILL.md.
Steps
-
Locate the dotfiles repo
Usually ~/git/n4bb12/dotfiles. Discover reliably:
readlink -f ~/.agents/AGENTS.md | sed 's|/config/~/.agents/AGENTS.md||'
-
Choose a kebab-case name
2-64 chars, lowercase letters/digits/hyphens, starts and ends with alphanum (e.g. stage, personal-skill).
-
Create directory in dotfiles only
DOTFILES=~/git/n4bb12/dotfiles
NAME=the-name
mkdir -p "$DOTFILES/config/~/.agents/skills/$NAME"
-
Write SKILL.md
Path: $DOTFILES/config/~/.agents/skills/$NAME/SKILL.md
Start with short frontmatter. The description MUST be only the triggering conditions (third person, starts with "Use when...", no summary of what the skill does or its process):
---
name: the-name
description: Use when the user asks to create a personal skill or add one that must persist in the dotfiles with symlinks.
argument-hint: "optional"
---
Body: focused, actionable instructions addressed to the agent (not documentation for humans). Use progressive disclosure — keep main file concise; link to REFERENCE.md / EXAMPLES.md / scripts/ for details.
Follow the template in the write-a-skill skill if needed.
-
Create direct live symlinks
ln -sfn "$DOTFILES/config/~/.agents/skills/$NAME" ~/.agents/skills/$NAME
ln -sfn "$DOTFILES/config/~/.agents/skills/$NAME" ~/.codex/skills/$NAME
ln -sfn "$DOTFILES/config/~/.agents/skills/$NAME" ~/.claude/skills/$NAME
ln -sfn "$DOTFILES/config/~/.agents/skills/$NAME" ~/.grok/skills/$NAME
mkdir -p ~/.cursor/skills
ln -sfn "$DOTFILES/config/~/.agents/skills/$NAME" ~/.cursor/skills/$NAME
-
Verify
Check symlinks point to dotfiles, read the file, run grok inspect if available.
-
Test
Invoke with the expected phrases and confirm it activates and works.
Template
DOTFILES=~/git/n4bb12/dotfiles
NAME="example-skill"
mkdir -p "$DOTFILES/config/~/.agents/skills/$NAME"
cat > "$DOTFILES/config/~/.agents/skills/$NAME/SKILL.md" << 'EOF'
---
name: example-skill
description: Use when the user asks to create a personal skill or add one that must persist in the dotfiles with symlinks.
---
Concise instructions for the agent.
[minimal example]
[step by step]
See REFERENCE.md for details if needed.
EOF
ln -sfn "$DOTFILES/config/~/.agents/skills/$NAME" ~/.agents/skills/$NAME
ln -sfn "$DOTFILES/config/~/.agents/skills/$NAME" ~/.codex/skills/$NAME
ln -sfn "$DOTFILES/config/~/.agents/skills/$NAME" ~/.claude/skills/$NAME
ln -sfn "$DOTFILES/config/~/.agents/skills/$NAME" ~/.grok/skills/$NAME
ls -l ~/.agents/skills/$NAME
Review Checklist (from writing-skills best practices)
When creating a personal skill, gather requirements first, run baseline tests to see failures, draft the skill, review, write the file and symlinks, then test again.