Agent skill

Ijfw Agents Md

by FerroxLabs in FerroxLabs/ijfw

Maintain canonical AGENTS.md (open spec). An agent skill from FerroxLabs/ijfw.

MITAuto-check passedAgent Workflows

Install Ijfw Agents Md

skills CLI
$ npx skills add FerroxLabs/ijfw --skill ijfw-agents-md -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install FerroxLabs/ijfw ijfw-agents-md --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
ijfw-agents-md
GitHub stars
212
Token cost
~2.7k tokens
SKILL.md length
1,157 words
Files
21 (incl. scripts)
Skills in repo
38
Repo updated
First seen
Licence
MIT

At a glance

Maintain canonical AGENTS.md (open spec). An agent skill from FerroxLabs/ijfw.

  • Works in 4 steps: Use scripts/lock.sh -- PID lockfile +… → lock.sh invokes… → If AGENTS.md is absent, the merger seeds… → …
  • Tasks that involve Agent instruction files
  • SKILL.md covers When to Invoke, Marker Block Taxonomy…, Frontmatter Contract (typed) and Merge Mechanics, plus 6 more sections
  • Runs Shell, Python and JavaScript scripts from its folder

What it does

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.

When your agent uses it

  • Tasks that involve Agent instruction files

Example prompts

  • “agents.md”
  • “update AGENTS.md”
  • “/ijfw-agents-md”

Requirements

  • Python 3
  • Node.js
  • A Bash shell

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Use scripts/lock.sh -- PID lockfile + atomic rename guarantees
  2. lock.sh invokes scripts/merge-block-aware.sh
  3. If AGENTS.md is absent, the merger seeds it from
  4. If markers are absent in an existing file, they are appended at the end

What it can do on your machine

Read from SKILL.md and the folder at commit eda62f3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    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.

  • Network

    Links to these hosts (documentation or services it may open):

    • agents.md

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~37
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from FerroxLabs/ijfw at commit eda62f3, republished under its MIT licence (© FerroxLabs). 1,157 words, ~2,654 tokens.

Download SKILL.mdSave it as .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.
name
ijfw-agents-md
description
Maintain canonical AGENTS.md (open spec). Trigger: 'agents.md', 'update AGENTS.md', or auto-fired by ijfw-team after agent generation.
context
fork
model
sonnet

IJFW AGENTS.md Manager

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.


When to Invoke

  • User says: "agents.md", "update AGENTS.md", "regenerate agents file".
  • Auto-fired by ijfw-team after generating agents to .ijfw/agents/.
  • Auto-fired by session-start hooks to refresh memory + agents blocks.
  • Auto-fired by ijfw-workflow at brainstorm-LOCK and plan-LOCK with intent context (v1.4.4 N7).

Marker Block Taxonomy (reserved -- do not break)

The file is segmented by four IJFW-managed regions. Content outside markers is user-authored and untouched.

BlockPurpose
MEMORYPointer to project memory + last handoff summary
ROUTINGPeer-skill routing rules (workflow, design, etc.)
AGENTSAuto-generated agent definitions from .ijfw/agents/
BLACKBOARDReserved for Pillar B (multi-CLI orchestration); empty
DISCIPLINEPer-domain discipline rules (code | narrative | business | design | research)

Each block is delimited by <!-- IJFW-<NAME>-START --> / <!-- IJFW-<NAME>-END --> markers. Replace inside; never overwrite.


Frontmatter Contract (typed)

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.


Merge Mechanics

  1. Use scripts/lock.sh -- PID lockfile + atomic rename guarantees concurrent invocations serialise without clobbering.
  2. lock.sh invokes scripts/merge-block-aware.sh <path> <BLOCK> <content> which replaces marker-bounded regions atomically.
  3. If AGENTS.md is absent, the merger seeds it from templates/AGENTS.md.tmpl.
  4. If markers are absent in an existing file, they are appended at the end (user content stays intact).

Spec Subset IJFW Commits To

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.


BLACKBOARD Block Population (v1.4.4 Pillar B activation)

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.

