Scaffold
Installable Python agent workflow: AGENTS.md rules plus skills for scaffold, TDD, debugging, refactoring, and handoff.
npx -y skills add DavisMcCracken/pyxis --skill scaffoldAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Scaffold a new Python project on the uv + ruff + ty + pytest + prek stack. Use when the user wants to create or bootstrap a new Python project, package, library, CLI, or repo.
SKILL.md
3.4 KB, as published. Nobody here has run it
New Python Project
Scaffold a project that passes the verify loop green before handover. The base rules live in templates/AGENTS.md — that copy is canonical; edit it there when the base evolves (existing repos keep their snapshots).
1. Resolve decisions (lightweight — not a full grill)
Infer answered decisions from the request. If name and kind are clear and no runtime dependency is mentioned, use no runtime dependencies and proceed without confirmation. Use the current working directory as the project parent unless the user specifies another location or that would overwrite an existing project.
- Name — package name (snake_case importable). Default: derive from the user's description.
- Kind — what is it?
- Importable library (default) ->
uv init --lib <name> - CLI tool ->
uv init --app --package <name>(givessrc/layout +[project.scripts]entry) - Bare
uv init --appis off the table — AGENTS.md mandatessrc/layout.
- Importable library (default) ->
- Known runtime dependencies — any to add now? Default: none; add later with
uv add.
Do not ask about git remotes, CI, or licensing — out of scope, user wires those later.
2. Scaffold
Run in order:
-
uv init --lib <name>(or--app --package <name>) -
uv add --dev pytest ruff ty hypothesis prekthenuv add <runtime deps>if any -
Append templates/pyproject-snippet.toml to the generated
pyproject.toml -
Copy templates/AGENTS.md into the repo root as
AGENTS.md. If the agent reads a separate config file, point it at the base. If either file already exists, don't overwrite — show a diff against the template and ask.Claude Code: write
CLAUDE.mdcontaining exactly@AGENTS.md. -
Copy templates/pre-commit-config.yaml to
.pre-commit-config.yaml -
Write
tests/test_smoke.py— import the package's public surface and make one real assertion (e.g. against the generatedhello()), so pytest collects at least one test (zero tests = exit code 5 = verify loop red). Note in the test that it should be replaced by the first real test. -
git initif not already a repo, thenuv run prek install
3. Verify
Run the full loop from AGENTS.md:
uv run ruff check --fix && uv run ruff format && uv run ty check && uv run pytest
All four must pass. Fix anything red before continuing — the user receives a working repo, not a TODO list.
4. Implement requested behavior
If the request includes product behavior, a green scaffold is not done:
- Continue with the
tddtracer-bullet loop: one behavior test, valid RED, minimal implementation (minimal per the AGENTS.md Laziness ladder — don't scaffold structure the behavior doesn't need yet). - Replace the generated smoke test once real behavior coverage exists.
- Run the full verify loop again.
Do not hand over requested behavior covered only by an import, hasattr, or callability test.
5. Hand over
Report: tree of what was created, the verify-loop result, and next steps — uv add real dependencies, trim AGENTS.md sections that don't fit this project, and offer (don't auto-run) an initial commit.