Using Agent Skills
addyosmani/agent-skills
Meta-skill for choosing which workflow skill fits the task at hand, plus always-on habits: surface assumptions, stop on confusion, push back, keep it simple and stay in scope.
Maintain canonical AGENTS.md (open spec). An agent skill from FerroxLabs/ijfw.
$ npx skills add FerroxLabs/ijfw --skill ijfw-agents-md -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install FerroxLabs/ijfw ijfw-agents-md --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-agents-md .claude/skills/ijfw-agents-md && 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-agents-md" agent skill from https://github.com/FerroxLabs/ijfw/tree/main/claude/skills/ijfw-agents-md into .claude/skills/ijfw-agents-md/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ijfw-agents-md", 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-agents-mdType 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-agents-md -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install FerroxLabs/ijfw ijfw-agents-md --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-agents-md .agents/skills/ijfw-agents-md && 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-agents-md" agent skill from https://github.com/FerroxLabs/ijfw/tree/main/claude/skills/ijfw-agents-md into .agents/skills/ijfw-agents-md/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ijfw-agents-md", 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-agents-md -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install FerroxLabs/ijfw ijfw-agents-md --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-agents-md .cursor/skills/ijfw-agents-md && 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-agents-md" agent skill from https://github.com/FerroxLabs/ijfw/tree/main/claude/skills/ijfw-agents-md into .cursor/skills/ijfw-agents-md/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ijfw-agents-md", 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-agents-md--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-agents-md -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install FerroxLabs/ijfw ijfw-agents-md --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-agents-md .gemini/skills/ijfw-agents-md && 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-agents-md" agent skill from https://github.com/FerroxLabs/ijfw/tree/main/claude/skills/ijfw-agents-md into .gemini/skills/ijfw-agents-md/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ijfw-agents-md", 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-agents-mdInstalls 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-agents-md -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-agents-md .github/skills/ijfw-agents-md && 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-agents-md" agent skill from https://github.com/FerroxLabs/ijfw/tree/main/claude/skills/ijfw-agents-md into .github/skills/ijfw-agents-md/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ijfw-agents-md", 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-agents-md -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-agents-md --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-agents-md .opencode/skills/ijfw-agents-md && 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-agents-md" agent skill from https://github.com/FerroxLabs/ijfw/tree/main/claude/skills/ijfw-agents-md into .opencode/skills/ijfw-agents-md/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ijfw-agents-md", 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-agents-mdMaintain canonical AGENTS.md (open spec). An agent skill from FerroxLabs/ijfw.
Ijfw Agents Md is an agent skill from FerroxLabs/ijfw. Maintain canonical AGENTS.md (open spec). Trigger: 'agents.md', 'update AGENTS.md', or auto-fired by ijfw-team after agent generation.
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 23 other files, including scripts (for example `schema/agents-md-frontmatter.json`, `scripts/build-blocks.sh` and `scripts/build_blocks.py`).
It sits in Agent Workflows, covering Agent instruction files. 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.
4 steps, taken from the first numbered list 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.
Ships 9 files in scripts/ (Shell, Python and JavaScript, from the files we listed), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
agents.mdFrom 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 Agents Md loads about 2.7k tokens when it runs. Until then it costs about 37 tokens; SKILL.md has 1,157 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 FerroxLabs/ijfw at commit eda62f3, republished under its MIT licence (© FerroxLabs). 1,157 words, ~2,654 tokens.
.claude/skills/ijfw-agents-md/SKILL.md (or your agent's skills folder). This skill also uses 20 other files; get the full folder from GitHub.Maintains a project's AGENTS.md per the open spec at https://agents.md/.
AGENTS.md is the canonical agent-instructions surface across every IJFW host
(Claude, Gemini, Codex, Wayland, Hermes, Cursor, Windsurf, Copilot). Each
platform-specific file (CLAUDE.md, GEMINI.md, WAYLAND.md, etc.) is a
thin adapter that points here.
ijfw-team after generating agents to .ijfw/agents/.ijfw-workflow at brainstorm-LOCK and plan-LOCK with intent context (v1.4.4 N7).The file is segmented by four IJFW-managed regions. Content outside markers is user-authored and untouched.
| Block | Purpose |
|---|---|
| MEMORY | Pointer to project memory + last handoff summary |
| ROUTING | Peer-skill routing rules (workflow, design, etc.) |
| AGENTS | Auto-generated agent definitions from .ijfw/agents/ |
| BLACKBOARD | Reserved for Pillar B (multi-CLI orchestration); empty |
| DISCIPLINE | Per-domain discipline rules (code | narrative | business | design | research) |
Each block is delimited by <!-- IJFW-<NAME>-START --> /
<!-- IJFW-<NAME>-END --> markers. Replace inside; never overwrite.
YAML frontmatter at top of file follows the JSON Schema at
schema/agents-md-frontmatter.json. Keys that A1 may write or hoist:
ijfw_version, ijfw_schema (required when present)type, primary_type, secondary_types, confidence (A3 writes)detected_at, signals (A3 writes)compute_trust (vm_only | subprocess), compute_net (deny | allow)Wayland reads compute_trust + compute_net to set per-project sandbox
defaults. Env vars override only when explicitly set.
scripts/lock.sh -- PID lockfile + atomic rename guarantees
concurrent invocations serialise without clobbering.lock.sh invokes scripts/merge-block-aware.sh <path> <BLOCK> <content>
which replaces marker-bounded regions atomically.AGENTS.md is absent, the merger seeds it from
templates/AGENTS.md.tmpl.YAML frontmatter at top + GitHub-style heading slugs (lowercase, hyphenated). This is the load-bearing subset of the open AGENTS.md spec; section anchors remain stable for cross-tool references.
The reserved BLACKBOARD marker block is now populated by
mcp-server/src/orchestrator/wave-state.js::checkpointWave after every wave
checkpoint. This activates Pillar B (multi-CLI orchestration) without requiring
any manual skill invocation.
{
"state_path": ".ijfw/wave-<waveId>/STATE.md",
"last_completions": [
"<waveId>: <summary line 1>",
"<waveId>: <summary line 2>",
"<waveId>: <summary line 3>"
]
}state_path — JSON pointer to the active wave's STATE.md.last_completions — last N=3 completion summaries (configurable; default 3).
Drawn from the body field of each wave's STATE.md, newest first.<!-- IJFW-BLACKBOARD-START --> and <!-- IJFW-BLACKBOARD-END --> markers.merge-block-aware.sh with
BLACKBOARD as the block argument — same mechanism as MEMORY/ROUTING/AGENTS.\n terminator.
Re-running on unchanged STATE.md produces byte-identical output; git sees no
diff noise.{} inside the
block rather than omitting the block entirely (markers must remain present).The DISCIPLINE marker block is populated by
mcp-server/src/orchestrator/agents-md-blackboard.js::populateDisciplineBlock
at brainstorm-LOCK and plan-LOCK in ijfw-workflow. It injects per-domain
rules so every agent operating in the project gets domain-appropriate
discipline guidance without manual configuration.
The block body is the raw text of the matching
claude/skills/ijfw-agents-md/templates/discipline-<type>.md file, written
verbatim between the markers. For unknown or mixed project types the body
is intentionally empty (markers present, body empty — this is the correct
state, not an error).
Example for a code project (abbreviated):
<!-- IJFW-DISCIPLINE-START -->
# Code Discipline
Working code only. Finish the job. Plausibility is not correctness.
…
<!-- IJFW-DISCIPLINE-END --><!-- IJFW-DISCIPLINE-START --> and <!-- IJFW-DISCIPLINE-END --> markers.mergeFile() from
merge-block-aware.js with DISCIPLINE as the block name — same mechanism
as MEMORY/ROUTING/AGENTS/BLACKBOARD.withFsLock tier-#8 AGENTS.md lock as populateBlackboardBlock —
both writers serialise on the single §3 #8 lock so concurrent fires cannot
interleave their writes.populateDisciplineBlock on unchanged project
type produces byte-identical output; git sees no diff noise. The template
files are static; the content written is purely a function of projectType.selectDisciplineTemplate returns an empty
string (for unknown or mixed types), mergeFile still writes the
block — the marker pair is present in AGENTS.md with an empty body. This
is intentional: consumers can detect the block's presence without needing
to distinguish "block absent" from "block empty".ijfw-workflow fires populateDisciplineBlock at:
These are the same LOCK hooks that fire populateBlackboardBlock and
intent-aware seeding — the three fires are sequential within the same lock
acquisition to preserve the §3 ordering invariant.
When projectType is not supplied explicitly, populateDisciplineBlock calls
detectProjectTypeFromRepo(projectRoot) from discipline-selector.js to
infer the type. Detection priority:
.ijfw/memory/brief.md frontmatter type key — highest fidelity, set by
brainstorm-LOCK.code: package.json, tsconfig.json, Cargo.toml, go.mod,
pyproject.toml, setup.py, Gemfile, or any *.csproj in root.narrative: chapters/ or manuscript/ directory present.business: root entry starting with pitch-deck or business-plan, or
any *.numbers file.design: root entry starting with figma-, any *.sketch file, or
design-system/ directory.research: research/ or notebooks/ directory, or any *.ipynb file.unknown: fallback when no signal matches.When AGENTS.md is being created fresh (file missing), the bootstrap is fed
intent context from the active brainstorm/plan output (.ijfw/memory/brief.md
if present). The bootstrap merges that intent into the initial AGENTS.md body
under a ## Project intent (seeded from brainstorm) H2 so every subagent has
project goals visible from the first session.
AGENTS.md already exists, intent seeding does
NOT run — idempotent by design. Existing files receive brainstorm context
as a BLACKBOARD block update instead (see "BLACKBOARD Block Population")..ijfw/memory/brief.md is absent, bootstrap
proceeds from the static template without the intent section.ijfw-workflow fires this skill at brainstorm-LOCK
and plan-LOCK with the intent context. The skill self-detects whether
AGENTS.md exists to decide seed vs. blackboard-update path.IDE is detected via mcp-server/src/ide-detect.js (shipped in v1.4.3 B18).
When the skill runs and the detected platform file is missing, it is created
from the matching adapter template.
| Detected IDE | Missing file | Template source |
|---|---|---|
| Claude | CLAUDE.md | templates/CLAUDE.md.adapter.tmpl |
| Gemini | GEMINI.md | templates/GEMINI.md.adapter.tmpl |
| Hermes | HERMES.md | templates/HERMES.md.adapter.tmpl |
| Wayland | WAYLAND.md | templates/WAYLAND.md.adapter.tmpl |
# <IDE>
All project conventions live in [AGENTS.md](./AGENTS.md). Read it first.<IDE>.md already exists, it is never touched.ide-detect.js
positively identifies the platform — never speculatively.templates/ directory. If the template is absent, the adapter is written
inline from the body above rather than failing..bak restore unless the user explicitly confirms.© FerroxLabs, MIT. 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 20 other files (scripts) in claude/skills/ijfw-agents-md of FerroxLabs/ijfw.
Open the folder on GitHubat commit eda62f3
Ijfw Agents Md 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 Agents Md this skillFerroxLabs/ijfw | 212 | — | ~2.7k | Automated safety check: Pass | MIT | |
| Using Agent Skillsaddyosmani/agent-skills | 104k | 4 repos | ~2.4k | Automated safety check: Pass | MIT | |
| Claude ReflectBayramAnnakov/claude-reflect | 1.8k | 2 repos | ~627 | Automated safety check: Pass | MIT | |
| Neat-Freak Knowledge CloseoutKKKKhazix/khazix-skills | 21k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Writing For Agentsbestofjs/bestofjs | 3.1k | 18 repos | ~2.7k | Automated safety check: Pass | MIT | |
| Task Observerrebelytics/one-skill-to-rule-them-all | 3.2k | 1 repos | ~11k | Automated safety check: Pass | CC-BY-4.0 |
addyosmani/agent-skills
Meta-skill for choosing which workflow skill fits the task at hand, plus always-on habits: surface assumptions, stop on confusion, push back, keep it simple and stay in scope.
BayramAnnakov/claude-reflect
Self-learning system that captures corrections during sessions and reminds users to run /reflect to update CLAUDE.md.
KKKKhazix/khazix-skills
Brings project docs, agent rule files, authorized memory and leftover workspace files back in line with what the code and runtime actually do at the end of a work session.
bestofjs/bestofjs
Writing documents for agents. An agent skill from bestofjs/bestofjs.
rebelytics/one-skill-to-rule-them-all
Monitors task execution for skill improvement opportunities.
microsoft/SkillOpt
Runs an on-demand or nightly sleep cycle that reviews past Claude Code sessions and proposes validated updates to CLAUDE.md and skills.
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.
FerroxLabs/ijfw
A skill your agent uses when the user asks for a milestone summary, milestone recap, or to summarize a milestone -- or runs /ijfw-milestone-summary.
Categories
Maintain canonical AGENTS.md (open spec). An agent skill from FerroxLabs/ijfw. Ijfw Agents Md is an agent skill from FerroxLabs/ijfw.md (open spec).
Ijfw Agents Md fits situations like: tasks that involve Agent instruction files.
Run `npx skills add FerroxLabs/ijfw --skill ijfw-agents-md -a claude-code`. Or copy the skill folder (claude/skills/ijfw-agents-md in FerroxLabs/ijfw) into .claude/skills/ijfw-agents-md in your project. Claude Code loads it when a task matches its description.
Run `npx skills add FerroxLabs/ijfw --skill ijfw-agents-md -a codex`. Or copy the skill folder (claude/skills/ijfw-agents-md in FerroxLabs/ijfw) into .agents/skills/ijfw-agents-md 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-agents-md -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-agents-md, .gemini/skills/ijfw-agents-md, .github/skills/ijfw-agents-md and .opencode/skills/ijfw-agents-md in your project.
Going by SKILL.md and its folder, Ijfw Agents Md needs a shell, Python and JavaScript for the scripts in its folder. Our summary lists: Python 3; Node.js; A Bash shell.
SKILL.md names 1 domain. As links in the text: agents.md. 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.
Ijfw Agents Md 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.7k tokens (SKILL.md is roughly 11k 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 Agents Md: Using Agent Skills (addyosmani/agent-skills, 104k stars), Claude Reflect (BayramAnnakov/claude-reflect, 1.8k stars), Neat-Freak Knowledge Closeout (KKKKhazix/khazix-skills, 21k stars) and Writing For Agents (bestofjs/bestofjs, 3.1k 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.