zafiro-config

zafiro-config is a skill for Claude Code, Codex from niki914/zafiro. It costs 0 tokens per session (1,671 once invoked), scanned A, original, MIT.

A guide for reading and changing Zafiro's settings, which are stored as JSON files in the app's private storage.

In plain words
What is it for?
It is for managing agent profiles, execution rules, takeover rules, MCP servers, custom Python tools, text actions, saved language-model settings, and app preferences.
Why use it?
It reduces the risk of editing the wrong file or damaging settings by describing where each kind of configuration lives and how changes take effect.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit It is for managing agent profiles, execution rules, takeover rules, MCP servers, custom Python tools, text actions, saved language-model settings, and app preferences.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/niki914/zafiro/zafiro-config
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 niki914/zafiro --skill zafiro-config
Clone the repo
git clone --depth 1 https://github.com/niki914/zafiro

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 zafiro-config

README.md
[![agentmods](https://agentmods.dev/badge/skills/niki914/zafiro/zafiro-config/github.svg)](https://agentmods.dev/skills/niki914/zafiro/zafiro-config)
Your own site
<a href="https://agentmods.dev/skills/niki914/zafiro/zafiro-config"><img src="https://agentmods.dev/badge/skills/niki914/zafiro/zafiro-config/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.

agentmods 80×15 button for zafiro-config

Your own site · 80×15
<a href="https://agentmods.dev/skills/niki914/zafiro/zafiro-config"><img src="https://agentmods.dev/badge/skills/niki914/zafiro/zafiro-config.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 0 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,671 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. 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.00000 $0.01671
Opus 5.5 $0.00000 $0.00668
Sonnet 5.5 $0.00000 $0.00334
Haiku 4.5 $0.00000 $0.00167

Measured 3d ago against content hash 81719f13be64, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

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

app/src/main/assets/skills/zafiro-config/SKILL.md · 107 lines

How it starts

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

Zafiro config

Zafiro keeps its settings as plain JSON files in its own sandbox. There is no config tool and no API: you read and write those files directly with execute_python or shell. This skill gives you the file map, the shape of each file, the rules that keep you from damaging user data, and how long a change takes to take effect.

Where the settings live

/data/user/0/<package>/files/settings/

You do not need to know <package> in advance. Look around the Zafiro sandbox you are already running inside, find the directory that contains settings/, and work from there. Read the directory listing before each write so you always operate on the file that actually exists, rather than one you assumed.

If a file below does not exist yet, Zafiro falls back to a built-in default. Writing the file for the first time is normal and correct.

The files

File Holds Shape
app_state.json app preferences: theme, language, floating ball, notifications, markdown scale, draft text, pinned conversations flat object, one key per setting
tools/builtin_tools.json which built-in tools are on {"version":2,"enabled":{"<tool_name>":true}}
tools/custom_py_tools.json custom Python tools {"tools":[{name,code,description,schema_json,enabled,timeout_ms}]}
tools/mcp/servers.json MCP servers {"servers":[{name,url,enabled,headers}]}
tools/mcp/service.json Zafiro exposing its own tools over MCP to a PC flat object: enabled, port, host, bearerToken, exposedTools, keepScreenOn
tools/text_actions.json text-selection actions {"actions":[{name,prompt,enabled,requires_screenshot,run_in_background}]}
rules/execution_rules.json command safety rules {"rules":[{id,name,enabled_mode,patterns}]}
rules/takeover_rules.json voice-assistant takeover rules {"rules":[{id,name,enabled,target,patterns}],"default_target":{...}}
agents/registry.json agent profiles {"agents":[{id,name,alias,enabled,order,memory_mode,created_at,updated_at}]}
agents/<id>/memory.json one agent's saved memories {"memories":[{id,content,created_at,updated_at}]}
llm/saved_configs.json saved model configs and the active one {"active_id":"...","prompt":"...","configs":[{id,name,provider,endpoint,api_key,model,protocol,supports_images,proxy,thinking_level,max_tokens,context_window_tokens,created_at,updated_at}]}

Read the full file on GitHub · 107 lines

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. 3d ago First seen · 107 lines · 0 tokens per session scan A 81719f13be64

Subscribe to this mod's changes

zafiro-config is a skill published in the GitHub repository niki914/zafiro (263 stars, last pushed 2d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,671 tokens. 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-10-14.

Related

Other skills, from other repositories

mac-cleanup

Clean and reclaim disk space on a Mac using native CLI tools and a dry-run-first script. Use whenever the user mentions Mac disk space, System Data bloat, purgeable space, Finder vs df mismatch, Time Machine local snapshots, Xcode DerivedData or simulators, Docker images, Homebrew/npm/pip/pnpm/yarn/go caches, leftover…

JosephSanjaya/skills · 151 tokens

tmux

Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output. Use when: (1) monitoring Claude/Codex sessions running in tmux, (2) sending input to interactive terminal applications, (3) scraping output from long-running processes inside tmux, (4) navigating tmux panes/windows…

opensquilla/opensquilla · 113 tokens

agent-initialization

Initialize or extend an Agent from a user requirement - write AGENTS.md, set identity metadata, and create, install or import Skills and hook packages (scripts the harness runs on every prompt, before tool calls, or after a task). For an Agent with an in-app workbench, pair with penguin-plugin; for a standalone…

Prism-Shadow/penguin-harness · 79 tokens

automation

Create and manage scheduled and price-triggered automations.

ginlix-ai/LangAlpha · 13 tokens

co-mail-and-drive

Read and send mail from the user's own Gmail or Outlook account, safely stage Gmail draft attachments, send from the agent's own address, manage Outlook contacts and the Outlook calendar, and work with Google Drive files — with co gmail, co outlook, co email, and co gdrive. Use when the user asks about their inbox, an…

openonion/connectonion · 103 tokens

computer-history

Answer questions about what the user recently did on their computer — who contacted them, what they were working on, where they left off — by reading the local Computer History summaries and raw event streams.

MemTensor/memmy-agent · 42 tokens