/install dashclaw-platform-intelligence
\r \r
DashClaw Platform Intelligence\r
\r
Shape snapshot: sha1:f32568b0fb5826bf510e0a902d68608d2b58051e\r
This file is auto-generated. Do not edit by hand — regenerate with:\r
\r
python -m livingcode emit skill --output \x3Cpath-to-SKILL.md>\r
```\r
\r
## Prefer Live Queries\r
\r
The facts below are a snapshot. Before answering any question about DashClaw's current\r
structure, routes, env vars, or schema — run a live query:\r
\r
```bash\r
python -m livingcode query summary # High-level shape\r
python -m livingcode query routes # Current API surface\r
python -m livingcode query env # Current env vars\r
python -m livingcode query tables # Current schema\r
python -m livingcode query all --json # Full machine-readable shape\r
```\r
\r
If the snapshot below disagrees with a live query, **trust the live query**.\r
\r
## At a Glance\r
\r
- **184** active API routes across **49** categories\r
- **4** required + **120** optional environment variables\r
- **73** database tables\r
\r
## API Surface\r
\r
### `actions`\r
\r
- `DELETE, GET, POST` `/api/actions`\r
- `GET, PATCH` `/api/actions/[actionId]`\r
- `GET` `/api/actions/[actionId]/artifacts`\r
- `GET` `/api/actions/[actionId]/graph`\r
- `GET` `/api/actions/[actionId]/messages`\r
- `GET, POST` `/api/actions/[actionId]/outcome`\r
- `GET` `/api/actions/[actionId]/trace`\r
- `GET` `/api/actions/costs`\r
- `GET, POST` `/api/actions/loops`\r
- `GET, PATCH` `/api/actions/loops/[loopId]`\r
- `GET` `/api/actions/stats`\r
\r
### `activity`\r
\r
- `GET` `/api/activity`\r
\r
### `agents`\r
\r
- `GET` `/api/agents`\r
- `GET` `/api/agents/[agentId]`\r
- `GET` `/api/agents/[agentId]/profile`\r
- `GET, POST` `/api/agents/connections`\r
- `POST` `/api/agents/heartbeat`\r
\r
### `analytics`\r
\r
- `GET` `/api/analytics`\r
\r
### `approvals`\r
\r
- `POST` `/api/approvals/[actionId]`\r
\r
### `artifacts`\r
\r
- `GET, POST` `/api/artifacts`\r
- `DELETE, GET` `/api/artifacts/[artifactId]`\r
- `POST` `/api/artifacts/evidence-bundle`\r
\r
### `assumptions`\r
\r
- `GET, POST` `/api/assumptions`\r
- `GET, PATCH` `/api/assumptions/[assumptionId]`\r
\r
### `auth`\r
\r
- `-` `/api/auth/[...nextauth]`\r
- `GET` `/api/auth/config`\r
- `DELETE, POST` `/api/auth/local`\r
\r
### `billing`\r
\r
- `POST` `/api/billing/checkout`\r
- `GET` `/api/billing/portal`\r
\r
### `capabilities`\r
\r
- `GET, POST` `/api/capabilities`\r
- `DELETE, GET, PATCH` `/api/capabilities/[capabilityId]`\r
- `GET, POST` `/api/capabilities/[capabilityId]/access`\r
- `DELETE` `/api/capabilities/[capabilityId]/access/[ruleId]`\r
- `GET` `/api/capabilities/[capabilityId]/access/check`\r
- `GET` `/api/capabilities/[capabilityId]/health`\r
- `GET` `/api/capabilities/[capabilityId]/history`\r
- `POST` `/api/capabilities/[capabilityId]/invoke`\r
- `POST` `/api/capabilities/[capabilityId]/test`\r
- `GET` `/api/capabilities/health`\r
\r
### `compliance`\r
\r
- `GET` `/api/compliance/evidence`\r
- `GET, POST` `/api/compliance/exports`\r
- `DELETE, GET` `/api/compliance/exports/[exportId]`\r
- `GET` `/api/compliance/exports/[exportId]/download`\r
- `GET` `/api/compliance/frameworks`\r
- `GET` `/api/compliance/gaps`\r
- `GET` `/api/compliance/map`\r
- `GET` `/api/compliance/report`\r
- `GET, POST` `/api/compliance/schedules`\r
- `DELETE, PATCH` `/api/compliance/schedules/[scheduleId]`\r
- `GET` `/api/compliance/trends`\r
\r
### `cron`\r
\r
- `GET` `/api/cron/integration-health`\r
- `GET` `/api/cron/learning-episodes-backfill`\r
- `GET` `/api/cron/learning-recommendations`\r
- `GET` `/api/cron/memory-maintenance`\r
- `GET` `/api/cron/outcome-sweep`\r
- `GET` `/api/cron/policy-suggestions`\r
- `GET` `/api/cron/reset-meters`\r
- `POST` `/api/cron/routing-maintenance`\r
- `GET` `/api/cron/signals`\r
\r
### `discord`\r
\r
- `POST` `/api/discord/interactions`\r
\r
### `docs`\r
\r
- `GET` `/api/docs/raw`\r
\r
### `doctor`\r
\r
- `GET` `/api/doctor`\r
- `POST` `/api/doctor/fix`\r
\r
### `drift`\r
\r
- `GET, POST` `/api/drift/alerts`\r
- `DELETE, PATCH` `/api/drift/alerts/[alertId]`\r
- `GET` `/api/drift/metrics`\r
- `GET` `/api/drift/snapshots`\r
- `GET` `/api/drift/stats`\r
\r
### `evaluations`\r
\r
- `GET, POST` `/api/evaluations`\r
- `GET, POST` `/api/evaluations/runs`\r
- `GET, PATCH` `/api/evaluations/runs/[runId]`\r
- `GET, POST` `/api/evaluations/scorers`\r
- `DELETE, PATCH` `/api/evaluations/scorers/[scorerId]`\r
- `GET` `/api/evaluations/stats`\r
\r
### `guard`\r
\r
- `GET, POST` `/api/guard`\r
- `GET` `/api/guard/decisions`\r
\r
### `health`\r
\r
- `GET` `/api/health`\r
\r
### `hosted`\r
\r
- `POST` `/api/hosted/cleanup`\r
- `GET, POST` `/api/hosted/workspaces`\r
- `DELETE, GET` `/api/hosted/workspaces/[workspaceId]`\r
\r
### `identities`\r
\r
- `GET, POST` `/api/identities`\r
- `DELETE` `/api/identities/[agentId]`\r
\r
### `integrations`\r
\r
- `GET` `/api/integrations/health`\r
- `POST` `/api/integrations/health/refresh`\r
\r
### `keys`\r
\r
- `DELETE, GET, POST` `/api/keys`\r
- `GET` `/api/keys/reveal`\r
\r
### `knowledge`\r
\r
- `GET, POST` `/api/knowledge/collections`\r
- `DELETE, GET, PATCH` `/api/knowledge/collections/[collectionId]`\r
- `GET, POST` `/api/knowledge/collections/[collectionId]/items`\r
- `POST` `/api/knowledge/collections/[collectionId]/search`\r
- `POST` `/api/knowledge/collections/[collectionId]/sync`\r
\r
### `learning`\r
\r
- `GET, POST` `/api/learning`\r
- `GET, POST` `/api/learning/analytics/curves`\r
- `GET` `/api/learning/analytics/maturity`\r
- `GET` `/api/learning/analytics/summary`\r
- `GET, POST` `/api/learning/analytics/velocity`\r
- `GET` `/api/learning/lessons`\r
- `GET, POST` `/api/learning/recommendations`\r
- `PATCH` `/api/learning/recommendations/[recommendationId]`\r
- `POST` `/api/learning/recommendations/events`\r
- `GET` `/api/learning/recommendations/metrics`\r
- `GET, POST` `/api/learning/suggestions`\r
\r
### `marketing`\r
\r
- `POST` `/api/marketing/event`\r
\r
### `mcp`\r
\r
- `POST` `/api/mcp`\r
\r
### `messages`\r
\r
- `GET, PATCH, POST` `/api/messages`\r
- `GET` `/api/messages/attachments`\r
- `GET, PATCH, POST` `/api/messages/threads`\r
- `GET` `/api/messages/threads/[threadId]`\r
\r
### `model-strategies`\r
\r
- `GET, POST` `/api/model-strategies`\r
- `DELETE, GET, PATCH` `/api/model-strategies/[strategyId]`\r
- `POST` `/api/model-strategies/[strategyId]/complete`\r
\r
### `monetization`\r
\r
- `GET` `/api/monetization/verified-integrations-count`\r
\r
### `operations`\r
\r
- `GET` `/api/operations/feed`\r
- `GET` `/api/operations/summary`\r
\r
### `orgs`\r
\r
- `GET, POST` `/api/orgs`\r
- `GET, PATCH` `/api/orgs/[orgId]`\r
- `DELETE, GET, POST` `/api/orgs/[orgId]/keys`\r
\r
### `pairings`\r
\r
- `GET, POST` `/api/pairings`\r
- `GET, PATCH` `/api/pairings/[pairingId]`\r
- `POST` `/api/pairings/[pairingId]/approve`\r
\r
### `policies`\r
\r
- `DELETE, GET, PATCH, POST` `/api/policies`\r
- `POST` `/api/policies/generate`\r
- `POST` `/api/policies/import`\r
- `GET` `/api/policies/proof`\r
- `POST` `/api/policies/simulate`\r
- `GET` `/api/policies/templates`\r
- `POST` `/api/policies/test`\r
\r
### `prompts`\r
\r
- `GET` `/api/prompts/agent-connect/raw`\r
- `POST` `/api/prompts/render`\r
- `GET` `/api/prompts/runs`\r
- `GET` `/api/prompts/sdk-coverage/raw`\r
- `GET` `/api/prompts/server-setup/raw`\r
- `GET` `/api/prompts/stats`\r
- `GET, POST` `/api/prompts/templates`\r
- `DELETE, GET, PATCH` `/api/prompts/templates/[templateId]`\r
- `GET, POST` `/api/prompts/templates/[templateId]/versions`\r
- `GET, POST` `/api/prompts/templates/[templateId]/versions/[versionId]`\r
\r
### `scoring`\r
\r
- `POST` `/api/scoring/calibrate`\r
- `GET, POST` `/api/scoring/profiles`\r
- `DELETE, GET, PATCH` `/api/scoring/profiles/[profileId]`\r
- `POST` `/api/scoring/profiles/[profileId]/dimensions`\r
- `DELETE, PATCH` `/api/scoring/profiles/[profileId]/dimensions/[dimensionId]`\r
- `GET, POST` `/api/scoring/risk-templates`\r
- `DELETE, PATCH` `/api/scoring/risk-templates/[templateId]`\r
- `GET, POST` `/api/scoring/score`\r
\r
### `security`\r
\r
- `GET, POST` `/api/security/prompt-injection`\r
- `POST` `/api/security/scan`\r
- `GET` `/api/security/status`\r
\r
### `session`\r
\r
- `GET` `/api/session/effective`\r
\r
### `sessions`\r
\r
- `GET, POST` `/api/sessions`\r
- `GET, PATCH` `/api/sessions/[sessionId]`\r
- `GET` `/api/sessions/[sessionId]/events`\r
\r
### `settings`\r
\r
- `DELETE, GET, POST` `/api/settings`\r
- `GET` `/api/settings/llm-status`\r
- `POST` `/api/settings/test`\r
\r
### `setup`\r
\r
- `POST` `/api/setup/live-proof`\r
- `POST` `/api/setup/migrate`\r
- `POST` `/api/setup/ping`\r
- `GET` `/api/setup/proof`\r
- `GET` `/api/setup/status`\r
\r
### `signals`\r
\r
- `GET` `/api/signals`\r
\r
### `stream`\r
\r
- `GET` `/api/stream`\r
\r
### `swarm`\r
\r
- `GET` `/api/swarm/graph`\r
- `GET` `/api/swarm/link`\r
\r
### `team`\r
\r
- `GET` `/api/team`\r
- `DELETE, PATCH` `/api/team/[userId]`\r
- `DELETE, GET, POST` `/api/team/invite`\r
\r
### `telegram`\r
\r
- `POST` `/api/telegram/webhook`\r
\r
### `usage`\r
\r
- `GET` `/api/usage`\r
- `GET` `/api/usage/costs`\r
\r
### `webhooks`\r
\r
- `DELETE, GET, POST` `/api/webhooks`\r
- `GET` `/api/webhooks/[webhookId]/deliveries`\r
- `POST` `/api/webhooks/[webhookId]/test`\r
- `POST` `/api/webhooks/stripe`\r
\r
### `workflows`\r
\r
- `POST` `/api/workflows/draft`\r
- `GET, POST` `/api/workflows/templates`\r
- `DELETE, GET, PATCH` `/api/workflows/templates/[templateId]`\r
- `POST` `/api/workflows/templates/[templateId]/duplicate`\r
- `POST` `/api/workflows/templates/[templateId]/execute`\r
- `POST` `/api/workflows/templates/[templateId]/launch`\r
- `GET` `/api/workflows/templates/[templateId]/runs`\r
- `GET` `/api/workflows/templates/[templateId]/runs/[runActionId]`\r
- `POST` `/api/workflows/templates/[templateId]/runs/[runActionId]/cancel`\r
- `POST` `/api/workflows/templates/[templateId]/runs/[runActionId]/resume`\r
\r
## Required Environment Variables\r
\r
These must be set — DashClaw will fail to start without them.\r
\r
- **`DASHCLAW_API_KEY`** - referenced in 70 file(s)\r
- **`DATABASE_URL`** - referenced in 85 file(s)\r
- **`ENCRYPTION_KEY`** - referenced in 8 file(s)\r
- **`NEXTAUTH_SECRET`** - referenced in 6 file(s)\r
\r
## Optional Environment Variables\r
\r
These have fallbacks or only activate specific features.\r
\r
- `AGENT_ONLINE_WINDOW_MS` *(undocumented)*\r
- `AGENT_PRIVATE_KEY` *(undocumented)*\r
- `AGENT_PRIVATE_KEY_JWK` *(undocumented)*\r
- `ALERT_FROM_EMAIL` *(undocumented)*\r
- `ALLOWED_ORIGIN` *(undocumented)*\r
- `ANTHROPIC_API_KEY` *(undocumented)*\r
- `API_INVENTORY_VERIFIED_DATE` *(undocumented)*\r
- `API_SECRET` *(undocumented)*\r
- `BASE_URL` *(undocumented)*\r
- `CI` *(undocumented)*\r
- `CONVERGENCE_BENCH_CONCURRENCY` *(undocumented)*\r
- `CONVERGENCE_BENCH_ITERATIONS` *(undocumented)*\r
- `CONVERGENCE_REPLAY_CONNECT_TIMEOUT_MS` *(undocumented)*\r
- `CONVERGENCE_RETRY_429_MAX` *(undocumented)*\r
- `CONVERGENCE_RETRY_429_WAIT_MS` *(undocumented)*\r
- `CONVERGENCE_SSE_SEND_COUNT` *(undocumented)*\r
- `CONVERGENCE_VERBOSE` *(undocumented)*\r
- `CRON_SECRET` *(undocumented)*\r
- `DASHCLAW_AGENT_ID` *(undocumented)*\r
- `DASHCLAW_ALERTS_DISCORD` *(undocumented)*\r
- `DASHCLAW_ALERTS_TELEGRAM` *(undocumented)*\r
- `DASHCLAW_API_KEY_ORG` *(undocumented)*\r
- `DASHCLAW_BASE_URL` *(undocumented)*\r
- `DASHCLAW_CLOSED_ENROLLMENT` *(undocumented)*\r
- `DASHCLAW_DB_DRIVER` *(undocumented)*\r
- `DASHCLAW_DB_POOL_MAX` *(undocumented)*\r
- `DASHCLAW_DISABLE_RATE_LIMIT` *(undocumented)*\r
- `DASHCLAW_GUARD_FALLBACK` *(undocumented)*\r
- `DASHCLAW_HOSTED` *(undocumented)*\r
- `DASHCLAW_LOCAL_ADMIN_PASSWORD` *(undocumented)*\r
- `DASHCLAW_MAX_ORG_ATTACHMENT_BYTES` *(undocumented)*\r
- `DASHCLAW_MODE` *(undocumented)*\r
- `DASHCLAW_NEW_CONNECT_WEBHOOK` *(undocumented)*\r
- `DASHCLAW_RATE_LIMIT_MAX` *(undocumented)*\r
- `DASHCLAW_RATE_LIMIT_WINDOW_MS` *(undocumented)*\r
- `DASHCLAW_URL` *(undocumented)*\r
- `DISABLE_PROMPT_INJECTION_SCAN` *(undocumented)*\r
- `DISCORD_APPROVER_ORG_ID` *(undocumented)*\r
- `DISCORD_APPROVER_USER_ID` *(undocumented)*\r
- `DISCORD_BOT_TOKEN` *(undocumented)*\r
- `DISCORD_PUBLIC_KEY` *(undocumented)*\r
- `ENFORCE_AGENT_SIGNATURES` *(undocumented)*\r
- `GITHUB_CLIENT_ID` *(undocumented)*\r
- `GITHUB_CLIENT_SECRET` *(undocumented)*\r
- `GITHUB_ID` *(undocumented)*\r
- `GITHUB_REPO_NAME` *(undocumented)*\r
- `GITHUB_REPO_OWNER` *(undocumented)*\r
- `GITHUB_SECRET` *(undocumented)*\r
- `GITHUB_TOKEN` *(undocumented)*\r
- `GOOGLE_AI_API_KEY` *(undocumented)*\r
- `GOOGLE_CLIENT_ID` *(undocumented)*\r
- `GOOGLE_CLIENT_SECRET` *(undocumented)*\r
- `GOOGLE_ID` *(undocumented)*\r
- `GOOGLE_SECRET` *(undocumented)*\r
- `GUARD_LLM_BASE_URL` *(undocumented)*\r
- `GUARD_LLM_KEY` *(undocumented)*\r
- `GUARD_LLM_MODEL` *(undocumented)*\r
- `GUARD_WEBHOOK_SECRET` *(undocumented)*\r
- `HOSTED_CLEANUP_SECRET` *(undocumented)*\r
- `HOSTED_PROVISION_MAX_PER_IP_PER_DAY` *(undocumented)*\r
- `HOSTED_SMOKE_BASE_URL` *(undocumented)*\r
- `HOSTED_TRIAL_ACTION_CAP` *(undocumented)*\r
- `HOSTED_TRIAL_DAYS` *(undocumented)*\r
- `INTEGRATION_DATABASE_URL` *(undocumented)*\r
- `MEMORY_DIR` *(undocumented)*\r
- `MOONSHOT_API_KEY` *(undocumented)*\r
- `NEXTAUTH_URL`\r
- `NEXT_PUBLIC_APP_URL` *(undocumented)*\r
- `NEXT_PUBLIC_DASHCLAW_MODE` *(undocumented)*\r
- `NEXT_PUBLIC_DASHCLAW_VERSION` *(undocumented)*\r
- `NEXT_PUBLIC_ENABLE_VERCEL_ANALYTICS` *(undocumented)*\r
- `NEXT_PUBLIC_TURNSTILE_SITE_KEY` *(undocumented)*\r
- `NODE_ENV` *(undocumented)*\r
- `OIDC_AUTHORIZATION_URL` *(undocumented)*\r
- `OIDC_CLIENT_ID` *(undocumented)*\r
- `OIDC_CLIENT_SECRET` *(undocumented)*\r
- `OIDC_DISPLAY_NAME` *(undocumented)*\r
- `OIDC_ISSUER_URL` *(undocumented)*\r
- `OIDC_TOKEN_URL` *(undocumented)*\r
- `OIDC_USERINFO_URL` *(undocumented)*\r
- `OPENAI_API_KEY` *(undocumented)*\r
- `ORG_ID` *(undocumented)*\r
- `PORT` *(undocumented)*\r
- `PW_BASE_URL` *(undocumented)*\r
- `PW_SMOKE_PORT` *(undocumented)*\r
- `PYTHON` *(undocumented)*\r
- `PYTHONPATH` *(undocumented)*\r
- `REALTIME_BACKEND` *(undocumented)*\r
- `REALTIME_ENFORCE_REDIS` *(undocumented)*\r
- `REALTIME_MAX_LISTENERS` *(undocumented)*\r
- `REALTIME_MEMORY_MAX_LISTENERS` *(undocumented)*\r
- `REALTIME_REDIS_URL` *(undocumented)*\r
- `REALTIME_REPLAY_MAX_EVENTS` *(undocumented)*\r
- `REALTIME_REPLAY_WINDOW_SECONDS` *(undocumented)*\r
- `REDIS_URL` *(undocumented)*\r
- `RESEARCH_API_KEY` *(undocumented)*\r
- `RESEARCH_API_URL` *(undocumented)*\r
- `RESEND_API_KEY` *(undocumented)*\r
- `SERVICE_NAME` *(undocumented)*\r
- `STARTUP_SMOKE_BASE_URL` *(undocumented)*\r
- `STARTUP_SMOKE_INTERVAL_MS` *(undocumented)*\r
- `STARTUP_SMOKE_TIMEOUT_MS` *(undocumented)*\r
- `STRIPE_PRICE_BUSINESS` *(undocumented)*\r
- `STRIPE_PRICE_PRO` *(undocumented)*\r
- `STRIPE_SECRET_KEY` *(undocumented)*\r
- `STRIPE_WEBHOOK_SECRET` *(undocumented)*\r
- `TARGET_ENV` *(undocumented)*\r
- `TELEGRAM_ADMIN_CHAT_ID` *(undocumented)*\r
- `TELEGRAM_APPROVER_ORG_ID` *(undocumented)*\r
- `TELEGRAM_BOT_TOKEN` *(undocumented)*\r
- `TELEGRAM_WEBHOOK_SECRET` *(undocumented)*\r
- `TEST_BASE_URL` *(undocumented)*\r
- `TRUST_PROXY` *(undocumented)*\r
- `TURNSTILE_SECRET_KEY` *(undocumented)*\r
- `UPSTASH_REDIS_REST_TOKEN` *(undocumented)*\r
- `UPSTASH_REDIS_REST_URL` *(undocumented)*\r
- `VERCEL` *(undocumented)*\r
- `VERCEL_URL` *(undocumented)*\r
- `WEBHOOK_ALLOWED_DOMAINS` *(undocumented)*\r
- `X` *(undocumented)*\r
\r
## Database Tables\r
\r
All 73 tables defined in `schema/schema.js` (Drizzle ORM):\r
\r
- `action_embeddings`\r
- `action_records`\r
- `activity_logs`\r
- `agent_connections`\r
- `agent_identities`\r
- `agent_messages`\r
- `agent_pairings`\r
- `agent_presence`\r
- `agent_schedules`\r
- `agent_sessions`\r
- `api_keys`\r
- `assumptions`\r
- `calendar_events`\r
- `compliance_snapshots`\r
- `contacts`\r
- `content`\r
- `context_entries`\r
- `context_points`\r
- `daily_totals`\r
- `decisions`\r
- `drift_alerts`\r
- `drift_baselines`\r
- `drift_snapshots`\r
- `entities`\r
- `eval_runs`\r
- `eval_scores`\r
- `executions`\r
- `feedback`\r
- `goals`\r
- `guard_decisions`\r
- `guard_policies`\r
- `guardrails_test_runs`\r
- `health_snapshots`\r
- `ideas`\r
- `interactions`\r
- `learning_curves`\r
- `learning_episodes`\r
- `learning_recommendation_events`\r
- `learning_recommendations`\r
- `learning_velocity`\r
- `message_threads`\r
- `milestones`\r
- `notification_preferences`\r
- `open_loops`\r
- `organizations`\r
- `profile_scores`\r
- `prompt_runs`\r
- `prompt_templates`\r
- `prompt_versions`\r
- `risk_templates`\r
- `routing_agent_metrics`\r
- `routing_agents`\r
- `routing_decisions`\r
- `routing_tasks`\r
- `scheduled_jobs`\r
- `scoring_dimensions`\r
- `scoring_profiles`\r
- `session_events`\r
- `shared_docs`\r
- `snippets`\r
- `token_budgets`\r
- `token_snapshots`\r
- `topics`\r
- `usage_meters`\r
- `user_approaches`\r
- `user_moods`\r
- `user_observations`\r
- `user_preferences`\r
- `users`\r
- `waitlist`\r
- `webhook_deliveries`\r
- `webhooks`\r
- `workflows`\r
\r
## Configuration Knobs\r
\r
Per-org settings stored in the `settings` table. Set via `PUT /api/settings/:key` or the web Settings/Integrations UI. Keys marked sensitive are auto-encrypted at rest.\r
\r
### AI Providers\r
\r
- `OPENAI_API_KEY`\r
- `OPENAI_ORG_ID`\r
- `ANTHROPIC_API_KEY`\r
- `GROQ_API_KEY`\r
- `TOGETHER_API_KEY`\r
- `REPLICATE_API_TOKEN`\r
- `HUGGINGFACE_API_KEY`\r
- `PERPLEXITY_API_KEY`\r
- `ELEVENLABS_API_KEY`\r
- `ELEVENLABS_VOICE_ID`\r
\r
### Databases\r
\r
- `DATABASE_URL`\r
- `SUPABASE_URL`\r
- `SUPABASE_ANON_KEY`\r
- `SUPABASE_SERVICE_KEY`\r
- `PLANETSCALE_URL`\r
- `MONGODB_URI`\r
- `REDIS_URL`\r
- `PINECONE_API_KEY`\r
- `PINECONE_ENVIRONMENT`\r
\r
### Communication\r
\r
- `TELEGRAM_BOT_TOKEN`\r
- `TELEGRAM_CHAT_ID`\r
- `DISCORD_BOT_TOKEN`\r
- `DISCORD_CLIENT_ID`\r
- `DISCORD_GUILD_ID`\r
- `SLACK_BOT_TOKEN`\r
- `SLACK_SIGNING_SECRET`\r
- `SLACK_APP_TOKEN`\r
- `TWILIO_ACCOUNT_SID`\r
- `TWILIO_AUTH_TOKEN`\r
- `TWILIO_PHONE_NUMBER`\r
- `RESEND_API_KEY`\r
- `SENDGRID_API_KEY`\r
\r
### Productivity\r
\r
- `GOOGLE_ACCOUNT`\r
- `GOOGLE_CREDENTIALS_PATH`\r
- `NOTION_API_KEY`\r
- `NOTION_PARENT_PAGE_ID`\r
- `LINEAR_API_KEY`\r
- `AIRTABLE_API_KEY`\r
- `AIRTABLE_BASE_ID`\r
- `CALENDLY_API_KEY`\r
\r
### Development\r
\r
- `GITHUB_TOKEN`\r
- `GITHUB_USERNAME`\r
- `VERCEL_TOKEN`\r
- `VERCEL_PROJECT_ID`\r
- `RAILWAY_TOKEN`\r
- `CLOUDFLARE_API_TOKEN`\r
- `CLOUDFLARE_ACCOUNT_ID`\r
- `SENTRY_DSN`\r
- `SENTRY_AUTH_TOKEN`\r
\r
### Social\r
\r
- `TWITTER_API_KEY`\r
- `TWITTER_API_SECRET`\r
- `TWITTER_ACCESS_TOKEN`\r
- `TWITTER_ACCESS_SECRET`\r
- `BRAVE_API_KEY`\r
- `MOLTBOOK_API_KEY`\r
\r
### Payments\r
\r
- `STRIPE_SECRET_KEY`\r
- `STRIPE_PUBLISHABLE_KEY`\r
- `STRIPE_WEBHOOK_SECRET`\r
- `LEMONSQUEEZY_API_KEY`\r
\r
### Native governance alert settings\r
\r
- `DASHCLAW_ALERTS_SLACK`\r
- `DASHCLAW_ALERTS_DISCORD`\r
- `DASHCLAW_ALERTS_LINEAR`\r
- `DASHCLAW_ALERTS_GITHUB`\r
- `DASHCLAW_ALERTS_EMAIL`\r
- `DASHCLAW_ALERT_EMAIL`\r
- `SLACK_CHANNEL_ID`\r
- `SLACK_WEBHOOK_URL`\r
- `DISCORD_WEBHOOK_URL`\r
- `GITHUB_REPO`\r
- `SENDGRID_DEFAULT_TO`\r
- `SENDGRID_FROM_EMAIL`\r
\r
### webhooks + native adapters deliver a signal. Empty/unset = disabled.\r
\r
- `DASHCLAW_ACTION_COST_THRESHOLD`\r
\r
### System configuration\r
\r
- `MODEL_PRICING`\r
- `ENFORCE_AGENT_SIGNATURES`\r
\r
### Predictive risk scoring\r
\r
- `PREDICTIVE_RISK_ENABLED`\r
- `PREDICTIVE_RISK_THRESHOLD`\r
\r
### docs/architecture/durable-execution-finality.md.\r
\r
- `DASHCLAW_OUTCOME_TIMEOUT_MINUTES`\r
\r
## Realtime & Webhook Events\r
\r
Every mutation that Mission Control reflects and every webhook delivery is keyed on these event strings. Subscribe via `GET /api/events` (SSE) or register a webhook with the matching `events: [...]` array.\r
\r
| Constant | Event |\r
| --- | --- |\r
| `ACTION_COST_EXCEEDED` | `action.cost_exceeded` |\r
| `ACTION_CREATED` | `action.created` |\r
| `ACTION_UPDATED` | `action.updated` |\r
| `DECISION_CREATED` | `decision.created` |\r
| `GOAL_CREATED` | `goal.created` |\r
| `GOAL_UPDATED` | `goal.updated` |\r
| `GUARD_DECISION_CREATED` | `guard.decision.created` |\r
| `LOOP_CREATED` | `loop.created` |\r
| `LOOP_UPDATED` | `loop.updated` |\r
| `MESSAGE_CREATED` | `message.created` |\r
| `POLICY_UPDATED` | `policy.updated` |\r
| `SIGNAL_DETECTED` | `signal.detected` |\r
| `TASK_ASSIGNED` | `task.assigned` |\r
| `TASK_COMPLETED` | `task.completed` |\r
| `TOKEN_USAGE` | `token.usage` |\r
\r
## Signal Types\r
\r
These are the `type` strings emitted through `fireWebhooksForOrg` and `deliverNativeNotifications`. Webhooks can subscribe to any subset by putting the type in their `events: [...]` array (or use `['all']` for everything).\r
\r
- `autonomy_spike`\r
- `branch_stale`\r
- `cost_exceeded`\r
- `green_insufficient`\r
- `integration_health_changed`\r
- `integration_mismatch`\r
- `lost_confirmation`\r
- `mcp_degraded`\r
- `stale_action`\r
- `test`\r
\r
## Native Notification Adapters\r
\r
Each adapter delivers `integration_mismatch`, `integration_health_changed`, and `cost_exceeded` signals when at least one of its required credential keys is configured. Per-channel opt-out via `DASHCLAW_ALERTS_\x3CNAME>=false`.\r
\r
| Adapter | Required credential (any one) |\r
| --- | --- |\r
| `org_id` | `DISCORD_WEBHOOK_URL` |\r
| `email` | `RESEND_API_KEY`, `SENDGRID_API_KEY` |\r
| `github` | `GITHUB_TOKEN` |\r
| `linear` | `LINEAR_API_KEY` |\r
| `slack` | `SLACK_BOT_TOKEN`, `SLACK_WEBHOOK_URL` |\r
\r
## Detecting Drift\r
\r
To check whether this snapshot matches the current codebase:\r
\r
```bash\r
python -m livingcode diff\r
```\r
\r
If the diff shows changes, this skill is stale — regenerate it.\r
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install dashclaw-platform-intelligence - After installation, invoke the skill by name or use
/dashclaw-platform-intelligence - Provide required inputs per the skill's parameter spec and get structured output
What is DashClaw Platform Intelligence?
DashClaw platform expert for integration, troubleshooting, and governance. Snapshot-based — always prefer live queries via `python -m livingcode query`. It is an AI Agent Skill for Claude Code / OpenClaw, with 83 downloads so far.
How do I install DashClaw Platform Intelligence?
Run "/install dashclaw-platform-intelligence" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is DashClaw Platform Intelligence free?
Yes, DashClaw Platform Intelligence is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does DashClaw Platform Intelligence support?
DashClaw Platform Intelligence is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created DashClaw Platform Intelligence?
It is built and maintained by DashClaw (@dashclaw); the current version is v1.0.1.