What problem does it solve? Projects outside the Node.js ecosystem, or teams that need to eject from the generic shipped runner, lack a precommit runner tailored to their toolchain. This Skill detects the project ecosystem and writes a customized, user-owned runner script with the correct lint, build, and test steps. ## Core Features & Use Cases - Ecosystem Detection: Scans for manifest files (package.json, pyproject.toml, Cargo.toml, go.mod, lock files) to select the right template, with a defined priority order when multiple ecosystems are present. - Template-Based Generation: Loads per-ecosystem templates from references/templates.md and customizes them with project-specific lint, build, and test commands. - Eject Header & Conflict Handling: Stamps each generated runner with @generated_at, @plugin_version, @template, and @ecosystem metadata so plugin auto-install never overwrites it, and asks before overwriting an existing file unless --force is passed. - Use Case: A Python project needs a precommit runner that runs ruff and pytest. Run the skill with --ecosystem python to write .claude/scripts/precommit-runner.sh, make it executable, and verify it with bash -n. ## Quick Start Ask the AI to generate a precommit runner for this project, optionally forcing an ecosystem such as python or rust.