initlisted
Install: claude install-skill sbnet/flux
# Skill: init
## Purpose
Scaffold everything a project needs to be flux-managed. Idempotent: on a
project that already has flux, refresh the managed files instead of
duplicating them.
The plugin root is two levels up from this skill's base directory; templates
live in `<plugin root>/templates/`.
## Steps
1. **Prerequisites.** Check `yq` (v4, mikefarah) and `gh` (≥ 2.20, authenticated)
are available. Install or tell the user how before continuing.
2. **Detect the stack.** Look at the project (composer.json, package.json,
pyproject.toml…) and derive the real commands for lint / static analysis /
types / tests / build.
3. **`flux-config.yml`** at the project root. If it does not exist yet,
create it from `templates/flux-config.yml` with the detected commands,
asking the user only if a command cannot be inferred. If it already
exists, do NOT regenerate it: diff its keys against the current
template and add only the ones missing (new schema keys from a plugin
update), at the template's default. Never touch a key already present,
that is the user's customization to keep.
4. **Gate script for CI.** Copy `<plugin root>/hooks/flux-gate.sh` to
`.claude/hooks/flux-gate.sh` (chmod +x), overwriting unconditionally:
this file is not meant to be hand-edited, so there is nothing local to
preserve. Do NOT add hooks to `.claude/settings.json`: the plugin
already provides them, duplicating would run every gate twice.
5. **Workflows.** For each of `tem