Agent skill

Fastly Multi Service Routing Debug

by divinevideo in divinevideo/divine-mobile

Debug Fastly Compute services where code changes don't affect behavior due to multi-service routing architecture.

MPL-2.0Auto-check passedDevelopment

Install Fastly Multi Service Routing Debug

skills CLI
$ npx skills add divinevideo/divine-mobile --skill fastly-multi-service-routing-debug -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install divinevideo/divine-mobile fastly-multi-service-routing-debug --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/divinevideo/divine-mobile.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/fastly-multi-service-routing-debug .claude/skills/fastly-multi-service-routing-debug && rm -rf skills-src

Use ~/.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/

Facts

Skill name
fastly-multi-service-routing-debug
GitHub stars
266
Token cost
~1.2k tokens
SKILL.md length
429 words
Files
1
Skills in repo
103
Repo updated
First seen
Licence
MPL-2.0

At a glance

Debug Fastly Compute services where code changes don't affect behavior due to multi-service routing architecture.

  • Works in 5 steps: Identify Which Service Handles the Domain → Verify Service Architecture → Debug the Correct Service → …
  • Deployed changes have no effect
  • SKILL.md covers Problem, Context / Trigger Conditions, Solution and Verification, plus 3 more sections
  • Calls curl

What it does

Fastly Multi Service Routing Debug is an agent skill from divinevideo/divine-mobile. Debug Fastly Compute services where code changes don't affect behavior due to multi-service routing architecture. Use when: (1) deployed changes have no effect, (2) unexpected redirects persist after code updates, (3) DNS resolves to Fastly but responses don't match deployed code, (4) fastly service list shows multiple related services. The root cause is often a routing/gateway service intercepting requests before they reach your content service.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Root cause analysis and Debugging. The licence is MPL-2.0.

When your agent uses it

  • Deployed changes have no effect
  • Unexpected redirects persist after code updates
  • DNS resolves to Fastly but responses dont match deployed code
  • Fastly service list shows multiple related services

Example prompts

  • “/fastly-multi-service-routing-debug”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Identify Which Service Handles the Domain
  2. Verify Service Architecture
  3. Debug the Correct Service
  4. Trace Request Flow
  5. Fix the Correct Service

What it can do on your machine

Read from SKILL.md and the folder at commit c3d6f7e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Fastly Multi Service Routing Debug loads about 1.2k tokens when it runs. Until then it costs about 122 tokens; SKILL.md has 429 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~122
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from divinevideo/divine-mobile at commit c3d6f7e, republished under its MPL-2.0 licence (© divinevideo). 429 words, ~1,229 tokens.

