Skip to content
Back to skills

Cartographer Audit Clients

ASecurity

Use when the user asks to check, audit or re-verify an agent client (Claude Code, Codex, Kiro, OpenCode, Antigravity, Crush, Copilot CLI, Pi, Cline), to see what changed in a client release, or to refresh docs/harnesses.md — re-aligns Cartographer with the clients it supports: what changed since the last review and what to do about it.

  • 55 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
ai-agentsgodocumentation

Works with

  • claude code
  • cli
  • mcp

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned November 11, 2026

npx -y skills add BeppeTemp/cartographer --skill cartographer-audit-clients --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cartographer Audit Clients?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Cartographer Audit Clients
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/beppetemp-cartographer-audit-clients/badge)](https://www.skillsdirectory.com/skills/beppetemp-cartographer-audit-clients)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: cartographer-audit-clients
description: "Use when the user asks to check, audit or re-verify an agent client (Claude Code, Codex, Kiro, OpenCode, Antigravity, Crush, Copilot CLI, Pi, Cline), to see what changed in a client release, or to refresh docs/harnesses.md — re-aligns Cartographer with the clients it supports: what changed since the last review and what to do about it."
---

# 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/contract/provisioning.go`), `ProjectDestinationMatrix`
(`internal/provisioning/contract/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

1. **Scope.** One client by name, or all of them. Read its section in
   `docs/harnesses.md`.
2. **Current version.** Use the ledger's package source. Report installed versus
   latest released versus the ledger's **Aligned with**.
3. **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 with
   `Agent`, `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.
4. **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.
5. **Verify** every `cell` and `watch` entry with the recipes in
   `references/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`,
   `refuted` or `not-verifiable` (say why).
6. **Act.**
   - Report, always, as a table: client · entry · class · probe outcome · action.
   - `doc` → fix in the same PR as the ledger update.
   - `cell` confirmed → a plan via the `cartographer-propose-plan` skill. 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 fails `pr-title`) for the whole pass.

A dry run (no PR) prints the report table and the ledger diff and touches no
other file.

Files in this skill

  • SKILL.md4.2 KB
  • references/probes.md20.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.