fulcra-prefs

fulcra-prefs is a skill for Claude Code, Codex from ashfulcra/fulcra-tools. It costs 38 tokens per session (1,235 once invoked), scanned B, original, MIT.

A preference-management workflow for loading, applying, and capturing a user's cross-platform preferences and facts in Fulcra. It routes access through a command-line tool, HTTP, or read-only MCP depending on the agent's capabilities.

In plain words
What is it for?
Use it to check authentication and setup, load compiled preferences for a platform, onboard a user, install hooks, and capture new preference information.
Why use it?
It gives an agent a repeatable way to start with the user's existing preferences and save new ones instead of relying only on the current conversation.

Skill for Claude CodeCodex

Written for Claude Code and Codex: user-invocable in frontmatter, but also reads ~/.codex or $CODEX_HOME. Also seen: reads .claude/ paths; mentions Claude Code; mentions Codex.

Good fit Use it to check authentication and setup, load compiled preferences for a…

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/ashfulcra/fulcra-tools/skill
Install

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.

Any agent
npx skills add ashfulcra/fulcra-tools --skill skill
Clone the repo
git clone --depth 1 https://github.com/ashfulcra/fulcra-tools

Made for: Claude Code, Codex.

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

agentmods badge for fulcra-prefs

README.md
[![agentmods](https://agentmods.dev/badge/skills/ashfulcra/fulcra-tools/skill.svg)](https://agentmods.dev/skills/ashfulcra/fulcra-tools/skill)
Your own site
<a href="https://agentmods.dev/skills/ashfulcra/fulcra-tools/skill"><img src="https://agentmods.dev/badge/skills/ashfulcra/fulcra-tools/skill.svg" alt="Measured on agentmods" height="20"></a>
Per session 38 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,235 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00038 $0.01235
Opus 5 $0.00019 $0.00617
Sonnet 5 $0.00008 $0.00247
Haiku 4.5 $0.00004 $0.00123

Measured 6d ago against content hash b9cd13bf79e5, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade B, and why

fulcra-prefs 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 6d 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.

| Hooks installed? | `grep -q fulcra-prefs-hooks ~/.claude/settings.json` (or `~/.codex/hooks.json`; custom `--target-dir` installs won't match this grep) | exits 0 — a managed SessionStart/capture hook is wired | [Onboa
packages/fulcra-prefs/skill/SKILL.md · 80 lines

How it starts

The opening of the file, as written. The whole thing — 80 lines — stays where its author put it; the contents beside it link to each section on GitHub.

fulcra-prefs

The user's preferences and facts live in their Fulcra account as typed, decaying signals, compiled into per-platform preference documents. Your job: LOAD them at session start, APPLY them, and CAPTURE new ones.

Where to start — the re-entrancy probes

Before loading anything, probe how far this user already got. Enter at the first row whose probe fails:

Probe (run in order) Command Passes when If it fails, enter at
Authed? fulcra user-info exits 0 and prints valid JSON Pick your path — install, then fulcra auth login
Onboarded? fulcra-prefs compile (an idempotent write — also drains queued captures; safe anytime) exits 0 (compiled N keys …); exit 2 with not onboarded means no definition / prefs/meta.json yet Onboarding a new userfulcra-prefs onboard
Prefs present? fulcra-prefs inject --platform <your-platform> non-empty output (a rendered preference block) Pick your path tier-1 capture — nothing to load yet; start capturing
Hooks installed? grep -q fulcra-prefs-hooks ~/.claude/settings.json (or ~/.codex/hooks.json; custom --target-dir installs won't match this grep) exits 0 — a managed SessionStart/capture hook is wired Onboarding a new userfulcra-prefs install-hooks --platform <claude-code|codex>

First failure wins. Hooks are optional: a CLI-capable agent runs inject/capture by hand without them, so a hookless-but-onboarded user is fully usable — the last row only tells you whether load/capture is automatic. All four pass → inject at session start already carries their prefs; apply them and capture new ones.

Pick your path

  1. You can run shell commands → use the CLI. Setup once: uv tool install fulcra-prefs (and fulcra auth login if not authed).
    • Load: fulcra-prefs inject --platform <your-platform> → prepend output to your working context. Empty output = no prefs yet; continue silently.
    • Capture: fulcra-prefs capture --key <ns.key> --value '<json>' --strength <-1..1> --platform <your-platform> (see references/fulcra-prefs-capture.md for when and what to capture).
    • Auto-capture: notice preferences passively and record them in one call at session end — fulcra-prefs capture-batch --file <json-array> --platform <your-platform>; mark inferred items lower confidence (compile won't let a guess override an explicit pref). See the capture reference.
    • Text extraction: when you have raw user text but not a hand-built key/value, run fulcra-prefs extract-candidates --platform <your-platform> --session <session_id> --text '<user text>' --write. It only queues explicit preference language; lifecycle hooks still perform the capture.
    • Hooked auto-capture: if fulcra-prefs install-hooks --platform <your-platform> is installed, write candidates during the session to ~/.local/state/fulcra-prefs/candidates/<your-platform>/<session_id>.json; the lifecycle hook drains that file through capture-batch. Prefer the helper command: fulcra-prefs notice --platform <your-platform> --session <session_id> --key <ns.key> --value '<json>' --strength <n>.
    • Refresh: fulcra-prefs compile (run after captures; cheap).
  2. You can make HTTP requests but not run commands → follow references/fulcra-prefs-tier2-http.md (device-flow auth + direct API).
  3. You only have the Fulcra MCP → you can read user data the MCP exposes, but preference write/read of the compiled docs is not available via MCP today. Tell the user to run onboarding from a CLI-capable agent.

Read the full file on GitHub · 80 lines

Files

What ships with it

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

Changes

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.

  1. 6d ago First seen · 80 lines · 38 tokens per session scan B b9cd13bf79e5

Subscribe to this mod's changes

fulcra-prefs is a skill published in the GitHub repository ashfulcra/fulcra-tools (10 stars, last pushed today), licensed MIT. It adds 38 tokens to every session and 1,235 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.

Related

Other skills, from other repositories

magic-compact

Compact this Claude Code session.

aerovato/magic-compact · 10 tokens

mem0-vercel-ai-sdk

Mem0 provider for Vercel AI SDK (@mem0/vercel-ai-provider). TRIGGER when: user mentions "vercel ai sdk", "@mem0/vercel-ai-provider", "createMem0", "retrieveMemories", "addMemories", "getMemories", "searchMemories", "mem0 vercel", "AI SDK provider", "AI SDK memory", or is using generateText/streamText with mem0. Also…

mem0ai/mem0 · 146 tokens

mem0-tour

Browses all stored memories grouped by category with full content display. Use when reviewing all project memories, exploring stored knowledge, onboarding to a project, or getting an overview of captured decisions, conventions, and learnings.

mem0ai/mem0 · 47 tokens

peek

Searches memories and displays compact one-liner results, or looks up a specific memory by ID. Use for quick memory lookups, checking if a decision was recorded, resolving [mem0:id] citations, or browsing memories without full category detail.

mem0ai/mem0 · 52 tokens

agent-carnet

Use this skill when the user asks to save, recall, find, or organize notes. Triggers on: 'remember this', 'save this', 'note this', 'what did we discuss about...', 'check the notebook', 'find in carnet'. Also use proactively when discovering findings worth preserving across sessions.

yamadashy/repomix · 67 tokens

mem0-oss-to-platform

Plan and then execute a migration of a project from the mem0 open-source / self-hosted SDK (the local Memory class) to the mem0 Platform / hosted / managed SDK (the MemoryClient class). Use this whenever a developer wants to move, switch, or migrate their mem0 usage off OSS/self-hosted to the hosted API — e.g.…

mem0ai/mem0 · 273 tokens