Borrowing it
Nothing to install: this file belongs to BeppeTemp/cartographer. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/BeppeTemp/cartographer/main/.claude/skills/cartographer-audit-clients/SKILL.mdgit clone --depth 1 https://github.com/BeppeTemp/cartographerWrote 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/beppetemp/cartographer/cartographer-audit-clients)<a href="https://agentmods.dev/skills/beppetemp/cartographer/cartographer-audit-clients"><img src="https://agentmods.dev/badge/skills/beppetemp/cartographer/cartographer-audit-clients/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/beppetemp/cartographer/cartographer-audit-clients"><img src="https://agentmods.dev/badge/skills/beppetemp/cartographer/cartographer-audit-clients.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.00088 | $0.01033 |
| Opus 5.5 | $0.00035 | $0.00413 |
| Sonnet 5.5 | $0.00018 | $0.00207 |
| Haiku 4.5 | $0.00009 | $0.00103 |
Grade A, and why
cartographer-audit-clients 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 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.
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 — 73 lines — stays where its author put it; the contents beside it link to each section on GitHub.
cartographer-audit-clients — what changed in the supported clients, and what to do
The baseline is docs/harnesses.md (one ## <provider-id> section per client);
the matrix it protects is destinationMatrix
(internal/provisioning/provisioning.go), projectDestinationMatrix
(internal/provisioning/workspacescope.go) and the descriptors in
internal/configurator/registry.go. Why this is a procedure and not a CI job:
D292.
Invariants
- Read-only on the machine, except probe sentinels under a temp directory that you remove afterwards.
- Never install, upgrade or log in to a client without the operator's explicit OK. An uninstalled client is reported, not installed.
- Documentation is not evidence. A change that would flip a matrix cell is confirmed with a probe (sentinel plus negative control), never from a changelog line.
- Capability, not version. A version string does not say whether a feature is live; probe the behaviour, in every mode that exists (default engine, opt-in engine, interactive, non-interactive).
- The repository is public (D259): reports, ledger edits and issues use
placeholder names (
$HOME/...,user,example.com), never real paths, hosts or KB names.
Procedure
- Scope. One client by name, or all of them. Read its section in
docs/harnesses.md. - Current version. Use the ledger's package source. Report installed versus latest released versus the ledger's Aligned with.
- Delta. Read the changelog or release notes since the ledger version
only. For each client with a new version, spawn one
cartographer-source-reader(spawn it withAgent,subagent_type: cartographer-source-reader,run_in_background: true) with that client's release-note URLs from its ledger section, the version range and the cells to look for (skills, agents, hooks, MCP, instruction paths, transcripts); the readers are read-only, so run them in parallel, and compare their digests against the matrix here. Keep the entries that touch a Cartographer surface: the kinds (skill, agent, hook, instructions, mcp) and their destinations; file formats (agent fields, hook schema, MCP config keys); restriction keys (D291); session triggers (docs/sync.md§Layer 1); project-local scopes (D193); instruction slots. Ignore the rest. - Classify each kept entry:
no-impact— noted in the report only;doc— a current-state doc or a code comment is now wrong (renamed path, new canonical location, D192-style divergence);cell— a matrix cell, translator or native key may change (new kind supported, format change, deprecation);watch— matches the trigger of an open watch issue listed in the ledger.
- Verify every
cellandwatchentry with the recipes inreferences/probes.md, from a temp directory unrelated to any project, no custom--agent, default engine first. A probe that needs an install, upgrade or login stops and asks the operator. Outcome per entry:confirmed,refutedornot-verifiable(say why). - Act.
- Report, always, as a table: client · entry · class · probe outcome · action.
doc→ fix in the same PR as the ledger update.cellconfirmed → a plan issue via thecartographer-propose-planskill. Never change matrix code from inside this skill.watch→ comment the outcome on the watch issue; close it only when its trigger fired and the follow-up plan exists.- Ledger → bump Aligned with to the reviewed version and date, update
sources and watch items, never replace a version with a guess. One docs-only
PR (
docs: …, a scope other than the canonical ones failspr-title) for the whole pass.
What ships with it
1 file 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.
- 6d ago Changed 531ca2b9ff5b
- 8d ago First seen · 73 lines · 88 tokens per session scan A b19b95f2beff
cartographer-audit-clients is a skill published in the GitHub repository BeppeTemp/cartographer (50 stars, last pushed today), licensed Apache-2.0. It adds 88 tokens to every session and 1,033 once invoked, about $0.0004 per session on Opus 5.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-10-22.
Other skills, from other repositories
openlore
Query and publish to an OpenLore knowledge repository over SSH using ordinary shell commands. Use when a task needs project documentation, runbooks, shared team knowledge, or a place to publish findings.
lemmalog
Externalize working memory and logical state into the lemmalog Datalog engine (MCP). Use for ANY multi-step task where state should outlive one context window or span agents: long investigations, debugging sessions, audits, multi-agent searches, systematic explorations, planning with many interdependent constraints…
prolong
Recover and use durable coding-session history from PRO-LONG's local append-only log. Use on long-running coding tasks, after context compaction or session resume, when reconstructing prior decisions or tool results, or before repeating work that may already have been attempted.
binder-app
Build a small HTTP app (dashboard, kanban board, admin panel, custom UI) on top of an existing Binder workspace. Use when asked to "create an app", "build a dashboard", "show records in a chart", "make a kanban/board", "build an admin panel", or "add a UI on top of binder".
binder-import
Import external data into a Binder workspace. Handles CSV, JSON, YAML, Markdown files, and directories of Markdown. Use when asked to "import data", "load records from a file", "ingest documents", "migrate data into binder", or bulk-create records from an external source.
capture-task
Capture a new task — create a draft or pending Task record from a rough idea or detailed spec. Use when asked to "add a task", "log a bug", "create a task", or "add to backlog".