Download SKILL.mdSave it as .claude/skills/fastly-multi-service-routing-debug/SKILL.md (or your agent's skills folder).
name
fastly-multi-service-routing-debug
description
Debug Fastly Compute services where code changes don't affect behavior due to multi-service routing architecture. Use when: (1) deployed changes have no effect, (2) unexpected redirects persist after code updates, (3) DNS resolves to Fastly but responses don't match deployed code, (4) `fastly service list` shows multiple related services. The root cause is often a routing/gateway service intercepting requests before they reach your content service.
author
Claude Code
version
1.0.0
date
2026-02-02

Fastly Multi-Service Routing Debug

Problem

You deploy changes to a Fastly Compute service but the behavior doesn't change. Requests still return old responses, redirects, or errors even after:

  • Deploying new code with fastly compute publish
  • Purging the cache with fastly purge --all
  • Verifying the correct service version is active

Context / Trigger Conditions

  • DNS resolves to Fastly IPs (151.101.x.x)
  • Response headers show x-served-by: cache-xxx (Fastly cache)
  • Deployed code should return different status/headers but doesn't
  • Multiple Fastly services exist for the same project (e.g., divine-web, divine-router)
  • Wildcard subdomain routing is involved (*.example.com)

Solution

Step 1: Identify Which Service Handles the Domain
bash
# List all services
fastly service list

# Check which service handles your domain using domain-v1
fastly domain-v1 list | grep your-domain.com

The output shows the service ID for each domain:

*.divine.video      glh3AfBEmZKzmAmByvGyAg  76fTayX6mBKa8faLeZ1fet  2025-12-28...
divine.video        1JttvGPc6AlOVg4koUGhPg  76fTayX6mBKa8faLeZ1fet  2025-11-23...

The third column is the service ID that handles that domain.

Step 2: Verify Service Architecture

Common patterns:

  • Router + Content: A routing service (often Rust) sits in front, handling subdomain logic, then passes through to a content service
  • Gateway Pattern: Edge gateway handles auth/rate-limiting, then proxies to origin
  • Wildcard Routing: *.domain.com may be handled by a different service than domain.com
Step 3: Debug the Correct Service

Once you identify the routing service:

bash
# Check its active version
fastly service-version list --service-id <router-service-id>

# Check its domains
fastly domain list --service-id <router-service-id> --version active

# Find and read its source code (usually in a different repo)
Step 4: Trace Request Flow

Add debug logging to understand the flow:

  1. In the routing service: log the Host header and routing decision
  2. In the content service: log if requests are even reaching it
  3. Check Fastly logs: fastly log-tail --service-id <id>
Step 5: Fix the Correct Service

If the routing service is doing unwanted redirects:

  • Update its routing logic to pass through instead of redirect
  • Or update it to return the desired response directly
  • Deploy to the routing service, not just the content service
Show full SKILL.md (162 more words)Show less

Verification

bash
# Test with cache bypass
curl -sI -H "Cache-Control: no-cache" "https://subdomain.your-domain.com/?t=$(date +%s)"

# Verify new behavior appears
# Check response headers match what your code should return

Example

Symptom: rabble.divine.video returns 301 redirect despite divine-web having code to serve HTML directly.

Discovery:

bash
$ fastly domain-v1 list | grep divine.video
*.divine.video      ...  76fTayX6mBKa8faLeZ1fet  ...  # This is divine-router!
divine.video        ...  76fTayX6mBKa8faLeZ1fet  ...  # Same - router handles both

Root Cause: divine-router (Rust service) was returning 301 redirects in its serve_profile() function, never letting requests reach divine-web.

Fix: Updated divine-router to return the desired response directly instead of redirecting.

Notes

  • The fastly domain list command shows domains on a specific service/version
  • The fastly domain-v1 list command shows ALL domains across ALL services
  • Wildcard domains (*.domain.com) often route to a different service than apex
  • When using Fastly Compute backends, the request may go: Router → Content → Origin
  • Cache purging only affects the service that's caching; if a router caches, purge there
  • Response headers like x-publisher-server-collection indicate which service responded

Architecture Patterns

Pattern 1: Router → Content
User → DNS → Fastly Router Service → Fastly Content Service → Origin/KV Store

The router handles subdomain logic, auth, or routing rules.

Pattern 2: Direct
User → DNS → Fastly Content Service → Origin/KV Store

Single service handles everything.

Debugging Tip

If you're unsure which pattern applies, check the [setup.backends] section in each service's fastly.toml to see if one service proxies to another's edgecompute.app URL.

© 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

Files

Just SKILL.md in .agents/skills/fastly-multi-service-routing-debug of divinevideo/divine-mobile.

Open the folder on GitHubat commit c3d6f7e

Compare with similar skills

Fastly Multi Service Routing Debug 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.

Fastly Multi Service Routing Debug compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Fastly Multi Service Routing Debug this skilldivinevideo/divine-mobile266—~1.2kAutomated safety check: PassMPL-2.0
OpenLogi macOS Permissions TriageAprilNEA/OpenLogi23k—~2.5kAutomated safety check: NotesApache-2.0
Bug Finder for daisyUIsaadeghi/daisyui43k—~2.3kAutomated safety check: PassMIT
Root Cause Debugginggarrytan/gstack136k—~1.4kAutomated safety check: PassMIT
Graph-Based Bug Tracingtirth8205/code-review-graph32k1 repos~287Automated safety check: PassMIT
Systematic DebuggingChrisWiles/claude-code-showcase6.1k3 repos~1.2kAutomated safety check: PassNone

Similar skills

  • 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.

    23k GitHub stars~2.5k tokensUpdated today
    DevelopmentAuto-check: notes
  • Bug Finder for daisyUI

    saadeghi/daisyui

    Investigates suspected bugs in the daisyUI monorepo through read-only analysis, then writes a decision-ready fix plan in tmp/bugs without changing any product code.

    43k GitHub stars~2.3k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Root Cause Debugging

    garrytan/gstack

    Investigates bugs, errors and stack traces in phases and requires a root-cause hypothesis to be confirmed before any fix is written.

    136k GitHub stars~1.4k tokensUpdated today
    DevelopmentAuto-check passed
  • Graph-Based Bug Tracing

    tirth8205/code-review-graph

    Traces a bug through a code knowledge graph, following callers, callees and execution flow before opening source files, within a small token budget.

    32k GitHub starsUsed in 1 repo~287 tokens
    DevelopmentAuto-check passed
  • Systematic Debugging

    ChrisWiles/claude-code-showcase

    Applies a four-phase debugging routine that finds the root cause of a bug or failing test before any fix is written.

    6.1k GitHub starsUsed in 3 repos~1.2k tokens
    DevelopmentAuto-check passed
  • Debugging and Error Recovery

    addyosmani/agent-skills

    Applies a stop-the-line rule and a step-by-step triage when tests fail, builds break or something stops working, aiming at the root cause instead of guesses.

    104k GitHub starsUsed in 1 repo~2.6k tokens
    DevelopmentAuto-check passed

More from divinevideo/divine-mobile

All 103 skills in this repo
  • Fix ArgoCD ExternalSecret deployment failing with "namespace X is not permitted in project Y".

    266 GitHub stars~931 tokensUpdated today
    Auto-check passed
  • Art Direct

    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.

    266 GitHub stars~4.8k tokensUpdated today
    Auto-check passed
  • Async Await Null Race Condition

    divinevideo/divine-mobile

    Fix "Null check operator used on a null value" errors when an object is set to null during an async await.

    266 GitHub stars~881 tokensUpdated today
    Auto-check passed
  • AWS V4 Signing Custom Headers Gcs

    divinevideo/divine-mobile

    Add custom metadata headers (x-amz-meta-) to AWS v4 signed requests for GCS S3-compatible API.

    266 GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Bash Herestring Newline Secrets

    divinevideo/divine-mobile

    Fix password/secret authentication failures caused by trailing newlines when creating Google Cloud secrets (or similar) with bash here-strings.

    266 GitHub stars~791 tokensUpdated today
    Auto-check passed
  • Fix silent video/media processing failures caused by URL extraction code that filters on file extensions (.mp4, .webm, .webp).

    266 GitHub stars~1.1k tokensUpdated today
    Auto-check passed

Categories

Questions about Fastly Multi Service Routing Debug

What does Fastly Multi Service Routing Debug do?

Debug Fastly Compute services where code changes don't affect behavior due to multi-service routing architecture. Fastly Multi Service Routing Debug is an agent skill from divinevideo/divine-mobile. Debug Fastly Compute services where code changes don't affect behavior due to multi-service routing architecture.

When should I use Fastly Multi Service Routing Debug?

Fastly Multi Service Routing Debug fits situations like: deployed changes have no effect; unexpected redirects persist after code updates; DNS resolves to Fastly but responses dont match deployed code; fastly service list shows multiple related services.

How do I install Fastly Multi Service Routing Debug in Claude Code?

Run `npx skills add divinevideo/divine-mobile --skill fastly-multi-service-routing-debug -a claude-code`. Or copy the skill folder (.agents/skills/fastly-multi-service-routing-debug in divinevideo/divine-mobile) into .claude/skills/fastly-multi-service-routing-debug in your project. Claude Code loads it when a task matches its description.

How do I install Fastly Multi Service Routing Debug in Codex?

Run `npx skills add divinevideo/divine-mobile --skill fastly-multi-service-routing-debug -a codex`. Or copy the skill folder (.agents/skills/fastly-multi-service-routing-debug in divinevideo/divine-mobile) into .agents/skills/fastly-multi-service-routing-debug in your project. Codex loads it when a task matches its description.

Can I use Fastly Multi Service Routing Debug in Cursor, Gemini CLI or GitHub Copilot?

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-multi-service-routing-debug -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-multi-service-routing-debug, .gemini/skills/fastly-multi-service-routing-debug, .github/skills/fastly-multi-service-routing-debug and .opencode/skills/fastly-multi-service-routing-debug in your project.

What does Fastly Multi Service Routing Debug need to run?

Going by SKILL.md and its folder, Fastly Multi Service Routing Debug needs the command-line tools its instructions call (curl).

Does Fastly Multi Service Routing Debug access the network?

SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Fastly Multi Service Routing Debug safe to install?

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.

What licence does Fastly Multi Service Routing Debug use?

Fastly Multi Service Routing Debug 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.

How many tokens does Fastly Multi Service Routing Debug use?

About 1.2k tokens (SKILL.md is roughly 4.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Fastly Multi Service Routing Debug?

Skills that share tags, products or a category with Fastly Multi Service Routing Debug: OpenLogi macOS Permissions Triage (AprilNEA/OpenLogi, 23k stars), Bug Finder for daisyUI (saadeghi/daisyui, 43k stars), Root Cause Debugging (garrytan/gstack, 136k stars) and Graph-Based Bug Tracing (tirth8205/code-review-graph, 32k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Fastly Multi Service Routing Debug?

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.