{"id":"a120246e-0ae6-4cdb-81d7-3dd969c12582","entityType":"agent","slug":"clawhub-skills-amascia-gg-ggshield-scanner","name":"ggshield-scanner","canonicalUrl":"https://www.xpersona.co/agent/clawhub-skills-amascia-gg-ggshield-scanner","canonicalPath":"/agent/clawhub-skills-amascia-gg-ggshield-scanner","generatedAt":"2026-10-10T05:23:08.791Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"description":"Detect 500+ types of hardcoded secrets (API keys, credentials, tokens) before they leak into git. Wraps GitGuardian's ggshield CLI. --- name: ggshield-scanner description: Detect 500+ types of hardcoded secrets (API keys, credentials, tokens) before they leak into git. Wraps GitGuardian's ggshield CLI. homepage: https://github.com/GitGuardian/ggshield-skill metadata: clawdbot: requires: bins: [\"ggshield\"] env: [\"GITGUARDIAN_API_KEY\"] --- ggshield Secret Scanner Overview **ggshield** is a CLI tool that detects hardcoded secrets in your codebase. T","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.","installCommand":"clawhub skill install skills:amascia-gg:ggshield-scanner","sourceUrl":"https://github.com/openclaw/skills/tree/main/skills/amascia-gg/ggshield-scanner","homepage":"https://github.com/GitGuardian/ggshield-skill","primaryLinks":[{"label":"View on ClawHub","url":"https://github.com/openclaw/skills/tree/main/skills/amascia-gg/ggshield-scanner","kind":"source"},{"label":"Homepage","url":"https://github.com/GitGuardian/ggshield-skill","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":50,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Detect 500+ types of hardcoded secrets (API keys, credentials, tokens) before they leak into git. Wraps GitGuardian's ggshield CLI. --- name: ggshield-scanner d"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[{"label":"use","status":"self-declared"},{"label":"only","status":"self-declared"},{"label":"add","status":"self-declared"},{"label":"on","status":"self-declared"},{"label":"repo","status":"self-declared"},{"label":"scan","status":"self-declared"}],"verifiedCount":0,"selfDeclaredCount":7,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"},{"key":"use","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"only","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"add","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"on","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"repo","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"scan","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile capability:use|supported|profile capability:only|supported|profile capability:add|supported|profile capability:on|supported|profile capability:repo|supported|profile capability:scan|supported|profile"}},"adoption":{"evidence":{"source":"no-adoption-signals","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No source adoption metrics were available."},"stars":null,"forks":null,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":null},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-02-25T03:36:01.576Z","emptyReason":null},"lastUpdatedAt":"2026-04-15T00:45:39.800Z","lastCrawledAt":"2026-02-25T03:36:01.576Z","lastIndexedAt":null,"nextCrawlAt":"2026-02-26T03:36:01.576Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install skills:amascia-gg:ggshield-scanner","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-amascia-gg-ggshield-scanner/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-amascia-gg-ggshield-scanner/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-amascia-gg-ggshield-scanner/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-amascia-gg-ggshield-scanner/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-amascia-gg-ggshield-scanner/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-amascia-gg-ggshield-scanner/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T05:23:08.791Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-amascia-gg-ggshield-scanner/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-amascia-gg-ggshield-scanner/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-amascia-gg-ggshield-scanner/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-amascia-gg-ggshield-scanner/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"readme":"---\nname: ggshield-scanner\ndescription: Detect 500+ types of hardcoded secrets (API keys, credentials, tokens) before they leak into git. Wraps GitGuardian's ggshield CLI.\nhomepage: https://github.com/GitGuardian/ggshield-skill\nmetadata:\n  clawdbot:\n    requires:\n      bins: [\"ggshield\"]\n      env: [\"GITGUARDIAN_API_KEY\"]\n---\n\n# ggshield Secret Scanner\n\n## Overview\n\n**ggshield** is a CLI tool that detects hardcoded secrets in your codebase. This Moltbot skill brings secret scanning capabilities to your AI agent.\n\n### What Are \"Secrets\"?\n\nSecrets are sensitive credentials that should NEVER be committed to version control:\n- AWS Access Keys, GCP Service Accounts, Azure credentials\n- API tokens (GitHub, Slack, Stripe, etc.)\n- Database passwords and connection strings\n- Private encryption keys and certificates\n- OAuth tokens and refresh tokens\n- PayPal/Stripe API keys\n- Email server credentials\n\n### Why This Matters\n\nA single leaked secret can:\n- 🔓 Compromise your infrastructure\n- 💸 Incur massive cloud bills (attackers abuse your AWS account)\n- 📊 Expose customer data (GDPR/CCPA violation)\n- 🚨 Trigger security incidents and audits\n\nggshield catches these **before** they reach your repository.\n\n## Features\n\n### Commands Available\n\n#### 1. `scan-repo`\nScans an entire git repository for secrets (including history).\n\n```\n@clawd scan-repo /path/to/my/project\n```\n\n**Output**:\n```\n🔍 Scanning repository...\n✅ Repository clean: 1,234 files scanned, 0 secrets found\n```\n\n**Output on detection**:\n```\n❌ Found 2 secrets:\n\n- AWS Access Key ID in config/prod.py:42\n- Slack API token in .env.backup:8\n\nUse 'ggshield secret ignore --last-found' to ignore, or remove them.\n```\n\n#### 2. `scan-file`\nScans a single file for secrets.\n\n```\n@clawd scan-file /path/to/config.py\n```\n\n#### 3. `scan-staged`\nScans only staged git changes (useful pre-commit check).\n\n```\n@clawd scan-staged\n```\n\nThis runs on your `git add`-ed changes only (fast!).\n\n#### 4. `install-hooks`\nInstalls ggshield as a git pre-commit hook.\n\n```\n@clawd install-hooks\n```\n\nAfter this, every commit is automatically scanned:\n```\n$ git commit -m \"Add config\"\n🔍 Running ggshield pre-commit hook...\n❌ Secrets detected! Commit blocked.\nRemove the secrets and try again.\n```\n\n#### 5. `scan-docker`\nScans Docker images for secrets in their layers.\n\n```\n@clawd scan-docker my-app:latest\n```\n\n## Installation\n\n### Prerequisites\n\n1. **ggshield CLI**: Install via pip\n   ```bash\n   pip install ggshield>=1.15.0\n   ```\n\n2. **GitGuardian API Key**: Required for secret detection\n   - Sign up: https://dashboard.gitguardian.com (free)\n   - Generate API key in Settings\n   - Set environment variable:\n\n```bash\nexport GITGUARDIAN_API_KEY=\"your-api-key-here\"\n```\n\n3. **Python 3.8+**: Required by ggshield\n\n### Install Skill\n\n```bash\nclawdhub install ggshield-scanner\n```\n\nThe skill is now available in your Moltbot workspace.\n\n### In Your Moltbot Workspace\n\nStart a new Moltbot session to pick up the skill:\n\n```bash\nmoltbot start\n# or via messaging: @clawd list-skills\n```\n\n## Usage Patterns\n\n### Pattern 1: Before Pushing (Security Check)\n\n```\nDev: @clawd scan-repo .\nMoltbot: ✅ Repository clean. All good to push!\n\nDev: git push\n```\n\n### Pattern 2: Audit Existing Repo\n\n```\nDev: @clawd scan-repo ~/my-old-project\nMoltbot: ❌ Found 5 secrets in history!\n         - AWS keys in config/secrets.json\n         - Database password in docker-compose.yml\n         - Slack webhook in .env.example\nMoltbot: Recommendation: Rotate these credentials immediately.\n         Consider using git-filter-repo to remove from history.\n```\n\n### Pattern 3: Pre-Commit Enforcement\n\n```\nDev: @clawd install-hooks\nMoltbot: ✅ Installed pre-commit hook\n\nDev: echo \"SECRET_TOKEN=xyz\" > config.py\nDev: git add config.py\nDev: git commit -m \"Add config\"\nMoltbot: ❌ Pre-commit hook detected secret!\nDev: rm config.py && git reset\nDev: (add config to .gitignore and to environment variables instead)\nDev: git commit -m \"Add config\" # Now works!\n```\n\n### Pattern 4: Docker Image Security\n\n```\nDev: @clawd scan-docker my-api:v1.2.3\nMoltbot: ✅ Docker image clean\n```\n\n## Configuration\n\n### Environment Variables\n\nThese are required for the skill to work:\n\n| Variable | Value | Where to Set |\n| :-- | :-- | :-- |\n| `GITGUARDIAN_API_KEY` | Your API key from https://dashboard.gitguardian.com | `~/.bashrc` or `~/.zshrc` |\n| `GITGUARDIAN_ENDPOINT` | `https://api.gitguardian.com` (default, optional) | Usually not needed |\n\n### Optional ggshield Config\n\nCreate `~/.gitguardian/.gitguardian.yml` for persistent settings:\n\n```yaml\nverbose: false\noutput-format: json\nexit-code: true\n```\n\nFor details: https://docs.gitguardian.com/ggshield-docs/\n\n## Privacy & Security\n\n### What Data is Sent to GitGuardian?\n\n✅ **ONLY metadata is sent**:\n\n- Hash of the secret pattern (not the actual secret)\n- File path (relative path only)\n- Line number\n\n❌ **NEVER sent**:\n\n- Your actual secrets or credentials\n- File contents\n- Private keys\n- Credentials\n\n**Reference**: GitGuardian Enterprise customers can use on-premise scanning with no data sent anywhere.\n\n### How Secrets Are Detected\n\nggshield uses:\n\n1. **Entropy-based detection**: Identifies high-entropy strings (random tokens)\n2. **Pattern matching**: Looks for known secret formats (AWS key prefixes, etc.)\n3. **Public CVEs**: Cross-references disclosed secrets\n4. **Machine learning**: Trained on leaked secrets database\n\n## Troubleshooting\n\n### \"ggshield: command not found\"\n\nggshield is not installed or not in your PATH.\n\n**Fix**:\n\n```bash\npip install ggshield\nwhich ggshield  # Should return a path\n```\n\n### \"GITGUARDIAN_API_KEY not found\"\n\nThe environment variable is not set.\n\n**Fix**:\n\n```bash\nexport GITGUARDIAN_API_KEY=\"your-key\"\n# For persistence, add to ~/.bashrc or ~/.zshrc:\necho 'export GITGUARDIAN_API_KEY=\"your-key\"' >> ~/.bashrc\nsource ~/.bashrc\n```\n\n### \"401 Unauthorized\"\n\nAPI key is invalid or expired.\n\n**Fix**:\n\n```bash\n# Test the API key\nggshield auth status\n\n# If invalid, regenerate at https://dashboard.gitguardian.com → API Tokens\n# Then: export GITGUARDIAN_API_KEY=\"new-key\"\n```\n\n### \"Slow on large repositories\"\n\nScanning a 50GB monorepo takes time. ggshield is doing a lot of work.\n\n**Workaround**:\n\n```bash\n# Scan only staged changes (faster):\n@clawd scan-staged\n\n# Or specify a subdirectory:\n@clawd scan-file ./app/config.py\n```\n\n## Advanced Topics\n\n### Ignoring False Positives\n\nSometimes ggshield flags a string that's NOT a secret (e.g., a test key):\n\n```bash\n# Ignore the last secret found\nggshield secret ignore --last-found\n\n# Ignore all in a file\nggshield secret ignore --path ./config-example.py\n```\n\nThis creates `.gitguardian/config.json` with ignore rules.\n\n### Integrating with CI/CD\n\nYou can add secret scanning to GitHub Actions / GitLab CI:\n\n```yaml\n# .github/workflows/secret-scan.yml\nname: Secret Scan\non: [push]\njobs:\n  scan:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n      - run: pip install ggshield\n      - run: ggshield secret scan repo .\n        env:\n          GITGUARDIAN_API_KEY: ${{ secrets.GITGUARDIAN_API_KEY }}\n```\n\n### Enterprise: On-Premise Scanning\n\nIf your company uses GitGuardian Enterprise, you can scan without sending data to the cloud:\n\n```bash\nexport GITGUARDIAN_ENDPOINT=\"https://your-instance.gitguardian.com\"\nexport GITGUARDIAN_API_KEY=\"your-enterprise-key\"\n```\n\n## Related Resources\n\n- **ggshield Documentation**: https://docs.gitguardian.com/ggshield-docs/\n- **GitGuardian Dashboard**: https://dashboard.gitguardian.com (view all secrets found)\n- **Moltbot Skills**: https://docs.molt.bot/tools/clawdhub\n- **Secret Management Best Practices**: https://cheatsheetseries.owasp.org/cheatsheets/Secrets_Management_Cheat_Sheet.html\n\n## Support\n\n- **Bug reports**: https://github.com/GitGuardian/ggshield-skill/issues\n- **Questions**: Open an issue or comment on ClawdHub\n- **ggshield issues**: https://github.com/GitGuardian/ggshield/issues\n\n## License\n\nMIT License - See LICENSE file\n\n## Contributors\n\n- GitGuardian Team\n- [Your contributions welcome!]\n\n---\n\n**Version**: 1.0.0\n**Last updated**: January 2026\n**Maintainer**: GitGuardian\n","readmeExcerpt":"--- name: ggshield-scanner description: Detect 500+ types of hardcoded secrets (API keys, credentials, tokens) before they leak into git. Wraps GitGuardian's ggshield CLI. homepage: https://github.com/GitGuardian/ggshield-skill metadata: clawdbot: requires: bins: [\"ggshield\"] env: [\"GITGUARDIAN_API_KEY\"] --- ggshield Secret Scanner Overview **ggshield** is a CLI tool that detects hardcoded secrets in your codebase. T","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"@clawd scan-repo /path/to/my/project"},{"language":"text","snippet":"🔍 Scanning repository...\n✅ Repository clean: 1,234 files scanned, 0 secrets found"},{"language":"text","snippet":"❌ Found 2 secrets:\n\n- AWS Access Key ID in config/prod.py:42\n- Slack API token in .env.backup:8\n\nUse 'ggshield secret ignore --last-found' to ignore, or remove them."},{"language":"text","snippet":"@clawd scan-file /path/to/config.py"},{"language":"text","snippet":"@clawd scan-staged"},{"language":"text","snippet":"@clawd install-hooks"}],"parameters":{},"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["typescript"],"docsSourceLabel":"CLAWHUB","editorialOverview":"Detect 500+ types of hardcoded secrets (API keys, credentials, tokens) before they leak into git. Wraps GitGuardian's ggshield CLI. --- name: ggshield-scanner description: Detect 500+ types of hardcoded secrets (API keys, credentials, tokens) before they leak into git. Wraps GitGuardian's ggshield CLI. homepage: https://github.com/GitGuardian/ggshield-skill metadata: clawdbot: requires: bins: [\"ggshield\"] env: [\"GITGUARDIAN_API_KEY\"] --- ggshield Secret Scanner Overview **ggshield** is a CLI tool that detects hardcoded secrets in your codebase. T","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":376,"uniquenessScore":65,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T05:23:08.791Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}