insforge-debug

安装量: 5.4K
排名: #1359

安装

npx skills add https://github.com/insforge/agent-skills --skill insforge-debug

InsForge Debug Diagnose problems in InsForge projects — from frontend SDK errors to backend infrastructure issues. This skill helps you locate problems by running the right commands and surfacing logs/status. It does NOT suggest fixes; hand the diagnostic output to the developer or their agent for repair decisions. Always use npx @insforge/cli — never install the CLI globally. Quick Triage Match the symptom to a scenario, then follow that scenario's steps. Symptom Scenario SDK returns { data: null, error: {...} }

1 SDK Error

HTTP 400 / 401 / 403 / 404 / 429 / 500

2 HTTP Status Code

Function throws or times out

3 Edge Function Failure

Query slow or hangs

4 Database Slow

Login fails / token expired / RLS denied

5 Auth Failure

Channel won't connect / messages missing

6 Realtime Issues

High CPU/memory, all responses slow

7 Backend Performance

functions deploy fails

8 Function Deploy

deployments deploy fails / Vercel error

9 Frontend Deploy

Scenario 1: SDK Returns Error Object
Symptoms
SDK call returns
{ data: null, error: { code, message, details } }
. PostgREST error codes like
PGRST301
,
PGRST204
, etc.
Steps
:
Read the error object — extract
code
,
message
,
details
from the SDK response.
Check aggregated error logs to find matching backend errors:
npx @insforge/cli diagnose logs
Based on the error code prefix, drill into the relevant log source:
Error pattern
Log source
Command
PGRST*
(PostgREST)
postgREST.logs
npx @insforge/cli logs postgREST.logs --limit 50
Database/SQL errors
postgres.logs
npx @insforge/cli logs postgres.logs --limit 50
Generic 500 / server error
insforge.logs
npx @insforge/cli logs insforge.logs --limit 50
If the error is DB-related, check database health for additional context:
npx @insforge/cli diagnose db
--check
connections,locks,slow-queries
Information gathered
Error code, backend log entries around the error timestamp, database health status.
Scenario 2: HTTP Status Code Anomaly
Symptoms
API calls return 400, 401, 403, 404, 429, or 500.
Steps
:
Identify the status code from the response.
Follow the path for that status code:
Status
What to check
Command
400
Request payload/params malformed
npx @insforge/cli logs postgREST.logs --limit 50
401
Auth token missing or expired
npx @insforge/cli logs insforge.logs --limit 50
403
RLS policy or permission denied
npx @insforge/cli logs insforge.logs --limit 50
404
Endpoint or resource doesn't exist
npx @insforge/cli metadata --json
429
Rate limit hit —
no backend logs recorded
See 429 note below
500
Server-side error
npx @insforge/cli diagnose logs
For 500 errors, also check aggregate error logs across all sources:
npx @insforge/cli diagnose logs
429 Rate Limit
The backend does not log 429 responses and does not return
Retry-After
or
X-RateLimit-*
headers. Checking logs will not help. Instead:
Review client code for high-frequency request patterns: loops without throttling, missing debounce, retry without exponential backoff, or parallel calls that could be batched.
Check overall backend load to see if the system is under heavy traffic:
npx @insforge/cli diagnose metrics
--range
1h
A 429 status confirms the request was rate-limited. The fix is always on the client side: reduce request frequency, add backoff/debounce, or batch operations.
Information gathered
Status code context, relevant log entries, request/response details from logs. For 429: client-side request patterns and backend load metrics.
Scenario 3: Edge Function Execution Failure/Timeout
Symptoms
:
functions invoke
returns error, function times out, or throws runtime exception.
Steps
:
Check function execution logs:
npx @insforge/cli logs function.logs
--limit
50
Verify the function exists and is active:
npx @insforge/cli functions list
Inspect the function source for obvious issues:
npx @insforge/cli functions code
<
slug
>
Information gathered
Function runtime errors, function status, source code, EC2 resource metrics.
Scenario 4: Database Query Slow or Unresponsive
Symptoms
Queries take too long, hang indefinitely, or connection pool is exhausted.
Steps
:
Check database health — slow queries, active connections, locks:
npx @insforge/cli diagnose db
--check
slow-queries,connections,locks
Check postgres logs for query errors or warnings:
npx @insforge/cli logs postgres.logs
--limit
50
Check index usage and table bloat:
npx @insforge/cli diagnose db
--check
index-usage,bloat,cache-hit,size
If the whole system feels slow, check EC2 instance metrics:
npx @insforge/cli diagnose metrics
--range
1h
Information gathered
Slow query details, connection pool state, lock contention, index efficiency, table bloat, cache hit ratio, EC2 resource usage.
Scenario 5: Authentication/Authorization Failure
Symptoms
Login fails, signup errors, token expired, OAuth callback error, RLS policy denies access.
Steps
:
Check insforge.logs for auth-related errors (login failures, token issues, OAuth errors):
npx @insforge/cli logs insforge.logs
--limit
50
Check postgREST.logs for RLS policy violations:
npx @insforge/cli logs postgREST.logs
--limit
50
Verify the project's auth configuration:
npx @insforge/cli metadata
--json
If RLS suspected, inspect current policies:
npx @insforge/cli db policies
Information gathered
Auth error details, RLS violation logs, auth configuration state, active RLS policies.
Scenario 6: Realtime Channel Issues
Symptoms
WebSocket won't connect, channel subscription fails, messages not received or lost.
Steps
:
Check insforge.logs for realtime/WebSocket errors:
npx @insforge/cli logs insforge.logs
--limit
50
Verify the channel pattern exists and is enabled:
npx @insforge/cli db query
"SELECT pattern, description, enabled FROM realtime.channels"
If access is restricted, check RLS on realtime tables:
npx @insforge/cli db policies
If the issue is widespread (all channels affected), check overall backend health:
npx @insforge/cli diagnose
Information gathered
WebSocket error logs, channel configuration, realtime RLS policies, overall backend health.
Scenario 7: Backend Performance Degradation
Symptoms
All responses slow, high latency, intermittent failures across the board.
Steps
:
Check EC2 instance metrics — CPU, memory, disk, network:
npx @insforge/cli diagnose metrics
--range
1h
Check database health (often the bottleneck):
npx @insforge/cli diagnose db
Check aggregate error logs:
npx @insforge/cli diagnose logs
Check advisor for known critical issues:
npx @insforge/cli diagnose advisor
--severity
critical
Information gathered
CPU/memory/disk/network metrics (current and trend), database health, error log summary, advisor warnings.
Scenario 8: Edge Function Deploy Failure
Symptoms
:
functions deploy
command fails, function not appearing in the list after deploy.
Steps
:
Re-run the deploy command and capture the error output:
npx @insforge/cli functions deploy
<
slug
>
Check deployment-related errors:
npx @insforge/cli logs function-deploy.logs
--limit
50
Verify whether the function exists in the list:
npx @insforge/cli functions list
Information gathered
Deploy command error output, function deployment logs, function list status, backend error logs.
Scenario 9: Frontend (Vercel) Deploy Failure
Symptoms
:
deployments deploy
command fails, deployment status shows error, Vercel build errors.
Steps
:
Check recent deployment attempts:
npx @insforge/cli deployments list
Get the status and error details for the failed deployment:
npx @insforge/cli deployments status
<
id
>
--json
The
--json
output includes a
metadata
object with Vercel-specific context:
target
,
fileCount
,
projectId
,
startedAt
,
envVarKeys
,
webhookEventType
(e.g.,
deployment.succeeded
or
deployment.error
), etc. This metadata captures the full deployment context and can be used for debugging or AI-assisted investigation.
Verify the local build succeeds before investigating further:
npm
run build
Information gathered
Deployment history, deployment metadata (Vercel context, status, webhook events), local build output, backend deployment API logs. Command Quick Reference Logs npx @insforge/cli logs < source

