Skill: sky-lv/skylv-agent-constitution-guard (version 1.0.0)

--- description: Constitutional guardrails for AI agents — define immutable behavioral rules, permission boundaries, escalation policies, and safety interlocks that prevent agents from exceeding authorized scope regardless of context or pressure keywords: openclaw, skill, automation, ai-agent, constitution, guardrail, safety, permission, boundary, behavioral-constraint, escalation, audit-trail, compliance, guard, restrict, deny, allow, policy name: agent-constitution-guard triggers: agent constitution, guardrail, permission guard, safety rule, behavioral constraint, boundary check, escalation policy, agent safety, immutable rule, compliance guard --- # agent-constitution-guard > Constitutional guardrails for AI agents — define immutable behavioral rules, permission boundaries, escalation policies, and safety interlocks that agents cannot override regardless of context or user pressure. ## Skill Metadata - **Slug**: agent-constitution-guard - **Version**: 1.1.0 - **Author**: SKY-lv - **Description**: Production-grade constitutional guardrails system for AI agents. Define immutable behavioral rules, multi-level permission boundaries, human escalation policies, safety interlocks, and comprehensive audit trails. Agents must obey these rules regardless of context, prompt injection, or social engineering attempts. - **Category**: safety - **License**: MIT - **Trigger Keywords**: `constitution`, `guardrail`, `permission guard`, `safety rule`, `behavioral constraint`, `boundary check`, `escalation policy`, `agent safety`, `immutable rule`, `compliance guard`, `red line`, `permission boundary` --- ## Why This Matters AI agents with access to files, APIs, and external systems need enforceable boundaries. Without constitutional guardrails: - An agent could delete production databases responding to a misleading prompt - An agent could exfiltrate sensitive data to external endpoints - An agent could spend thousands of dollars on API calls without oversight - An agent could modify system files, breaking the host environment This skill provides **enforceable, auditable, multi-layered** protection. --- ## Architecture \`\`\` ┌─────────────────────────────────────┐ │ AGENT ACTION REQUEST │ └──────────────────┬──────────────────┘ │ ▼ ┌─────────────────────────────────────┐ │ Layer 1: IMMUTABLE CHECK │ ← Cannot be overridden by anyone │ (Hard safety boundaries) │ └──────────────────┬──────────────────┘ │ PASS ▼ ┌─────────────────────────────────────┐ │ Layer 2: POLICY ENGINE │ ← Rule-based permission checks │ (Context-aware rules) │ └──────────────────┬──────────────────┘ │ PASS ▼ ┌─────────────────────────────────────┐ │ Layer 3: ESCALATION │ ← Human approval for sensitive ops │ (Owner confirmation) │ └──────────────────┬──────────────────┘ │ APPROVED ▼ ┌─────────────────────────────────────┐ │ Layer 4: AUDIT LOG │ ← Every check is recorded │ (Immutable audit trail) │ └─────────────────────────────────────┘ \`\`\` --- ## Step-by-Step Usage ### Step 1: Initialize Constitution \`\`\`bash node constitution.js init --name "my-agent" --owner "[REDACTED_SECRET]" \`\`\` Creates `.constitution/` directory with default rules and audit log. ### Step 2: Add Rules \`\`\`bash # Immutable rule: never call external APIs without confirmation node constitution.js rule add \ --level immutable \ --action deny \ --scope "external_write" \ --description "Never write to external APIs without owner confirmation" \ --escalation owner # Owner-only rule: can modify workspace files node constitution.js rule add \ --level owner-only \ --action allow \ --scope "workspace_write" \ --description "Can write files within workspace directory" # Mutable rule: can read any file node constitution.js rule add \ --level mutable \ --action allow \ --scope "file_read" \ --description "Read any local file" \`\`\` ### Step 3: Check Permissions Before Action \`\`\`javascript const guard = require('./constitution.js'); // Check if an action is allowed const decision = guard.check('external_write', { target: 'https://api.stripe.com/charges', payload: { amount: 9999 }, userId: 'user-123' }); console.log(decision); // { // allowed: false, // layer: 'immutable', // rule: 'R001', // reason: 'External write requires owner confirmation', // escalation: 'owner', // escalationMessage: 'Agent wants to POST to https://api.stripe.com/charges. Approve?' // } \`\`\` ### Step 4: Handle Escalation \`\`\`javascript if (!decision.allowed && decision.escalation) { // Send escalation request to owner const approved = await guard.escalate(decision, { channel: 'webhook', // or 'email', 'slack', 'console' timeout: 300000, // 5 min timeout details: decision.escalationMessage }); if (approved) { await executeAction(); } } \`\`\` ### Step 5: Review Audit Trail \`\`\`bash # View all decisions in last 24 hours node constitution.js audit --last 24h # View only denied actions node constitution.js audit --status denied # View audit for specific scope node constitution.js audit --scope external_write # Export for compliance reporting node constitution.js audit --export csv --output audit_2024_Q1.csv \`\`\` --- ## Rule Levels Explained | Level | Who Can Modify | Override | Use Case | |-------|---------------|----------|----------| | **Immutable** | Nobody | Never | Delete production, external network access, credential access | | **Owner-only** | Agent owner only | Never | Deploy to production, modify billing, send emails | | **Mutable** | Agent (within bounds) | Self-adjust | File read paths, log verbosity, cache settings | | **Advisory** | Anyone | Always | Performance hints, optimization suggestions | --- ## Real-World Examples ### Example 1: Production Database Protection \`\`\`json { "id": "DB-PROTECT", "level": "immutable", "action": "deny", "scope": ["database_delete", "database_drop", "database_truncate"], "description": "Never delete, drop, or truncate any production database", "conditions": { "environment": ["production", "prod"] } } \`\`\` ### Example 2: Cost Control ($100/day API budget) \`\`\`json { "id": "COST-GUARD", "level": "owner-only", "action": "allow", "scope": "external_api_call", "description": "Allow external API calls within daily budget", "limits": { "maxDailyCost": 100, "maxCostPerCall": 10 }, "escalation": "owner" } \`\`\` ### Example 3: Data Privacy (GDPR Compliance) \`\`\`json { "id": "GDPR-GUARD", "level": "immutable", "action": "deny", "scope": ["data_export", "data_share"], "description": "Never export or share PII data without legal approval", "conditions": { "dataTypes": ["email", "phone", "ssn", "address", "financial"] } } \`\`\` --- ## Configuration Reference \`\`\`json { "constitution": { "version": "1.0", "agent": "my-agent", "owner": "[REDACTED_SECRET]", "defaults": { "denyAction": "block", "logLevel": "all", "escalationTimeout": 300000 }, "layers": { "immutable": { "enabled": true, "log": true }, "policy": { "enabled": true, "log": true }, "escalation": { "enabled": true, "channels": ["console"] }, "audit": { "enabled": true, "retention": "90d" } } } } \`\`\` --- ## Integration Patterns ### Pattern 1: Middleware for Express/Fastify \`\`\`javascript app.use(async (req, res, next) => { const decision = guard.check('external_write', { method: req.method, url: req.url }); if (!decision.allowed) return res.status(403).json(decision); next(); }); \`\`\` ### Pattern 2: OpenClaw Skill Wrapper \`\`\`javascript // Before executing any tool call: const toolGuard = guard.checkForTool(toolName, toolParams); if (!toolGuard.allowed) { if (toolGuard.escalation === 'owner') { // Ask OpenClaw to prompt user for approval } return { blocked: true, reason: toolGuard.reason }; } \`\`\` ### Pattern 3: CI/CD Pipeline Gate \`\`\`bash # In your deployment pipeline: node constitution.js ci-check --env production --strict # Exit code 0 = safe to deploy, 1 = violations found \`\`\`


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)