Diagnosing Superpowers Sessions
obra/superpowers
Investigates a session where Superpowers went wrong, reads the transcripts on disk and produces an evidence-cited report, optionally prepared as a bug report for the maintainers.
Fix "backend exists on a draft version but isn't reachable from the new Compute deploy" bugs after fastly compute publish.
$ npx skills add divinevideo/divine-mobile --skill fastly-compute-publish-ignores-draft-versions -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install divinevideo/divine-mobile fastly-compute-publish-ignores-draft-versions --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/divinevideo/divine-mobile.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/fastly-compute-publish-ignores-draft-versions .claude/skills/fastly-compute-publish-ignores-draft-versions && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "fastly-compute-publish-ignores-draft-versions" agent skill from https://github.com/divinevideo/divine-mobile/tree/main/.agents/skills/fastly-compute-publish-ignores-draft-versions into .claude/skills/fastly-compute-publish-ignores-draft-versions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fastly-compute-publish-ignores-draft-versions", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/divinevideo/divine-mobile/tree/main/.agents/skills/fastly-compute-publish-ignores-draft-versionsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add divinevideo/divine-mobile --skill fastly-compute-publish-ignores-draft-versions -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install divinevideo/divine-mobile fastly-compute-publish-ignores-draft-versions --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/divinevideo/divine-mobile.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/fastly-compute-publish-ignores-draft-versions .agents/skills/fastly-compute-publish-ignores-draft-versions && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "fastly-compute-publish-ignores-draft-versions" agent skill from https://github.com/divinevideo/divine-mobile/tree/main/.agents/skills/fastly-compute-publish-ignores-draft-versions into .agents/skills/fastly-compute-publish-ignores-draft-versions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fastly-compute-publish-ignores-draft-versions", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add divinevideo/divine-mobile --skill fastly-compute-publish-ignores-draft-versions -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install divinevideo/divine-mobile fastly-compute-publish-ignores-draft-versions --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/divinevideo/divine-mobile.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/fastly-compute-publish-ignores-draft-versions .cursor/skills/fastly-compute-publish-ignores-draft-versions && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "fastly-compute-publish-ignores-draft-versions" agent skill from https://github.com/divinevideo/divine-mobile/tree/main/.agents/skills/fastly-compute-publish-ignores-draft-versions into .cursor/skills/fastly-compute-publish-ignores-draft-versions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fastly-compute-publish-ignores-draft-versions", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/divinevideo/divine-mobile.git --path .agents/skills/fastly-compute-publish-ignores-draft-versions--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add divinevideo/divine-mobile --skill fastly-compute-publish-ignores-draft-versions -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install divinevideo/divine-mobile fastly-compute-publish-ignores-draft-versions --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/divinevideo/divine-mobile.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/fastly-compute-publish-ignores-draft-versions .gemini/skills/fastly-compute-publish-ignores-draft-versions && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "fastly-compute-publish-ignores-draft-versions" agent skill from https://github.com/divinevideo/divine-mobile/tree/main/.agents/skills/fastly-compute-publish-ignores-draft-versions into .gemini/skills/fastly-compute-publish-ignores-draft-versions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fastly-compute-publish-ignores-draft-versions", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install divinevideo/divine-mobile fastly-compute-publish-ignores-draft-versionsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add divinevideo/divine-mobile --skill fastly-compute-publish-ignores-draft-versions -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/divinevideo/divine-mobile.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/fastly-compute-publish-ignores-draft-versions .github/skills/fastly-compute-publish-ignores-draft-versions && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "fastly-compute-publish-ignores-draft-versions" agent skill from https://github.com/divinevideo/divine-mobile/tree/main/.agents/skills/fastly-compute-publish-ignores-draft-versions into .github/skills/fastly-compute-publish-ignores-draft-versions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fastly-compute-publish-ignores-draft-versions", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add divinevideo/divine-mobile --skill fastly-compute-publish-ignores-draft-versions -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install divinevideo/divine-mobile fastly-compute-publish-ignores-draft-versions --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/divinevideo/divine-mobile.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/fastly-compute-publish-ignores-draft-versions .opencode/skills/fastly-compute-publish-ignores-draft-versions && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "fastly-compute-publish-ignores-draft-versions" agent skill from https://github.com/divinevideo/divine-mobile/tree/main/.agents/skills/fastly-compute-publish-ignores-draft-versions into .opencode/skills/fastly-compute-publish-ignores-draft-versions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fastly-compute-publish-ignores-draft-versions", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
fastly-compute-publish-ignores-draft-versionsFix "backend exists on a draft version but isn't reachable from the new Compute deploy" bugs after fastly compute publish.
Fastly Compute Publish Ignores Draft Versions is an agent skill from divinevideo/divine-mobile. Fix "backend exists on a draft version but isn't reachable from the new Compute deploy" bugs after fastly compute publish. Use when: (1) You ran fastly service backend create --autoclone (or any dashboard/CLI change that creates a draft version) but did not activate that draft, (2) You then ran fastly compute publish which appeared successful but your backend / ACL / header / dictionary change is missing from the active version, (3) Compute code returns backend-not-found errors or misroutes requests, (4) You're…
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The licence is MPL-2.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit c3d6f7e. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Fastly Compute Publish Ignores Draft Versions loads about 2.3k tokens when it runs. Until then it costs about 205 tokens; SKILL.md has 851 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from divinevideo/divine-mobile at commit c3d6f7e, republished under its MPL-2.0 licence (© divinevideo). 851 words, ~2,292 tokens.
.claude/skills/fastly-compute-publish-ignores-draft-versions/SKILL.md (or your agent's skills folder).fastly compute publish ignores non-active draft versionsFastly service versions are immutable. To change a service you clone the active version, edit the clone (a draft), then activate the clone. Multiple tools create drafts:
fastly service backend create --autoclone — creates a draft off the active version and
adds the backendfastly service domain create --autoclone — same, for domainsfastly compute publish — also creates a draft, uploads WASM, activatesIf you mix these tools on the same service you get a surprising footgun: each tool clones from the currently-active version, independently, and each activates its own clone. Draft versions that were never activated are abandoned. Their edits are invisible to whatever the next tool clones from.
Example sequence that bites:
t0 Active = v250
t1 $ fastly service backend create --version latest --autoclone \
--name cloud_run_transcoder --address ...
→ creates v251 (clone of v250) + adds backend
→ v251 is DRAFT, not active
→ "latest" in this context means "highest version number" (v251), not "active version"
t2 $ fastly compute publish --comment "ship fix"
→ creates v252 (clone of v250, NOT v251) + new WASM
→ stages and activates v253 (clone of v252) + activates
→ v251's backend change was never carried forward
→ active = v253, which does NOT contain cloud_run_transcoder
t3 Compute code at v253 calls send_async("cloud_run_transcoder")
→ backend name does not exist on v253
→ silent failure, fire-and-forget hides itThe naming is misleading: --version latest does not mean "the latest active version," it
means "the highest-numbered version," which can be a draft nobody activated. And fastly compute publish never looks at your draft — it clones from whatever is currently active.
So your backend change is orphaned in an unreachable draft version, and the active version
has the new code but the old backend list.
Backend X does not exist or similar after a deploy that "worked"send_async(BACKEND) calls return errors that the code silently swallows (see skill
fastly-compute-async-request-reliability)fastly service version list --service-id ID shows a gap or out-of-order creation
timestamps — e.g. v251 created at 23:17, v252/v253 created at 23:27, v253 active, but
v252 was cloned from v250 not v251fastly service backend list --version N where N is active shows a DIFFERENT backend
set from fastly service backend list --version (N-2) where N-2 is the draft you
thought you were building onfastly compute publish and the
publish succeeded but the resource seems to be ignored# Find all versions and which is active
fastly service version list --service-id YOUR_SERVICE_ID
# For each recent version, list backends (or whatever resource you added)
for v in 250 251 252 253 254; do
echo "=== v$v ==="
fastly service backend list --service-id YOUR_SERVICE_ID --version $v | grep MY_BACKEND_NAME
doneIf the backend appears on a non-active draft (e.g. v251) but is absent from active (e.g. v253), you have this bug.
--autoclone# Creates a new draft cloned from the active version, with the backend added.
# Activate the draft atomically afterward.
fastly service backend create --service-id YOUR_SERVICE_ID --version latest --autoclone \
--name cloud_run_transcoder \
--address divine-transcoder-149672065768.us-central1.run.app \
--port 443 --use-ssl \
--ssl-sni-hostname divine-transcoder-149672065768.us-central1.run.app \
--override-host divine-transcoder-149672065768.us-central1.run.app
# Confirm the draft has the backend
fastly service backend list --service-id YOUR_SERVICE_ID --version LATEST_DRAFT \
| grep cloud_run_transcoder
# Activate
fastly service version activate --service-id YOUR_SERVICE_ID --version LATEST_DRAFT
# Purge cache so any poisoned 404/502 responses drop
fastly purge --all --service-id YOUR_SERVICE_IDNote: --version latest in the backend create command here is safe because after the
previous drifted fastly compute publish, the latest draft's parent IS the currently-active
version. You're cloning off the right base now.
Do all non-code changes through fastly compute publish first, then WASM changes.
If you ran fastly compute publish without any dashboard/CLI changes queued, the active
version gets incremented by 2 (clone → activate) and there are no stranded drafts. Add
your backend after the publish via --autoclone, which then creates a fresh draft off
the new active version, and activate it.
Always activate your draft before running fastly compute publish. If you ran
fastly service backend create --autoclone and got v251, activate v251 before the
compute publish. Then compute publish will clone from v251 and carry the backend.
Treat every draft version as an unshipped change. Before any fastly compute publish,
run fastly service version list --service-id ID and verify no drafts exist that you
intended to ship. If there are drafts you don't want, explicitly abandon them; if there
are drafts you do want, activate them first.
Use --verbose on fastly compute publish. The verbose output shows which version
number it cloned from. If that number is older than your last draft, you know you've
drifted.
After the fix, confirm:
# Active version has the backend
fastly service backend list --service-id YOUR_SERVICE_ID --version $(fastly service version list --service-id YOUR_SERVICE_ID | awk '$3=="true"{print $1}') | grep MY_BACKEND_NAME
# End-to-end: hit a Compute endpoint that exercises the backend and check logs
# for successful routing (no "backend does not exist" errors)
fastly log tail --service-id YOUR_SERVICE_ID | grep -iE "backend|MY_BACKEND"For the Divine Blossom example (2026-04-05), the symptom was that PR #59's fix to route
transcoder triggers via a new TRANSCODER_BACKEND = "cloud_run_transcoder" constant was
deployed in version 253 but the backend itself was stranded in v251. The compute code was
silently 404-ing on every send_async to the transcoder. Fix was fastly service backend create --version latest --autoclone → new v254 with both the WASM and the backend →
activate v254 → purge.
--autoclone: backends,
domains, ACLs, dictionaries, edge dictionaries, header rules, VCL snippets (on VCL
services), logging endpoints. Anything that creates a draft version is at risk.fastly compute publish command has no --base-version flag to explicitly say "clone
from this version." It always clones from active.fastly vcl snippet create --autoclone + fastly vcl custom update
can hit the same trap.fastly service version list --service-id ID output carefully — the "active"
column tells you which version is live; everything else is a draft or a previous active.
Timestamps can be misleading because draft versions carry the timestamp of the fastly service version clone call, not of the content change.fastly compute publish source behavior documented in the Fastly CLI repo — see the
publish subcommand implementation for the clone-active-and-activate flowfastly-compute-async-request-reliability — covers how silently-failing
send_async hides this exact bug when the backend goes missingfastly-compute-backend-production-setup — covers the "backend exists
locally but not in production" sibling bug© divinevideo, MPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/fastly-compute-publish-ignores-draft-versions of divinevideo/divine-mobile.
Open the folder on GitHubat commit c3d6f7e
Fastly Compute Publish Ignores Draft Versions next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Fastly Compute Publish Ignores Draft Versions this skilldivinevideo/divine-mobile | 266 | — | ~2.3k | Automated safety check: Pass | MPL-2.0 | |
| Diagnosing Superpowers Sessionsobra/superpowers | 297k | 3 repos | ~1.7k | Automated safety check: Pass | MIT | |
| Pester Failure AnalysisPowerShell/PowerShell | 56k | — | ~5.1k | Automated safety check: Pass | MIT | |
| OpenLogi macOS Permissions TriageAprilNEA/OpenLogi | 23k | — | ~2.5k | Automated safety check: Notes | Apache-2.0 | |
| Paseo Committeegetpaseo/paseo | 20k | 1 repos | ~496 | Automated safety check: Pass | Custom licence | |
| Copilot Session Failure Analysisdotnet/maui | 23k | — | ~3.4k | Automated safety check: Pass | MIT |
obra/superpowers
Investigates a session where Superpowers went wrong, reads the transcripts on disk and produces an evidence-cited report, optionally prepared as a bug report for the maintainers.
PowerShell/PowerShell
Investigates failing Pester tests in PowerShell CI jobs by following a six-step workflow from pull request status to documented fix recommendations.
AprilNEA/OpenLogi
Decides whether an OpenLogi device problem on macOS is a privacy-permission (TCC) problem, using agent log lines, and says which identity needs which grant.
getpaseo/paseo
Forms a two-agent committee with contrasting profiles to analyze a stuck problem in parallel, reconcile their views and return a consensus plan without editing files.
dotnet/maui
Mines local Copilot CLI session logs for dotnet/maui to rank costly or failing runs, tag recurring failure modes, propose repo edits and emit guard evals.
appsmithorg/appsmith
Investigates a stubbornly failing Playwright test as a possible product bug, using error output, screenshots, traces and server code, and writes a structured bug report.
divinevideo/divine-mobile
Fix ArgoCD ExternalSecret deployment failing with "namespace X is not permitted in project Y".
divinevideo/divine-mobile
Art direction for any content — reads text, PDF, Word, HTML, PPT, then proposes 2-3 creative directions with photography style, mood, and visual language.
divinevideo/divine-mobile
Fix "Null check operator used on a null value" errors when an object is set to null during an async await.
divinevideo/divine-mobile
Add custom metadata headers (x-amz-meta-) to AWS v4 signed requests for GCS S3-compatible API.
divinevideo/divine-mobile
Fix password/secret authentication failures caused by trailing newlines when creating Google Cloud secrets (or similar) with bash here-strings.
divinevideo/divine-mobile
Fix silent video/media processing failures caused by URL extraction code that filters on file extensions (.mp4, .webm, .webp).
Fix "backend exists on a draft version but isn't reachable from the new Compute deploy" bugs after fastly compute publish. Fastly Compute Publish Ignores Draft Versions is an agent skill from divinevideo/divine-mobile. Fix "backend exists on a draft version but isn't reachable from the new Compute deploy" bugs after fastly compute publish.
Fastly Compute Publish Ignores Draft Versions fits situations like: you ran fastly service backend create --autoclone (or any dashboard/CLI change that creates a draft version) but did not activate that draft; compute code returns backend-not-found errors; misroutes requests; youre surprised to see your draft version number skipped over in the version chain.
Run `npx skills add divinevideo/divine-mobile --skill fastly-compute-publish-ignores-draft-versions -a claude-code`. Or copy the skill folder (.agents/skills/fastly-compute-publish-ignores-draft-versions in divinevideo/divine-mobile) into .claude/skills/fastly-compute-publish-ignores-draft-versions in your project. Claude Code loads it when a task matches its description.
Run `npx skills add divinevideo/divine-mobile --skill fastly-compute-publish-ignores-draft-versions -a codex`. Or copy the skill folder (.agents/skills/fastly-compute-publish-ignores-draft-versions in divinevideo/divine-mobile) into .agents/skills/fastly-compute-publish-ignores-draft-versions in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add divinevideo/divine-mobile --skill fastly-compute-publish-ignores-draft-versions -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/fastly-compute-publish-ignores-draft-versions, .gemini/skills/fastly-compute-publish-ignores-draft-versions, .github/skills/fastly-compute-publish-ignores-draft-versions and .opencode/skills/fastly-compute-publish-ignores-draft-versions in your project.
SKILL.md names no scripts, command-line tools or credentials: Fastly Compute Publish Ignores Draft Versions is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Fastly Compute Publish Ignores Draft Versions is published under the MPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Fastly Compute Publish Ignores Draft Versions: Diagnosing Superpowers Sessions (obra/superpowers, 297k stars), Pester Failure Analysis (PowerShell/PowerShell, 56k stars), OpenLogi macOS Permissions Triage (AprilNEA/OpenLogi, 23k stars) and Paseo Committee (getpaseo/paseo, 20k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
divinevideo (a GitHub organization) maintains it in divinevideo/divine-mobile, which has 266 GitHub stars. The repository holds 103 skills in this directory. The repository was last updated on October 10, 2026.
Source: divinevideo/divine-mobile on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.