Skill Creator
Azure/azqr
Create new skills, modify and improve existing skills, and measure skill performance.
Authoring discipline for new IJFW skills. An agent skill from FerroxLabs/ijfw.
$ npx skills add FerroxLabs/ijfw --skill ijfw-writing-skills -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install FerroxLabs/ijfw ijfw-writing-skills --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/FerroxLabs/ijfw.git skills-src && mkdir -p .claude/skills && cp -r skills-src/claude/skills/ijfw-writing-skills .claude/skills/ijfw-writing-skills && 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 "ijfw-writing-skills" agent skill from https://github.com/FerroxLabs/ijfw/tree/main/claude/skills/ijfw-writing-skills into .claude/skills/ijfw-writing-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ijfw-writing-skills", 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/FerroxLabs/ijfw/tree/main/claude/skills/ijfw-writing-skillsType 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 FerroxLabs/ijfw --skill ijfw-writing-skills -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install FerroxLabs/ijfw ijfw-writing-skills --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/ijfw.git skills-src && mkdir -p .agents/skills && cp -r skills-src/claude/skills/ijfw-writing-skills .agents/skills/ijfw-writing-skills && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ijfw-writing-skills" agent skill from https://github.com/FerroxLabs/ijfw/tree/main/claude/skills/ijfw-writing-skills into .agents/skills/ijfw-writing-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ijfw-writing-skills", 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 FerroxLabs/ijfw --skill ijfw-writing-skills -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install FerroxLabs/ijfw ijfw-writing-skills --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/ijfw.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/claude/skills/ijfw-writing-skills .cursor/skills/ijfw-writing-skills && 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 "ijfw-writing-skills" agent skill from https://github.com/FerroxLabs/ijfw/tree/main/claude/skills/ijfw-writing-skills into .cursor/skills/ijfw-writing-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ijfw-writing-skills", 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/FerroxLabs/ijfw.git --path claude/skills/ijfw-writing-skills--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 FerroxLabs/ijfw --skill ijfw-writing-skills -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install FerroxLabs/ijfw ijfw-writing-skills --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/ijfw.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/claude/skills/ijfw-writing-skills .gemini/skills/ijfw-writing-skills && 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 "ijfw-writing-skills" agent skill from https://github.com/FerroxLabs/ijfw/tree/main/claude/skills/ijfw-writing-skills into .gemini/skills/ijfw-writing-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ijfw-writing-skills", 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 FerroxLabs/ijfw ijfw-writing-skillsInstalls 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 FerroxLabs/ijfw --skill ijfw-writing-skills -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/FerroxLabs/ijfw.git skills-src && mkdir -p .github/skills && cp -r skills-src/claude/skills/ijfw-writing-skills .github/skills/ijfw-writing-skills && 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 "ijfw-writing-skills" agent skill from https://github.com/FerroxLabs/ijfw/tree/main/claude/skills/ijfw-writing-skills into .github/skills/ijfw-writing-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ijfw-writing-skills", 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 FerroxLabs/ijfw --skill ijfw-writing-skills -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install FerroxLabs/ijfw ijfw-writing-skills --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/ijfw.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/claude/skills/ijfw-writing-skills .opencode/skills/ijfw-writing-skills && 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 "ijfw-writing-skills" agent skill from https://github.com/FerroxLabs/ijfw/tree/main/claude/skills/ijfw-writing-skills into .opencode/skills/ijfw-writing-skills/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ijfw-writing-skills", 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.
ijfw-writing-skillsAuthoring discipline for new IJFW skills. An agent skill from FerroxLabs/ijfw.
Ijfw Writing Skills is an agent skill from FerroxLabs/ijfw. Authoring discipline for new IJFW skills. Use when creating a new skill, writing a skill, making a skill that does X, or asked to add a skill. Trigger: create a new skill, write a skill, new skill, make me a skill, skill that does, /ijfw-writing-skills
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: IJFW — It Just Fcking Works. Ferrox Labs' local-first infrastructure for AI coding agents: shared memory, smart routing, multi-AI cross-audits, disciplined workflow. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit eda62f3. 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.
Shell commands in SKILL.md call:
bashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Ijfw Writing Skills loads about 2.3k tokens when it runs. Until then it costs about 68 tokens; SKILL.md has 974 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 FerroxLabs/ijfw at commit eda62f3, republished under its MIT licence (© FerroxLabs). 974 words, ~2,267 tokens.
.claude/skills/ijfw-writing-skills/SKILL.md (or your agent's skills folder).A skill is a thin loadable trigger surface. The description: is what Claude reads to decide whether to hot-load the body. Get the description wrong and the skill never fires; get the body wrong and the skill misfires when it does fire. This file teaches you to do both right on the first try.
Iron rule: a skill IS its trigger. If the description does not match the words a user would naturally say, the skill does not exist -- it is documentation no one reads.
The description: field is the only thing Claude sees at routing time. Treat it like a search-engine snippet, not like a definition.
Shape: start with "Use when ...", end with Trigger: <verbatim phrases>, /<command-name>.
Forbidden words (enforced by scripts/lint/check-skill-descriptions.sh, case-insensitive whole-word): step, steps, phase, phases, mode, modes, workflow, stage, process, sub-skill, skill-name. These signal "the description summarises the body" and cause Claude to skip the body and follow the description shortcut.
Hard cap: 1024 characters. Aim for under 300.
# BAD -- defines the topic, uses forbidden word "process"
description: "Skill for the code review process. Reviews PRs."
# BAD -- workflow summary, uses "phases" and "steps"
description: "Use when reviewing code -- runs three phases, fifteen steps, two passes."
# GOOD -- triggers only, verbatim phrases, slash-command alias
description: "One-line code review comments. Trigger: review, code review, PR review, /ijfw-review"
# GOOD -- "Use when X" + trigger list
description: "Authoring discipline for new IJFW skills. Use when creating a new skill, writing a skill. Trigger: create a new skill, new skill, /ijfw-writing-skills"Required:
name: -- letters, digits, hyphens only. Must match the directory name. Prefix with ijfw- for IJFW skills.description: -- see section 1.Optional but recommended:
since: "1.5.0" -- required for all v1.5.0+ skills so version filters can target them.allowed-tools: -- explicit tool list. Omit only when the skill truly needs every tool. Be explicit when you can.model: -- only when the skill must pin a specific model (rare).argument-hint: -- shown after the slash command in the picker.First line above frontmatter: <!-- IJFW: narration-not-applicable --> (or narration-applicable) -- declares how the skill interacts with the narration hook.
| Skill kind | Shape | Length | Example |
|---|---|---|---|
| One-shot trigger (single output) | Terse: frontmatter + 5-30 line body | <60 lines | ijfw-review (43 lines), ijfw-debug (52 lines) |
| Multi-move discipline | Structured: numbered moves with green-light gates | 80-180 lines | ijfw-tdd (104 lines), this file |
| Reference / API doc | Structured + references/ files | header in SKILL.md, weight in references/ | offload heavy content |
Hot-load on trigger, unload when done. Nothing in the body should pretend to be always-loaded -- the user will only see it when the trigger fires.
step, phase, mode, workflow, stage, process, sub-skill, skill-name -- the lint will FAIL the build. Use trigger phrases instead.claude/skills/ and read any neighbour whose name or trigger overlaps. Extend an existing skill rather than fragmenting the trigger surface.Bash, Edit, or an MCP tool, either declare them in allowed-tools: or accept inherit-everything. Do not silently assume tools exist.references/ and link from a skill that DOES something with the concept.claude/agents/<name>.md) and dispatch via the Agent tool. Skills are for in-context discipline; agents are for delegated work.After writing the file:
# 1. Lint CSO discipline. Must show PASS for your new skill, no new FAILs.
bash scripts/lint/check-skill-descriptions.sh 2>&1 | grep -E "<your-skill-name>|FAIL"
# 2. Trigger-test in a fresh Claude session. Open a new conversation and say
# one of the verbatim trigger phrases from your description. Confirm the
# skill loads and runs as expected. If it does not fire, your description
# does not match how users actually speak -- rewrite and re-test.A skill that lints PASS but does not fire on its own trigger is broken. Both checks must pass before commit.
IJFW skills should work across software, books, campaigns, and design wherever the discipline transfers. TDD applies to code AND book continuity AND campaign metrics; review applies to PRs AND chapter drafts AND landing-page copy. Write skills domain-neutral by default.
Domain-specific is rare and must be justified: e.g. ijfw-ui-spec is intentionally frontend-only because UI contracts have no analogue in book writing. When you go domain-specific, name it in the description so the trigger surface stays honest: "Use when designing a frontend feature".
claude/skills/<skill-name>/
SKILL.md # required, ~140-180 lines max for structured skills
references/ # heavy reference material the skill links to
<topic>.md
prompts/ # reusable prompt fragments the skill renders
<name>.txt
templates/ # boilerplate the skill emits
<name>.template.mdCross-platform skills also land at codex/skills/<name>/SKILL.md, gemini/extensions/ijfw/skills/<name>/SKILL.md, hermes/skills/<name>/SKILL.md, wayland/skills/<name>/SKILL.md. The lint script checks every present platform.
| You want to ... | Do this instead |
|---|---|
| Extend behaviour of an existing trigger | Edit the existing skill. Adding a second skill for the same trigger fragments routing. |
| Run heavy work in an isolated context | Write an agent at claude/agents/<name>.md with model: + allowed-tools: + a body that gets dispatched via the Agent tool. |
| Enforce a mechanical rule | Write a hook (claude/hooks/) or a lint script (scripts/lint/). Hooks are deterministic; skills are judgment calls. |
| Document a concept users should read | Add a doc under docs/. Skills are loaded on trigger, not for browsing. |
| Pin a project convention | Add it to CLAUDE.md or AGENTS.md. Skills are reusable across projects; conventions are local. |
claude/skills/<name>/SKILL.md exists with correct frontmatter (name, description, since: if v1.5.0+)./slash-command alias.step, phase, mode, workflow, stage, process, sub-skill, skill-name).bash scripts/lint/check-skill-descriptions.sh shows your skill as PASS and introduces no new FAILs.since: "1.5.0", picked up by version filters.scripts/lint/check-skill-descriptions.sh -- the authoritative CSO rules.claude/skills/ijfw-review/SKILL.md.claude/skills/ijfw-tdd/SKILL.md, claude/skills/ijfw-debug/SKILL.md.claude/agents/*.md.© FerroxLabs, 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 claude/skills/ijfw-writing-skills of FerroxLabs/ijfw.
Open the folder on GitHubat commit eda62f3
Ijfw Writing Skills 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 |
|---|---|---|---|---|---|---|
| Ijfw Writing Skills this skillFerroxLabs/ijfw | 212 | — | ~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.
FerroxLabs/ijfw
Maintain canonical AGENTS.md (open spec). An agent skill from FerroxLabs/ijfw.
FerroxLabs/ijfw
A skill your agent uses when the user says: 'design', 'redesign', 'UI', 'UX', 'dashboard', 'page', 'component', 'make it look better', 'polish', 'pretty', 'professional', 'user experience'…
FerroxLabs/ijfw
A skill your agent uses when a milestone is shipping and you need to archive its artifacts, generate a summary, and seed the next milestone.
FerroxLabs/ijfw
Challenge decisions, surface counter-arguments, flag assumptions.
FerroxLabs/ijfw
Generate a cross-platform multi-model audit (Trident) on a diff, brief, or artifact.
FerroxLabs/ijfw
Root-cause analysis with hypothesis tracking. An agent skill from FerroxLabs/ijfw.
Categories
Authoring discipline for new IJFW skills. An agent skill from FerroxLabs/ijfw. Ijfw Writing Skills is an agent skill from FerroxLabs/ijfw. Authoring discipline for new IJFW skills.
Ijfw Writing Skills fits situations like: creating a new skill; writing a skill; making a skill that does X; asked to add a skill.
Run `npx skills add FerroxLabs/ijfw --skill ijfw-writing-skills -a claude-code`. Or copy the skill folder (claude/skills/ijfw-writing-skills in FerroxLabs/ijfw) into .claude/skills/ijfw-writing-skills in your project. Claude Code loads it when a task matches its description.
Run `npx skills add FerroxLabs/ijfw --skill ijfw-writing-skills -a codex`. Or copy the skill folder (claude/skills/ijfw-writing-skills in FerroxLabs/ijfw) into .agents/skills/ijfw-writing-skills 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 FerroxLabs/ijfw --skill ijfw-writing-skills -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ijfw-writing-skills, .gemini/skills/ijfw-writing-skills, .github/skills/ijfw-writing-skills and .opencode/skills/ijfw-writing-skills in your project.
Going by SKILL.md and its folder, Ijfw Writing Skills needs the command-line tools its instructions call (bash).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Ijfw Writing Skills is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.1k 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 Ijfw Writing Skills: 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.
FerroxLabs (a GitHub user) maintains it in FerroxLabs/ijfw, which has 212 GitHub stars. The repository holds 38 skills in this directory. The repository was last updated on October 5, 2026.
Source: FerroxLabs/ijfw on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.