[ --limit < n

] Source Description insforge.logs Main backend logs postgREST.logs PostgREST API layer logs postgres.logs PostgreSQL database logs function.logs Edge function execution logs function-deploy.logs Edge function deployment logs Source names are case-insensitive. Diagnostics

Full health report (all checks)

npx @insforge/cli diagnose

EC2 instance metrics (CPU, memory, disk, network)

npx @insforge/cli diagnose metrics [ --range 1h | 6h | 24h | 7d ] [ --metrics < list

]

Advisor scan results

npx @insforge/cli diagnose advisor [ --severity critical | warning | info ] [ --category security | performance | health ] [ --limit < n

]

Database health checks

npx @insforge/cli diagnose db [ --check < checks

]

checks: connections, slow-queries, bloat, size, index-usage, locks, cache-hit (default: all)

Aggregate error logs from all sources

npx @insforge/cli diagnose logs [ --source < name

] [ --limit < n

] Supporting Commands

Project metadata (auth config, tables, buckets, functions, etc.)

npx @insforge/cli metadata --json

Edge functions

npx @insforge/cli functions list npx @insforge/cli functions code < slug

Secrets

npx @insforge/cli secrets list [ --all ] npx @insforge/cli secrets get < key

npx @insforge/cli secrets add < key

< value

[ --reserved ] [ --expires < ISO date

]

Database

npx @insforge/cli db policies npx @insforge/cli db query ""

Deployments

npx @insforge/cli deployments list npx @insforge/cli deployments status < id

--json

返回排行榜