CLAUDE.md · git:20261004.f4b739f · 2026-10-04 · sha256 b4011a4841c2a4af
CLAUDE.md git:20261004.f4b739fA
Immutable. This exact content never changes and is served at /api/v1/blob/b4011a4841c2a4af.
# CLAUDE.md Repo-wide rules for AI agents and contributors working in this repository. See also [AGENTS.md](AGENTS.md) for skill-authoring conventions and [SKILL-SPEC.md](SKILL-SPEC.md) for the skill quality standard. ## Versioning & Releases - **`CHANGELOG.md` is the source of truth.** The newest `## vX.Y.Z — YYYY-MM-DD` heading is the released version. - **Keep every version in sync.** `.claude-plugin/marketplace.json`, every plugin's `.claude-plugin/plugin.json`, and the newest `CHANGELOG.md` heading always carry the same version number. There is no independent per-plugin versioning — a change to any one plugin bumps the version everywhere. - **Semver:** breaking change = major. New skill, new command, or changed behavior = minor. Fix or docs-only change = patch. - Every user-facing change gets a bullet in `CHANGELOG.md` under `## Unreleased` before it becomes part of a numbered release. ## Release Procedure (manual, until CI enforcement exists) 1. Rename `## Unreleased` in `CHANGELOG.md` to `## vX.Y.Z — YYYY-MM-DD`. 2. Set that same version number in `.claude-plugin/marketplace.json` and every `plugin.json` file in the repo (currently seven: root, `product-marketing-context`, `pmm-positioning`, `pmm-go-to-market`, `pmm-execution`, `pmm-toolkit`, `pmm-growth`, `pmm-meta`). 3. Commit all of the above together in one commit. ## Connectors - Skills name tools by category, written with two tildes before the name and wrapped in backticks, never by vendor. Example: the call recordings category, not a specific recording product. - Every category used in a skill must be listed in that plugin's `CONNECTORS.md`, and every category there must exist in the root `CONNECTORS.md`. The structure check enforces this. - A plugin that ships a `.mcp.json` must name each of its servers in its `CONNECTORS.md`. Each server needs `type` and `url`. - Connectors are read-only by default, pulled facts are drafts until the user confirms, and every skill with a connector block must still work by paste when no connector is present. ## After Any Repo Change Before committing, ask: does this change reference a skill, command, or file that actually exists? Check the folder, not just memory of what was planned. This repo's biggest source of past errors was documentation describing features that were never built.