Block content shape
json
{
  "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.
Write rules
  1. The populator replaces content only between <!-- IJFW-BLACKBOARD-START --> and <!-- IJFW-BLACKBOARD-END --> markers.
  2. Never write outside those markers. Use merge-block-aware.sh with BLACKBOARD as the block argument — same mechanism as MEMORY/ROUTING/AGENTS.
  3. Idempotency: serialise the JSON with stable key order + \n terminator. Re-running on unchanged STATE.md produces byte-identical output; git sees no diff noise.
  4. If no wave STATE.md exists yet, write an empty JSON object {} inside the block rather than omitting the block entirely (markers must remain present).

Discipline Block Population (v1.5.2 Wave 5B)

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.

Block content shape

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 -->
Write rules
  1. The populator replaces content only between <!-- IJFW-DISCIPLINE-START --> and <!-- IJFW-DISCIPLINE-END --> markers.
  2. Never write outside those markers. Uses mergeFile() from merge-block-aware.js with DISCIPLINE as the block name — same mechanism as MEMORY/ROUTING/AGENTS/BLACKBOARD.
  3. Same withFsLock tier-#8 AGENTS.md lock as populateBlackboardBlock — both writers serialise on the single §3 #8 lock so concurrent fires cannot interleave their writes.
  4. Idempotency: re-running 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.
  5. Empty-body contract: if 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".
Show full SKILL.md (493 more words)Show less
Auto-fire trigger

ijfw-workflow fires populateDisciplineBlock at:

  • brainstorm-LOCK — when the brainstorm output is locked and project type is known (or inferable from the repo).
  • plan-LOCK — when the plan is locked, to refresh discipline context after any type reclassification that may have occurred during planning.

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.

Conditional activation (project-type detection)

When projectType is not supplied explicitly, populateDisciplineBlock calls detectProjectTypeFromRepo(projectRoot) from discipline-selector.js to infer the type. Detection priority:

  1. .ijfw/memory/brief.md frontmatter type key — highest fidelity, set by brainstorm-LOCK.
  2. Well-known file/dir signals (existsSync only, no glob):
    • 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.

Intent-aware seeding (v1.4.4 N7)

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.

Rules
  1. Fresh creation only. If 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").
  2. brief.md is optional. If .ijfw/memory/brief.md is absent, bootstrap proceeds from the static template without the intent section.
  3. Placement. The intent section is inserted after the YAML frontmatter and before any IJFW-managed marker blocks. User-authored content added later is never moved.
  4. Auto-fire trigger. 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.

Platform adapter creation (v1.4.4 N7)

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 IDEMissing fileTemplate source
ClaudeCLAUDE.mdtemplates/CLAUDE.md.adapter.tmpl
GeminiGEMINI.mdtemplates/GEMINI.md.adapter.tmpl
HermesHERMES.mdtemplates/HERMES.md.adapter.tmpl
WaylandWAYLAND.mdtemplates/WAYLAND.md.adapter.tmpl
Adapter body
# <IDE>

All project conventions live in [AGENTS.md](./AGENTS.md). Read it first.
Rules
  1. Idempotent. If <IDE>.md already exists, it is never touched.
  2. Detection required. Adapter is only created when ide-detect.js positively identifies the platform — never speculatively.
  3. Template resolution. Templates live in the repository root templates/ directory. If the template is absent, the adapter is written inline from the body above rather than failing.
  4. Auto-fire trigger. Same LOCK hook that fires intent seeding also runs the adapter-creation check, so a fresh Claude session always bootstraps both AGENTS.md content and a matching CLAUDE.md pointer.

Don'ts

  • Do not write outside the five marker blocks.
  • Do not replace the whole file; the merger is block-scoped by design.
  • Do not write a .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

Files

SKILL.md and 20 other files (scripts) in claude/skills/ijfw-agents-md of FerroxLabs/ijfw.

  • SKILL.md
  • schema/agents-md-frontmatter.json
  • scripts/build-blocks.sh
  • scripts/build_blocks.py
  • scripts/cold-scan-trigger.sh
  • scripts/cold_scan_trigger.py
  • scripts/hoist-frontmatter.js
  • scripts/hoist-frontmatter.sh
  • scripts/lock.sh
  • scripts/merge-block-aware.sh
  • scripts/seed-gate.sh
  • templates/AGENTS.md.tmpl
  • templates/CLAUDE.md.adapter.tmpl
  • templates/GEMINI.md.adapter.tmpl
  • templates/HERMES.md.adapter.tmpl
  • templates/WAYLAND.md.adapter.tmpl
  • templates/discipline-business.md
  • templates/discipline-code.md
  • … and 3 more

Open the folder on GitHubat commit eda62f3

Compare with similar skills

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.

Ijfw Agents Md compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ijfw Agents Md this skillFerroxLabs/ijfw212—~2.7kAutomated safety check: PassMIT
Using Agent Skillsaddyosmani/agent-skills104k4 repos~2.4kAutomated safety check: PassMIT
Claude ReflectBayramAnnakov/claude-reflect1.8k2 repos~627Automated safety check: PassMIT
Neat-Freak Knowledge CloseoutKKKKhazix/khazix-skills21k—~1.9kAutomated safety check: PassMIT
Writing For Agentsbestofjs/bestofjs3.1k18 repos~2.7kAutomated safety check: PassMIT
Task Observerrebelytics/one-skill-to-rule-them-all3.2k1 repos~11kAutomated safety check: PassCC-BY-4.0

Similar skills

  • 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.

    104k GitHub starsUsed in 4 repos~2.4k tokens
    Agent WorkflowsAuto-check passed
  • Claude Reflect

    BayramAnnakov/claude-reflect

    Self-learning system that captures corrections during sessions and reminds users to run /reflect to update CLAUDE.md.

    1.8k GitHub starsUsed in 2 repos~627 tokens
    Agent WorkflowsAuto-check passed
  • Neat-Freak Knowledge Closeout

    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.

    21k GitHub stars~1.9k tokensUpdated 8 days ago
    Agent WorkflowsAuto-check passed
  • Writing For Agents

    bestofjs/bestofjs

    Writing documents for agents. An agent skill from bestofjs/bestofjs.

    3.1k GitHub starsUsed in 18 repos~2.7k tokens
    Agent WorkflowsAuto-check passed
  • Task Observer

    rebelytics/one-skill-to-rule-them-all

    Monitors task execution for skill improvement opportunities.

    3.2k GitHub starsUsed in 1 repo~11k tokens
    Agent WorkflowsAuto-check passed
  • SkillOpt Sleep Cycle

    microsoft/SkillOpt

    Official

    Runs an on-demand or nightly sleep cycle that reviews past Claude Code sessions and proposes validated updates to CLAUDE.md and skills.

    18k GitHub stars~2.3k tokensUpdated 3 days ago
    Agent WorkflowsAuto-check passed

More from FerroxLabs/ijfw

All 38 skills in this repo
  • Ijfw Design

    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'…

    212 GitHub stars~2.2k tokensUpdated 5 days ago
    Auto-check passed
  • 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.

    212 GitHub stars~1.5k tokensUpdated 5 days ago
    Auto-check passed
  • Ijfw Critique

    FerroxLabs/ijfw

    Challenge decisions, surface counter-arguments, flag assumptions.

    212 GitHub stars~1.2k tokensUpdated 5 days ago
    Auto-check passed
  • Ijfw Cross Audit

    FerroxLabs/ijfw

    Generate a cross-platform multi-model audit (Trident) on a diff, brief, or artifact.

    212 GitHub stars~594 tokensUpdated 5 days ago
    Auto-check passed
  • Ijfw Debug

    FerroxLabs/ijfw

    Root-cause analysis with hypothesis tracking. An agent skill from FerroxLabs/ijfw.

    212 GitHub stars~578 tokensUpdated 5 days ago
    Auto-check passed
  • Ijfw Milestone Summary

    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.

    212 GitHub stars~1.5k tokensUpdated 5 days ago
    Auto-check passed

Categories

Questions about Ijfw Agents Md

What does Ijfw Agents Md do?

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).

When should I use Ijfw Agents Md?

Ijfw Agents Md fits situations like: tasks that involve Agent instruction files.

How do I install Ijfw Agents Md in Claude Code?

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.

How do I install Ijfw Agents Md in Codex?

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.

Can I use Ijfw Agents Md in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Ijfw Agents Md need to run?

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.

Does Ijfw Agents Md access the network?

SKILL.md names 1 domain. As links in the text: agents.md. This is read from the text; nothing was executed.

Is Ijfw Agents Md safe to install?

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.

What licence does Ijfw Agents Md use?

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.

How many tokens does Ijfw Agents Md use?

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.

What are the alternatives to Ijfw Agents Md?

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.

Who maintains Ijfw Agents Md?

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.