π Fixes
-
uv runconversion finished across the remaining skills β v2.1.0 claimeduv runwas standardized across builder scripts, but #98 reached onlybmad-agent-builderandbmad-workflow-builder.bmad-bmb-setup,bmad-module-builder, andbmad-eval-runnerwere missed. This converts the remaining 57 invocations acrossskills/,samples/, anddocs/how-to/. It matters beyond consistency: a barepython3is not guaranteed to be 3.11+, which BMad's sharedresolve_customization.pyrequires fortomllib, anduv runreads a script's ownrequires-pythonand provisions a matching interpreter (#105). -
Emitted templates no longer pass the defect on β five of the fixes are in
assets/setup-skill-template/andassets/standalone-module-template/, so every module scaffolded bybmad-module-builderstops inheriting bare-python3invocations. This also closes a visible seam:init-sanctum-template.pyhad been converted in #98, but the threesamples/*/scripts/init-sanctum.pycopies generated from it still saidpython3(#105). -
pytest docstrings call
uv run --with pytest -m pytestβ the eval-runner and workflow-builder test files carry no PEP 723 block, souv run -m pytestalone has nothing to resolve pytest from. Matches the convention in BMAD-METHOD (#105). -
README Python badge corrected to
>=3.11β it advertised>=3.10, a floor that cannot run the shared resolver (#105).
π§ Maintenance
- Marketplace plugin versions synced to 2.2.0 β nothing in the release workflow touches
.claude-plugin/marketplace.json, so its versions drift frompackage.jsonunless bumped by hand.
Notes
- Deliberately unconverted: the two anti-pattern cells in
docs/explanation/(scripts-in-skills.md, labelled Fragile, andskill-authoring-best-practices.md, labelled "do not modify") β they teach what not to do; the "runs under a bare python3" prose incount_tokens.pyandprepass.py, which describes a script's lack of third-party dependencies rather than invoking anything; and the per-scriptrequires-pythonfloors, which are correct as written.