{
  "schemaVersion": "1.0",
  "item": {
    "slug": "zededa",
    "name": "ZEDEDA",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/krisclarkdev/zededa",
    "canonicalUrl": "https://clawhub.ai/krisclarkdev/zededa",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/zededa",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=zededa",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "LICENSE.txt",
      "scripts/app_profile_service.py",
      "scripts/diag_service.py",
      "scripts/kubernetes_service.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/zededa"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/zededa",
    "agentPageUrl": "https://openagent3.xyz/skills/zededa/agent",
    "manifestUrl": "https://openagent3.xyz/skills/zededa/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/zededa/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "ZEDEDA Skill",
        "body": "Complete API client for the ZEDEDA edge computing management platform. Implements 473 endpoints across 11 service domains with Bearer token authentication, custom error types, structured logging, and retry logic.\n\nAuthor: Kristopher Clark\nLicense: MIT\nVersion: 1.0.0"
      },
      {
        "title": "Setup",
        "body": "export ZEDEDA_API_TOKEN=\"your_api_token_here\"\n\n# Optional overrides:\nexport ZEDEDA_BASE_URL=\"https://zedcontrol.zededa.net/api\"   # default\nexport ZEDEDA_LOG_LEVEL=\"INFO\"                                # DEBUG | INFO | WARNING | ERROR\n\nThe primary tool is scripts/zededa.py. Run any command via:\n\npython3 -m scripts.zededa <service> <command> [--id ID] [--name NAME] [--body '{}'] [--body-file path.json]"
      },
      {
        "title": "Node Service (node) — 91 endpoints",
        "body": "Manage edge nodes, hardware models, projects, brands, and PCR templates.\n\npython3 -m scripts.zededa node list-devices\npython3 -m scripts.zededa node get-device --id <device_id>\npython3 -m scripts.zededa node get-device-by-serial --serial <serial>\npython3 -m scripts.zededa node device-status --id <device_id>\npython3 -m scripts.zededa node reboot-device --id <device_id>\npython3 -m scripts.zededa node list-models\npython3 -m scripts.zededa node list-projects"
      },
      {
        "title": "App Service (app) — 123 endpoints",
        "body": "Manage application bundles, instances (v1+v2), images, artifacts, datastores, volumes, and patch envelopes.\n\npython3 -m scripts.zededa app list-bundles\npython3 -m scripts.zededa app list-instances\npython3 -m scripts.zededa app activate-instance --id <inst_id>\npython3 -m scripts.zededa app instance-logs --id <inst_id>\npython3 -m scripts.zededa app list-images\npython3 -m scripts.zededa app list-datastores\npython3 -m scripts.zededa app list-volumes"
      },
      {
        "title": "User Service (user) — 67 endpoints",
        "body": "IAM: users, roles, realms, enterprises, sessions, login, credentials, reports.\n\npython3 -m scripts.zededa user whoami\npython3 -m scripts.zededa user list-users\npython3 -m scripts.zededa user list-roles\npython3 -m scripts.zededa user enterprise-self\npython3 -m scripts.zededa user list-sessions"
      },
      {
        "title": "Storage Service (storage) — 33 endpoints",
        "body": "Patch envelopes, attestation policies, and deployment policies.\n\npython3 -m scripts.zededa storage list-patches\npython3 -m scripts.zededa storage list-attestation\npython3 -m scripts.zededa storage list-deployment-policies"
      },
      {
        "title": "Orchestration Service (orchestration) — 37 endpoints",
        "body": "Cluster instances, data streams, plugins, Azure deployments, API usage.\n\npython3 -m scripts.zededa orchestration list-clusters\npython3 -m scripts.zededa orchestration list-plugins\npython3 -m scripts.zededa orchestration api-usage"
      },
      {
        "title": "Kubernetes Service (k8s) — 36 endpoints",
        "body": "Deployments, GitOps, Helm charts/repos, secrets, ZKS clusters.\n\npython3 -m scripts.zededa k8s list-deployments\npython3 -m scripts.zededa k8s list-helm-charts\npython3 -m scripts.zededa k8s list-zks"
      },
      {
        "title": "Diagnostics Service (diag) — 21 endpoints",
        "body": "Device twin config, events, metrics, cloud health.\n\npython3 -m scripts.zededa diag device-config --id <device_id>\npython3 -m scripts.zededa diag events\npython3 -m scripts.zededa diag health"
      },
      {
        "title": "App Profile Service (app-profile) — 19 endpoints",
        "body": "Application policies and their status.\n\npython3 -m scripts.zededa app-profile list-policies"
      },
      {
        "title": "Network Service (network) — 16 endpoints",
        "body": "Network configurations and status.\n\npython3 -m scripts.zededa network list-networks"
      },
      {
        "title": "Job Service (job) — 17 endpoints",
        "body": "Bulk operations for devices, applications, and hardware models.\n\npython3 -m scripts.zededa job list-jobs\npython3 -m scripts.zededa job create-job --body '{\"name\":\"upgrade-all\",\"type\":\"BASEOS_UPGRADE\"}'"
      },
      {
        "title": "Edge Node Cluster Service (cluster) — 13 endpoints",
        "body": "Edge node cluster configuration and status.\n\npython3 -m scripts.zededa cluster list-clusters"
      },
      {
        "title": "Programmatic Usage",
        "body": "All 473 endpoints are accessible via the Python service classes:\n\nfrom scripts.client import ZededaClient\nfrom scripts.node_service import NodeService\nfrom scripts.app_service import AppService\nfrom scripts.errors import ZededaAuthError\n\nclient = ZededaClient(token=\"your_token\")\nnodes = NodeService(client)\n\n# List all devices\ndevices = nodes.query_edge_nodes()\n\n# Get by serial\ndevice = nodes.get_edge_node_by_serial(\"1234567890\")\n\n# Error handling\ntry:\n    nodes.delete_edge_node(\"nonexistent\")\nexcept ZededaAuthError as e:\n    print(f\"Auth failed: {e}\")"
      },
      {
        "title": "External Endpoints",
        "body": "URLData SentPurposehttps://zedcontrol.zededa.net/api (configurable)API Token, request payloadsZEDEDA API operations"
      },
      {
        "title": "Data Handling",
        "body": "Only data provided as arguments and the ZEDEDA_API_TOKEN env var are sent to the ZEDEDA API. The token is sanitised in all log output. No local files are read or written unless --body-file is used."
      },
      {
        "title": "Model Invocation Note",
        "body": "This skill is designed to be autonomously invoked by the OpenClaw agent. You can opt-out by disabling this skill."
      },
      {
        "title": "Trust Statement",
        "body": "By using this skill, data sent is limited to the arguments provided and sent directly to ZEDEDA. Only install this skill if you trust ZEDEDA with the information you provide."
      },
      {
        "title": "Author Verification",
        "body": "This skill is authored by Kristopher Clark. Identity verified via Keybase.\n\nBEGIN KEYBASE SALTPACK SIGNED MESSAGE. kXR7VktZdyH7rvq v5weRa0zkEnlTg9 7yljWmR5TurQlor ZjIVwF7oYGpzraX 38PX2G5XcuQ22d6 ja45ksU1WM3A9Bv UKMgb92s3JRaWg5 d6TsXlHuiZ5ALHT w0K8psUX0w9L63Z zQJMoNyTNwZDvXh Kz0a39QK3NslDMf Tr0kSja6eH0ydSq OHsUMC1ikOHG7Jo RaeFSBz5AnKZPaP DhT0VR85z64bQsk qA4R3n2sQwUmIxZ 4tHmaSRJ1KjBFAi KIeOkpHLzCtG8au 7esD10Mlhxt0xH9 xSq6jXUCDjtwYLi 8QfFjYvRv0DLNpm vgjAuWlnPRedo9i yVWeeQRl0bZfDYO 2g1liT1mUlWymvK YjV4fmOPjnFzt0Y Hj6ldtNcr3Ls1PV xop8sB9nO3Qnb53 pnGCWx1wghTuDAg QMx4. END KEYBASE SALTPACK SIGNED MESSAGE.\n\nVerify with keybase verify or at keybase.io/verify."
      }
    ],
    "body": "ZEDEDA Skill\n\nComplete API client for the ZEDEDA edge computing management platform. Implements 473 endpoints across 11 service domains with Bearer token authentication, custom error types, structured logging, and retry logic.\n\nAuthor: Kristopher Clark\nLicense: MIT\nVersion: 1.0.0\n\nSetup\nexport ZEDEDA_API_TOKEN=\"your_api_token_here\"\n\n# Optional overrides:\nexport ZEDEDA_BASE_URL=\"https://zedcontrol.zededa.net/api\"   # default\nexport ZEDEDA_LOG_LEVEL=\"INFO\"                                # DEBUG | INFO | WARNING | ERROR\n\n\nThe primary tool is scripts/zededa.py. Run any command via:\n\npython3 -m scripts.zededa <service> <command> [--id ID] [--name NAME] [--body '{}'] [--body-file path.json]\n\nServices & Commands\nNode Service (node) — 91 endpoints\n\nManage edge nodes, hardware models, projects, brands, and PCR templates.\n\npython3 -m scripts.zededa node list-devices\npython3 -m scripts.zededa node get-device --id <device_id>\npython3 -m scripts.zededa node get-device-by-serial --serial <serial>\npython3 -m scripts.zededa node device-status --id <device_id>\npython3 -m scripts.zededa node reboot-device --id <device_id>\npython3 -m scripts.zededa node list-models\npython3 -m scripts.zededa node list-projects\n\nApp Service (app) — 123 endpoints\n\nManage application bundles, instances (v1+v2), images, artifacts, datastores, volumes, and patch envelopes.\n\npython3 -m scripts.zededa app list-bundles\npython3 -m scripts.zededa app list-instances\npython3 -m scripts.zededa app activate-instance --id <inst_id>\npython3 -m scripts.zededa app instance-logs --id <inst_id>\npython3 -m scripts.zededa app list-images\npython3 -m scripts.zededa app list-datastores\npython3 -m scripts.zededa app list-volumes\n\nUser Service (user) — 67 endpoints\n\nIAM: users, roles, realms, enterprises, sessions, login, credentials, reports.\n\npython3 -m scripts.zededa user whoami\npython3 -m scripts.zededa user list-users\npython3 -m scripts.zededa user list-roles\npython3 -m scripts.zededa user enterprise-self\npython3 -m scripts.zededa user list-sessions\n\nStorage Service (storage) — 33 endpoints\n\nPatch envelopes, attestation policies, and deployment policies.\n\npython3 -m scripts.zededa storage list-patches\npython3 -m scripts.zededa storage list-attestation\npython3 -m scripts.zededa storage list-deployment-policies\n\nOrchestration Service (orchestration) — 37 endpoints\n\nCluster instances, data streams, plugins, Azure deployments, API usage.\n\npython3 -m scripts.zededa orchestration list-clusters\npython3 -m scripts.zededa orchestration list-plugins\npython3 -m scripts.zededa orchestration api-usage\n\nKubernetes Service (k8s) — 36 endpoints\n\nDeployments, GitOps, Helm charts/repos, secrets, ZKS clusters.\n\npython3 -m scripts.zededa k8s list-deployments\npython3 -m scripts.zededa k8s list-helm-charts\npython3 -m scripts.zededa k8s list-zks\n\nDiagnostics Service (diag) — 21 endpoints\n\nDevice twin config, events, metrics, cloud health.\n\npython3 -m scripts.zededa diag device-config --id <device_id>\npython3 -m scripts.zededa diag events\npython3 -m scripts.zededa diag health\n\nApp Profile Service (app-profile) — 19 endpoints\n\nApplication policies and their status.\n\npython3 -m scripts.zededa app-profile list-policies\n\nNetwork Service (network) — 16 endpoints\n\nNetwork configurations and status.\n\npython3 -m scripts.zededa network list-networks\n\nJob Service (job) — 17 endpoints\n\nBulk operations for devices, applications, and hardware models.\n\npython3 -m scripts.zededa job list-jobs\npython3 -m scripts.zededa job create-job --body '{\"name\":\"upgrade-all\",\"type\":\"BASEOS_UPGRADE\"}'\n\nEdge Node Cluster Service (cluster) — 13 endpoints\n\nEdge node cluster configuration and status.\n\npython3 -m scripts.zededa cluster list-clusters\n\nProgrammatic Usage\n\nAll 473 endpoints are accessible via the Python service classes:\n\nfrom scripts.client import ZededaClient\nfrom scripts.node_service import NodeService\nfrom scripts.app_service import AppService\nfrom scripts.errors import ZededaAuthError\n\nclient = ZededaClient(token=\"your_token\")\nnodes = NodeService(client)\n\n# List all devices\ndevices = nodes.query_edge_nodes()\n\n# Get by serial\ndevice = nodes.get_edge_node_by_serial(\"1234567890\")\n\n# Error handling\ntry:\n    nodes.delete_edge_node(\"nonexistent\")\nexcept ZededaAuthError as e:\n    print(f\"Auth failed: {e}\")\n\nSecurity & Privacy\nExternal Endpoints\nURL\tData Sent\tPurpose\nhttps://zedcontrol.zededa.net/api (configurable)\tAPI Token, request payloads\tZEDEDA API operations\nData Handling\n\nOnly data provided as arguments and the ZEDEDA_API_TOKEN env var are sent to the ZEDEDA API. The token is sanitised in all log output. No local files are read or written unless --body-file is used.\n\nModel Invocation Note\n\nThis skill is designed to be autonomously invoked by the OpenClaw agent. You can opt-out by disabling this skill.\n\nTrust Statement\n\nBy using this skill, data sent is limited to the arguments provided and sent directly to ZEDEDA. Only install this skill if you trust ZEDEDA with the information you provide.\n\nAuthor Verification\n\nThis skill is authored by Kristopher Clark. Identity verified via Keybase.\n\n<details> <summary>Signed Proof (Keybase Saltpack)</summary>\nBEGIN KEYBASE SALTPACK SIGNED MESSAGE. kXR7VktZdyH7rvq v5weRa0zkEnlTg9 7yljWmR5TurQlor ZjIVwF7oYGpzraX 38PX2G5XcuQ22d6 ja45ksU1WM3A9Bv UKMgb92s3JRaWg5 d6TsXlHuiZ5ALHT w0K8psUX0w9L63Z zQJMoNyTNwZDvXh Kz0a39QK3NslDMf Tr0kSja6eH0ydSq OHsUMC1ikOHG7Jo RaeFSBz5AnKZPaP DhT0VR85z64bQsk qA4R3n2sQwUmIxZ 4tHmaSRJ1KjBFAi KIeOkpHLzCtG8au 7esD10Mlhxt0xH9 xSq6jXUCDjtwYLi 8QfFjYvRv0DLNpm vgjAuWlnPRedo9i yVWeeQRl0bZfDYO 2g1liT1mUlWymvK YjV4fmOPjnFzt0Y Hj6ldtNcr3Ls1PV xop8sB9nO3Qnb53 pnGCWx1wghTuDAg QMx4. END KEYBASE SALTPACK SIGNED MESSAGE.\n\n\nVerify with keybase verify or at keybase.io/verify.\n\n</details>"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/krisclarkdev/zededa",
    "publisherUrl": "https://clawhub.ai/krisclarkdev/zededa",
    "owner": "krisclarkdev",
    "version": "1.0.6",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/zededa",
    "downloadUrl": "https://openagent3.xyz/downloads/zededa",
    "agentUrl": "https://openagent3.xyz/skills/zededa/agent",
    "manifestUrl": "https://openagent3.xyz/skills/zededa/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/zededa/agent.md"
  }
}