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 ashfulcra/fulcra-tools --skill fulcra-netflixgit clone --depth 1 https://github.com/ashfulcra/fulcra-toolsWrote 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-netflix)<a href="https://agentmods.dev/skills/ashfulcra/fulcra-tools/fulcra-netflix"><img src="https://agentmods.dev/badge/skills/ashfulcra/fulcra-tools/fulcra-netflix/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-netflix"><img src="https://agentmods.dev/badge/skills/ashfulcra/fulcra-tools/fulcra-netflix.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.00054 | $0.03467 |
| Opus 5 | $0.00027 | $0.01733 |
| Sonnet 5 | $0.00011 | $0.00693 |
| Haiku 4.5 | $0.00005 | $0.00347 |
Grade E, and why
fulcra-netflix scanned grade E with 3 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 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.
Hidden instructionshighPrompt injection
Directives inside HTML comments, invisible characters or bidirectional overrides are read by the model and not by the person reviewing the file.
> <!-- The bolded all-annotations sentence above must survive verbatim or near-verbatim in whatever adaptation you send — it is the load-bearing consent line. Paraphrase the pitch freely; never soften this sentence. --> Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
1. **Probe first**: run `fulcra-api user-info`. Valid JSON → already authenticated; skip straight to EXPORT. (If the `fulcra-api` binary is missing, install it once with `uv tool install fulcra-api`; if `uv` itself is mi Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
1. **Probe first**: run `fulcra-api user-info`. Valid JSON → already authenticated; skip straight to EXPORT. (If the `fulcra-api` binary is missing, install it once with `uv tool install fulcra-api`; if `uv` itself is mi How it starts
The opening of the file, as written. The whole thing — 157 lines — stays where its author put it; the contents beside it link to each section on GitHub.
fulcra-netflix — Netflix history into the user's own Fulcra account
This skill walks a brand-new user from "I just messaged this skill to my bot" to "my Netflix viewing history lives in my own Fulcra account as a Watched annotation, shared (if they choose) with a group the user chooses." You — the agent — drive the whole thing over chat: authenticate the user with Fulcra's device flow, walk them through downloading their viewing history from Netflix, import it with the bundled scripts/netflix_import.py, and offer the pool share at the end.
Runtime-agnostic. The only contract is: (1) you can run a shell subprocess, and (2) you can relay messages to and from a human. Everything else is plain shell I/O — no Claude-Code-specific tools. This skill works identically in Claude Code, OpenClaw, Hermes, Codex, or any other runtime that can execute a subprocess and hold a conversation.
The skill is a five-state conversation machine: HELLO → AUTH → EXPORT → IMPORT → SHARE. Every state is safely re-enterable — a returning user resumes wherever they left off, and re-running any state's commands never corrupts anything (the importer's record IDs are deterministic, so re-imports are server-side no-ops).
Details live in references/: auth.md (device-flow specifics and failure modes), netflix-export.md (full slim + GDPR export walkthroughs), record-schema.md (exact wire shapes, det-id formulas, and the namespace-marker contract).
Where to start — the re-entrancy probe
Before sending anything, probe how far this user already got. Enter at the first state whose probe fails:
| Probe (run in order) | Command | Passes when | If it fails, enter at |
|---|---|---|---|
| Authed? | fulcra-api user-info |
exits 0 and prints valid JSON | AUTH (send HELLO first if this user has never seen the pitch/consent message) |
| Watched def exists? | fulcra-api catalog -n Watched |
some line's description is exactly com.fulcradynamics.annotation.media.watched |
EXPORT (they're authed but never imported) |
| Records exist? | fulcra-api get-records "DurationAnnotation/<def-uuid>" "2007-01-01T00:00:00Z" "2035-01-01T00:00:00Z" | head -1 (def-uuid from the catalog line above) |
non-empty output | IMPORT (def exists but empty — ask for the CSV again) |
| Optional share resolved? | no CLI probe | no recipient was selected, or the user confirmed completion or skipped sharing | SHARE, only for a user-selected recipient |
What ships with it
4 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.
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 · +5 lines · +1 tokens per session 124eae242e3d
- 11d ago First seen · 152 lines · 53 tokens per session scan E ed99b9a77a8c
fulcra-netflix is a skill published in the GitHub repository ashfulcra/fulcra-tools (10 stars, last pushed yesterday), licensed MIT. It adds 54 tokens to every session and 3,467 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it E with 3 findings (hidden instructions, downloads and executes remote code, makes network calls). 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.