Agent skill

Night Market Build And Env

by athola in athola/claude-night-market

Rebuild the dev environment: uv, Python tiers, pins, traps. An agent skill from athola/claude-night-market.

MITAuto-check passedDevelopment

Install Night Market Build And Env

skills CLI
$ npx skills add athola/claude-night-market --skill night-market-build-and-env -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install athola/claude-night-market night-market-build-and-env --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/athola/claude-night-market.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/night-market-build-and-env .claude/skills/night-market-build-and-env && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
night-market-build-and-env
GitHub stars
341
Token cost
~2.7k tokens
SKILL.md length
1,359 words
Files
1
Skills in repo
152
Repo updated
First seen
Licence
MIT

At a glance

Rebuild the dev environment: uv, Python tiers, pins, traps. An agent skill from athola/claude-night-market.

  • Toolchain breaks
  • SKILL.md covers Toolchain setup, First-hour verification sequence, Python version tiers and Known traps, plus 3 more sections
  • Calls uv, make and rg
  • Use night-market-operations

What it does

Night Market Build And Env is an agent skill from athola/claude-night-market. Rebuild the dev environment: uv, Python tiers, pins, traps. Use when onboarding or toolchain breaks. Do not use for daily commands; use night-market-operations.

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development. It works with Python. The repository describes itself as: 23 Claude Code plugins: TDD enforcement hooks, git/PR workflows, spec-driven development, code review, project lifecycle, fix-from-error, maintenance automation, context… The licence is MIT.

When your agent uses it

  • Toolchain breaks
  • Use night-market-operations

Example prompts

  • “/night-market-build-and-env”

Requirements

  • Python 3
  • Node.js

What it can do on your machine

Read from SKILL.md and the folder at commit 9f3eb00. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • uv
    • make
    • rg
    • gh
    • cargo
    • git
    • python3
    • brew
    • node
    • npm
    • ruff

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use uv, gh, git and npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Night Market Build And Env loads about 2.7k tokens when it runs. Until then it costs about 47 tokens; SKILL.md has 1,359 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~47
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from athola/claude-night-market at commit 9f3eb00, republished under its MIT licence (© athola). 1,359 words, ~2,709 tokens.

