agentsclimarketplace

Build dashclaw

Skill ucsandman/dashclaw-skills/skills/build-dashclaw

Contribute to the DashClaw codebase — architecture, scaffolding, tests, CIFrom its SKILL.md

Install
npx -y skills add ucsandman/dashclaw-skills --skill build-dashclaw

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

5.3 KB, as published. Nobody here has run it

Build DashClaw

Guide for contributing to the DashClaw codebase. Covers architecture, adding new capabilities, testing, and CI.

Architecture Overview

DashClaw is organized into 3 tiers:

Tier 1: Core Runtime (app/api/)

7 mandatory endpoints that define DashClaw's governance category:

RouteMethodPurpose
/api/guardPOSTPolicy evaluation — "can I do this?"
/api/actionsPOST, PATCH, GETAction lifecycle recording
/api/approvalsPOSTHuman approval decisions
/api/assumptionsPOST, GETReasoning integrity tracking
/api/signalsGETReal-time anomaly detection
/api/policiesGET, POSTGuard policy management
/api/healthGETSystem readiness

The 7-route boundary is CI-enforced. Adding a new core route requires justification.

Tier 2: Extensions (app/(extensions)/)

Modular operational intelligence:

  • Compliance, Drift, Evaluations, Scoring, Prompts, Webhooks, Learning

Tier 3: Archived (app/api/_archive/)

Legacy features from the "Agent Platform" era. Physically isolated.

Tech Stack

LayerTechnology
RuntimeNode.js 20+
FrameworkNext.js 16 (App Router)
DatabasePostgres (Neon recommended)
ORMDrizzle ORM
AuthNextAuth.js v4
UIReact 18, Tailwind CSS 3
TestingVitest + jsdom
Package Managernpm

Key Conventions

TEXT Primary Keys

All IDs are TEXT with crypto-random prefixed values:

import { randomBytes } from 'crypto';
const id = `act_${randomBytes(16).toString('hex')}`;

ID prefixes: ar_ (actions), oc_live_/oc_test_ (API keys), sp_ (scoring profiles), pt_ (prompt templates), etc.

Repository Pattern

No direct SQL in route handlers. All data access goes through repository modules:

app/lib/repositories/*.repository.js

Route handlers import from repositories, never inline SQL.

Auth Chain

Request → Strip client org headers → Rate limit → Route matching
  → Public routes: pass through
  → Protected routes: x-api-key (fast path: timing-safe compare)
    → Inject org context from resolved key

12-Step Scaffold for New Capabilities

When adding a new feature to DashClaw:

  1. Migration — Add table with TEXT PKs and crypto-random IDs
  2. Repository — Create app/lib/repositories/<name>.repository.js (all SQL here)
  3. Lib module — Create app/lib/<name>.js (business logic)
  4. Route handler — Create app/api/<name>/route.js (imports from repository)
  5. Demo fixtures — Add fixture data if the feature needs demo mode support
  6. Demo middleware — Wire fixtures into demo mode if needed
  7. Node SDK method — Add to sdk/dashclaw.js (camelCase)
  8. Python SDK method — Add to sdk-python/dashclaw/client.py (snake_case)
  9. Docs page — Create dashboard page or update existing docs
  10. Node README — Add method to SDK README
  11. Python README — Add method to Python SDK README
  12. Parity matrix — Update docs/sdk-parity.md with new method counts

Legacy SDK Promotion

The v1 SDK has 187 methods across 31 categories. When promoting to v2:

High priority (core governance):

  • registerOpenLoop() + resolveOpenLoop() — Decision integrity
  • events() — Real-time SSE events
  • heartbeat() + startHeartbeat() — Agent telemetry

Medium priority (analytics):

  • getRecommendations() + recommendAction() — Adaptive learning
  • getLearningVelocity() + getLearningCurves() — Learning analytics
  • getSignals() — Decision integrity signals

See knowledge/legacy-sdk-reference.md for the full inventory with all method signatures.

Testing

# Run all tests (watch mode)
npm run test

# Run tests once (CI mode)
npm run test -- --run

# Run specific test file
npx vitest run app/lib/__tests__/guard.test.js

Tests live alongside their modules or in __tests__/ directories.

CI Checks

Three mandatory CI checks:

# 1. Governance boundary — enforces 7-route API limit
npm run governance:boundary:check

# 2. OpenAPI contract — detects API drift
npm run openapi:check

# 3. Tests
npm run test -- --run

All three must pass before merge.

Key Files for Contributors

FileWhat to Read
PROJECT_DETAILS.mdCanonical system map (source of truth)
CLAUDE.mdContributing conventions
app/lib/guard.jsRisk scoring engine
app/lib/signals.jsAnomaly detection logic
sdk/dashclaw.jsV2 SDK implementation
sdk/legacy/dashclaw-v1.jsV1 SDK (187 methods)
schema/schema.jsDatabase schema (Drizzle)
middleware.jsAuth chain
docs/sdk-parity.mdSDK method parity matrix

Contributing Workflow

  1. Read PROJECT_DETAILS.md and CLAUDE.md
  2. Understand the 3-tier boundary (core vs extension vs archived)
  3. Follow the 12-step scaffold if adding a new capability
  4. Match existing patterns (repository pattern, TEXT PKs, etc.)
  5. Run all three CI checks locally before committing
  6. Keep SDK parity: if you add a Node method, add the Python equivalent

Keep looking

Skills are one crate of 628,853. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.