shrtnr CLAUDE.md

Project instructions for the oddbit/shrtnr codebase, covering styling, releases, SDK versions, and specification hashes. An SDK is a package that lets other programs use a service or library.

In plain words
What is it for?
Use them when changing versions, preparing releases for the app or TypeScript, Python, or Dart SDKs, updating changelogs, or checking the API specification hash.
Why use it?
They give contributors consistent rules for changing shared styles, releasing the app, updating SDKs, and keeping generated version hashes current.

Instructions file

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 instructions/oddbit/shrtnr/claude-md
Clone the repo
git clone --depth 1 https://github.com/oddbit/shrtnr
Per session 1,790 This file is loaded in full into every session.
When invoked 1,790 The same file — it is already loaded in full.
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.01790 $0.01790
Opus 5 $0.00895 $0.00895
Sonnet 5 $0.00358 $0.00358
Haiku 4.5 $0.00179 $0.00179

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

Security

Grade A, and why

shrtnr CLAUDE.md 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.

CLAUDE.md · 104 lines

How it starts

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

CLAUDE.md

Styling

  • No inline styles for global design. Use centralized style files imported by components/pages.

Releases

Release tracks (version bump on main drives each):

Target Manifest Tag prefix
Cloudflare Workers app root package.json app-v*
TypeScript/npm SDK sdk/typescript/package.json npm-v*
Python/PyPI SDK sdk/python/pyproject.toml py-v*
Dart/pub.dev SDK sdk/dart/pubspec.yaml pub-v*

Use scripts/bump-sdk-version.sh <npm|python|pub> <version> to bump SDK versions. It edits the manifest, adds a placeholder CHANGELOG entry, and refreshes lockfiles. Replace TODO: fill in release notes. before commit.

On "update the version" / "bump version" / "create a release":

  1. Bump version in the correct manifest per semver. Confirm track if ambiguous.
  2. Add a concise section (paragraph or bullets, not a commit log) to the matching CHANGELOG.md (root, sdk/typescript/, sdk/python/, sdk/dart/).
  3. App track only: the OpenAPI spec embeds info.version from root package.json, so every app version bump stales all three SDK hashes. Before committing, run ./scripts/spec-hash.sh and update x-spec-hash in sdk/typescript/package.json, spec_hash in sdk/python/pyproject.toml, and the # x-spec-hash: comment in sdk/dart/pubspec.yaml in the same commit. CI's sdk-spec-drift gate fails otherwise.
  4. Commit. Do not push.
  5. Dart only: also create the tag locally, do not push: git tag pub-v<version>. pub.dev publishes on tag push. App/npm/Python tag from CI after publish.

Full details: docs/release-automation.md.

SDKs

  • SDK parity. Any change to one SDK under sdk/ must be evaluated and applied to the others (public methods, models, auth, errors, base-URL handling). Single-SDK changes require explicit rationale in the commit message. Default: SDKs move together.
  • README parity. All SDK READMEs stay in lockstep (install, usage, auth, feature list), adjusted only for language idioms. Removing/renaming a documented feature in one requires the same edit in the others.

Read the full file on GitHub · 104 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 · 104 lines · 1,790 tokens per session scan A c2863845112b

Subscribe to this mod's changes

shrtnr CLAUDE.md is an instructions file published in the GitHub repository oddbit/shrtnr (12 stars, last pushed 4d ago), licensed Apache-2.0. It adds 1,790 tokens to every session, about $0.0089 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-30.