Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add andr-ca/agentharness --skill port-agent-configgit clone --depth 1 https://github.com/andr-ca/agentharnessWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/andr-ca/agentharness/port-agent-config)<a href="https://agentmods.dev/skills/andr-ca/agentharness/port-agent-config"><img src="https://agentmods.dev/badge/skills/andr-ca/agentharness/port-agent-config.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00116 | $0.02145 |
| Opus 5 | $0.00058 | $0.01073 |
| Sonnet 5 | $0.00023 | $0.00429 |
| Haiku 4.5 | $0.00012 | $0.00215 |
Grade A, and why
port-agent-config scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 143 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Port Agent Config
Move a project's agent instructions and skills to work with a different coding tool, without breaking what already works for the current one. Two situations, two procedures — check which one applies before doing anything.
Step 0: which situation is this?
Look for a reachable agentharness checkout with tools/generate-*.sh in it:
- This repo itself (agentharness) — the scripts are right here.
- A consumer project where
harness-link.sh initran:readlinka.claude/skills/*entry to find the harness's real path, or look for anagentharness/submodule, or a durable npm-mode copy.
Found one → Section A. Not found → Section B.
Section A — agentharness-linked: use the real generators
Don't hand-write the target file. Each generator already reuses the exact
same source (CLAUDE.md + the skill catalog), is CI-drift-checked against
its committed output, and carries the correct caveats — reconstructing its
shape by hand is strictly worse and will drift the next time CLAUDE.md
changes.
| Target tool | Generator | Produces |
|---|---|---|
| Codex CLI | tools/generate-agents-md.sh --output AGENTS.md |
AGENTS.md |
| Gemini CLI / Antigravity | tools/generate-gemini-md.sh --output GEMINI.md |
GEMINI.md |
| GitHub Copilot | tools/generate-copilot-instructions.sh --output-dir . |
.github/copilot-instructions.md + .github/instructions/*.instructions.md |
| Kilo Code | tools/generate-kilo-rules.sh --output .kilo/rules/agentharness.md |
.kilo/rules/agentharness.md |
| Cursor | tools/generate-cursor-rules.sh --output-dir . |
.cursor/rules/agentharness-router.mdc + one .mdc per skill |
| OpenCode / Zed | nothing to generate — both read AGENTS.md directly |
— |
| Claude Code | nothing to generate — CLAUDE.md is the hand-authored source |
— |
Steps:
- Run the matching command against the target project (see each script's
own
--help, ordocs/INTEGRATION.md's per-platform section when the harness checkout and the target project aren't the same directory). - Re-run the project's own content-quality check (
tools/verify-content-quality.pyhere; the consumer's equivalent elsewhere) to confirm the new file isn't silently broken. - Tell the user this is a manual step, not auto-wired into
init/update(ROADMAP.md's P1-01) — they'll need to re-run it wheneverCLAUDE.mdor the skill catalog changes. - Keep the same caveat every generated file already states: not verified against a live session of the target tool.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 143 lines · 116 tokens per session scan A 403030a10f26
port-agent-config is a skill published in the GitHub repository andr-ca/agentharness (1 stars, last pushed yesterday), licensed MIT. It adds 116 tokens to every session and 2,145 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
projectatlas
Use ProjectAtlas as the atlas-first orientation layer before broad source reads, with MCP-first task startup, short-alias worktree registration and routing, safe targeted initialization, ranked navigation, exact or federated graph evidence, purpose curation, health, lint, and repository-wide token reporting.
codex-coding-plugin
Build, review, or fix ProjectAtlas plugin/runtime installer integration for Codex, Claude Code, and OpenCode, especially version convergence, stale ProjectAtlas cache repair, MCP config generation, skill artifacts, host smoke tests, and fake-host tests for ProjectAtlas releases.
execute-spec-in-fork
Orchestrate one approved SPEC READY through a same-directory Codex App fork: create and name the execution task, ask it to run spec-executor, route decisions through Codex Task Messenger, validate the returned receipt, and archive a completed child. Use only when the user explicitly asks to execute an approved spec in…
nopus-simplify
Rewrite the immediately preceding assistant response with clearer and more direct prose when the user invokes this skill.
breaking-down-the-work
Splits scope into a product-first work breakdown that follows the 100% rule, keeps pieces from overlapping, uses outline numbers, and gives every piece a dictionary entry. Use when an epic, feature, or new subsystem needs a clean split into deliverables, or one source of truth before folders or work begin. Do not use…
closing-stale-packets
Brings an abandoned or half-filled change packet to an honest terminal state by completing it, closing it with a recorded rationale, or deleting it. Use when ng status flags a scaffold or invalid packet, a long session left a draft behind, or work was abandoned mid-packet. Do not use for an actively in-progress…