Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/ashfulcra/fulcra-toolsnpx agentmods add skills/ashfulcra/fulcra-tools/fulcra-agent-automationWrote 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/ashfulcra/fulcra-tools/fulcra-agent-automation)<a href="https://agentmods.dev/skills/ashfulcra/fulcra-tools/fulcra-agent-automation"><img src="https://agentmods.dev/badge/skills/ashfulcra/fulcra-tools/fulcra-agent-automation/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ashfulcra/fulcra-tools/fulcra-agent-automation"><img src="https://agentmods.dev/badge/skills/ashfulcra/fulcra-tools/fulcra-agent-automation.svg" alt="Reviewed on agentmods" width="80" 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.00042 | $0.06019 |
| Opus 5 | $0.00021 | $0.03010 |
| Sonnet 5 | $0.00008 | $0.01204 |
| Haiku 4.5 | $0.00004 | $0.00602 |
Grade B, and why
fulcra-agent-automation scanned grade B with 1 finding 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 2d 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
| Codex watch coord-first? | `grep -l "coord watch" ~/.codex/hooks.json` | file matches | §3 (install_codex_watch.py) | How it starts
The opening of the file, as written. The whole thing — 341 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Fulcra Agent Automation
BUS V3 (2026-07-27, operator-ordered): the listener half of this skill is RETIRED. Agents read their event queue on every wake — one bounded
get-recordsquery (docs/coord/BUS-V3.md) — and run no resident listener. Do not install new listeners (§2) or listener-tick automation; hosts still running one should stand it down. The heartbeat (§1: scheduledreconcile+ projection + digest) and the wake-on-schedule adapters (§3, repurposed to trigger a queue-reading wake rather than a listen tick) remain current. Thelistenverb itself was REMOVED from the engine on 2026-08-03 (PR #523); invoking it is now an argparse error.
Ties the coord skills together for unattended operation. fulcra-agent-reconcile heals a team's
index/views, but someone has to run it; this skill schedules it, and makes wake-ups
(cron/heartbeat) resume structured continuity first. Scheduling is a single, platform-specific action
(not a fold), so this skill is prose + one bundled install script — no engine logic.
Require consent: always ask the user before creating any scheduled job or background automation.
Where to start — the re-entrancy probes
Before installing anything, probe what this host already runs. Enter at the first probe that
fails (per the repo's skill-quality pattern, docs/skill-quality-pattern.md):
| Probe (run in order) | Command | Passes when | If it fails, enter at |
|---|---|---|---|
| Engine usable? | coord-engine doctor <team> |
exits 0 and last line is doctor: healthy |
fix engine/auth first (see fulcra-agent-reconcile) — do NOT install jobs on a broken engine |
| Heartbeat installed? | ls ~/Library/LaunchAgents/com.fulcra.coord-engine.heartbeat.<team>.plist (macOS) or crontab -l | grep coord-engine.heartbeat.<team> (Linux) |
file/line exists | §1 (install the heartbeat) |
| Heartbeat loaded? | launchctl list | grep coord-engine.heartbeat.<team> (macOS only) |
a line appears | reinstall via §1 (plist exists but is not loaded — a reboot-era failure mode) |
| Listener installed + loaded? (RETIRED — see banner) | ls ~/Library/LaunchAgents/com.fulcra.coord-engine.listener.<team>.*.plist and launchctl list | grep coord-engine.listener.<team>. |
inverted since bus v3: this probe passing means a retired listener is still running — stand it down: launchctl bootout gui/$(id -u)/<label> && rm ~/Library/LaunchAgents/<label>.plist (macOS) or delete its crontab line (Linux); the installer script was removed with the listener stack |
nothing — a missing listener is now the healthy state; do NOT enter §2 |
| Views actually fresh? | coord-engine health <team> |
this host's row shows a recent last reconcile |
jobs exist but are not ticking — check log show / cron mail, then reinstall |
| Claude Code hooks installed? | ls ~/.claude/fulcra-agent-hooks/ |
3 scripts | §3 (install-claude-code.sh) |
| Codex watch coord-first? | grep -l "coord watch" ~/.codex/hooks.json |
file matches | §3 (install_codex_watch.py) |
| OpenClaw block present? | grep "fulcra-agent:begin" <workspace>/HEARTBEAT.md |
one match | §3 (install_openclaw.py) |
What ships with it
8 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- scripts/claude-code/install-claude-code.sh 5.0 KB runs code
- scripts/claude-code/pre-compact.sh 560 B runs code
- scripts/claude-code/session-end.sh 560 B runs code
- scripts/claude-code/session-start.sh 1.4 KB runs code
- scripts/codex/install_codex_watch.py 23 KB runs code
- scripts/install-heartbeat.sh 8.1 KB runs code
- scripts/openclaw/install_openclaw.py 16 KB runs code
- scripts/wake/macos-notify.sh 3.4 KB runs code
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.
- 2d ago Changed 2061d77dfe52
- 11d ago First seen · 341 lines · 42 tokens per session scan B 2217ea763233
fulcra-agent-automation is a skill published in the GitHub repository ashfulcra/fulcra-tools (10 stars, last pushed yesterday), licensed MIT. It adds 42 tokens to every session and 6,019 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
magic-compact
Compact this Claude Code session.
citation-intelligence
Use when the user wants to know which URLs AI engines cite for a query, whether their domain is being cited by ChatGPT/Claude/Perplexity/Gemini/Google AI Overviews/Bing, what queries their site is cited for, how citation rate changes over time, or how their citation coverage compares to competitors. Self-hosted, BYO…
proof-engine
Create formal, verifiable proofs of claims with machine-checkable reasoning. Use when asked to prove, verify, fact-check, or rigorously establish whether a claim is true or false — mathematical, empirical, or mixed. Trigger phrases: "is it really true", "can you prove", "verify this", "fact-check this", "prove it"…
join
Join the Cortex agent team — reads agent config from team directory, generates .cortex.md protocol, updates CLAUDE.local.md. Idempotent — safe to re-run as a sync.
setup
First-time Cortex setup — creates team directory, config, and chief of staff agent.
leave
Leave the Cortex agent team — removes .cortex.md, cleans CLAUDE.local.md, sets agent status to inactive in team directory.