Skill Creator
Azure/azqr
Create new skills, modify and improve existing skills, and measure skill performance.
You MUST load this skill before the skill-creator skill AND before making ANY change to, or conducting a review of ANY Agent Skill.
$ npx skills add sammcj/agentic-coding --skill skill-creator-primer -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install sammcj/agentic-coding skill-creator-primer --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/sammcj/agentic-coding.git skills-src && mkdir -p .claude/skills && cp -r skills-src/Skills/skill-creator-primer .claude/skills/skill-creator-primer && 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-creator-primer" agent skill from https://github.com/sammcj/agentic-coding/tree/main/Skills/skill-creator-primer into .claude/skills/skill-creator-primer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-creator-primer", 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/sammcj/agentic-coding/tree/main/Skills/skill-creator-primerType 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 sammcj/agentic-coding --skill skill-creator-primer -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install sammcj/agentic-coding skill-creator-primer --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .agents/skills && cp -r skills-src/Skills/skill-creator-primer .agents/skills/skill-creator-primer && 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-creator-primer" agent skill from https://github.com/sammcj/agentic-coding/tree/main/Skills/skill-creator-primer into .agents/skills/skill-creator-primer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-creator-primer", 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 sammcj/agentic-coding --skill skill-creator-primer -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install sammcj/agentic-coding skill-creator-primer --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/Skills/skill-creator-primer .cursor/skills/skill-creator-primer && 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-creator-primer" agent skill from https://github.com/sammcj/agentic-coding/tree/main/Skills/skill-creator-primer into .cursor/skills/skill-creator-primer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-creator-primer", 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/sammcj/agentic-coding.git --path Skills/skill-creator-primer--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 sammcj/agentic-coding --skill skill-creator-primer -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install sammcj/agentic-coding skill-creator-primer --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/Skills/skill-creator-primer .gemini/skills/skill-creator-primer && 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-creator-primer" agent skill from https://github.com/sammcj/agentic-coding/tree/main/Skills/skill-creator-primer into .gemini/skills/skill-creator-primer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-creator-primer", 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 sammcj/agentic-coding skill-creator-primerInstalls 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 sammcj/agentic-coding --skill skill-creator-primer -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .github/skills && cp -r skills-src/Skills/skill-creator-primer .github/skills/skill-creator-primer && 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-creator-primer" agent skill from https://github.com/sammcj/agentic-coding/tree/main/Skills/skill-creator-primer into .github/skills/skill-creator-primer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-creator-primer", 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 sammcj/agentic-coding --skill skill-creator-primer -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install sammcj/agentic-coding skill-creator-primer --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/Skills/skill-creator-primer .opencode/skills/skill-creator-primer && 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-creator-primer" agent skill from https://github.com/sammcj/agentic-coding/tree/main/Skills/skill-creator-primer into .opencode/skills/skill-creator-primer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-creator-primer", 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-creator-primerYou MUST load this skill before the skill-creator skill AND before making ANY change to, or conducting a review of ANY Agent Skill.
Skill Creator Primer is an agent skill from sammcj/agentic-coding. You MUST load this skill before the skill-creator skill AND before making ANY change to, or conducting a review of ANY Agent Skill. Triggers include creating, editing, reviewing, or contributing to any part of an Agent Skill (description, frontmatter, body, references, scripts, trigger evals, conflicts, etc).
Its SKILL.md is about 9.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 20 other files, including scripts, reference files and assets (for example `CHANGELOG.md`, `CLAUDE.md` and `assets/skill-template.md`).
It sits in Agent Workflows, covering Skill authoring and LLM evaluation. The repository describes itself as: Agentic Coding Rules, Templates etc... The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 2f25ced. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 5 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
uvpython3pythonFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.compeps.python.orgcode.claude.comFrom 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 Creator Primer loads about 9.8k tokens when it runs, and up to ~12k if it reads all its reference files. Until then it costs about 84 tokens; SKILL.md has 5,604 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); the scripts in this folder are not scanned.
The full file from sammcj/agentic-coding at commit 2f25ced, republished under its Apache-2.0 licence (© sammcj). 5,604 words, ~9,777 tokens.
.claude/skills/skill-creator-primer/SKILL.md (or your agent's skills folder). This skill also uses 15 other files; get the full folder from GitHub.Note: If the skill-creator skill is missing: stop and ask the user to install skill-creator@claude-plugins-official (registering the marketplace first via /plugin marketplace add anthropics/claude-plugins-official if needed), or to clone https://github.com/anthropics/skills and link its skills directory into their local skills directory.
Route to an entry point by the task in front of you (which-one routing per "Routing when branches multiply", not a content index):
references/html-report.md.A skill wrangles determinism out of a stochastic system where applicable. What it makes predictable is the process - the agent taking the same steps each run - not the output. A brainstorming skill should predictably diverge: its tokens vary, its behaviour doesn't. This is the lens for the rest of this primer: triggering, structure, steering, and pruning are all levers on process consistency; cost and maintainability follow. Judge any change by whether it makes the agent behave more consistently, given what that particular skill is for.
Before you create, update, or review a skill, create a task (todo) for each step of the work - the primer sections you'll apply, plus a self-review pass - each phrased with its completion criterion, then work them to completion.
Skills are prompt-based context modifiers. When invoked, a skill:
Skill selection happens through pure LLM reasoning. No algorithmic matching, keyword search, or intent classification (the optional paths frontmatter, a file-glob gate, is the sole exception). The agent reads descriptions in the Skill tool's prompt and reasons about which matches. This makes the description field the single most critical element.
Branches decide what to disclose. Inline what every branch of the skill needs; push behind a context pointer (a bundled file) only what a single branch reaches. A pointer's wording, not its target, decides whether the agent follows it - a must-have target behind a weak pointer is a variance bug, so sharpen the wording before settling for inlining. When in doubt for this primer, keep almost-certainly-needed material inline so the agent never has to decide whether to read it.
Routing when branches multiply. When a skill fans out to many references, write the load decision as a decision tree: each branch a one-line qualifier, each leaf a reference pointer.
references/kv.md".Invocation mode is a trade-off - choose it deliberately.
disable-model-invocation: true): the description stays out of every agent session, but the user must remember the skill exists and trigger it with a slash command.Default to model-invoked for mid-task discovery; switch to user-invoked when the skill is occasional and the user will reliably reach for it. When the right mode isn't obvious, give the user both options with a one-line pro/con each.
Before writing a skill, confirm a skill is the right vehicle:
When a request spans several related capabilities, default to a single skill that uses progressive disclosure rather than a separate skill per capability:
references/ the agent loads on demand.When a user says "turn this into a skill", extract the workflow from the current conversation before asking questions. Look for:
Fill gaps with the user, then proceed to skill creation.
Draft inside the primer's assets/skill-template.md: copy it into the new skill directory as SKILL.md, fill the placeholders, delete unused sections.
The description is the single most important part of a skill to get right. It shares a token budget with every other skill's description and is always active in the agent's context.
Create a task per item below, judge each pass/fail; done when all pass. Re-check the set after any edit - one fix can break another (an added clause can blow the word cap):
Two skills conflict when an agent, reading both descriptions, cannot reliably tell which one a request should load - that is the only thing this check looks for; skills covering related ground are fine. Run the check against the neighbours you can enumerate: the skills installed beside it, or the repo it is being contributed to.
To compare a new or edited description against a set of skills, list each skill's directory, name, and description:
python3 <skill-creator-primer>/scripts/list_descriptions.py <skills-root>Group skills sharing a verb or object (create/edit, diagram, review, test), then compare pairwise for shared intent without a disambiguator - not merely shared words.
A pair is ACCEPTABLE when a clear disambiguator is present in the trigger:
<language> projects") are fine; the language is the routing signal, so do not flatten it.A pair is a CONFLICT when:
ACCEPTABLE - near-identical wording, but the tool name routes cleanly:
mermaid-diagrams: "...creating or updating mermaid diagrams. Provides guidance on mermaid best practices." excalidraw-diagrams: "...create or update Excalidraw diagrams. Provides guidance on Excalidraw best practices."
CONFLICT - one trigger is a verbatim subset of the other, with no distinguishing "use when":
domain-model: "Grilling session that challenges your plan against the existing domain model. Use when user wants to stress-test a plan against their project's language..." grill-with-docs: "Grilling session that challenges your plan against the existing domain model..." (identical opening, no distinguishing trigger)
On a real conflict, pick the lightest fix: sharpen one description's "use when" to name what is distinct, narrow one skill's scope, or merge genuinely identical skills. Leave descriptions that already route cleanly alone, however alike they read.
A skill activates purely on its description - the agent reads descriptions and reasons about which to load. To measure whether a description fires on the right requests and stays quiet on the rest - especially when over- or under-triggering is a risk - write trigger evals: realistic queries, each labelled with whether the skill should activate, scored against the live description.
Place an eval set at evals/<set>.json beside the skill and run it with the bundled scripts/eval_triggering.py. Read references/trigger-evals.md before writing or running skill evals.
Match specificity to the task's fragility and variability:
High freedom (text instructions): Multiple approaches valid, decisions depend on context, heuristics guide approach.
Medium freedom (pseudocode/parameterised scripts): Preferred pattern exists, some variation acceptable, configuration affects behaviour.
Low freedom (specific scripts, few parameters): Operations fragile and error-prone, consistency critical, specific sequence required.
Think of the agent exploring a path: a narrow bridge with cliffs needs guardrails (low freedom), an open field allows many routes (high freedom).
argument-hint, and JSON-schema description fields: a few precise words, not a paragraph. Telegraphic fragments (dropped articles, error -> fix pairs) are fine for gotchas, checklists, and fact lists; avoid fragments where they'd blur a concept, sequence, or steering nuance. See the second pair under "Examples".references/*.md) longer than 100 lines, include a concise table of contents at the top, so the agent sees the full scope even under partial reads.references/steering.md when a skill won't comply (ignored instruction, skipped or early-finished step), when choosing or strengthening a leading word, or when multi-step procedures need completion criteria - it covers leading words, completion criteria, and defending against premature completion.When a skill bundles scripts:
--help and code already say what it does; an opening comment block restating them is duplication that costs every reader. One line of purpose at the top; put the why (a non-obvious constraint, a chosen constant) beside the line it explains.--help, not the skill. Give scripts named arguments and a --help that explains each one; the skill names the script and when to run it, and the agent reads --help for the rest. Argument prose in SKILL.md is always loaded and goes stale the first time the script changes.extract_fields.py to pull form fields") or read it as reference ("See extract_fields.py for the extraction algorithm"). Execution is usually preferred.uv and declare the dependency in PEP-723 inline metadata at the top of the script, so the dependency travels with the file.Challenge each piece: "Does the agent need this, and does it justify its token cost?"
Good example (concise, actionable):
## Extract PDF text
Use pdfplumber for text extraction:
`python scripts/extract_pdf_text.py <pdf-file>`
Bad example (verbose, wrapped):
## Extract PDF text
PDF (Portable Document Format) files are a common file format that contains
text, images, and other content. To extract text from a PDF, you'll need to
use a library. There are many libraries available for PDF processing, but
pdfplumber is recommended because it's easy to use and handles most cases well.
First, you'll need to install it using pip. Then you can use the code below...Good example (instructions as structure):
1. Run the skill's evals if present.
2. On failure, tune the description and re-run.Bad example (the same instructions, buried in prose, wrapped):
When you begin the review you should first check whether the skill has evals,
and if it does, run them before anything else, keeping in mind that failures
may mean the description needs tuning, in which case you should revisit it
and run them again.Standardise where bundled files live so skills stay predictable across the toolkit:
references/ - Markdown the agent reads as reference (the loaded-on-demand layer of progressive disclosure).scripts/ - executable scripts the agent runs.assets/ - templates the agent copies or fills in, plus non-text artefacts like SVGs and icons. Prefer referencing these from an external source over committing them; bundled binaries add weight and context overhead with no benefit to the agent.CHANGELOG.md - a skill is a non-code project, so date headings (## YYYY-MM-DD, newest first), no version numbers. Keeps the skill's history out of the body (see "Fossilised diff"). The update rule goes in both the file's <!-- AI agents: ... --> comment and the skill's own CLAUDE.md: log reader-visible changes only, one line each, squash same-day edits. If a changelog-setup skill is available, use it.references/ spans many sibling domains, give each domain the same file set (e.g. <domain>/patterns.md, <domain>/gotchas.md, omitting any that would be empty) so the agent knows what exists at the next level without reading an index.Skills should only contain files that directly support functionality.
DO NOT create:
Skills should work on any tool that supports standard Agent Skills. Claude Code is our primary target, but GitHub Copilot and others read the same format, so keep wording and tooling portable rather than silently Claude Code-only:
compatibility: by default. Add it only when a skill is genuinely tied to one tool, to declare that in frontmatter rather than baking the assumption into prose - e.g. compatibility: claude-code, github-copilot, or microsoft-cowork. A tool-agnostic skill leaves it unset.These are Claude Code-specific fields not covered by the Agent Skills spec. Only include when specifically needed:
argument-hint: Hint shown during autocomplete for expected arguments, e.g. [issue-number] or [filename] [format]. Only include if the skill accepts argumentsarguments: Named positional arguments for $name substitution in the skill body. Accepts a space-separated string or a YAML list; names map to positions in order. Only include if the skill uses named substitutionsmodel: Override the model. Set to "inherit" (default) or a specific model ID like "claude-sonnet-5". Only include if the user requests iteffort: Override effort level when the skill is active. Options: low, medium, high, xhigh, max. Only include if the user requests itcontext: Set to "fork" to run in a forked sub-agent context. Useful for skills with extensive exploration or large outputs. Only include if the user requests itdisable-model-invocation: Set to true to prevent Claude from auto-loading the skill. Use for side-effect workflows the user should trigger manually. Choose this mode deliberately per "Invocation mode is a trade-off" above (and Self-Review step 6), not only on user requestuser-invocable: Skills appear as slash commands by default. Set to false to hide from the menu. Only include if the user requests itagent: Subagent type used when context: "fork" is set (defaults to general-purpose); has no effect without it. Only include if the user requests itpaths: Glob patterns that limit when the skill activates. Only include if the skill is scoped to particular files or directorieshooks: Hooks scoped to this skill's lifecycle. Only include if the skill needs a hook while activeshell: Shell used for inline bang-backtick command blocks (bash or powershell). Only include if the skill uses themallowed-tools: Space-delimited pre-approved tools. Scope where possible, e.g. "Read Write Bash(uv run scripts/*.py *) Grep WebFetch(domain:code.claude.com)" (don't use the deprecated : syntax, e.g. Bash(command:*), instead use Bash(command *))disallowed-tools: Tools removed from the available pool while the skill is active (clears on the next user message). Use for autonomous skills that must never call a tool, e.g. AskUserQuestion in a background loop. Only include if the user requests itwhen_to_use: Do not use.Validate against the official Agent Skills specification with the bundled validate_skill.py. Spec checks run only when invoked; while the primer is active, a PostToolUse hook re-runs the token report (--report-only) after every edit to a skill's SKILL.md or references:
uv run <skill-creator-primer>/scripts/validate_skill.py <skill-dir> [<skill-dir> ...]Several skills can be passed at once: each report is headed by its path, with a pass count at the end. The exit code fails if any skill fails.
On a valid skill it also prints a token-budget estimate and rating alongside the spec checks. It counts only the Markdown that SKILL.md actually references (transitively), so a stray unreferenced file does not inflate the figure. The count uses a chars/4.12 heuristic calibrated against tiktoken; add --tiktoken (run via uv run --with tiktoken) to count with the real tokeniser instead.
Great: 1k-5k tokens
Good: 5k-9k tokens
OK: 9k-12k tokens
Poor: 12k+ tokens
The rating judges the worst-case load (SKILL.md + largest single reference - a lower bound on one branch firing; a branch chaining several references costs more), not the total across all files, so progressive disclosure isn't penalised. Enforced by exit code - Poor fails, OK warns, the message naming the driving file.
A skill whose branch test genuinely keeps nearly everything inline can declare metadata.skill-lint.max-load-tokens: <int> in its frontmatter, with a trailing # comment justifying the ceiling. It caps the worst-case load (SKILL.md plus the largest reference), not SKILL.md alone. Loads within it pass with the ceiling noted and no cure advice; past it the normal bands apply. An undeclared comment voids the ceiling - the justification is the point, so reach for this only after the deletion test has already run.
Findings are FACTS (over-long description, over-budget load, blobs in SKILL.md: always-loaded cost, fix them) or SIGNALS (large references, blobs or 10+ line code fences within them: branch-loaded, judge waffle against earned detail). Three or more reference blobs draw a warning - the load rating trusts references to stay tight.
A blob is any text unit of 100+ words, any shape (paragraph, list item, quote, table row): prose long enough to bury instructions (see "Buried instructions" in Failure Modes). The blob list feeds the compression pass in the Self-Review Protocol.
A dense run is 3+ consecutive units of 90+ words (2+ list items of 70+), not every one a blob: a wall with nowhere to rest. Reported with a ? caveat, as American spellings are: read before changing, since each unit may carry a distinct instruction.
Invisible characters (no-break and zero-width spaces, private-use glyphs, usually pasted from a web page) are FACTS wherever they sit: one in a command or a description breaks it, and no editor shows it.
When the user asks for a skill report, a page, or a visual of the findings, read references/html-report.md and run the renderer it describes. The text report above covers every other case.
skills-ref (and skill-creator's quick_validate.py, which gates packaging via python -m scripts.package_skill - the failure surfaces as "Validation failed") may recognise only six core spec properties (name, description, license, allowed-tools, metadata, compatibility) and error on every valid Claude Code extension field (when_to_use, argument-hint, arguments, disable-model-invocation, user-invocable, disallowed-tools, model, effort, context, agent). A skill failing only on one of those fields is still valid.
The bundled validate_skill.py errors only on genuine spec violations and downgrades unknown fields to warnings, so documented extensions and fields newer than the linter pass. It also parses frontmatter with PyYAML rather than skills-ref's StrictYAML, so flow-style arrays (allowed-tools: [Read, Write]) pass.
The official docs at https://code.claude.com/docs/en/skills#frontmatter-reference are the authoritative, version-current list.
Diagnose an oversized or unreliable skill against these modes and apply the cure.
references/steering.md).--help or header, including restating a source the text cites as authoritative. Cure: one source of truth per step and per reference item.When a skill spans 3+ references, fan the per-file read-only passes out to parallel sub-agents (each reviews its own files for low-value prose and within-file repetition, returning a summary) - reads don't collide. Cross-file checks (e.g. duplication between SKILL.md and references) can't be split; the main agent reconciles those from the summaries. Keep edits to one agent, or give each sub-agent non-overlapping files.
After creating or updating a skill, you MUST always perform a critical self-review using the primer. Create and complete tasks / TODOs for each of the following:
--help, docstring and header comment are places too). Keep one copy, in the place that is loaded latest, and point to it.compression-editor agent when the environment defines one.disable-model-invocation: true) when occasional and user-remembered; in doubt, offer the user both (see "Invocation mode is a trade-off").Verbosity is not rewarded - knowledge quality is.
The review criteria are the same whether the skill is yours or someone else's. Read the full skill (SKILL.md plus every referenced file) before judging any diff - a clean-looking edit can duplicate or contradict a reference you haven't seen. Then:
Fix what you find by default; report the graded findings instead when the situation is review-only - you have no write tools (a critical-review sub-agent), or the fixes belong to the contribution's author. Self-review inherits the author's assumptions - use fresh eyes or a fresh-context agent (see "Skills vs Custom Agents").
Remember: Less is more. Skills MUST be concise! When in doubt write skill content in a TLDR format.
© sammcj, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 15 other files (scripts, references, assets) in Skills/skill-creator-primer of sammcj/agentic-coding.
Open the folder on GitHubat commit 2f25ced
Skill Creator Primer 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 Creator Primer this skillsammcj/agentic-coding | 162 | — | ~9.8k | Automated safety check: Pass | Apache-2.0 | |
| Skill CreatorAzure/azqr | 796 | 89 repos | ~8.2k | Automated safety check: Pass | Apache-2.0 | |
| Skillforgetripleyak/SkillForge | 906 | — | ~2.3k | Automated safety check: Notes | MIT | |
| Zach Seller Skill Creatorzach22-1999/amazon-skills | 209 | 1 repos | ~3.9k | Automated safety check: Pass | Apache-2.0 | |
| Skill CreatorAgentTeam-TaichuAI/ScienceClaw | 671 | — | ~10k | Automated safety check: Pass | Apache-2.0 | |
| Skill Creatorluongnv89/asm | 954 | — | ~5.3k | Automated safety check: Pass | MIT |
Azure/azqr
Create new skills, modify and improve existing skills, and measure skill performance.
tripleyak/SkillForge
A skill your agent uses when creating, improving, finding, or auditing agent skills - the user says 'create a skill', 'do I have a skill for X', 'improve the X skill', 'which skill should I use'…
zach22-1999/amazon-skills
亚马逊卖家专用的 skill 创建器(中文)。当用户想把一个亚马逊运营/自媒体/日常工作流程变成可复用的 skill 时使用。触发场景包括但不限于:用户说"我想做一个 skill""把这个流程变成 skill""帮我写个自动化""优化我已有的 skill""给这个工作流做个自动化",即使用户没用"skill"这个词,只要在描述"以后每次都这样做"的重复性工作时也应触发。本 skill…
AgentTeam-TaichuAI/ScienceClaw
Create new skills, modify and improve existing skills, and measure skill performance.
luongnv89/asm
Create a skill or bring an existing one up to the same standard (validate + asm eval fix loop); run evals, tune triggering.
feiskyer/claude-code-settings
Create, refine, and benchmark agent skills. An agent skill from feiskyer/claude-code-settings.
sammcj/agentic-coding
A skill your agent uses when generating songs with YuE2, covering a recording via SheetSage2 audio-to-ABC, editing a score or lyrics with melody preservation, or building a reproducible listening…
sammcj/agentic-coding
A skill your agent uses when creating or editing Bento (.bento.html) slide decks, including any request for a single-file HTML slide deck.
sammcj/agentic-coding
A skill your agent uses whenever the user wants you to manage, discuss or diagnose iDrive Backup configuration on macOS
sammcj/agentic-coding
Train custom TTS voices for Piper (ONNX format) using fine-tuning or from-scratch approaches.
sammcj/agentic-coding
Convert a PPTX slide deck into per-slide markdown that preserves both the verbatim text and the meaning of embedded screenshots, diagrams and charts in their original layout positions.
sammcj/agentic-coding
Delays execution of a task until a specified time or after a duration.
Categories
You MUST load this skill before the skill-creator skill AND before making ANY change to, or conducting a review of ANY Agent Skill. Skill Creator Primer is an agent skill from sammcj/agentic-coding. You MUST load this skill before the skill-creator skill AND before making ANY change to, or conducting a review of ANY Agent Skill.
Skill Creator Primer fits situations like: include creating; contributing to any part of an Agent Skill (description.
Run `npx skills add sammcj/agentic-coding --skill skill-creator-primer -a claude-code`. Or copy the skill folder (Skills/skill-creator-primer in sammcj/agentic-coding) into .claude/skills/skill-creator-primer in your project. Claude Code loads it when a task matches its description.
Run `npx skills add sammcj/agentic-coding --skill skill-creator-primer -a codex`. Or copy the skill folder (Skills/skill-creator-primer in sammcj/agentic-coding) into .agents/skills/skill-creator-primer 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 sammcj/agentic-coding --skill skill-creator-primer -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-creator-primer, .gemini/skills/skill-creator-primer, .github/skills/skill-creator-primer and .opencode/skills/skill-creator-primer in your project.
Going by SKILL.md and its folder, Skill Creator Primer needs Python for the scripts in its folder and the command-line tools its instructions call (uv, python3 and python). Our summary lists: Python 3.
SKILL.md names 3 domains. As links in the text: github.com, peps.python.org and code.claude.com. 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Skill Creator Primer is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 9.8k tokens (SKILL.md is roughly 39k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.8k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Skill Creator Primer: Skill Creator (Azure/azqr, 796 stars), Skillforge (tripleyak/SkillForge, 906 stars), Zach Seller Skill Creator (zach22-1999/amazon-skills, 209 stars) and Skill Creator (AgentTeam-TaichuAI/ScienceClaw, 671 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
sammcj (a GitHub user) maintains it in sammcj/agentic-coding, which has 162 GitHub stars. The repository holds 64 skills in this directory. The repository was last updated on October 9, 2026.
Source: sammcj/agentic-coding on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.