Summary
specify init --script py produces command/skill files that instruct the agent to run python3 .specify/scripts/python/<name>.py, but the core Python scripts are not bundled in the released package. init lays down the bash scripts instead, so the referenced .specify/scripts/python/*.py files don't exist and every command fails at its first "Setup" step.
Environment
specify 0.13.4 (also reproduced on 0.13.2 and 0.13.3)
- Reproduced with the Homebrew build and confirmed directly against the PyPI wheel
specify_cli-0.13.4-py3-none-any.whl
- macOS; observed with both
--integration claude and --integration codex
Repro
$ specify init demo --integration claude --script py --ignore-agent-tools --force
$ find demo/.specify/scripts -type f # only bash/*.sh present — no python/
demo/.specify/scripts/bash/check-prerequisites.sh
demo/.specify/scripts/bash/common.sh
demo/.specify/scripts/bash/create-new-feature.sh
demo/.specify/scripts/bash/setup-plan.sh
demo/.specify/scripts/bash/setup-tasks.sh
$ grep -rho 'python3 .specify/scripts/python/[^ ]*' demo/.claude/skills | sort -u
python3 .specify/scripts/python/check_prerequisites.py
python3 .specify/scripts/python/setup_plan.py
python3 .specify/scripts/python/setup_tasks.py
$ ls demo/.specify/scripts/python
ls: demo/.specify/scripts/python: No such file or directory
So the generated skills reference files that init never installs → the /speckit-* flow dies at the first setup step.
Root cause
The source repo has the core scripts at scripts/python/ (check_prerequisites.py, common.py, create_new_feature.py, setup_plan.py, setup_tasks.py), but the packaged core_pack/scripts/ ships only bash/ and powershell/:
$ unzip -Z1 specify_cli-0.13.4-py3-none-any.whl | grep 'core_pack/scripts/' | sed -E 's#(core_pack/scripts/[a-z]+/).*#\1#' | sort -u
specify_cli/core_pack/scripts/bash/
specify_cli/core_pack/scripts/powershell/
# no core_pack/scripts/python/
Notably the extension python scripts are bundled (core_pack/extensions/{git,agent-context}/scripts/python/) — only the top-level core_pack/scripts/python/ is missing. It looks like whatever assembles core_pack for the wheel globs extensions/**/python but misses the top-level scripts/python.
Impact
--script py is non-functional on every install channel (pip/uv and Homebrew both derive from this wheel), while --script sh/ps work.
Suggested fix
Include scripts/python/*.py in core_pack/scripts/python/ when building the wheel (mirror how the extension python scripts are already bundled).
Workaround
After init, copy the five scripts/python/*.py files from the source repo into .specify/scripts/python/.
Summary
specify init --script pyproduces command/skill files that instruct the agent to runpython3 .specify/scripts/python/<name>.py, but the core Python scripts are not bundled in the released package.initlays down the bash scripts instead, so the referenced.specify/scripts/python/*.pyfiles don't exist and every command fails at its first "Setup" step.Environment
specify0.13.4 (also reproduced on 0.13.2 and 0.13.3)specify_cli-0.13.4-py3-none-any.whl--integration claudeand--integration codexRepro
So the generated skills reference files that
initnever installs → the/speckit-*flow dies at the first setup step.Root cause
The source repo has the core scripts at
scripts/python/(check_prerequisites.py,common.py,create_new_feature.py,setup_plan.py,setup_tasks.py), but the packagedcore_pack/scripts/ships onlybash/andpowershell/:Notably the extension python scripts are bundled (
core_pack/extensions/{git,agent-context}/scripts/python/) — only the top-levelcore_pack/scripts/python/is missing. It looks like whatever assemblescore_packfor the wheel globsextensions/**/pythonbut misses the top-levelscripts/python.Impact
--script pyis non-functional on every install channel (pip/uv and Homebrew both derive from this wheel), while--script sh/pswork.Suggested fix
Include
scripts/python/*.pyincore_pack/scripts/python/when building the wheel (mirror how the extension python scripts are already bundled).Workaround
After
init, copy the fivescripts/python/*.pyfiles from the source repo into.specify/scripts/python/.