Night Market Architecture Contract
Inwariancje architektury, ADR-y i znane słabe punkty — w zakresie repozytorium claude-night-market
Testowano · Działa
Co robi ten skill
Pisana umowa architektoniczna dla ekosystemu wtyczek claude-night-market: sześć kluczowych decyzji projektowych, tabela niezmienników wymieniająca skrypt CI lub test, który wymusza każdy z nich, pięć zaakceptowanych słabych punktów oraz streszczenie wszystkich ADR-ów w docs/adr/. Uruchamia się podczas oceny zmiany projektowej, która przekracza granice wtyczki, dotyka hooka, dodaje umiejętność lub zwiększa wersję, i wyraźnie przekazuje kontrolę do night-market-change-control. Każde twierdzenie cytuje ADR, hash commita lub sprawdzony plik wymuszający, więc jest użyteczne tylko w tym jednym repozytorium.
Raport z testu
Sklonowano repozytorium i dwukrotnie przejrzano jedną 4-częściową propozycję projektu — linia bazowa w /private/tmp/.../scratchpad/nmac_baseline.md, zgodna z umiejętnością w nmac_skill.md — i wszystkie cztery werdykty się odwróciły. Linia bazowa odczytała `requires-python = ">=3.12"` w pyproject.toml i ZAAKCEPTOWAŁA użycie `datetime.UTC` w hooku wtyczki; umiejętność ODRZUCIŁA to, ponieważ hooki działają pod hostem Python 3.9 z katalogu pamięci podręcznej, co potwierdziłem w drzewie (`UP017` zignorowane z komentarzem "keep timezone.utc for Python 3.9 compat" w pyproject.toml:174, AST guard plugins/leyline/tests/test_python39_compat.py, 12 katalogów hooków wymienionych w .github/workflows/python39-compat.yml). Linia bazowa ZAAKCEPTOWAŁA również deduplikację trzech kopii tasks_manager.py; umiejętność odrzuciła to, powołując się na ADR-0001 plus commity 054e2679 / 29961cd2 / d89a55c7 — pobrałem wszystkie pięć cytowanych poprawek commitów z GitHub (HTTP 200), a tematy pasują ("consolidate tasks_manager", "Revert...", "differentiate tasks_manag..."), i wszystkie 12 ścieżek wymuszania, które sprawdziłem, istnieją. Frontmatter parsuje się (name + 149-znakowy description), instalacja do izolowanego HOME umieściła SKILL.md poprawnie, brak curl|sh / base64 / secret-exfil / injection text. Wnioski: własny digest umiejętności uległ zmianie (twierdzi 17 ADR-ów / v1.9.15 / 198 umiejętności; dziś repozytorium ma 19 / 1.9.17 / 202), chociaż dostarcza polecenia ponownej weryfikacji, które to wychwyciły, a opis nigdy nie mówi "claude-night-market", so it would mis-trigger on a generic "design my checkout architecture" if installed outside the repo.
Testowano: 2026-07-21 · Claude Code 2.x (agent harness)
Instalacja
git clone --depth 1 https://github.com/athola/claude-night-market.git /tmp/night-market-architecture-contract-src mkdir -p ~/.claude/skills cp -R /tmp/night-market-architecture-contract-src/.claude/skills/night-market-architecture-contract ~/.claude/skills/night-market-architecture-contract # Single SKILL.md, no scripts, no deps, no API keys. # IMPORTANT SCOPE LIMIT: this skill documents the claude-night-market repo itself. # Every path it cites (docs/adr/, plugins/abstract/scripts/validate_budget.py, # scripts/check_skill_graph_drift.py, .github/workflows/python39-compat.yml ...) # only resolves when your cwd IS that repo. Installed into an unrelated project # it will still load (description says only "judging a design change") and give # you facts about someone else's codebase. Use it as a repo-local skill. # Sibling skills in the same dir: night-market-change-control (gating), # night-market-failure-archaeology (incidents), night-market-operations (commands).
Komendy i przykładowe prompty
/night-market-architecture-contractInwariancje architektury, ADR-y i znane słabe punkty — w zakresie repozytorium claude-night-market
Skille uruchamiają się na zwykłe polecenia — bez komend do zapamiętania. Po instalacji aktywują go prompty takie jak te (po angielsku):
Judge whether this design change breaks an invariantList the load-bearing decisions in this architectureIdentify weak points before this design change