Skill Creator
Azure/azqr
Create new skills, modify and improve existing skills, and measure skill performance.
Author SKILL.md: frontmatter, structure, writing principles.
$ npx skills add HezaoHezao/poirot --skill skill-authoring -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install HezaoHezao/poirot skill-authoring --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/HezaoHezao/poirot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/poirot/backend/agents/skill/builtin_skills/core/skill-authoring .claude/skills/skill-authoring && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "skill-authoring" agent skill from https://github.com/HezaoHezao/poirot/tree/master/poirot/backend/agents/skill/builtin_skills/core/skill-authoring into .claude/skills/skill-authoring/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-authoring", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/HezaoHezao/poirot/tree/master/poirot/backend/agents/skill/builtin_skills/core/skill-authoringType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add HezaoHezao/poirot --skill skill-authoring -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install HezaoHezao/poirot skill-authoring --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HezaoHezao/poirot.git skills-src && mkdir -p .agents/skills && cp -r skills-src/poirot/backend/agents/skill/builtin_skills/core/skill-authoring .agents/skills/skill-authoring && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "skill-authoring" agent skill from https://github.com/HezaoHezao/poirot/tree/master/poirot/backend/agents/skill/builtin_skills/core/skill-authoring into .agents/skills/skill-authoring/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-authoring", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add HezaoHezao/poirot --skill skill-authoring -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install HezaoHezao/poirot skill-authoring --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HezaoHezao/poirot.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/poirot/backend/agents/skill/builtin_skills/core/skill-authoring .cursor/skills/skill-authoring && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "skill-authoring" agent skill from https://github.com/HezaoHezao/poirot/tree/master/poirot/backend/agents/skill/builtin_skills/core/skill-authoring into .cursor/skills/skill-authoring/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-authoring", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/HezaoHezao/poirot.git --path poirot/backend/agents/skill/builtin_skills/core/skill-authoring--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add HezaoHezao/poirot --skill skill-authoring -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install HezaoHezao/poirot skill-authoring --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HezaoHezao/poirot.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/poirot/backend/agents/skill/builtin_skills/core/skill-authoring .gemini/skills/skill-authoring && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "skill-authoring" agent skill from https://github.com/HezaoHezao/poirot/tree/master/poirot/backend/agents/skill/builtin_skills/core/skill-authoring into .gemini/skills/skill-authoring/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-authoring", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install HezaoHezao/poirot skill-authoringInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add HezaoHezao/poirot --skill skill-authoring -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/HezaoHezao/poirot.git skills-src && mkdir -p .github/skills && cp -r skills-src/poirot/backend/agents/skill/builtin_skills/core/skill-authoring .github/skills/skill-authoring && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "skill-authoring" agent skill from https://github.com/HezaoHezao/poirot/tree/master/poirot/backend/agents/skill/builtin_skills/core/skill-authoring into .github/skills/skill-authoring/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-authoring", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add HezaoHezao/poirot --skill skill-authoring -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install HezaoHezao/poirot skill-authoring --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HezaoHezao/poirot.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/poirot/backend/agents/skill/builtin_skills/core/skill-authoring .opencode/skills/skill-authoring && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "skill-authoring" agent skill from https://github.com/HezaoHezao/poirot/tree/master/poirot/backend/agents/skill/builtin_skills/core/skill-authoring into .opencode/skills/skill-authoring/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-authoring", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skill-authoringAuthor SKILL.md: frontmatter, structure, writing principles.
Skill Authoring is an agent skill from HezaoHezao/poirot. Author SKILL.md: frontmatter, structure, writing principles.
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows, covering Skill authoring. The repository describes itself as: Poirot is a deep research agent kernel built for those who care about how agents are architected. The licence is MIT.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 86bf279. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
write_filestr_replaceread_filelist_dirFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Skill Authoring loads about 2.3k tokens when it runs. Until then it costs about 19 tokens; SKILL.md has 925 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from HezaoHezao/poirot at commit 86bf279, republished under its MIT licence (© HezaoHezao). 925 words, ~2,309 tokens.
.claude/skills/skill-authoring/SKILL.md (or your agent's skills folder).A SKILL.md can live in two places:
poirot/backend/agents/skill/builtin_skills/<category>/<name>/SKILL.md
— committed, shipped with the package. Use write_file + git add.skills/<name>/SKILL.md — personal, gitignored. Created via
/skill install <path> or by writing directly.This skill covers authoring for both, with emphasis on builtin skills.
builtin_skills/Source of truth: poirot/backend/agents/skill/parser.py::parse_skill_file.
Hard requirements:
--- as the first bytes (no leading blank line).\n---\n before the body.name field present (lowercase, hyphens).description field present.Peer-matched shape:
---
name: my-skill-name # lowercase, hyphens
description: Use when <trigger>. <one-line behavior>.
allowed-tools: # Poirot tools this skill may invoke
- bash
- read_file
- write_file
- list_dir
- str_replace
- web_search
- browse_page
- present_files
- read_snapshot
enabled: true
related-skills: [other-skill] # optional cross-references
license: MIT # recommended for contributed skills
author: <human contributor or source attribution>
---allowed-tools / enabled / related-skills / license / author are NOT
enforced by the parser (it reads name/description/allowed-tools/enabled), but
every peer has them — omit and your skill sticks out.
description ≤ 60 characters, one sentence, ends with a period. State the
capability, not the implementation. No marketing words ("powerful",
"comprehensive", "seamless"). Don't repeat the skill name.
Verify:
import re, pathlib
m = re.search(r'^description: (.*)$',
pathlib.Path('builtin_skills/<cat>/<name>/SKILL.md').read_text(),
re.MULTILINE)
assert len(m.group(1)) <= 60, len(m.group(1))references/*.md and reference them from
SKILL.md.A skill exists to make the agent's process more predictable. Predictability does not mean identical output every run; it means the agent reliably follows the same useful discipline.
SKILL.md; put
branch-specific or bulky reference material in references/, templates/,
or scripts/ and point to it only when needed.Common quality failures:
Tools referenced in SKILL.md prose must be native Poirot tools (listed in
allowed-tools) or MCP servers the skill explicitly expects. Do NOT name shell
utilities the agent already has wrapped:
grep → bash (run grep via bash)cat/head/tail → read_filesed/awk → str_replacefind/ls → list_dir# <Title>
## Overview
One or two paragraphs: what and why.
## When to Use
- Bulleted triggers
- "Don't use for:" counter-triggers
## <Topic sections specific to the skill>
- Quick-reference tables are common
- Code blocks with exact commands
## Common Pitfalls
Numbered list of mistakes and their fixes.
## Verification Checklist
- [ ] Checkbox list of post-action verificationsNot every section is mandatory, but Overview + When to Use + actionable
body + pitfalls are the minimum.
builtin_skills/<category>/<skill-name>/SKILL.md # builtin
skills/<skill-name>/SKILL.md # user-localBuiltin categories: core, research, software-development, creative,
productivity. Pick the closest existing category. Don't invent new top-level
categories casually.
list_dir("poirot/backend/agents/skill/builtin_skills/<category>/")write_file to builtin_skills/<category>/<name>/SKILL.md.import yaml, re, pathlib
content = pathlib.Path("builtin_skills/<category>/<name>/SKILL.md").read_text()
assert content.startswith("---")
m = re.search(r'\n---\s*\n', content[3:])
fm = yaml.safe_load(content[3:m.start()+3])
assert "name" in fm and "description" in fm
assert len(fm["description"]) <= 60/skill list will
not see the new skill until restart. This is expected.related-skills is documentation-only (parser ignores it). You can reference
any skill, but prefer referencing only builtin skills from builtin skills —
user-local skills won't resolve for other users.
str_replace on the SKILL.md.write_file the whole SKILL.md.write_file to
builtin_skills/<category>/<name>/references/<file>.md,
templates/<file>, or scripts/<file>.Leading whitespace before ---. Parser requires content.startswith("---");
any leading blank line or BOM fails.
Description too generic. Peer descriptions start with the trigger class, not the one task. "Use when debugging X" > "Debug X".
Description too long. >60 chars bloats skill listings and dilutes model attention. Trim ruthlessly.
Naming shell utilities. grep/cat/sed/find → use Poirot tool
names (bash/read_file/str_replace/list_dir). Otherwise the model
hallucinates calls to non-existent tools.
Writing a skill that duplicates a peer. Before creating, list_dir the
category and open 2-3 peers. Prefer extending an existing skill to creating
a narrow sibling.
Expecting the current session to see the new skill. It won't. The skill loader initializes at startup. Verify in a fresh session.
Letting skills accumulate sediment. A skill should get shorter or sharper over time. When adding a rule, remove the old wording it replaces.
Writing no-op prose. "Be careful," "be thorough," "use best practices" rarely change model behavior. Replace with a checkable completion criterion.
builtin_skills/<category>/<name>/SKILL.md (or skills/<name>/)---, closes with \n---\nname, description, allowed-tools, enabled presentlicense, author present (attribution)# Title → ## Overview → ## When to Use → body → ## Pitfalls → ## Verificationgit add && git commit completed© HezaoHezao, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in poirot/backend/agents/skill/builtin_skills/core/skill-authoring of HezaoHezao/poirot.
Open the folder on GitHubat commit 86bf279
Skill Authoring next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Skill Authoring this skillHezaoHezao/poirot | 249 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Skill CreatorAzure/azqr | 796 | 89 repos | ~8.2k | Automated safety check: Pass | Apache-2.0 | |
| Claude Code Skill Developer Guidediet103/claude-code-infrastructure-showcase | 10k | 11 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Darwin Skill Optimizeralchaincyf/darwin-skill | 6.2k | 1 repos | ~4.7k | Automated safety check: Pass | MIT | |
| Claude Code Command Developmentanthropics/claude-plugins-official | 38k | 10 repos | ~4.8k | Automated safety check: Pass | Apache-2.0 | |
| Claude Code Plugin Structureanthropics/claude-plugins-official | 38k | 10 repos | ~3.4k | Automated safety check: Pass | Apache-2.0 |
Azure/azqr
Create new skills, modify and improve existing skills, and measure skill performance.
diet103/claude-code-infrastructure-showcase
A guide to creating and managing Claude Code skills with auto-activation: skill-rules.json triggers, hooks, enforcement levels, YAML frontmatter and progressive disclosure.
alchaincyf/darwin-skill
Scores SKILL.md files on a nine-dimension rubric, then improves them in a keep-or-revert loop with independent judge agents, test prompts, git history and human checkpoints.
anthropics/claude-plugins-official
Explains how to write Claude Code slash commands: Markdown files with YAML frontmatter, arguments, file references, bash context and interactive prompts.
anthropics/claude-plugins-official
Explains the directory layout, plugin.json manifest and component organization of a Claude Code plugin, including auto-discovery and portable paths.
rohitg00/ai-engineering-from-scratch
Evaluates an Agent Skill bundle before release for structure, trigger quality, artifact improvement, script correctness, safety, installed-tree integrity and host portability.
HezaoHezao/poirot
Pre-commit review: security scan, quality gates, auto-fix. An agent skill from HezaoHezao/poirot.
HezaoHezao/poirot
Structured peer-review of academic papers. An agent skill from HezaoHezao/poirot.
HezaoHezao/poirot
Monitor blogs and RSS/Atom feeds via blogwatcher-cli. An agent skill from HezaoHezao/poirot.
HezaoHezao/poirot
Onboarding conversation to generate a user profile. An agent skill from HezaoHezao/poirot.
HezaoHezao/poirot
Generate charts: select type, extract data, render image. An agent skill from HezaoHezao/poirot.
HezaoHezao/poirot
Generate docs: README, API reference, architecture, guides. An agent skill from HezaoHezao/poirot.
Categories
Author SKILL.md: frontmatter, structure, writing principles. Skill Authoring is an agent skill from HezaoHezao/poirot.md: frontmatter, structure, writing principles.
Skill Authoring fits situations like: tasks that involve Skill authoring.
Run `npx skills add HezaoHezao/poirot --skill skill-authoring -a claude-code`. Or copy the skill folder (poirot/backend/agents/skill/builtin_skills/core/skill-authoring in HezaoHezao/poirot) into .claude/skills/skill-authoring in your project. Claude Code loads it when a task matches its description.
Run `npx skills add HezaoHezao/poirot --skill skill-authoring -a codex`. Or copy the skill folder (poirot/backend/agents/skill/builtin_skills/core/skill-authoring in HezaoHezao/poirot) into .agents/skills/skill-authoring in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add HezaoHezao/poirot --skill skill-authoring -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/skill-authoring, .gemini/skills/skill-authoring, .github/skills/skill-authoring and .opencode/skills/skill-authoring in your project.
Going by SKILL.md and its folder, Skill Authoring needs the command-line tools its instructions call (git). Our summary lists: Python 3. Its frontmatter pre-approves these tools: write_file, str_replace, read_file, list_dir.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Skill Authoring is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Skill Authoring: Skill Creator (Azure/azqr, 796 stars), Claude Code Skill Developer Guide (diet103/claude-code-infrastructure-showcase, 10k stars), Darwin Skill Optimizer (alchaincyf/darwin-skill, 6.2k stars) and Claude Code Command Development (anthropics/claude-plugins-official, 38k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
HezaoHezao (a GitHub user) maintains it in HezaoHezao/poirot, which has 249 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on July 28, 2026.
Source: HezaoHezao/poirot on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.