Skip to content
Development
Skill

/night-market-config-catalog

Catalog every config axis, its defaults and guards. Use when adding or auditing configuration. Do not use for running gates; use night-market-operations.

From plugin
claude-night-market
343200 skills60 agents162 commands1 MCP

Claude Code

$ npx -y skills add athola/claude-night-market --skill night-market-config-catalog --agent claude-code

SKILL.md

night-market-config-catalog.SKILL.md
name: night-market-config-catalog
description: Catalog every config axis, its defaults and guards. Use when adding or auditing configuration. Do not use for running gates; use night-market-operations.

Night Market Config Catalog

Every configuration axis in this repo: where it lives, what the options and defaults are, whether it is production policy or an experimental opt-in, and what guards it. Flags drift, so every axis ends with a one-line re-verification command. Run it before trusting a value stated here.

Terms used once, defined once:

  • **Axis**: one independently tunable configuration surface (a

file, a key, or an environment variable).

  • **Guard**: the mechanism that notices when the axis breaks or

drifts (a test, a pre-commit hook, a CI job, or a script).

  • **Shadow mode**: a hook that evaluates and warns but does not

block. The blocking posture is opt-in.

Axis table

| Surface | File | Key options and defaults | Status | Guarded by | |---------|------|--------------------------|--------|------------| | Repo Claude settings | `.claude/settings.json` | Keys: `description`, `workflowSizeGuideline` (`medium`, see plan-before-large-dispatch), `worktree` (`baseRef: head`). NO hooks registered at repo level; all active hooks ship from plugins | Production invariant | Convention; see night-market-architecture-contract; `tests/test_workflow_spend_posture.py` | | Behavioral rules | `.claude/rules/*.md` (11 files) | bounded-autonomy, bounded-discovery, ceremony-requires-need, markdown-formatting, plan-before-large-dispatch, prefer-invariants-over-fallbacks, prefer-rg-over-grep, shared-utility-consumer-rule, skill-exit-criteria, slop-scan-for-docs, ste-for-operator-and-procedures | Production | slop CI, pre-commit, review practice | | Python toolchain | root `pyproject.toml` | See "Root pyproject tool tables" below | Production | Pre-commit hooks, `typecheck.yml`, `security.yml` | | Per-plugin coverage | `plugins/*/pyproject.toml` `[tool.nightmarket]` | `coverage_threshold = 90` in 19 plugins, 85 in gauntlet (20 files total) | Production | Read by `scripts/run-plugin-tests.sh` | | Pre-commit pins | `.pre-commit-config.yaml` | Remote pins: pre-commit-hooks v6.0.0, bandit 1.8.6 (last release supporting the 3.9 system interpreter). Ruff runs from a local repo via the uv-managed binary so hook and `make format` share one version | Production | `scripts/check_pinned_versions.py`, `python39-compat.yml` | | Plugin manifest trio | `plugins/<p>/.claude-plugin/plugin.json`, `.claude-plugin/metadata.json`, `openpackage.yml` | All three carry `version` in lockstep with the marketplace (1.9.15 at compile time) | Production | `plugins/sanctum/scripts/update_versions.py`, `plugins/abstract/scripts/validate_plugin.py` | | Marketplace version | `.claude-plugin/marketplace.json` top-level `version` | Single ecosystem version, source of truth for the fan-out | Production | `update_versions.py <version>` bumper | | MCP servers | `.mcp.json` | One stdio server: `markitdown` via `uvx markitdown-mcp` | Production | Manual | | LSP config | `.cclsp.json` | `pylsp` for py/pyi; `typescript-language-server` for js/ts and markdown | Production | Manual | | Feature-review scoring | `.feature-review.yaml` | `version: 1`; weight tables for value and cost; thresholds `high_priority` 2.8, `medium_priority` 1.8, `confidence_warning` 0.6 | Production | Consumed by imbue:feature-review | | Egregore runtime config | `.egregore/config.json` (runtime file, created in the target repo, not committed here) | Nested dataclasses in `plugins/egregore/scripts/config.py`: overseer, alerts, pipeline, budget, discussions. `pipeline.completion_integrity = False` | Experimental opt-in flag inside production config | Unit tests in `plugins/egregore/tests/test_config.py` (default, roundtrip, and raw-JSON opt-in paths) | | Conjure delegation | `~/.claude/hooks/delegation/config.json` (runtime file, per machine, not committed here) | Top-level `enabled` defaults to on when absent; only an explicit `false` opts out. `services` overrides per-provider `ServiceConfig` fields | Production, default-on | `plugins/conjure/tests/scripts/test_delegation_executor.py::TestDelegationIsOnUnlessRefused` | | Herald Stop-hook judge | `plugins/herald/hooks/hooks.json` + env vars | Stop hook `double_shot_latte.py` registered with `timeout: 10`; internal `LLM_TIMEOUT_SECONDS = 8` | Hook production, LLM path experimental | Guard test asserts LLM timeout stays under the registered hook budget |

Root pyproject tool tables

Root `pyproject.toml` (version 1.9.15, `requires-python >=3.12`) carries these tables:

  • `[tool.ruff]`: line-length 88, target-version py312.
  • `[tool.ruff.lint]` select: E, W, F, I, B, C4, UP, PLC0415,

PLR0913. extend-ignore: E501, B007, B008, B905, E402, and UP017. UP017 is load-bearing: it keeps `timezone.utc` instead of the 3.11+ `datetime.UTC` alias because hook scripts must import under the system Python 3.9. Removing it re-breaks hooks (this has happened three or more times, and an AST test now holds the line).

  • `[tool.ruff.lint.per-file-ignores]`: tests get S-series and

assert allowances; `**/__init__.py` gets F401; `**/hooks/*.py` gets BLE001, PLC0415, E402 (resilience lazy imports); `scripts/*.py` gets E402.

  • `[tool.pytest.ini_options]`: `norecursedirs` includes

`plugins/*`, so plugin tests MUST run per-plugin. Markers: unit, integration, e2e, slow, network, plugin, skill, hook, command, bdd, benchmark. `--strict-markers` is on.

  • `[tool.coverage.report]`: `fail_under = 85` at root.
  • `[tool.mypy]`: `python_version = "3.12"` with strict-leaning

flags (`disallow_untyped_defs`, `warn_unused_ignores`, etc.).

  • `[tool.uv.workspace]` members: plugins/abstract,

plugins/leyline, plugins/conserve, plugins/core (a minimal set for linting, not all 26 plugin dirs).

  • `[tool.bandit]` skips: B101, B103, B105, B108, B110, B112,

B310, B311, B404, B603, B607, B608. Each skip has an inline ra

Read more
@athola
Ships withclaude-night-market

A plugin marketplace for Claude Code. Install only the plugins you need to run git workflows, code review, spec-driven development, and autonomous agents from inside your Claude Code session.

343200 skills60 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
343
Star history of athola/claude-night-market on GitHub, a chart by star-history.com

Other skills on claude-night-market.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about night-market-config-catalog.

Which coding agents can use night-market-config-catalog?
night-market-config-catalog installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.