agent/skills/skill-authoring/SKILL.md
Creates pi skills that teach the agent how to perform one or more use cases within a single domain. Use when creating or improving a pi skill.
npx skillsauth add knoopx/pi skill-authoringInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Skills are Markdown files (SKILL.md) that teach the agent how to do something it doesn't know by default. Each skill covers one or more use cases within a single domain — e.g., "NixOS configuration management" with sub-areas for system updates, home manager, and package search. The agent loads the full file when the user's request matches the trigger description.
my-skill/
├── SKILL.md # Frontmatter + workflow instructions (keep under 120 lines)
├── references/ # Deep docs loaded on demand (API specs, advanced patterns)
└── scripts/ # Helper scripts the agent runs directly
Assets go in assets/ for templates and files the agent uses in outputs. Scripts in scripts/ are deterministic code — not rewritten each invocation.
---
name: my-skill-name # kebab-case, matches directory name exactly (max 64 chars)
description: "Extracts text from PDF files using pdf-parse. Use when working with PDF documents."
---
name: lowercase letters, numbers, hyphens only. No leading/trailing hyphens, no consecutive hyphens.description: a quoted string with two sentences. First starts with a verb and describes what the skill does. Second starts with "Use when" to define trigger conditions.# Skill Name
One-line summary of the domain this skill covers.
## Workflow / Commands
Step-by-step examples or command reference with inline code snippets.
## Details
Common variations, edge cases, or tricky parts specific to this domain.
## Constraints / Best Practices
Rules, gotchas, and things the agent must do (or not do).
See [deep reference](references/DEEP.md) for API specs and advanced usage.
references/ for anything deep. One level of linking only.Good — focused domain, multiple use cases:
# nh: one domain (Nix operations), three sub-domains (system updates, home manager, package search)
description: "Switches NixOS/Home Manager configurations, cleans old generations, and performs system maintenance. Use when running os/home switch, pruning the Nix store, or managing system generations."
Good — single use case within a domain:
# transcribe-audio: one domain (audio transcription), one primary use case
description: "Transcribes audio files to text using whisper-cpp. Use when converting speech to text, transcribing podcasts, lectures, or meetings."
name is kebab-case and matches the directory name exactlydescription is a quoted string with verb-first sentence + "Use when..." clausereferences/)> chevron instead of "quoted" — convert to quoted stringtools
Inform the user what is happening — skip passive lookups
development
Renders markdown to self-contained HTML with a custom dark stylesheet and opens in browser. Use when previewing markdown documents, generating styled HTML from README or report files.
testing
Programmatic hunk selection for Jujutsu — split, commit, or squash specific hunks without interactive prompts. Use when making partial commits or selective squashes.
content-media
Manage version control with Jujutsu (jj) — no staging area, immediate changes, smart rebasing. Use when navigating history, squashing, or pushing to Git remotes.