Installs into .claude/skills of the current project.
Are you the author of Register On Dashclaw?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/ucsandman-register-on-dashclaw)
---
name: register-on-dashclaw
description: Register any agent (including this one) as a governed agent on a DashClaw instance
license: MIT
metadata:
author: ucsandman
version: "1.0.0"
category: meta
---
# Register on DashClaw
Register any AI agent as a governed entity on a DashClaw instance. This includes the meta act of registering this very agent on DashClaw.
## Register an Agent
### Via API
```bash
curl -X POST "$DASHCLAW_BASE_URL/api/agents" \
-H "x-api-key: $DASHCLAW_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "my-agent",
"agent_name": "My Agent",
"description": "What this agent does",
"capabilities": ["deploy", "api_call", "file_write"]
}'
```
### Via SDK
```javascript
import { DashClaw } from 'dashclaw';
const claw = new DashClaw({
baseUrl: process.env.DASHCLAW_BASE_URL,
apiKey: process.env.DASHCLAW_API_KEY,
agentId: 'my-agent'
});
// Agent is auto-registered on first guard call or action creation
// Explicit registration is optional but recommended for metadata
```
## Set Up Heartbeat
Heartbeats let DashClaw know your agent is alive. Missing heartbeats trigger the "Agent Silent" signal (>10 min).
```javascript
// Single heartbeat
await claw.heartbeat({ status: 'online', metadata: { version: '1.0.0' } });
// Auto-heartbeat (v1 SDK)
import { DashClaw } from 'dashclaw/legacy';
const claw = new DashClaw({ baseUrl, apiKey, agentId: 'my-agent' });
claw.startHeartbeat({ interval: 60000 }); // Every 60 seconds
// Stop when shutting down
claw.stopHeartbeat();
```
```python
# Python
claw.heartbeat(status="online", metadata={"version": "1.0.0"})
```
## Configure Agent-Specific Policies
Scope guard policies to a specific agent:
```bash
curl -X POST "$DASHCLAW_BASE_URL/api/policies" \
-H "x-api-key: $DASHCLAW_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "my-agent-deploy-gate",
"agent_id": "my-agent",
"type": "approval_gate",
"mode": "enforce",
"conditions": {
"action_types": ["deploy"],
"risk_score_min": 50
},
"action": "require_approval",
"reason": "All deploys by my-agent require approval"
}'
```
## Agent Identity & Signatures
For production, register your agent's public key for action signing:
```javascript
// V1 SDK — register identity
import { DashClaw } from 'dashclaw/legacy';
const claw = new DashClaw({ baseUrl, apiKey, agentId: 'my-agent' });
await claw.registerIdentity({
publicKeyPem: myPublicKey,
algorithm: 'Ed25519',
agentName: 'My Agent'
});
// Revoke an identity when agent is decommissioned
await claw.revokeIdentity('my-agent');
```
Signature enforcement is runtime-toggleable from `/settings?tab=identity`. When enabled, all actions must be signed with the registered key.
## Closed Enrollment Mode
If the DashClaw instance has `DASHCLAW_CLOSED_ENROLLMENT=true`, agents must be pre-registered before they can call guard or create actions. Register first, then instrument.
---
## The Meta Moment: Register This Agent on DashClaw
This agent — dashclaw-agent — can be registered on DashClaw as a governed agent. Here's how:
### 1. Set Up Environment
```bash
export DASHCLAW_BASE_URL=http://localhost:3000
export DASHCLAW_API_KEY=your-api-key
export DASHCLAW_AGENT_ID=dashclaw-agent
```
### 2. Register
```bash
curl -X POST "$DASHCLAW_BASE_URL/api/agents" \
-H "x-api-key: $DASHCLAW_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "dashclaw-agent",
"agent_name": "DashClaw Agent",
"description": "The definitive DashClaw expert. Helps developers integrate, configure, troubleshoot, and build DashClaw. Governs itself on DashClaw.",
"capabilities": ["sdk-integration", "policy-creation", "troubleshooting", "codebase-contribution", "compliance", "drift-detection"]
}'
```
### 3. Create Self-Governance Policies
```bash
# The agent that governs agents should govern itself
curl -X POST "$DASHCLAW_BASE_URL/api/policies" \
-H "x-api-key: $DASHCLAW_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "dashclaw-agent-self-governance",
"agent_id": "dashclaw-agent",
"type": "risk_threshold",
"mode": "enforce",
"conditions": { "risk_score_min": 70 },
"action": "require_approval",
"reason": "DashClaw agent practices what it preaches — high-risk actions require approval"
}'
```
### 4. Install Claude Code Hooks
If running this agent in Claude Code, install the pretool/posttool hooks (see `setup-dashclaw` skill) so every tool call is governed by DashClaw.
### 5. Start Heartbeat
```javascript
const claw = new DashClaw({
baseUrl: process.env.DASHCLAW_BASE_URL,
apiKey: process.env.DASHCLAW_API_KEY,
agentId: 'dashclaw-agent'
});
// Report presence
await claw.heartbeat({ status: 'online', metadata: {
version: '1.0.0',
type: 'gitagent',
skills: 8,
meta: 'I govern myself on the platform I help build'
}});
```
An agent that governs agents, governed by the platform it represents. That's DashClaw.