medz/spry/spry-debugging
Claude Code and agent skill by medz/spry
- community
Checking that the SKILL.md file is still in the repository.
Debugging playbooks for Spry applications — 404s, route mismatches, middleware ordering, error chains, OpenAPI generation, client generation, build/runtime errors. MCP-first when the Spry MCP server is connected. Use when debugging any Spry application issue.
Install
npx vskill@latest install medz/spry/spry-debuggingSKILL.md
Spry Debugging Guide
Debugging playbooks for common Spry application issues. When the Spry MCP server is connected, always prefer MCP tools over source-only inspection.
MCP-First Debugging
When spry mcp is connected, use these tools first:
| Problem | Start With | |
|---|---|---|
| 404 / wrong route | spry.explain_route with method + path | |
| Middleware not running | spry.list_middleware then spry.explain_route | |
| Config not taking effect | spry.get_config | |
| Route not discovered | spry.list_routes | |
| OpenAPI issues | spry.get_openapi_status | |
| Client gen issues | spry.get_client_status | |
| General orientation | spry.get_project_info |
Only fall back to source reading when MCP tools don't provide enough detail.
Playbook: 404 Not Found
Step 1: Check route discovery
- MCP:
spry.list_routes— is the expected route listed? - Manual: Look in
.spry/src/app.dartfor the generated route map.
Step 2: Check route matching
- MCP:
spry.explain_route(method: "GET", path: "/the/path")— does it match? - Manual: Compare route file pattern against request path.
Step 3: Common causes
- Wrong file name:
routes/users.get.dartmatchesGET /users, notPOST. - Missing handler export: Every route file must export a correctly typed top-level
handler; filename suffixes select the HTTP method. - Trailing slash:
/users/vs/users— check case sensitivity setting. - Param syntax:
[id]matches exactly one segment;[...id]matches zero or more. - Regex constraint too strict:
[id([0-9]+)]won't match alphabetic IDs.
Step 4: Fallback check
If no route matches, a root routes/[...].dart supplies the fallback. routes/index.dart handles / only.
See route debugging details for advanced cases.
Playbook: Middleware Not Running
- MCP:
spry.list_middleware— is the filesystem middleware listed? - MCP:
spry.explain_route— check the filesystemmiddleware_chain. Middleware insidedefineHandler(middleware: ...)or other handler wrappers requires inspecting the handler source. - Check scope: Scoped middleware in
routes/admin/_middleware.dartapplies to/admin/**only. - Check ordering: Middleware runs global → scoped-general → scoped-specific → handler. If a middleware returns without calling
next(), later middleware won't run. - Check method restriction:
_middleware.post.dartonly applies toPOST. Rename to_middleware.dartfor all methods.
Playbook: Error Handler Issues
- MCP:
spry.list_error_handlers— is the handler listed? - Check chain: Error handlers chain scoped-specific → scoped-general. If a route handler re-throws, the next error handler gets a chance. Scoped error handlers do not catch errors thrown by outer middleware.
- Unhandled errors:
HTTPErrorconverts to Response automatically. Other errors propagate to the runtime.
Playbook: OpenAPI Generation
- MCP:
spry.get_openapi_status - Verify
openapiis configured inspry.config.dart - Check
<publicDir>/<output.path>(defaultpublic/openapi.jsonfor route output), or the configured root-relative local path - Run
spry buildto regenerate
Playbook: Client Generation
- MCP:
spry.get_client_status - Run
spry build clientto regenerate - Output is in the configured
pkgDir(default.spry/client)
Playbook: Build / Runtime Errors
- Run
spry buildand read the error output - MCP:
spry.get_config— verify target, directories, settings - Inspect
.spry/for generated files - For JS targets: ensure
dart compile jssucceeds - For Cloudflare: verify
wrangler.tomlexists or is configured
Quick Reference
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/spry-debugging/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/medz/spry/spry-debugging)