Download SKILL.mdSave it as .claude/skills/night-market-build-and-env/SKILL.md (or your agent's skills folder).
name
night-market-build-and-env
description
Rebuild the dev environment: uv, Python tiers, pins, traps. Use when onboarding or toolchain breaks. Do not use for daily commands; use night-market-operations.

night-market-build-and-env

Recreate a working claude-night-market development environment from a bare machine, verify it in under an hour, and avoid the traps that have broken it before. Everything below was verified against the repo on 2026-07-02 (v1.9.15).

One rule dominates: every Python tool runs through uv run. uv is Astral's Python package and environment manager. On first uv run it creates .venv/ and syncs it from uv.lock. Never install repo dependencies with bare pip.

Toolchain setup

Install in this order. "via uv" means the tool resolves from uv.lock automatically. There is no manual install step for those rows.

#ToolRequired?Install hintVerify command
1uvREQUIREDofficial installer at astral.sh/uvuv --version
2Python 3.12REQUIREDuv python install 3.12python3 --version
3make + bashREQUIREDGNU make 3.82+ (Xcode CLT ships 3.81, which ignores .SHELLFLAGS; brew install make, run gmake)make --version
4ruff >=0.14.13via uvnone (dev dependency in uv.lock)uv run ruff --version
5banditvia uvnone (pre-commit env is pinned separately, see traps)uv run bandit --version
6mypy >=1.13via uvnoneuv run mypy --version
7pre-commit >=4via uvuv run pre-commit installuv run pre-commit --version
8Python 3.9optionaluv python install 3.9uv venv --python 3.9 /tmp/py39-check
9node + npmoptionalneeded for conjure Gemini delegationnode --version
10Rust + cargooptionalrustup (only for make skrills-build)cargo --version
11skrills binaryoptionalmake skrills-build or make skrills-installmake skrills-verify
12mdbookoptionalcargo install mdbook; builds book/mdbook --version
13gh CLIoptionalcli.github.com (releases and Discussions)gh --version

Notes on the optional rows:

  • Python 3.9 is ONLY for local hook-compatibility testing. Hooks are scripts Claude Code runs on tool events under the host system Python (macOS ships 3.9.6), outside any virtual environment. CI enforces this in .github/workflows/python39-compat.yml.
  • The conjure plugin delegates to Gemini. The root package.json pins @google/gemini-cli at ^0.25.1. Run npm install at the repo root only if you use conjure delegation.
  • skrills is a Rust CLI that validates and analyzes skill files. Every Makefile target that uses it (make validate-skills, make analyze-skills) has a Python fallback, so you can skip Rust entirely.
  • gh is needed for releases and for GitHub Discussions. Discussions have no gh discussion subcommand. They are reachable only through gh api graphql.

Version numbers observed on the reference machine (2026-07-02): uv 0.8.22, Python 3.12.3, ruff 0.14.13, mypy 1.19.1, bandit 1.9.2, pre-commit 4.5.1. Newer versions of uv are fine. The ruff version must match uv.lock (see traps).

First-hour verification sequence

Run these in order after installing rows 1-3 above. Each step lists the output shape that means success.

Step 1: clone and check uv.

bash
git clone git@github.com:athola/claude-night-market.git
cd claude-night-market
uv --version

Expected: a single line like uv 0.8.22. Any 0.8+ version works. CI pins astral-sh/setup-uv@v8.2.0.

Step 2: validate all plugin structures (also proves the venv syncs).

bash
make validate-all

Expected: one block per plugin (26 directories) shaped like:

text
>>> Validating plugins/abstract:
Plugin Validation Report: abstract
...
OK Plugin validation passed

Blue "Recommendations" lines are advisory and fine. A red failure line or (validation failed) is not.

Step 3: run one fast plugin test suite.

bash
make -C plugins/leyline test

Expected: verbose pytest output ending with a coverage table and a summary like 710 passed, 6 warnings in 9.96s (counts and timing drift, but zero failures is the invariant). This proves uv run, pytest, and per-plugin coverage thresholds all work.

Step 4: install the git hooks.

bash
uv run pre-commit install

Expected: pre-commit installed at .git/hooks/pre-commit. From now on commits run the full hook chain (file validation, bandit, ruff, mypy, changed-plugin tests, structure validation). Never bypass it with --no-verify; CONSTITUTION.md forbids that.

If any step fails, load night-market-debugging-playbook.

Python version tiers

This is the number-one onboarding misconception. The README says "Python 3.9+ for hooks", and newcomers read that as "the repo runs on 3.9". It does not. There are three tiers:

TierVersionEnforced byWhy
Root tooling (pytest, ruff, mypy)3.12root pyproject.toml requires-python = ">=3.12", ruff target-version = "py312", mypy python_version = "3.12"dev toolchain runs inside the uv venv
Plugin packagesvaries, 3.9 to 3.12each plugins/<name>/pyproject.tomlplugins are independent deployables (ADR-0001)
Hook import chains3.9.github/workflows/python39-compat.ymlhooks run under the HOST system Python (macOS 3.9.6), outside any venv

Per-plugin requires-python as of 2026-07-02 (22 of 26 plugin dirs have a pyproject.toml):

  • 3.12: abstract, conjure (also <3.14), imbue, leyline, minister, sanctum, scry
  • 3.10: attune, conserve, hookify, memory-palace, parseltongue, pensive, scribe, spec-kit
  • 3.9: archetypes, egregore, gauntlet, herald, oracle, phantom, tome

Why the hook tier exists: Claude Code executes hook scripts with whatever interpreter the host provides, not the repo venv. A hook file AND everything it transitively imports must therefore stay 3.9-compatible, even inside a plugin whose package requires 3.12. CI enforces this with two gates in python39-compat.yml: gate 1 runs ruff check --select UP007 --target-version py39 on hook files (bare X | Y union annotations), gate 2 builds a real 3.9 venv with uv venv --python 3.9 and runs hook tests with --override-ini="addopts=".

Consequences you must respect in hook-reachable code:

  • Use timezone.utc, never datetime.UTC (a 3.11+ alias). The root ruff config extend-ignores UP017 specifically so autofix does not reintroduce the alias. This break recurred three times before the ignore plus an AST guard test held the line.
  • Guard third-party imports (yaml, anthropic) in hook entrypoints. The system interpreter has none of the repo's dependencies, and an unguarded import makes every git commit emit ModuleNotFoundError.
Show full SKILL.md (491 more words)Show less

Known traps

TrapSymptomFix or guard
setup-uv@v8 bare tagCI fails: the bare v8 tag does not exist upstreampin exact tag astral-sh/setup-uv@v8.2.0 (commit f81d89a5). Guard: scripts/check_pinned_versions.py
bandit 1.9+ under system 3.9pre-commit bandit hook env fails to install.pre-commit-config.yaml pins rev: 1.8.6, the last release supporting 3.9 (commit 25bf5a9d). The project-venv bandit (1.9.x via uv run) is a different install and is fine
stale .uv-tools binary shadows ruffbare ruff reports an old version (0.7.3 observed) and disagrees with CIroot Makefile sets UV_TOOL_DIR ?= $(abspath .)/.uv-tools and prepends .uv-tools/ruff/bin to PATH. Always lint via make lint or uv run ruff, never bare ruff. Guard: scripts/check_ruff_version.py compares uv.lock to PyPI
root pytest silently skips pluginsuv run pytest at the root collects only tests/, never plugin testsroot pyproject.toml sets norecursedirs = ["plugins/*", ...] on purpose (root conftest.py documents ImportPathMismatchError). Run make -C plugins/<name> test or make <name>-test
imbue coverage artifactsevery pytest run in plugins/imbue writes htmlcov/, coverage.xmlimbue's pytest addopts force --cov=scripts with term, html, and xml reports. Artifacts are gitignored. Expect them and never commit them
make skrills-build failsError: skrills repo not found at $HOME/skrillsSKRILLS_REPO defaults to $(HOME)/skrills. Set SKRILLS_REPO=/path/to/skrills or skip: make validate-skills falls back to a Python checker when no skrills binary exists
plugins run from a cache dirplugin hook cannot find a file by relative pathinstalled plugins execute from the Claude Code cache dir, not the repo. Hooks must never use paths relative to the current working directory

When NOT to use

  • Daily test, lint, release, and publish commands: use night-market-operations. This skill only bootstraps the machine.
  • A previously working environment started failing: use night-market-debugging-playbook first to triage the symptom.
  • Configuration axes, env vars, and their defaults beyond setup (VOW_SHADOW_MODE, quality gates): use night-market-config-catalog.
  • Plugin, skill, and hook mechanics (how the pieces work rather than how to install the tools): use claude-code-plugin-reference.

Exit Criteria

  • uv --version prints a version at the repo root.
  • uv run ruff --version prints the uv.lock version (0.14.13 as of 2026-07-02), not the .uv-tools version.
  • make validate-all prints Plugin validation passed for every plugin and no (validation failed) lines.
  • make -C plugins/leyline test ends with N passed and zero failures, plus a coverage table.
  • uv run pre-commit install created .git/hooks/pre-commit.
  • The reader can state why hook code is 3.9-constrained while root tooling requires 3.12 (hooks run under the host system Python).

Provenance and maintenance

Compiled 2026-07-02 against repo v1.9.15 (branch discussions-fix-1.9.14). Observed tool versions and test counts in this file are snapshots and will drift. Re-verify with:

  • Root Python floor: rg -n "requires-python" pyproject.toml
  • Per-plugin floors: rg -n "requires-python" plugins/*/pyproject.toml
  • Locked ruff version: rg -n -A1 'name = "ruff"$' uv.lock
  • setup-uv pin: rg -n "setup-uv" .github/workflows/*.yml
  • bandit pin: rg -n -B2 "id: bandit" .pre-commit-config.yaml
  • Makefile defaults: rg -n "UV_TOOL_DIR|SKRILLS_REPO \?=" Makefile
  • Root pytest exclusion: rg -n "norecursedirs" pyproject.toml
  • imbue coverage addopts: rg -n -A8 "addopts" plugins/imbue/pyproject.toml
  • gemini-cli pin: rg -n "gemini-cli" package.json
  • Leyline test count drift: make -C plugins/leyline test

© athola, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/night-market-build-and-env of athola/claude-night-market.

Open the folder on GitHubat commit 9f3eb00

Compare with similar skills

Night Market Build And Env next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Night Market Build And Env compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Night Market Build And Env this skillathola/claude-night-market341—~2.7kAutomated safety check: PassMIT
Code Review ChecklistshareAI-lab/learn-claude-code78k4 repos~1.1kAutomated safety check: PassMIT
Minimizing Ty Ecosystem Changesastral-sh/ruff50k—~4.6kAutomated safety check: PassMIT
Merge Dependabot PRsonyx-dot-app/onyx32k1 repos~2.2kAutomated safety check: PassMIT
Summarise Ecosystem Resultsastral-sh/ruff50k—~2.2kAutomated safety check: PassMIT
Senior Architect Toolkitmaslennikov-ig/claude-code-orchestrator-kit2608 repos~1.2kAutomated safety check: NotesCustom licence

Similar skills

  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 4 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Official

    A skill your agent uses when a user says "minimize this ty ecosystem change", "reproduce this ecosystem result", "investigate a primer difference", "investigate a mypyprimer difference"…

    50k GitHub stars~4.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Merge Dependabot PRs

    onyx-dot-app/onyx

    Triages and lands a batch of open Dependabot PRs in the Onyx repo, where main is gated exclusively by GitHub's merge queue: approves and enqueues green PRs, closes superseded duplicates, fixes…

    32k GitHub starsUsed in 1 repo~2.2k tokens
    DevelopmentAuto-check passed
  • Official

    A skill your agent uses when a user says "summarise ecosystem results", "summarize this ty ecosystem report", "what changed in this ecosystem run?", or asks to summarise or summarize ty ecosystem…

    50k GitHub stars~2.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Senior Architect Toolkit

    maslennikov-ig/claude-code-orchestrator-kit

    Comprehensive software architecture skill for designing scalable, maintainable systems using ReactJS, NextJS, NodeJS, Express, React Native, Swift, Kotlin…

    260 GitHub starsUsed in 8 repos~1.2k tokens
    DevelopmentAuto-check: notes
  • Kedro Babysit

    kedro-org/kedro

    Run Kedro's local lint / format / type-check / tests on changed files (uses the project's pre-commit hooks, ruff, mypy, pytest, lint-imports, detect-secrets, Make targets — in the right venv), or…

    11k GitHub stars~4k tokensUpdated 2 days ago
    DevelopmentAuto-check passed

More from athola/claude-night-market

All 152 skills in this repo
  • Night Market Diagnostics Toolkit

    athola/claude-night-market

    Run and interpret repo diagnostic scripts (ratchets, validators, token stats).

    341 GitHub stars~3.4k tokensUpdated yesterday
    Auto-check passed
  • Skills Eval

    athola/claude-night-market

    Evaluate Claude skill quality through auditing. An agent skill from athola/claude-night-market.

    341 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Agent Teams

    athola/claude-night-market

    Coordinates Claude agent teams via filesystem protocol. An agent skill from athola/claude-night-market.

    341 GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • Delegation Core

    athola/claude-night-market

    Delegates execution to eight CLIs (Gemini, Qwen, MiniMax, GLM, Muse, Codex, OpenCode, Glimmer).

    341 GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • Elegant Code

    athola/claude-night-market

    Guide minimal code via a decision ladder with full safety, edge, and negative-case coverage.

    341 GitHub stars~2.1k tokensUpdated yesterday
    Auto-check passed
  • Skill Library Mission

    athola/claude-night-market

    Build a project skill library in .claude/skills/ via discovery, parallel authoring, and review.

    341 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Night Market Build And Env

What does Night Market Build And Env do?

Rebuild the dev environment: uv, Python tiers, pins, traps. An agent skill from athola/claude-night-market. Night Market Build And Env is an agent skill from athola/claude-night-market. Rebuild the dev environment: uv, Python tiers, pins, traps.

When should I use Night Market Build And Env?

Night Market Build And Env fits situations like: toolchain breaks; use night-market-operations.

How do I install Night Market Build And Env in Claude Code?

Run `npx skills add athola/claude-night-market --skill night-market-build-and-env -a claude-code`. Or copy the skill folder (.claude/skills/night-market-build-and-env in athola/claude-night-market) into .claude/skills/night-market-build-and-env in your project. Claude Code loads it when a task matches its description.

How do I install Night Market Build And Env in Codex?

Run `npx skills add athola/claude-night-market --skill night-market-build-and-env -a codex`. Or copy the skill folder (.claude/skills/night-market-build-and-env in athola/claude-night-market) into .agents/skills/night-market-build-and-env in your project. Codex loads it when a task matches its description.

Can I use Night Market Build And Env in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add athola/claude-night-market --skill night-market-build-and-env -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/night-market-build-and-env, .gemini/skills/night-market-build-and-env, .github/skills/night-market-build-and-env and .opencode/skills/night-market-build-and-env in your project.

What does Night Market Build And Env need to run?

Going by SKILL.md and its folder, Night Market Build And Env needs the command-line tools its instructions call (uv, make, rg, gh, cargo and git). Our summary lists: Python 3; Node.js.

Does Night Market Build And Env access the network?

SKILL.md contains no URLs. Its commands use uv, gh, git and npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Night Market Build And Env safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Night Market Build And Env use?

Night Market Build And Env is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Night Market Build And Env use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Night Market Build And Env?

Skills that share tags, products or a category with Night Market Build And Env: Code Review Checklist (shareAI-lab/learn-claude-code, 78k stars), Minimizing Ty Ecosystem Changes (astral-sh/ruff, 50k stars), Merge Dependabot PRs (onyx-dot-app/onyx, 32k stars) and Summarise Ecosystem Results (astral-sh/ruff, 50k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Night Market Build And Env?

athola (a GitHub user) maintains it in athola/claude-night-market, which has 341 GitHub stars. The repository holds 152 skills in this directory. The repository was last updated on October 9, 2026.

Source: athola/claude-night-market on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.