hamedmp/matrix-os/debug-app

Claude Code and agent skill by hamedmp/matrix-os

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Debug Matrix OS app failures including needs_build responses, missing dist bundles, broken matrix.json manifests, icon 404s, console errors, and integration proxy issues.

Install

npx vskill@latest install hamedmp/matrix-os/debug-app

SKILL.md

Matrix App Debugging

When to Use

Use this when a Matrix app shows an error, blank screen, needs_build, missing icons, CORS failures, or console errors.

First Checks

bash
cd ~/apps/<slug>
test -f matrix.json
test -f package.json
test -f dist/index.html

If dist/index.html is missing, build the app:

bash
pnpm install --prefer-offline
pnpm build
test -f dist/index.html

needs_build

{"error":"needs_build","status":"needs_build"} means the gateway found a Vite app manifest but no usable build output.

Fix:

  1. Check matrix.json has runtime: "vite" and build.output: "dist".
  2. Run pnpm install --prefer-offline.
  3. Run pnpm build.
  4. Verify dist/index.html.
  5. Reload the app window.

Manifest Checks

Good baseline:

json
{
"name": "Whiteboard",
"slug": "whiteboard",
"description": "Collaborative drawing and notes",
"version": "1.0.0",
"runtime": "vite",
"runtimeVersion": "^1.0.0",
"listingTrust": "first_party",
"category": "productivity",
"icon": "whiteboard",
"build": {
"command": "pnpm build",
"output": "dist"
}
}

Avoid stale fields from old app formats such as type: "html-app" or type: "react-app" unless the current gateway explicitly supports them.

Console Error Triage

  • needs_build: build output is missing.
  • 404 /icons/<slug>.png: default icon asset missing or manifest points at a non-existent icon.
  • 404 app bundle: entry or Vite base is wrong.
  • CORS from provider API: app is calling a provider directly. Use Matrix integration routes.
  • SecurityError from localStorage: app code is running inside the Matrix sandbox. Persist through

window.MatrixOS.db; keep localStorage fallback code test-only/no-op.

  • Missing or undefined saved fields: check matrix.json storage.tables declares the column and type.
  • 401 /api/auth/ws-token: user is not authenticated or the route is being called from the wrong shell context.
  • Clerk failed to load clerk.example.com: stale environment or host-bundle build used placeholder Clerk config.

Icon Fixes

  • Use committed default icon assets for built-in apps.
  • Manifest icon should be a slug, not an arbitrary URL.
  • Verify the resolved icon path exists in Matrix's system icons.
  • For games, prefer the shipped game-center asset unless the app has its own committed icon.
  • Do not rely on runtime image generation for default icons.

Data Bridge Checks

  • Confirm window.MatrixOS?.db exists before debugging state as an app bug.
  • Check the manifest declares every table and persisted column used by the app.
  • Reproduce create/update/delete failures and verify the UI rolls optimistic state back after bridge errors.
  • For ordered lists, best scores, timers, histories, and stats, look for racing writes. Serialize dependent

updates or use a single bridge operation when possible.

  • Avoid treating a test-only localStorage guard as production persistence. The shell sandbox should use the

bridge path.

Integration Errors

First inspect the actual running bridge: capabilities, integrations, describeService, service and ai.routes. If a method is absent, record the installed client/runtime version and available method names without tokens. Rebuilding app code cannot add a missing host method; use a compatible Matrix update. For a visible personal first_party app, check the connected service and any owner restriction in system/app-capabilities.json; other apps require an explicit grant. Discover actual action schemas and select an exact account label. get_file is metadata; Drive analysis needs read_file contents. AI route unavailability is separate from integration access, and must never trigger fallback to another account or funding source.

For a Chat failure, inspect its actual registered tools and run scope. App access does not prove Chat access. The built-in read integration scope provides inventory, discovery and reads without a separate Custom MCP login; it does not authorize writes or connection management. Do not copy credentials or register duplicate connections to work around missing wiring.

Customer VPSes should proxy integration requests to platform. If /api/integrations returns 404:

  1. Check gateway env has internal platform URL/token.
  2. Check platform has Pipedream credentials.
  3. Do not copy Pipedream secrets into the customer VPS as a workaround.

Verification

Before saying fixed:

bash
cd ~/apps/<slug>
pnpm build
test -f dist/index.html

Then reload the app and confirm:

  • The app renders.
  • Browser console has no app errors.
  • Network tab has no bundle 404s.
  • Any integration calls go through Matrix routes.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

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
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/hamedmp/matrix-os/debug-app/badge)](https://verified-skill.com/skills/hamedmp/matrix-os/debug-app)

Something wrong with this skill or its page? Tell us.