Night Market Architecture Contract
Documents the load-bearing design decisions, enforced invariants, and known weak points of the claude-night-market repo for judging design changes.
Dev & CodingAdvanced★ 342⑂ 36AI score 7/10Last updated: Oct 2, 2026
What it does
- States six load-bearing design decisions of the claude-night-market repo, each backed by an ADR, a commit hash, or a checked-in enforcement file: self-contained plugins, the Python 3.9 hook constraint, one ecosystem version fanned out to all manifests, the finite skill-discovery budget, external collective memory/trust, and the three skill roles.
- Gives an invariants table pairing each rule with the thing that enforces it (CI workflows, ratchet scripts, guard tests) and the failure mode if it is weakened.
- Lists six known weak points openly: silent skill-discovery overflow, unpinned mdbook, per-plugin mypy/pytest, reliance on undocumented Stop-hook re-injection for the autonomous loop, and more.
- Includes a 23-row ADR digest, a "use this other skill instead" routing table, exit criteria, and verification commands (
rg,git log,python3) for re-checking volatile facts.
Who it's for
- Contributors to (or forkers of) the claude-night-market repository.
- Tech leads who want a model for documenting architecture rules in a large multi-plugin Claude Code monorepo.
- Anyone looking for a concrete example of wiring ADRs to CI enforcement.
Examples
- Someone proposes consolidating duplicated
tasks_manager.pyacross three plugins — the skill cites ADR-0001 plus commits054e2679(consolidation),29961cd2(revert),d89a55c7(per-plugin copies as the durable fix) to reject the re-proposal. - Before adding a hook — it enforces reading the payload as JSON on stdin (not
CLAUDE_TOOL_*env vars), no relative paths, safe imports under a bare interpreter, and a subprocess timeout under thehooks.jsonbudget. - When bumping a version — never hand-edit manifests; run
uv run python plugins/sanctum/scripts/update_versions.py <version>. - When writing a new skill description — stay under the 160-character cap and spend the characters on trigger phrases rather than restating the name.
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/athola/claude-night-market/HEAD/.claude/skills/night-market-architecture-contract/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the .claude/skills/night-market-architecture-contract folder from the GitHub repo athola/claude-night-market into my ~/.claude/skills/night-market-architecture-contract/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/athola/claude-night-market.git && mkdir -p ~/.claude/skills && cp -r claude-night-market/.claude/skills/night-market-architecture-contract ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal and change into your working directory.
- Clone the repository:
git clone https://github.com/athola/claude-night-market.git - Create the skills directory:
mkdir -p ~/.claude/skills - Copy the skill:
cp -r claude-night-market/.claude/skills/night-market-architecture-contract ~/.claude/skills/ - Restart Claude Code and try a prompt like "review this design change" to confirm the skill loads.
- Note: every path and command inside this skill only resolves within the claude-night-market repo. Elsewhere, read it as a reference template and rewrite the facts for your own codebase.
View source on GitHub ↗License: MIT