v0.17.10 — Superpowers skill alignment + gpt-image-2 bundle
Summary
Two dogfooding-driven changes bundled in one release.
1. OpenAI gpt-image-2 support (v0.17.9, never shipped separately)
- `OpenAIImageProvider` now accepts `model="gpt-image-2"` (released by OpenAI 2026-04-21).
- New Optional kwargs plumbed through MCP `generate_image` + provider + Protocol:
- `input_fidelity: "high" | "low"` — preserves reference composition (edits endpoint only)
- `quality: "low" | "medium" | "high" | "auto"`
- `output_format: "png" | "webp" | "jpeg"`
- Size set extended with portrait/landscape: `(1024, 1536)`, `(1536, 1024)`.
- Friendly error detection on OpenAI 403 with "organization must be verified" message.
2. Skill alignment with Superpowers design patterns (v0.17.10)
- 3 skill descriptions rewritten from descriptive `Triggers: /slash` to imperative `Use when X / You MUST use this before X` — mirrors `superpowers:brainstorming` pattern.
- New meta-skill `.claude/skills/using-vulca-skills/SKILL.md` (~50 lines) — intent-routing for the triad, normalized finalize vocabulary, red-flag checklist.
- SessionStart hook (`hooks/hooks.json` + `.claude-plugin/plugin.json`) preloads the meta-skill automatically at session start so agents match user intent without requiring slash commands.
- Finalize vocabulary normalized: Brainstorm/Spec use `{finalize, done, ready, lock it, approve}`; Plan uses `accept all` exact-match.
- Cap-hit prompt fix in Plan: `"Turn cap reached. 'accept all' or 'deep review'?"` (was incorrectly `"finalize or deep review?"`).
Why 0.17.8 → 0.17.10 (skipping 0.17.9)
v0.17.9 commit (`8d1a84f8`) was prepared locally as the gpt-image-2 patch but never shipped to PyPI. v0.17.10 bundles both. Users upgrading from v0.17.8 get both in one jump.
Both changes came from real user dogfooding
2026-04-23 attempted to run `/visual-plan` on a real Scottish street photo for a Xiaohongshu showcase. Two blockers surfaced:
- openai_provider hardcoded to gpt-image-1 → v0.17.9 fix
- Skills required slash commands (broke the "AI agent auto-invokes" UX promise) → v0.17.10 fix
Saved as memory `feedback_dogfood_showcase_through_triad.md` — user-facing showcases MUST run through the triad, never one-off scripts.
Test gate
- 81/81 pass on visual-plan + visual-spec + MCP-ext tests
- Full repo: 1920 passed (+3 from v0.17.8 baseline) / 12 pre-existing baseline failures / zero regressions
Deferred to v0.18
Protocol body compression (200-430 lines → 60-170 lines matching Superpowers) flagged by code-reviewer as "long bodies dilute their own descriptions". Not blocking auto-invoke fix; monitor only.
Install
```bash
pip install vulca[mcp]==0.17.10
```
Or via uvx in Claude Code MCP config:
```json
{"mcpServers": {"vulca": {"command": "uvx", "args": ["--from", "vulca[mcp]==0.17.10", "vulca-mcp"]}}}
```