[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FYCKZCSN0P2WNHEN6YDZBN":3,"skill-same:01M6FYCKZCSN0P2WNHEN6YDZBN":85},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":42,"linkOnly":43,"markdownContent":44,"markdownBody":45,"frontMatter":46,"refName":54,"commitSha":55,"skillDirectory":56,"forksCount":57,"repositoryHtmlUrl":58,"repositoryHomepageUrl":6,"ownerHtmlUrl":59,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":60,"install":61,"resources":74},"01M6FYCKZCSN0P2WNHEN6YDZBN","Praesidia",null,"Verify AI agents, check trust scores (0-100), fetch A2A agent cards, discover marketplace agents, apply guardrails for security and compliance. Use when user mentions agent verification, trust scores, agent discovery, A2A protocol, agent identity, agent marketplace, guardrails, security policies, content moderation, or asks \"is this agent safe?\" or \"find agents that can [task]\" or \"apply guardrails to protect my agent\".","kbarbel640-del\u002Fskills","kbarbel640-del","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F255315490?v=4","01M6CJPPQGCCESXMG3K7BBGQ5J","01M6CJPPX2PB2BCZERFVM2C2B3",1,"MIT","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmsoica\u002Fpraesidia-a2\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[5,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"check","my agent","agent discovery","discover","task","trust","use","moderation","fetch","safe","discovery","api","Guardrails","Content Moderation","verification","agent identity","identity","security","ai agents","2026-11-10 10:12:30",false,"---\nname: Praesidia\ndescription: Verify AI agents, check trust scores (0-100), fetch A2A agent cards, discover marketplace agents, apply guardrails for security and compliance. Use when user mentions agent verification, trust scores, agent discovery, A2A protocol, agent identity, agent marketplace, guardrails, security policies, content moderation, or asks \"is this agent safe?\" or \"find agents that can [task]\" or \"apply guardrails to protect my agent\".\nmetadata: {\"openclaw\":{\"requires\":{\"env\":[\"PRAESIDIA_API_KEY\"]},\"primaryEnv\":\"PRAESIDIA_API_KEY\",\"homepage\":\"https:\u002F\u002Fpraesidia.ai\",\"emoji\":\"?️\"}}\n---\n\n# Praesidia Agent Identity, Verification & Guardrails\n\nVerify AI agents, check trust scores (0-100), discover marketplace agents, and apply guardrails for security and compliance.\n\n## Core Capabilities\n\n- **Verify agents** - Check if an agent is registered, verified, and trustworthy\n- **Trust scores** - View 0-100 trust ratings and verification status\n- **Agent discovery** - Search marketplace for public agents by capability\n- **Guardrails** - Apply security policies and content moderation to agents\n- **A2A protocol** - Fetch standard Agent-to-Agent protocol cards\n\n## Prerequisites\n\n1. Praesidia account: https:\u002F\u002Fpraesidia.ai\n2. API key from Settings → API Keys\n3. Configure in `~\u002F.openclaw\u002Fopenclaw.json`:\n\n```json\n{\n  \"skills\": {\n    \"entries\": {\n      \"praesidia\": {\n        \"apiKey\": \"pk_live_your_key_here\",\n        \"env\": {\n          \"PRAESIDIA_API_URL\": \"https:\u002F\u002Fapi.praesidia.ai\"\n        }\n      }\n    }\n  }\n}\n```\n\nFor local development, use `http:\u002F\u002Flocalhost:3000` as the URL.\n\n---\n\n## Quick Reference\n\n### 1. Verify an Agent\n\n**User says:** \"Is agent chatbot-v2 safe?\" \u002F \"Verify agent chatbot-v2\"\n\n**Your action:**\n```javascript\nweb_fetch({\n  url: \"${PRAESIDIA_API_URL}\u002Fagents\u002Fchatbot-v2\u002Fagent-card\",\n  headers: {\n    \"Authorization\": \"Bearer ${PRAESIDIA_API_KEY}\",\n    \"Accept\": \"application\u002Fjson\"\n  }\n})\n```\n\n**Present to user:**\n- ✅ Agent name & description\n- ?️ **Trust score (0-100)** and trust level\n- ✓ Verification status (verified date)\n- ? Capabilities (what the agent can do)\n- ? Compliance (SOC2, GDPR, etc.)\n- ? Agent card URL\n\n**Example output:**\n```\n✅ ChatBot V2 is verified and safe to use!\n\nTrust Score: 92.5\u002F100 (VERIFIED)\nStatus: ACTIVE\nCapabilities: message:send, task:create, data:analyze\nCompliance: SOC2, GDPR\nLast verified: 2 days ago\n\nAgent card: https:\u002F\u002Fapi.praesidia.ai\u002Fagents\u002Fchatbot-v2\u002Fagent-card\n```\n\n---\n\n### 2. List Guardrails for an Agent\n\n**User says:** \"What guardrails are configured for my agent?\" \u002F \"Show me security policies for chatbot-v2\"\n\n**Your action:**\n```javascript\n\u002F\u002F First, get the user's organization ID from their profile or context\n\u002F\u002F Then fetch guardrails\nweb_fetch({\n  url: \"${PRAESIDIA_API_URL}\u002Forganizations\u002F${orgId}\u002Fguardrails?agentId=${agentId}\",\n  headers: {\n    \"Authorization\": \"Bearer ${PRAESIDIA_API_KEY}\",\n    \"Accept\": \"application\u002Fjson\"\n  }\n})\n```\n\n**Present to user:**\n- List of guardrails with:\n  - Name and description\n  - Type (RULE, ML, LLM)\n  - Category (CONTENT, SECURITY, COMPLIANCE, etc.)\n  - Action (BLOCK, WARN, REDACT, REPLACE)\n  - Scope (INPUT, OUTPUT, BOTH)\n  - Enabled status\n  - Trigger count\n\n**Example output:**\n```\nFound 3 guardrails for ChatBot V2:\n\n1. PII Detection (ENABLED)\n   - Type: ML | Category: SECURITY\n   - Scope: BOTH (input & output)\n   - Action: REDACT sensitive data\n   - Triggered: 45 times\n\n2. Toxic Language Filter (ENABLED)\n   - Type: RULE | Category: CONTENT\n   - Scope: BOTH\n   - Action: BLOCK toxic content\n   - Triggered: 12 times\n\n3. Financial Advice Warning (ENABLED)\n   - Type: LLM | Category: COMPLIANCE\n   - Scope: OUTPUT only\n   - Action: WARN if detected\n   - Triggered: 3 times\n```\n\n---\n\n### 3. Get Available Guardrail Templates\n\n**User says:** \"What guardrail templates are available?\" \u002F \"Show me security templates\"\n\n**Your action:**\n```javascript\nweb_fetch({\n  url: \"${PRAESIDIA_API_URL}\u002Forganizations\u002F${orgId}\u002Fguardrails\u002Ftemplates\",\n  headers: {\n    \"Authorization\": \"Bearer ${PRAESIDIA_API_KEY}\",\n    \"Accept\": \"application\u002Fjson\"\n  }\n})\n```\n\n**Available Templates:**\n\n**Content Moderation:**\n- TOXIC_LANGUAGE - Detect toxic\u002Fharmful language\n- PROFANITY_FILTER - Filter profanity\n- HATE_SPEECH - Detect hate speech\n- VIOLENCE_DETECTION - Detect violent content\n- ADULT_CONTENT - Filter adult content\n\n**Security:**\n- PII_DETECTION - Detect personally identifiable information\n- CREDIT_CARD_DETECTION - Detect credit card numbers\n- SSN_DETECTION - Detect social security numbers\n- API_KEY_DETECTION - Detect leaked API keys\n- PROMPT_INJECTION - Detect prompt injection attacks\n- JAILBREAK_DETECTION - Detect jailbreak attempts\n\n**Compliance:**\n- FINANCIAL_ADVICE - Flag financial advice\n- MEDICAL_ADVICE - Flag medical advice\n- LEGAL_ADVICE - Flag legal advice\n- GDPR_COMPLIANCE - Enforce GDPR rules\n- HIPAA_COMPLIANCE - Enforce HIPAA rules\n\n**Brand Safety:**\n- COMPETITOR_MENTIONS - Detect competitor mentions\n- POSITIVE_TONE - Ensure positive tone\n- BRAND_VOICE - Maintain brand voice\n- OFF_TOPIC_DETECTION - Detect off-topic responses\n\n**Accuracy:**\n- HALLUCINATION_DETECTION - Detect hallucinations\n- FACT_CHECKING - Verify facts\n- SOURCE_VALIDATION - Validate sources\n- CONSISTENCY_CHECK - Check consistency\n\n---\n\n### 4. Apply a Guardrail to an Agent\n\n**User says:** \"Add PII detection to my chatbot\" \u002F \"Apply toxic language filter to agent xyz\"\n\n**Your action:**\n```javascript\nweb_fetch({\n  url: \"${PRAESIDIA_API_URL}\u002Forganizations\u002F${orgId}\u002Fguardrails\",\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer ${PRAESIDIA_API_KEY}\",\n    \"Content-Type\": \"application\u002Fjson\"\n  },\n  body: JSON.stringify({\n    name: \"PII Detection\",\n    description: \"Automatically detect and redact PII\",\n    agentId: \"${agentId}\",\n    template: \"PII_DETECTION\",\n    type: \"ML\",\n    category: \"SECURITY\",\n    scope: \"BOTH\",\n    action: \"REDACT\",\n    severity: \"HIGH\",\n    isEnabled: true,\n    priority: 0\n  })\n})\n```\n\n**Guardrail Options:**\n\n**Type:**\n- RULE - Simple regex\u002Fkeyword matching (fast)\n- ML - Machine learning model (balanced)\n- LLM - LLM-powered validation (most accurate)\n\n**Category:**\n- CONTENT - Content moderation\n- SECURITY - Security checks\n- COMPLIANCE - Regulatory compliance\n- BRAND - Brand safety\n- ACCURACY - Accuracy checks\n- CUSTOM - Custom rules\n\n**Scope:**\n- INPUT - Validate user input only\n- OUTPUT - Validate agent output only\n- BOTH - Validate both directions\n\n**Action:**\n- BLOCK - Block the request\u002Fresponse entirely\n- WARN - Log warning but allow through\n- REDACT - Mask the offending content\n- REPLACE - Replace with alternative content\n- RETRY - Retry with modified prompt\n- ESCALATE - Escalate to human review\n\n**Severity:**\n- LOW, MEDIUM, HIGH, CRITICAL\n\n---\n\n### 5. Validate Content Against Guardrails\n\n**User says:** \"Check if this message passes guardrails: [content]\"\n\n**Your action:**\n```javascript\nweb_fetch({\n  url: \"${PRAESIDIA_API_URL}\u002Forganizations\u002F${orgId}\u002Fguardrails\u002Fvalidate\",\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer ${PRAESIDIA_API_KEY}\",\n    \"Content-Type\": \"application\u002Fjson\"\n  },\n  body: JSON.stringify({\n    content: \"User's message here\",\n    agentId: \"${agentId}\",\n    scope: \"INPUT\"\n  })\n})\n```\n\n**Response shows:**\n- Whether content passed or failed\n- Which guardrails were triggered\n- Suggested actions (block, redact, warn)\n- Modified content (if redaction applied)\n\n---\n\n### 6. Discover Public Agents\n\n**User says:** \"Find public data analysis agents\" \u002F \"Show me chatbot agents\"\n\n**Your action:**\n```javascript\nweb_fetch({\n  url: \"${PRAESIDIA_API_URL}\u002Fagents\u002Fdiscovery?visibility=PUBLIC&search=data\",\n  headers: { \"Accept\": \"application\u002Fjson\" }\n  \u002F\u002F Authorization optional for public agents (includes it for more results)\n})\n```\n\n**Filters available:**\n- `?visibility=PUBLIC` - public marketplace agents\n- `?role=SERVER` - agents that provide services\n- `?role=CLIENT` - agents that consume services\n- `?status=ACTIVE` - only active agents\n- `?search=keyword` - search by name\u002Fdescription\n\n**Present to user:**\n- List of matching agents with:\n  - Name, description, agent ID\n  - Trust score and level\n  - Role (SERVER\u002FCLIENT)\n  - Key capabilities\n  - Link to full card\n\n**Example output:**\n```\nFound 2 public data analysis agents:\n\n1. OpenData Analyzer (VERIFIED - 88.0\u002F100)\n   - Capabilities: data:analyze, chart:generate, report:create\n   - Role: SERVER | Status: ACTIVE\n   - Card: https:\u002F\u002Fapi.praesidia.ai\u002Fagents\u002Fopendata-1\u002Fagent-card\n\n2. CSV Processor (STANDARD - 70.0\u002F100)\n   - Capabilities: file:parse, data:transform, export:json\n   - Role: SERVER | Status: ACTIVE\n   - Card: https:\u002F\u002Fapi.praesidia.ai\u002Fagents\u002Fcsv-proc\u002Fagent-card\n```\n\n---\n\n### 7. List User's Agents\n\n**User says:** \"Show my agents\" \u002F \"List all my server agents\"\n\n**Your action:**\n```javascript\nweb_fetch({\n  url: \"${PRAESIDIA_API_URL}\u002Fagents\u002Fdiscovery?role=SERVER\",\n  headers: {\n    \"Authorization\": \"Bearer ${PRAESIDIA_API_KEY}\",\n    \"Accept\": \"application\u002Fjson\"\n  }\n})\n```\n\nThis returns all agents the user has access to (their own + team\u002Forg agents).\n\n---\n\n## Trust Levels Guide\n\nPresent trust information clearly to help users make decisions:\n\n| Trust Score | Level | Meaning | Recommendation |\n|-------------|-------|---------|----------------|\n| 90-100 | **VERIFIED** | Fully vetted, compliant, verified identity | ✅ Safe to use |\n| 70-89 | **STANDARD** | Good reputation, basic verification | ✅ Generally safe |\n| 50-69 | **LIMITED** | Minimal verification | ⚠️ Use with caution |\n| 0-49 | **UNTRUSTED** | Not verified or poor reputation | ❌ Not recommended |\n\nAlways show the trust score numerically (e.g., 92.5\u002F100) and the level (e.g., VERIFIED).\n\n---\n\n## Error Handling\n\n| Error | Meaning | What to tell user |\n|-------|---------|-------------------|\n| 401 Unauthorized | API key missing\u002Finvalid | \"Check PRAESIDIA_API_KEY in ~\u002F.openclaw\u002Fopenclaw.json\" |\n| 403 Forbidden | No permission | \"You don't have access to this agent\" |\n| 404 Not Found | Agent doesn't exist | \"Agent not found. Check the agent ID\" |\n| 500 Server Error | Praesidia API issue | \"Praesidia API temporarily unavailable. Try again\" |\n\n---\n\n## API Endpoints\n\n### GET \u002Fagents\u002F:id\u002Fagent-card\nFetch detailed agent card with trust data.\n\n**Auth:** Required for private\u002Fteam\u002Forg agents, optional for public\n**Returns:** A2A agent card + Praesidia extensions (trust, compliance)\n\n### GET \u002Fagents\u002Fdiscovery\nList\u002Fsearch agents with filters.\n\n**Auth:** Optional (more results with auth)\n**Query params:** `role`, `status`, `visibility`, `search`\n**Returns:** Array of agent summaries with card URLs\n\n---\n\n## Guardrails Best Practices\n\nWhen helping users with guardrails:\n\n1. **Start with templates** - Use predefined templates before custom rules\n2. **Layer security** - Combine multiple guardrails (PII + Toxic + Compliance)\n3. **Test before enabling** - Use validate endpoint to test content first\n4. **Monitor triggers** - Check stats regularly to tune thresholds\n5. **Scope appropriately** - Use INPUT for user content, OUTPUT for agent responses\n6. **Choose right action**:\n   - **BLOCK** for critical security issues (PII, prompt injection)\n   - **REDACT** for sensitive data that can be masked\n   - **WARN** for compliance\u002Fbrand issues that need logging\n   - **ESCALATE** for edge cases requiring human review\n\n---\n\n## Best Practices\n\n1. **Always verify before recommending** - Check trust score before suggesting an agent\n2. **Explain trust levels** - Users may not know what \"VERIFIED\" means\n3. **Filter by SERVER role** - When users want agents to use\u002Fcall\n4. **Show compliance** - Important for enterprise users (SOC2, GDPR)\n5. **Present trust score numerically** - 92.5\u002F100 is clearer than just \"VERIFIED\"\n6. **Layer guardrails** - Combine security, content, and compliance guardrails\n\n---\n\n## Common User Patterns\n\n### Pattern 1: Safety Check\n```\nUser: \"Is agent xyz safe to use?\"\nYou: [Fetch agent card, check trust score]\n     \"Agent xyz has a trust score of 85\u002F100 (STANDARD).\n      It's verified for basic operations. What would you like to use it for?\"\n```\n\n### Pattern 2: Capability Discovery\n```\nUser: \"I need an agent that can analyze spreadsheets\"\nYou: [Search discovery with visibility=PUBLIC&search=spreadsheet]\n     \"I found 3 spreadsheet analysis agents. The highest rated is...\"\n```\n\n### Pattern 3: Fleet Management\n```\nUser: \"Show me all my agents that are inactive\"\nYou: [Fetch discovery with status=INACTIVE]\n     \"You have 2 inactive agents: [list with trust scores]\"\n```\n\n### Pattern 4: Apply Security\n```\nUser: \"I need to secure my chatbot against PII leaks\"\nYou: [List available templates, recommend PII_DETECTION]\n     [Apply guardrail with REDACT action on BOTH scope]\n     \"I've added PII Detection (ML-powered) to your chatbot.\n      It will automatically redact sensitive information in both\n      user inputs and bot responses.\"\n```\n\n### Pattern 5: Compliance Check\n```\nUser: \"My agent handles healthcare data. What guardrails should I add?\"\nYou: [Check if HIPAA compliance is required]\n     [Recommend HIPAA_COMPLIANCE + PII_DETECTION + AUDIT_LOGGING]\n     \"For healthcare data, I recommend these guardrails:\n      1. HIPAA Compliance (BLOCK on violations)\n      2. PII Detection (REDACT)\n      3. Medical Advice Warning (WARN)\n      Would you like me to apply these?\"\n```\n\n---\n\n## Environment Variables\n\n- `PRAESIDIA_API_KEY` (required) - Your API key from https:\u002F\u002Fapp.praesidia.ai\n- `PRAESIDIA_API_URL` (optional) - Defaults to `https:\u002F\u002Fapi.praesidia.ai`\n  - Production: `https:\u002F\u002Fapi.praesidia.ai`\n  - Local dev: `http:\u002F\u002Flocalhost:3000`\n  - Custom: Your deployment URL\n\n---\n\n## Additional Resources\n\n- **Full setup guide:** See README.md in this skill folder\n- **API documentation:** https:\u002F\u002Fapp.praesidia.ai\u002Fdocs\u002Fapi\n- **A2A protocol:** https:\u002F\u002Fa2a-protocol.org\n- **Support:** hello@praesidia.ai or https:\u002F\u002Fdiscord.gg\u002Fe9EwZfHS\n\n---\n\n## Security & Privacy\n\n- All production requests use HTTPS\n- API keys stored in OpenClaw config (never exposed to users)\n- Private\u002Fteam\u002Forg agents require authentication\n- Public agents accessible without auth\n- Trust verification protects against malicious agents\n","# Praesidia Agent Identity, Verification & Guardrails\n\nVerify AI agents, check trust scores (0-100), discover marketplace agents, and apply guardrails for security and compliance.\n\n## Core Capabilities\n\n- **Verify agents** - Check if an agent is registered, verified, and trustworthy\n- **Trust scores** - View 0-100 trust ratings and verification status\n- **Agent discovery** - Search marketplace for public agents by capability\n- **Guardrails** - Apply security policies and content moderation to agents\n- **A2A protocol** - Fetch standard Agent-to-Agent protocol cards\n\n## Prerequisites\n\n1. Praesidia account: https:\u002F\u002Fpraesidia.ai\n2. API key from Settings → API Keys\n3. Configure in `~\u002F.openclaw\u002Fopenclaw.json`:\n\n```json\n{\n  \"skills\": {\n    \"entries\": {\n      \"praesidia\": {\n        \"apiKey\": \"pk_live_your_key_here\",\n        \"env\": {\n          \"PRAESIDIA_API_URL\": \"https:\u002F\u002Fapi.praesidia.ai\"\n        }\n      }\n    }\n  }\n}\n```\n\nFor local development, use `http:\u002F\u002Flocalhost:3000` as the URL.\n\n---\n\n## Quick Reference\n\n### 1. Verify an Agent\n\n**User says:** \"Is agent chatbot-v2 safe?\" \u002F \"Verify agent chatbot-v2\"\n\n**Your action:**\n```javascript\nweb_fetch({\n  url: \"${PRAESIDIA_API_URL}\u002Fagents\u002Fchatbot-v2\u002Fagent-card\",\n  headers: {\n    \"Authorization\": \"Bearer ${PRAESIDIA_API_KEY}\",\n    \"Accept\": \"application\u002Fjson\"\n  }\n})\n```\n\n**Present to user:**\n- ✅ Agent name & description\n- ?️ **Trust score (0-100)** and trust level\n- ✓ Verification status (verified date)\n- ? Capabilities (what the agent can do)\n- ? Compliance (SOC2, GDPR, etc.)\n- ? Agent card URL\n\n**Example output:**\n```\n✅ ChatBot V2 is verified and safe to use!\n\nTrust Score: 92.5\u002F100 (VERIFIED)\nStatus: ACTIVE\nCapabilities: message:send, task:create, data:analyze\nCompliance: SOC2, GDPR\nLast verified: 2 days ago\n\nAgent card: https:\u002F\u002Fapi.praesidia.ai\u002Fagents\u002Fchatbot-v2\u002Fagent-card\n```\n\n---\n\n### 2. List Guardrails for an Agent\n\n**User says:** \"What guardrails are configured for my agent?\" \u002F \"Show me security policies for chatbot-v2\"\n\n**Your action:**\n```javascript\n\u002F\u002F First, get the user's organization ID from their profile or context\n\u002F\u002F Then fetch guardrails\nweb_fetch({\n  url: \"${PRAESIDIA_API_URL}\u002Forganizations\u002F${orgId}\u002Fguardrails?agentId=${agentId}\",\n  headers: {\n    \"Authorization\": \"Bearer ${PRAESIDIA_API_KEY}\",\n    \"Accept\": \"application\u002Fjson\"\n  }\n})\n```\n\n**Present to user:**\n- List of guardrails with:\n  - Name and description\n  - Type (RULE, ML, LLM)\n  - Category (CONTENT, SECURITY, COMPLIANCE, etc.)\n  - Action (BLOCK, WARN, REDACT, REPLACE)\n  - Scope (INPUT, OUTPUT, BOTH)\n  - Enabled status\n  - Trigger count\n\n**Example output:**\n```\nFound 3 guardrails for ChatBot V2:\n\n1. PII Detection (ENABLED)\n   - Type: ML | Category: SECURITY\n   - Scope: BOTH (input & output)\n   - Action: REDACT sensitive data\n   - Triggered: 45 times\n\n2. Toxic Language Filter (ENABLED)\n   - Type: RULE | Category: CONTENT\n   - Scope: BOTH\n   - Action: BLOCK toxic content\n   - Triggered: 12 times\n\n3. Financial Advice Warning (ENABLED)\n   - Type: LLM | Category: COMPLIANCE\n   - Scope: OUTPUT only\n   - Action: WARN if detected\n   - Triggered: 3 times\n```\n\n---\n\n### 3. Get Available Guardrail Templates\n\n**User says:** \"What guardrail templates are available?\" \u002F \"Show me security templates\"\n\n**Your action:**\n```javascript\nweb_fetch({\n  url: \"${PRAESIDIA_API_URL}\u002Forganizations\u002F${orgId}\u002Fguardrails\u002Ftemplates\",\n  headers: {\n    \"Authorization\": \"Bearer ${PRAESIDIA_API_KEY}\",\n    \"Accept\": \"application\u002Fjson\"\n  }\n})\n```\n\n**Available Templates:**\n\n**Content Moderation:**\n- TOXIC_LANGUAGE - Detect toxic\u002Fharmful language\n- PROFANITY_FILTER - Filter profanity\n- HATE_SPEECH - Detect hate speech\n- VIOLENCE_DETECTION - Detect violent content\n- ADULT_CONTENT - Filter adult content\n\n**Security:**\n- PII_DETECTION - Detect personally identifiable information\n- CREDIT_CARD_DETECTION - Detect credit card numbers\n- SSN_DETECTION - Detect social security numbers\n- API_KEY_DETECTION - Detect leaked API keys\n- PROMPT_INJECTION - Detect prompt injection attacks\n- JAILBREAK_DETECTION - Detect jailbreak attempts\n\n**Compliance:**\n- FINANCIAL_ADVICE - Flag financial advice\n- MEDICAL_ADVICE - Flag medical advice\n- LEGAL_ADVICE - Flag legal advice\n- GDPR_COMPLIANCE - Enforce GDPR rules\n- HIPAA_COMPLIANCE - Enforce HIPAA rules\n\n**Brand Safety:**\n- COMPETITOR_MENTIONS - Detect competitor mentions\n- POSITIVE_TONE - Ensure positive tone\n- BRAND_VOICE - Maintain brand voice\n- OFF_TOPIC_DETECTION - Detect off-topic responses\n\n**Accuracy:**\n- HALLUCINATION_DETECTION - Detect hallucinations\n- FACT_CHECKING - Verify facts\n- SOURCE_VALIDATION - Validate sources\n- CONSISTENCY_CHECK - Check consistency\n\n---\n\n### 4. Apply a Guardrail to an Agent\n\n**User says:** \"Add PII detection to my chatbot\" \u002F \"Apply toxic language filter to agent xyz\"\n\n**Your action:**\n```javascript\nweb_fetch({\n  url: \"${PRAESIDIA_API_URL}\u002Forganizations\u002F${orgId}\u002Fguardrails\",\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer ${PRAESIDIA_API_KEY}\",\n    \"Content-Type\": \"application\u002Fjson\"\n  },\n  body: JSON.stringify({\n    name: \"PII Detection\",\n    description: \"Automatically detect and redact PII\",\n    agentId: \"${agentId}\",\n    template: \"PII_DETECTION\",\n    type: \"ML\",\n    category: \"SECURITY\",\n    scope: \"BOTH\",\n    action: \"REDACT\",\n    severity: \"HIGH\",\n    isEnabled: true,\n    priority: 0\n  })\n})\n```\n\n**Guardrail Options:**\n\n**Type:**\n- RULE - Simple regex\u002Fkeyword matching (fast)\n- ML - Machine learning model (balanced)\n- LLM - LLM-powered validation (most accurate)\n\n**Category:**\n- CONTENT - Content moderation\n- SECURITY - Security checks\n- COMPLIANCE - Regulatory compliance\n- BRAND - Brand safety\n- ACCURACY - Accuracy checks\n- CUSTOM - Custom rules\n\n**Scope:**\n- INPUT - Validate user input only\n- OUTPUT - Validate agent output only\n- BOTH - Validate both directions\n\n**Action:**\n- BLOCK - Block the request\u002Fresponse entirely\n- WARN - Log warning but allow through\n- REDACT - Mask the offending content\n- REPLACE - Replace with alternative content\n- RETRY - Retry with modified prompt\n- ESCALATE - Escalate to human review\n\n**Severity:**\n- LOW, MEDIUM, HIGH, CRITICAL\n\n---\n\n### 5. Validate Content Against Guardrails\n\n**User says:** \"Check if this message passes guardrails: [content]\"\n\n**Your action:**\n```javascript\nweb_fetch({\n  url: \"${PRAESIDIA_API_URL}\u002Forganizations\u002F${orgId}\u002Fguardrails\u002Fvalidate\",\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer ${PRAESIDIA_API_KEY}\",\n    \"Content-Type\": \"application\u002Fjson\"\n  },\n  body: JSON.stringify({\n    content: \"User's message here\",\n    agentId: \"${agentId}\",\n    scope: \"INPUT\"\n  })\n})\n```\n\n**Response shows:**\n- Whether content passed or failed\n- Which guardrails were triggered\n- Suggested actions (block, redact, warn)\n- Modified content (if redaction applied)\n\n---\n\n### 6. Discover Public Agents\n\n**User says:** \"Find public data analysis agents\" \u002F \"Show me chatbot agents\"\n\n**Your action:**\n```javascript\nweb_fetch({\n  url: \"${PRAESIDIA_API_URL}\u002Fagents\u002Fdiscovery?visibility=PUBLIC&search=data\",\n  headers: { \"Accept\": \"application\u002Fjson\" }\n  \u002F\u002F Authorization optional for public agents (includes it for more results)\n})\n```\n\n**Filters available:**\n- `?visibility=PUBLIC` - public marketplace agents\n- `?role=SERVER` - agents that provide services\n- `?role=CLIENT` - agents that consume services\n- `?status=ACTIVE` - only active agents\n- `?search=keyword` - search by name\u002Fdescription\n\n**Present to user:**\n- List of matching agents with:\n  - Name, description, agent ID\n  - Trust score and level\n  - Role (SERVER\u002FCLIENT)\n  - Key capabilities\n  - Link to full card\n\n**Example output:**\n```\nFound 2 public data analysis agents:\n\n1. OpenData Analyzer (VERIFIED - 88.0\u002F100)\n   - Capabilities: data:analyze, chart:generate, report:create\n   - Role: SERVER | Status: ACTIVE\n   - Card: https:\u002F\u002Fapi.praesidia.ai\u002Fagents\u002Fopendata-1\u002Fagent-card\n\n2. CSV Processor (STANDARD - 70.0\u002F100)\n   - Capabilities: file:parse, data:transform, export:json\n   - Role: SERVER | Status: ACTIVE\n   - Card: https:\u002F\u002Fapi.praesidia.ai\u002Fagents\u002Fcsv-proc\u002Fagent-card\n```\n\n---\n\n### 7. List User's Agents\n\n**User says:** \"Show my agents\" \u002F \"List all my server agents\"\n\n**Your action:**\n```javascript\nweb_fetch({\n  url: \"${PRAESIDIA_API_URL}\u002Fagents\u002Fdiscovery?role=SERVER\",\n  headers: {\n    \"Authorization\": \"Bearer ${PRAESIDIA_API_KEY}\",\n    \"Accept\": \"application\u002Fjson\"\n  }\n})\n```\n\nThis returns all agents the user has access to (their own + team\u002Forg agents).\n\n---\n\n## Trust Levels Guide\n\nPresent trust information clearly to help users make decisions:\n\n| Trust Score | Level | Meaning | Recommendation |\n|-------------|-------|---------|----------------|\n| 90-100 | **VERIFIED** | Fully vetted, compliant, verified identity | ✅ Safe to use |\n| 70-89 | **STANDARD** | Good reputation, basic verification | ✅ Generally safe |\n| 50-69 | **LIMITED** | Minimal verification | ⚠️ Use with caution |\n| 0-49 | **UNTRUSTED** | Not verified or poor reputation | ❌ Not recommended |\n\nAlways show the trust score numerically (e.g., 92.5\u002F100) and the level (e.g., VERIFIED).\n\n---\n\n## Error Handling\n\n| Error | Meaning | What to tell user |\n|-------|---------|-------------------|\n| 401 Unauthorized | API key missing\u002Finvalid | \"Check PRAESIDIA_API_KEY in ~\u002F.openclaw\u002Fopenclaw.json\" |\n| 403 Forbidden | No permission | \"You don't have access to this agent\" |\n| 404 Not Found | Agent doesn't exist | \"Agent not found. Check the agent ID\" |\n| 500 Server Error | Praesidia API issue | \"Praesidia API temporarily unavailable. Try again\" |\n\n---\n\n## API Endpoints\n\n### GET \u002Fagents\u002F:id\u002Fagent-card\nFetch detailed agent card with trust data.\n\n**Auth:** Required for private\u002Fteam\u002Forg agents, optional for public\n**Returns:** A2A agent card + Praesidia extensions (trust, compliance)\n\n### GET \u002Fagents\u002Fdiscovery\nList\u002Fsearch agents with filters.\n\n**Auth:** Optional (more results with auth)\n**Query params:** `role`, `status`, `visibility`, `search`\n**Returns:** Array of agent summaries with card URLs\n\n---\n\n## Guardrails Best Practices\n\nWhen helping users with guardrails:\n\n1. **Start with templates** - Use predefined templates before custom rules\n2. **Layer security** - Combine multiple guardrails (PII + Toxic + Compliance)\n3. **Test before enabling** - Use validate endpoint to test content first\n4. **Monitor triggers** - Check stats regularly to tune thresholds\n5. **Scope appropriately** - Use INPUT for user content, OUTPUT for agent responses\n6. **Choose right action**:\n   - **BLOCK** for critical security issues (PII, prompt injection)\n   - **REDACT** for sensitive data that can be masked\n   - **WARN** for compliance\u002Fbrand issues that need logging\n   - **ESCALATE** for edge cases requiring human review\n\n---\n\n## Best Practices\n\n1. **Always verify before recommending** - Check trust score before suggesting an agent\n2. **Explain trust levels** - Users may not know what \"VERIFIED\" means\n3. **Filter by SERVER role** - When users want agents to use\u002Fcall\n4. **Show compliance** - Important for enterprise users (SOC2, GDPR)\n5. **Present trust score numerically** - 92.5\u002F100 is clearer than just \"VERIFIED\"\n6. **Layer guardrails** - Combine security, content, and compliance guardrails\n\n---\n\n## Common User Patterns\n\n### Pattern 1: Safety Check\n```\nUser: \"Is agent xyz safe to use?\"\nYou: [Fetch agent card, check trust score]\n     \"Agent xyz has a trust score of 85\u002F100 (STANDARD).\n      It's verified for basic operations. What would you like to use it for?\"\n```\n\n### Pattern 2: Capability Discovery\n```\nUser: \"I need an agent that can analyze spreadsheets\"\nYou: [Search discovery with visibility=PUBLIC&search=spreadsheet]\n     \"I found 3 spreadsheet analysis agents. The highest rated is...\"\n```\n\n### Pattern 3: Fleet Management\n```\nUser: \"Show me all my agents that are inactive\"\nYou: [Fetch discovery with status=INACTIVE]\n     \"You have 2 inactive agents: [list with trust scores]\"\n```\n\n### Pattern 4: Apply Security\n```\nUser: \"I need to secure my chatbot against PII leaks\"\nYou: [List available templates, recommend PII_DETECTION]\n     [Apply guardrail with REDACT action on BOTH scope]\n     \"I've added PII Detection (ML-powered) to your chatbot.\n      It will automatically redact sensitive information in both\n      user inputs and bot responses.\"\n```\n\n### Pattern 5: Compliance Check\n```\nUser: \"My agent handles healthcare data. What guardrails should I add?\"\nYou: [Check if HIPAA compliance is required]\n     [Recommend HIPAA_COMPLIANCE + PII_DETECTION + AUDIT_LOGGING]\n     \"For healthcare data, I recommend these guardrails:\n      1. HIPAA Compliance (BLOCK on violations)\n      2. PII Detection (REDACT)\n      3. Medical Advice Warning (WARN)\n      Would you like me to apply these?\"\n```\n\n---\n\n## Environment Variables\n\n- `PRAESIDIA_API_KEY` (required) - Your API key from https:\u002F\u002Fapp.praesidia.ai\n- `PRAESIDIA_API_URL` (optional) - Defaults to `https:\u002F\u002Fapi.praesidia.ai`\n  - Production: `https:\u002F\u002Fapi.praesidia.ai`\n  - Local dev: `http:\u002F\u002Flocalhost:3000`\n  - Custom: Your deployment URL\n\n---\n\n## Additional Resources\n\n- **Full setup guide:** See README.md in this skill folder\n- **API documentation:** https:\u002F\u002Fapp.praesidia.ai\u002Fdocs\u002Fapi\n- **A2A protocol:** https:\u002F\u002Fa2a-protocol.org\n- **Support:** hello@praesidia.ai or https:\u002F\u002Fdiscord.gg\u002Fe9EwZfHS\n\n---\n\n## Security & Privacy\n\n- All production requests use HTTPS\n- API keys stored in OpenClaw config (never exposed to users)\n- Private\u002Fteam\u002Forg agents require authentication\n- Public agents accessible without auth\n- Trust verification protects against malicious agents\n",{"name":5,"metadata":47,"description":7},{"openclaw":48},{"emoji":49,"homepage":50,"requires":51,"primaryEnv":53},"?️","https:\u002F\u002Fpraesidia.ai",{"env":52},[53],"PRAESIDIA_API_KEY","main","e7e336ac628c3e3bd771aff1aaa469c93778f94a","skills\u002Fmsoica\u002Fpraesidia-a2",0,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del","2026-08-23 22:39:37",{"source":8,"skillName":5,"commands":62,"prompt":72,"zipAvailable":73},[63,66,69],{"tool":64,"command":65},"npx","npx skills add kbarbel640-del\u002Fskills --skill Praesidia",{"tool":67,"command":68},"bunx","bunx skills add kbarbel640-del\u002Fskills --skill Praesidia",{"tool":70,"command":71},"pnpm","pnpm dlx skills add kbarbel640-del\u002Fskills --skill Praesidia","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmsoica\u002Fpraesidia-a2\u002FSKILL.md",true,[75,81],{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"_meta.json","REFERENCE","参考文档",273,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmsoica\u002Fpraesidia-a2\u002F_meta.json",{"path":82,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":83,"sourceHtmlUrl":84},"README.md",23600,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmsoica\u002Fpraesidia-a2\u002FREADME.md",[86,113,141,161,167,187],{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":95,"publishedAt":42},"01M6G8J55967D6281ACMKAKTEQ","crowd-prompting","A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzzadrian\u002Fcrowd-prompting\u002FSKILL.md",[92],{"categoryNo":93,"categoryName":94,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000036","内容创作者",[96,97,34,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,41],"crowd prompting","prompting","with","tokens","domain","world","prompts","operations","instructions","text","tool","system","improve","productivity","marketplace","https","content",{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":124,"publishedAt":42},"01M6G8J0PKPAYVET6BWE8W4C26","dilemm-ai","Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzyori\u002Fdilemm-ai\u002FSKILL.md",[119],{"categoryNo":120,"categoryName":121,"taxonomyType":122,"taxonomyTypeDesc":123},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[125,34,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,102,29],"dilemm ai","arena","analyze","browser","openclaw agent","create","automation","browser automation","bot","openclaw","design","strategy","headless","compete","submit","matchmaking",{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":150,"publishedAt":42},"01M6G8HWAF3K9SW7NP3Z83CPJ6","arxiv-paper-reviews","Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date\u002Fcategory\u002Finterest, viewing paper details with comments, or submitting paper reviews via API at http:\u002F\u002F150.158.152.82:8000.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Fweak-accept\u002FSKILL.md",[147],{"categoryNo":148,"categoryName":149,"taxonomyType":122,"taxonomyTypeDesc":123},"01JBSEEDCAT000000000000021","资料检索与研究",[151,152,153,154,155,156,157,98,31,139,29,158,34,159,160],"arxiv paper reviews","reviews","arxiv","paper","crawler","papers","comments","read","http","via",{"skillNo":162,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":166,"publishedAt":42},"01M6G8HQJ7N7WMY6YV7D7SSJ16","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Farxiv-paper-reviews\u002FSKILL.md",[165],{"categoryNo":148,"categoryName":149,"taxonomyType":122,"taxonomyTypeDesc":123},[154,153,152,151,160,156,157,98,155,139,29,31,158,34,159],{"skillNo":168,"name":169,"nameZh":6,"description":170,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":171,"categories":172,"keywords":173,"publishedAt":42},"01M6G8HM95Y64JNVFC2HN4E2BG","git-summary","Get a quick summary of the current Git repository including status, recent commits, branches, and contributors.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzweack\u002Fgit-summary\u002FSKILL.md",[],[174,175,176,177,178,179,180,181,182,183,184,185,186],"git","summary","git summary","commits","repository","win32","status","linux","contributors","true","quick","get","branches",{"skillNo":188,"name":189,"nameZh":6,"description":190,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":191,"categories":192,"keywords":195,"publishedAt":42},"01M6G8HGEGF05CNEJCGVYFSC4R","agent-constitution","Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fztsalexey\u002Fagent-constitution\u002FSKILL.md",[193,194],{"categoryNo":120,"categoryName":121,"taxonomyType":122,"taxonomyTypeDesc":123},{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[196,197,198,199,98,200,201,54,202,158,23,203,204,205,206,111,207,208,209],"agent constitution","constitution","contracts","tree","query","base","log","Rules","projects","compliance","actions","state","governance","github"]