{"id":"afe48994-18f9-4136-ac9a-ca9146697c98","entityType":"agent","slug":"clawhub-skills-anotb-truenas-skill","name":"truenas-skill","canonicalUrl":"https://www.xpersona.co/agent/clawhub-skills-anotb-truenas-skill","canonicalPath":"/agent/clawhub-skills-anotb-truenas-skill","generatedAt":"2026-10-09T22:06:49.978Z","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":"Manage TrueNAS SCALE via API. Check pool health, manage datasets and snapshots, monitor alerts, control services, manage apps, orchestrate Dockge container stacks, and manage bookmarks. Use when the user asks about their NAS, storage, backups, containers, bookmarks, or homelab services. --- name: truenas-skill description: > Manage TrueNAS SCALE via API. Check pool health, manage datasets and snapshots, monitor alerts, control services, manage apps, orchestrate Dockge container stacks, and manage bookmarks. Use when the user asks about their NAS, storage, backups, containers, bookmarks, or homelab services. license: MIT homepage: https://github.com/anotb/truenas-skill compatibility: Requires curl, j","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.","installCommand":"clawhub skill install skills:anotb:truenas-skill","sourceUrl":"https://github.com/openclaw/skills/tree/main/skills/anotb/truenas-skill","homepage":"https://github.com/anotb/truenas-skill","primaryLinks":[{"label":"View on ClawHub","url":"https://github.com/openclaw/skills/tree/main/skills/anotb/truenas-skill","kind":"source"},{"label":"Homepage","url":"https://github.com/anotb/truenas-skill","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":50,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Manage TrueNAS SCALE via API. Check pool health, manage datasets and snapshots, monitor alerts, control services, manage apps, orchestrate Dockge container stac"},"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":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|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:37:19.872Z","emptyReason":null},"lastUpdatedAt":"2026-04-15T00:45:39.800Z","lastCrawledAt":"2026-02-25T03:37:19.872Z","lastIndexedAt":null,"nextCrawlAt":"2026-02-26T03:37:19.872Z","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:anotb:truenas-skill","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-anotb-truenas-skill/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-anotb-truenas-skill/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-anotb-truenas-skill/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-anotb-truenas-skill/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-anotb-truenas-skill/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-anotb-truenas-skill/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-09T22:06:49.978Z"}},"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-anotb-truenas-skill/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-anotb-truenas-skill/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-anotb-truenas-skill/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-anotb-truenas-skill/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: truenas-skill\ndescription: >\n  Manage TrueNAS SCALE via API. Check pool health, manage datasets and snapshots,\n  monitor alerts, control services, manage apps, orchestrate Dockge container stacks,\n  and manage bookmarks. Use when the user asks about their NAS, storage, backups,\n  containers, bookmarks, or homelab services.\nlicense: MIT\nhomepage: https://github.com/anotb/truenas-skill\ncompatibility: Requires curl, jq, and Node.js 18+. Network access to TrueNAS instance.\nmetadata: {\"author\": \"anotb\", \"version\": \"1.2.0\", \"openclaw\": {\"requires\": {\"env\": [\"TRUENAS_URL\", \"TRUENAS_API_KEY\"], \"bins\": [\"curl\", \"jq\", \"node\"]}, \"primaryEnv\": \"TRUENAS_API_KEY\"}}\n---\n\n# TrueNAS SCALE Skill\n\nManage a TrueNAS SCALE server and its apps via the TrueNAS API and Dockge Socket.IO.\n\n## Setup\n\n### Required Environment Variables\n\n```\nTRUENAS_URL       — TrueNAS base URL (e.g., https://10.0.0.5:444)\nTRUENAS_API_KEY   — API key from TrueNAS UI → API Keys\n```\n\n### Optional: TLS Configuration\n\n```\nTRUENAS_VERIFY_TLS  — Set to \"1\" to enforce TLS certificate validation (default: skip for self-signed certs)\n```\n\n### Optional: Dockge (Docker Compose UI)\n\n```\nDOCKGE_URL        — Dockge URL (e.g., http://10.0.0.5:5001)\nDOCKGE_USER       — Dockge login username\nDOCKGE_PASS       — Dockge login password\n```\n\n### Optional: Homelab Service API Keys\n\nSee the `references/` directory for per-service env vars. Common ones:\n\n```\nSONARR_URL, SONARR_API_KEY           — TV show management\nRADARR_URL, RADARR_API_KEY           — Movie management\nPROWLARR_URL, PROWLARR_API_KEY       — Indexer management\nOVERSEERR_URL, OVERSEERR_API_KEY     — Media request UI\nPLEX_URL                             — Media server (no auth on LAN)\nTAUTULLI_URL, TAUTULLI_API_KEY       — Plex analytics\nQBITTORRENT_URL                      — Torrent client (no auth)\nSABNZBD_URL, SABNZBD_API_KEY         — Usenet client\nAUDIOBOOKSHELF_URL, AUDIOBOOKSHELF_API_KEY\nNTFY_URL                             — Push notifications\nSYNCTHING_URL, SYNCTHING_API_KEY     — File sync\nN8N_URL, N8N_API_KEY                 — Workflow automation\nNOCODB_URL, NOCODB_API_KEY           — Database\nCHANGEDETECTION_URL, CHANGEDETECTION_API_KEY\nCRAFTY_URL, CRAFTY_API_KEY           — Game servers\nLAZYLIBRARIAN_URL, LAZYLIBRARIAN_API_KEY\nMETUBE_URL                           — YouTube downloader\nKARAKEEP_URL, KARAKEEP_API_KEY       — Bookmarks with AI tagging\n```\n\n## API Notes\n\n**HTTPS REQUIRED:** TrueNAS auto-revokes API keys used over HTTP.\n\n> **REST API Deprecation Notice:** The REST API (`/api/v2.0/`) is deprecated in TrueNAS 25.04\n> and **fully removed in 26.04**. Use the WebSocket API (via `scripts/truenas-ws.mjs`) as\n> the forward-compatible method. REST examples below still work on 24.10 and 25.x.\n\n### REST API (Legacy)\n\n```bash\ncurl -sk \"$TRUENAS_URL/api/v2.0/[endpoint]\" \\\n  -H \"Authorization: Bearer $TRUENAS_API_KEY\"\n```\n\nThe `-k` flag is needed for self-signed certificates (common on home servers).\n\n### WebSocket API (Recommended)\n\nThe WebSocket API uses a DDP-like protocol (Meteor style). REST paths become dot notation:\n`/api/v2.0/app` → `app.query`, `/api/v2.0/system/info` → `system.info`.\n\n```javascript\n// Connect: wss://<host>/websocket (rejectUnauthorized: false for self-signed)\n\n// 1. Handshake\nsend: {\"msg\": \"connect\", \"version\": \"1\", \"support\": [\"1\"]}\nrecv: {\"msg\": \"connected\", \"session\": \"...\"}\n\n// 2. Authenticate\nsend: {\"id\": \"1\", \"msg\": \"method\", \"method\": \"auth.login_with_api_key\", \"params\": [\"API_KEY\"]}\nrecv: {\"id\": \"1\", \"msg\": \"result\", \"result\": true}\n\n// 3. Call methods\nsend: {\"id\": \"2\", \"msg\": \"method\", \"method\": \"system.info\", \"params\": []}\nsend: {\"id\": \"3\", \"msg\": \"method\", \"method\": \"app.query\", \"params\": []}\n```\n\nUse the helper script for WebSocket calls: `node scripts/truenas-ws.mjs <method> [params_json]`\n\n## Security Notes\n\n- **Self-signed certificates:** TLS verification is skipped by default (`curl -k`, `rejectUnauthorized: false`) because homelab servers typically use self-signed certs. Set `TRUENAS_VERIFY_TLS=1` to enforce strict TLS validation.\n- **API key scope:** Use a read-only or least-privilege API key when possible. TrueNAS lets you scope keys to specific endpoints.\n- **Credentials stay local:** All env vars are read at runtime and sent only to the configured service endpoints. Nothing is phoned home.\n\n## Core Operations\n\n### System Info\n\n```bash\ncurl -sk \"$TRUENAS_URL/api/v2.0/system/info\" -H \"Authorization: Bearer $TRUENAS_API_KEY\"\n```\n\n### Pool Health\n\n```bash\n# All pools with health status\ncurl -sk \"$TRUENAS_URL/api/v2.0/pool\" -H \"Authorization: Bearer $TRUENAS_API_KEY\" \\\n  | jq '.[] | {name, healthy}'\n\n# Or via WebSocket\nnode scripts/truenas-ws.mjs pool.query '[]'\n```\n\nThe API returns a `.healthy` boolean per pool. For deeper status, inspect the full pool object.\n\n### Active Alerts\n\n```bash\ncurl -sk \"$TRUENAS_URL/api/v2.0/alert/list\" -H \"Authorization: Bearer $TRUENAS_API_KEY\" \\\n  | jq '.[] | {level, formatted}'\n```\n\n### Running Services\n\n```bash\ncurl -sk \"$TRUENAS_URL/api/v2.0/service\" -H \"Authorization: Bearer $TRUENAS_API_KEY\" \\\n  | jq '.[] | select(.state == \"RUNNING\") | .service'\n```\n\n## Dataset Management\n\n### List Datasets\n\n```bash\ncurl -sk \"$TRUENAS_URL/api/v2.0/pool/dataset\" -H \"Authorization: Bearer $TRUENAS_API_KEY\" \\\n  | jq '.[] | {name, type, used: .used.parsed, available: .available.parsed}'\n```\n\n### Create Dataset\n\n```bash\ncurl -sk -X POST \"$TRUENAS_URL/api/v2.0/pool/dataset\" \\\n  -H \"Authorization: Bearer $TRUENAS_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"name\": \"pool/path/new-dataset\"}'\n```\n\n### Delete Dataset\n\n```bash\n# Destructive — confirm with user first\ncurl -sk -X DELETE \"$TRUENAS_URL/api/v2.0/pool/dataset/id/DATASET_ID\" \\\n  -H \"Authorization: Bearer $TRUENAS_API_KEY\"\n```\n\n## Snapshots & Replication\n\n### List Snapshots\n\n```bash\n# WebSocket (required on 25.10+, /api/v2.0/zfs/snapshot returns 404)\nnode scripts/truenas-ws.mjs zfs.snapshot.query '[]'\n```\n\n### Create Snapshot\n\n```bash\nnode scripts/truenas-ws.mjs zfs.snapshot.create '[{\"dataset\": \"pool/dataset\", \"name\": \"manual-YYYY-MM-DD\"}]'\n```\n\n### Snapshot Task Status\n\n```bash\ncurl -sk \"$TRUENAS_URL/api/v2.0/pool/snapshottask\" -H \"Authorization: Bearer $TRUENAS_API_KEY\" \\\n  | jq '.[] | {dataset, schedule, enabled}'\n```\n\n### Replication Health\n\n```bash\ncurl -sk \"$TRUENAS_URL/api/v2.0/replication\" -H \"Authorization: Bearer $TRUENAS_API_KEY\" \\\n  | jq '.[] | {name, state: .state.state}'\n```\n\n## App Management\n\nTrueNAS Apps are the official marketplace for installing containerized services.\n\n### List Installed Apps\n\n```bash\ncurl -sk \"$TRUENAS_URL/api/v2.0/app\" -H \"Authorization: Bearer $TRUENAS_API_KEY\" \\\n  | jq '.[] | {name, state, version}'\n```\n\n### Check for Updates\n\n```bash\ncurl -sk \"$TRUENAS_URL/api/v2.0/app\" -H \"Authorization: Bearer $TRUENAS_API_KEY\" \\\n  | jq '.[] | select(.upgrade_available) | .name'\n```\n\n### Install / Update Apps\n\nSee `references/app-installation.md` for the full installation guide covering:\n- Checking app templates and storage requirements\n- Creating datasets with proper ACLs\n- Installing with correct storage mappings\n- Handling apps with multiple storage mounts\n\n### App Status\n\n```bash\ncurl -sk \"$TRUENAS_URL/api/v2.0/app?name=APP_NAME\" -H \"Authorization: Bearer $TRUENAS_API_KEY\" \\\n  | jq '.[0] | {name, state, portals}'\n```\n\n## Dockge (Docker Compose Stacks)\n\nDockge is a companion UI for Docker Compose stacks not in the TrueNAS Apps catalog.\nIt uses Socket.IO, not REST. Use the provided scripts.\n\n### Prerequisites\n\n```bash\nnpm install   # in this skill's root directory\n```\n\n### List Stacks\n\n```bash\nnode scripts/dockge-list.mjs\n```\n\n### Update Stacks\n\n```bash\n# Update all running stacks\nnode scripts/dockge-update.mjs\n\n# Update specific stacks\nnode scripts/dockge-update.mjs mystack1 mystack2\n```\n\n### Socket.IO Protocol Details\n\nDockge uses Socket.IO with WebSocket transport.\n\n**Status codes:**\n- 1 = inactive/exited\n- 3 = running\n- 4 = updating\n\n**Key events:**\n- `login` — authenticate with username/password\n- `stackList` — get all stacks (received via `agent` event)\n- `agent`, \"\", \"updateStack\", stackName — trigger pull + restart\n\n**Note:** Stacks prefixed with `ix-` are TrueNAS-managed apps visible to Dockge — skip those when updating.\n\n## Monitoring Checklist\n\nRun these commands for a quick health overview:\n\n```bash\n# Pool health\ncurl -sk \"$TRUENAS_URL/api/v2.0/pool\" -H \"Authorization: Bearer $TRUENAS_API_KEY\" \\\n  | jq '.[] | {name, healthy}'\n\n# Active alerts\ncurl -sk \"$TRUENAS_URL/api/v2.0/alert/list\" -H \"Authorization: Bearer $TRUENAS_API_KEY\" \\\n  | jq '.[] | {level, formatted}'\n\n# Running services\ncurl -sk \"$TRUENAS_URL/api/v2.0/service\" -H \"Authorization: Bearer $TRUENAS_API_KEY\" \\\n  | jq '.[] | select(.state == \"RUNNING\") | .service'\n\n# App updates available\ncurl -sk \"$TRUENAS_URL/api/v2.0/app\" -H \"Authorization: Bearer $TRUENAS_API_KEY\" \\\n  | jq '.[] | select(.upgrade_available) | .name'\n\n# Replication status\ncurl -sk \"$TRUENAS_URL/api/v2.0/replication\" -H \"Authorization: Bearer $TRUENAS_API_KEY\" \\\n  | jq '.[] | {name, state: .state.state}'\n```\n\n## Homelab Services\n\nThis skill includes reference files for common homelab service categories. Each covers\nAPI patterns, env vars, and common agent tasks for services that typically run alongside\nTrueNAS:\n\n| Reference | Services | File |\n|-----------|----------|------|\n| Media management | Overseerr, Sonarr, Radarr, Prowlarr, Plex, Tautulli | `references/media-management.md` |\n| App installation | TrueNAS native app install guide | `references/app-installation.md` |\n| Download clients | qBittorrent, SABnzbd, FlareSolverr | `references/downloads.md` |\n| Homelab services | ntfy, Syncthing, n8n, NocoDB, ChangeDetection, Crafty | `references/homelab-services.md` |\n| Books & media | Audiobookshelf, LazyLibrarian, Calibre-Web, MeTube | `references/books-and-media.md` |\n| Bookmarks | Karakeep (AI-powered bookmark manager) | `references/bookmarks.md` |\n\nLoad the relevant reference file when the user asks about a specific service category.\n\n## Common Tasks\n\n### \"Check NAS health\"\n\nRun the monitoring checklist above. Summarize pool states, alerts, and any pending updates.\n\n### \"What's running?\"\n\n```bash\n# TrueNAS apps\ncurl -sk \"$TRUENAS_URL/api/v2.0/app\" -H \"Authorization: Bearer $TRUENAS_API_KEY\" \\\n  | jq '.[] | select(.state == \"RUNNING\") | .name'\n\n# Dockge stacks (if configured)\nnode scripts/dockge-list.mjs\n```\n\n### \"Install an app\"\n\nFollow the guide in `references/app-installation.md`:\n1. Check app template for storage requirements\n2. Create dataset(s) under the apps pool\n3. Set ACL with apps preset\n4. Install app with correct storage mappings\n\n### \"Take a snapshot\"\n\n```bash\nnode scripts/truenas-ws.mjs zfs.snapshot.create '[{\"dataset\": \"pool/dataset\", \"name\": \"manual-snapshot-name\"}]'\n```\n\n### \"What's downloading?\"\n\nSee `references/downloads.md` for qBittorrent and SABnzbd API commands.\n\n### \"Add a movie/show\"\n\nSee `references/media-management.md` for Overseerr request workflow.\n","readmeExcerpt":"--- name: truenas-skill description: > Manage TrueNAS SCALE via API. Check pool health, manage datasets and snapshots, monitor alerts, control services, manage apps, orchestrate Dockge container stacks, and manage bookmarks. Use when the user asks about their NAS, storage, backups, containers, bookmarks, or homelab services. license: MIT homepage: https://github.com/anotb/truenas-skill compatibility: Requires curl, j","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"TRUENAS_URL       — TrueNAS base URL (e.g., https://10.0.0.5:444)\nTRUENAS_API_KEY   — API key from TrueNAS UI → API Keys"},{"language":"text","snippet":"TRUENAS_VERIFY_TLS  — Set to \"1\" to enforce TLS certificate validation (default: skip for self-signed certs)"},{"language":"text","snippet":"DOCKGE_URL        — Dockge URL (e.g., http://10.0.0.5:5001)\nDOCKGE_USER       — Dockge login username\nDOCKGE_PASS       — Dockge login password"},{"language":"text","snippet":"SONARR_URL, SONARR_API_KEY           — TV show management\nRADARR_URL, RADARR_API_KEY           — Movie management\nPROWLARR_URL, PROWLARR_API_KEY       — Indexer management\nOVERSEERR_URL, OVERSEERR_API_KEY     — Media request UI\nPLEX_URL                             — Media server (no auth on LAN)\nTAUTULLI_URL, TAUTULLI_API_KEY       — Plex analytics\nQBITTORRENT_URL                      — Torrent client (no auth)\nSABNZBD_URL, SABNZBD_API_KEY         — Usenet client\nAUDIOBOOKSHELF_URL, AUDIOBOOKSHELF_API_KEY\nNTFY_URL                             — Push notifications\nSYNCTHING_URL, SYNCTHING_API_KEY     — File sync\nN8N_URL, N8N_API_KEY                 — Workflow automation\nNOCODB_URL, NOCODB_API_KEY           — Database\nCHANGEDETECTION_URL, CHANGEDETECTION_API_KEY\nCRAFTY_URL, CRAFTY_API_KEY           — Game servers\nLAZYLIBRARIAN_URL, LAZYLIBRARIAN_API_KEY\nMETUBE_URL                           — YouTube downloader\nKARAKEEP_URL, KARAKEEP_API_KEY       — Bookmarks with AI tagging"},{"language":"bash","snippet":"curl -sk \"$TRUENAS_URL/api/v2.0/[endpoint]\" \\\n  -H \"Authorization: Bearer $TRUENAS_API_KEY\""},{"language":"bash","snippet":"curl -sk \"$TRUENAS_URL/api/v2.0/[endpoint]\" \\\n  -H \"Authorization: Bearer $TRUENAS_API_KEY\""}],"parameters":{},"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["typescript"],"docsSourceLabel":"CLAWHUB","editorialOverview":"Manage TrueNAS SCALE via API. Check pool health, manage datasets and snapshots, monitor alerts, control services, manage apps, orchestrate Dockge container stacks, and manage bookmarks. Use when the user asks about their NAS, storage, backups, containers, bookmarks, or homelab services. --- name: truenas-skill description: > Manage TrueNAS SCALE via API. Check pool health, manage datasets and snapshots, monitor alerts, control services, manage apps, orchestrate Dockge container stacks, and manage bookmarks. Use when the user asks about their NAS, storage, backups, containers, bookmarks, or homelab services. license: MIT homepage: https://github.com/anotb/truenas-skill compatibility: Requires curl, j","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":400,"uniquenessScore":64,"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-09T22:06:49.978Z","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"}]}}}