product-tenets

A set of four design principles for Codemap, a local tool that records proven code structure in a database so agents can query it with SQL.

In plain words
What is it for?
Use it when designing or reviewing Codemap features, APIs, architecture decisions, or documentation plans.
Why use it?
It gives developers a consistent basis for architecture, API, feature, and trade-off decisions, while keeping the tool’s scope honest.

Skill for Claude CodeCodex

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.

agentmods
npx agentmods add skills/stainless-code/codemap/product-tenets
Any agent
npx skills add stainless-code/codemap --skill product-tenets
Clone the repo
git clone --depth 1 https://github.com/stainless-code/codemap

Made for: Claude Code, Codex.

Per session 68 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,032 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00068 $0.01032
Opus 5 $0.00034 $0.00516
Sonnet 5 $0.00014 $0.00206
Haiku 4.5 $0.00007 $0.00103

Measured 2d ago against content hash 0ff25556e2dc, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

product-tenets 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 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.

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.

.agents/skills/product-tenets/SKILL.md · 48 lines

How it starts

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

Product tenets (north-star)

These four tenets are the design north-star for @stainless-code/codemap; reach for them whenever a decision needs justifying. Codemap is a local codebase intelligence tool: a deterministic, AST-backed SQLite index of structural facts that an agent queries with SQL instead of scanning files — the tenets fall out of that thesis.

1. Structural over semantic

The index carries facts the AST and resolver can prove: symbols, imports, exports, components, calls, dependencies, CSS tokens, markers, scopes, bindings. No embeddings, no LLM-in-the-box, no relevance verdict the tool invented. The agent decides relevance; Codemap answers.

  • Rules out: embedding search as a core surface; "smart" context ranking baked into the index; verdicts dressed as facts.
  • Codemap shape: symbols / dependencies / references / coverage tables; opt-in FTS5 (--with-fts) for body search that JOINs with structure — never the foundation.

2. Predicate-as-API (SQL + recipes)

SQL is the API. Every structural question is a SELECT; every repeated pattern is a named recipe (codemap query --recipe). Verdicts (SARIF, annotations, exit codes) are an output mode of recipes, never a primitive — codemap apply executes diff rows you provide, it doesn't invent fixes.

  • Rules out: pre-baked graph verbs that hide the query; magic "find dead code" buttons with no SQL behind them; severity engines that can't be recomposed.
  • Codemap shape: query --json / --print-sql / --recipe / --recipes-json; apply / apply_rows / apply_diff_input over explicit rows; recipes compose (untested-and-dead, boundary-violations, churn-complexity-hotspots, …).

3. Local-first, agent-native surfaces

A small SQLite file on disk (.codemap/index.db), queried through whatever surface the agent host speaks: CLI, MCP, HTTP. No daemon required to answer; no remote service in the path. The same recipes run in a terminal, an MCP tool, a codemap serve route, or a GitHub Action.

Read the full file on GitHub · 48 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. 2d ago First seen · 48 lines · 68 tokens per session scan A 0ff25556e2dc

Subscribe to this mod's changes

product-tenets is a skill published in the GitHub repository stainless-code/codemap (8 stars, last pushed 8d ago), licensed MIT. It adds 68 tokens to every session and 1,032 once invoked, about $0.0003 per session on Opus 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-08-31.

Related

Other skills, from other repositories

roam

Codebase comprehension via roam-code CLI. Use when exploring codebases, planning modifications, debugging failures, assessing PR risk, or checking architecture health. Triggers on: understanding project structure, pre-change safety checks, finding symbols/files, blast radius analysis, affected tests, health scoring…

Cranot/roam-code · 86 tokens

agentmap

Use for TypeScript/JavaScript codebase navigation — symbol lookup, blast radius, reuse checks, and repo orientation. Prefer agentmap before serial grep when exploring imports, exports, or where a symbol lives. Package is @raymondchins/agentmap (not the unrelated npm package agentmap).

raymondchins/agentmap · 64 tokens

self-repair-pipeline

Runs the full entry point self-repair pipeline. Detects entry points in Ariadne packages or external codebases, triages false positives via sub-agents, plans fixes for each issue group with competing proposals and multi-angle review, and creates backlog tasks.

CRJFisher/ariadne · 57 tokens

analyze-usage

Use when asked to analyze codescout tool usage, check for error patterns, audit tool health, generate a usage report, spot anti-patterns, or clear usage statistics to start fresh.

mareurs/codescout · 42 tokens

m1nd-first

Use when investigating a repository, searching for implementation, reviewing changes, working from specs/docs, or preparing a risky code change in an environment where m1nd is available. This doctrine makes m1nd the first investigative layer before grep, glob, or manual file reads, except when the task is pure…

maxkle1nz/m1nd · 78 tokens

release

Prepare a new release of Ariadne packages. Creates changesets, verifies build/tests, and drafts the PR to main.

CRJFisher/ariadne · 26 tokens