heyeddi-ci-configlisted
Install: claude install-skill HeyEddi-com/heyeddi-ci-skills
# HeyEddi CI Config
Authors a correct `eddi-ci.yaml` for HeyEddi Reviewer / optional Spot runners. **Do not invent knobs from memory.**
## Safety
- Never merge a PR without **authorize merge** in the current turn; never write `auto_merge`
- Billable knobs and Spot `pipeline` jobs need explicit opt-in
- Always `load_policy_contract` before authoring
- Spot runners are **fail-closed / placeholder** — declare YAML only; never claim jobs ran (`@heyeddi-ci-runners`)
## Knowledge rule (mandatory)
The skill package does **not** ship a full knob table. On every run:
1. Run `load_policy_contract` (or `python …/scripts/load_policy_contract.py`).
2. Treat the returned `guide`, `knobs`, `rules`, and `minimal_example` as authoritative.
3. Prefer human docs for narrative: `docs_url` (default https://ci.heyeddi.com/docs#policy).
4. Read `context/ANTI_PATTERNS.md` for durable safety rules that never go stale.
Contract feed (production): `https://cihook.heyeddi.com/api/public/eddi-ci-policy`
Fallback order inside the script: local heyeddi-ci checkout → `HEYEDDI_CI_POLICY_URL` / production API → docs page text.
## Decision gate: add the file or not (mandatory)
Missing `eddi-ci.yaml` is **not** a defect. Safe defaults already apply (runners off, `on_ci_failure` off). Decide **before** writing anything:
### Write / create `eddi-ci.yaml` only when at least one is true
- User **explicitly asks** to create, add, or configure `eddi-ci.yaml`
- **`inspect_repo` reports `heyeddi_product.use