{
  "schemaVersion": "1.0",
  "item": {
    "slug": "coda-packs",
    "name": "Coda Packs",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/0x7466/coda-packs",
    "canonicalUrl": "https://clawhub.ai/0x7466/coda-packs",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/coda-packs",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=coda-packs",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/coda_packs_cli.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. 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. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-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/coda-packs"
    },
    "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/coda-packs",
    "agentPageUrl": "https://openagent3.xyz/skills/coda-packs/agent",
    "manifestUrl": "https://openagent3.xyz/skills/coda-packs/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/coda-packs/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. 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. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Coda Packs Skill",
        "body": "Manage Coda Packs through the REST API v1. Create, list, update, and delete private Packs."
      },
      {
        "title": "⚠️ API Limitations",
        "body": "The Coda REST API v1 has limited Pack management capabilities:\n\nFeatureREST APIPack SDK CLIList Packs✅ Available✅Create Pack✅ Available✅Update Pack✅ Available✅Delete Pack✅ Available✅Build Versions❌ Not available✅ RequiredGallery Submit❌ Not available✅ RequiredAnalytics❌ Not available✅ RequiredCollaborators❌ Not available✅ Required\n\nFor builds, gallery submission, and advanced features, use:\n\nnpx @codahq/packs-sdk register    # Create account\nnpx @codahq/packs-sdk build       # Build Pack\nnpx @codahq/packs-sdk release     # Submit to Gallery"
      },
      {
        "title": "When to Use",
        "body": "Use this skill when the user wants to:\n\nList existing Coda Packs\nCreate new private Pack shells\nUpdate Pack metadata (name, description)\nDelete unused Packs"
      },
      {
        "title": "When NOT to Use",
        "body": "Do NOT use for Doc management (tables, rows, pages) → use coda skill\nDo NOT use for building Pack versions → use Pack SDK CLI\nDo NOT use for Gallery submission → use Pack SDK CLI\nDo NOT use for viewing analytics → use Pack SDK CLI or Coda web UI"
      },
      {
        "title": "Prerequisites",
        "body": "API Token: Set environment variable CODA_API_TOKEN\n\nGet token at: https://coda.io/account -> API Settings\nMust have Pack management permissions\n\n\n\nPython 3.7+ with requests library"
      },
      {
        "title": "Quick Start",
        "body": "# Setup\nexport CODA_API_TOKEN=\"your_token_here\"\n\n# List your Packs\npython scripts/coda_packs_cli.py packs list\n\n# Create new Pack shell\npython scripts/coda_packs_cli.py packs create \\\n  --name \"My Integration\" \\\n  --description \"Does cool things\"\n\n# Update Pack\npython scripts/coda_packs_cli.py packs update my-pack-id \\\n  --description \"Updated description\"\n\n# Delete Pack (requires confirmation)\npython scripts/coda_packs_cli.py packs delete my-pack-id"
      },
      {
        "title": "Full Pack Development Workflow",
        "body": "Since the REST API only supports basic Pack management, here's the complete workflow:"
      },
      {
        "title": "Step 1: Create Pack Shell (via REST API)",
        "body": "python scripts/coda_packs_cli.py packs create \\\n  --name \"Karakeep Bookmarks\" \\\n  --description \"Save and search bookmarks\""
      },
      {
        "title": "Step 2-4: Use Pack SDK CLI (Required)",
        "body": "# Install Pack SDK\nnpm install -g @codahq/packs-sdk\n\n# Initialize Pack project\nnpx @codahq/packs-sdk init karakeep-pack\n\n# Develop your Pack (edit pack.ts)\n# See: https://coda.io/packs/build/latest/guides/quickstart/\n\n# Build and upload\nnpx @codahq/packs-sdk build\nnpx @codahq/packs-sdk upload\n\n# Submit to Gallery (when ready)\nnpx @codahq/packs-sdk release"
      },
      {
        "title": "Pack Management",
        "body": "# List all your Packs\npython scripts/coda_packs_cli.py packs list\n\n# Get Pack details\npython scripts/coda_packs_cli.py packs get 48093\npython scripts/coda_packs_cli.py packs get \"Karakeep\"\n\n# Create new Pack\npython scripts/coda_packs_cli.py packs create \\\n  --name \"My Pack\" \\\n  --description \"Description\" \\\n  --readme \"# My Pack\\n\\nDetails here\"\n\n# Update Pack metadata\npython scripts/coda_packs_cli.py packs update my-pack-id \\\n  --name \"New Name\" \\\n  --description \"New description\"\n\n# Delete Pack (requires confirmation)\npython scripts/coda_packs_cli.py packs delete my-pack-id\n# Or skip confirmation: --force"
      },
      {
        "title": "Pack ID Resolution",
        "body": "The CLI accepts both numeric Pack IDs and Pack Names:\n\n# These are equivalent:\npython scripts/coda_packs_cli.py packs get 48093\npython scripts/coda_packs_cli.py packs get \"Karakeep\"\n\nIf the name is ambiguous, the CLI lists matches and exits."
      },
      {
        "title": "Operations Requiring Confirmation",
        "body": "OperationRiskConfirmationDelete PackIrreversible\"Delete Pack 'X'? This cannot be undone.\""
      },
      {
        "title": "No Confirmation Required",
        "body": "Create Pack: Safe, reversible\nList/Get Packs: Read-only\nUpdate Pack: Reversible"
      },
      {
        "title": "Error Handling",
        "body": "Common API errors:\n\nCodeMeaningResolution401Invalid tokenRefresh CODA_API_TOKEN403Insufficient permissionsEnsure token has Pack management rights404Pack not foundCheck Pack ID or name429Rate limitedWait and retry (handled automatically)"
      },
      {
        "title": "References",
        "body": "Pack SDK Guides: https://coda.io/packs/build/latest/guides/overview/\nPack SDK Quickstart: https://coda.io/packs/build/latest/guides/quickstart/\nCoda API Docs: https://coda.io/developers/apis/v1\nPack SDK NPM: https://www.npmjs.com/package/@codahq/packs-sdk"
      },
      {
        "title": "Example: Karakeep Pack Shell",
        "body": "Created for testing:\n\nName: Karakeep\nID: 48093\nDescription: Karakeep bookmark manager - save URLs, search, and organize with tags\n\nNext steps for full Pack development:\n\nUse Pack SDK CLI: npx @codahq/packs-sdk init karakeep-pack\nImplement Karakeep API integration (see https://docs.karakeep.app/api/)\nBuild and upload: npx @codahq/packs-sdk build && npx @codahq/packs-sdk upload"
      }
    ],
    "body": "Coda Packs Skill\n\nManage Coda Packs through the REST API v1. Create, list, update, and delete private Packs.\n\n⚠️ API Limitations\n\nThe Coda REST API v1 has limited Pack management capabilities:\n\nFeature\tREST API\tPack SDK CLI\nList Packs\t✅ Available\t✅\nCreate Pack\t✅ Available\t✅\nUpdate Pack\t✅ Available\t✅\nDelete Pack\t✅ Available\t✅\nBuild Versions\t❌ Not available\t✅ Required\nGallery Submit\t❌ Not available\t✅ Required\nAnalytics\t❌ Not available\t✅ Required\nCollaborators\t❌ Not available\t✅ Required\n\nFor builds, gallery submission, and advanced features, use:\n\nnpx @codahq/packs-sdk register    # Create account\nnpx @codahq/packs-sdk build       # Build Pack\nnpx @codahq/packs-sdk release     # Submit to Gallery\n\nWhen to Use\n\nUse this skill when the user wants to:\n\nList existing Coda Packs\nCreate new private Pack shells\nUpdate Pack metadata (name, description)\nDelete unused Packs\nWhen NOT to Use\nDo NOT use for Doc management (tables, rows, pages) → use coda skill\nDo NOT use for building Pack versions → use Pack SDK CLI\nDo NOT use for Gallery submission → use Pack SDK CLI\nDo NOT use for viewing analytics → use Pack SDK CLI or Coda web UI\nPrerequisites\n\nAPI Token: Set environment variable CODA_API_TOKEN\n\nGet token at: https://coda.io/account -> API Settings\nMust have Pack management permissions\n\nPython 3.7+ with requests library\n\nQuick Start\n# Setup\nexport CODA_API_TOKEN=\"your_token_here\"\n\n# List your Packs\npython scripts/coda_packs_cli.py packs list\n\n# Create new Pack shell\npython scripts/coda_packs_cli.py packs create \\\n  --name \"My Integration\" \\\n  --description \"Does cool things\"\n\n# Update Pack\npython scripts/coda_packs_cli.py packs update my-pack-id \\\n  --description \"Updated description\"\n\n# Delete Pack (requires confirmation)\npython scripts/coda_packs_cli.py packs delete my-pack-id\n\nFull Pack Development Workflow\n\nSince the REST API only supports basic Pack management, here's the complete workflow:\n\nStep 1: Create Pack Shell (via REST API)\npython scripts/coda_packs_cli.py packs create \\\n  --name \"Karakeep Bookmarks\" \\\n  --description \"Save and search bookmarks\"\n\nStep 2-4: Use Pack SDK CLI (Required)\n# Install Pack SDK\nnpm install -g @codahq/packs-sdk\n\n# Initialize Pack project\nnpx @codahq/packs-sdk init karakeep-pack\n\n# Develop your Pack (edit pack.ts)\n# See: https://coda.io/packs/build/latest/guides/quickstart/\n\n# Build and upload\nnpx @codahq/packs-sdk build\nnpx @codahq/packs-sdk upload\n\n# Submit to Gallery (when ready)\nnpx @codahq/packs-sdk release\n\nCLI Tool Usage\nPack Management\n# List all your Packs\npython scripts/coda_packs_cli.py packs list\n\n# Get Pack details\npython scripts/coda_packs_cli.py packs get 48093\npython scripts/coda_packs_cli.py packs get \"Karakeep\"\n\n# Create new Pack\npython scripts/coda_packs_cli.py packs create \\\n  --name \"My Pack\" \\\n  --description \"Description\" \\\n  --readme \"# My Pack\\n\\nDetails here\"\n\n# Update Pack metadata\npython scripts/coda_packs_cli.py packs update my-pack-id \\\n  --name \"New Name\" \\\n  --description \"New description\"\n\n# Delete Pack (requires confirmation)\npython scripts/coda_packs_cli.py packs delete my-pack-id\n# Or skip confirmation: --force\n\nPack ID Resolution\n\nThe CLI accepts both numeric Pack IDs and Pack Names:\n\n# These are equivalent:\npython scripts/coda_packs_cli.py packs get 48093\npython scripts/coda_packs_cli.py packs get \"Karakeep\"\n\n\nIf the name is ambiguous, the CLI lists matches and exits.\n\nSafety Guardrails\nOperations Requiring Confirmation\nOperation\tRisk\tConfirmation\nDelete Pack\tIrreversible\t\"Delete Pack 'X'? This cannot be undone.\"\nNo Confirmation Required\nCreate Pack: Safe, reversible\nList/Get Packs: Read-only\nUpdate Pack: Reversible\nError Handling\n\nCommon API errors:\n\nCode\tMeaning\tResolution\n401\tInvalid token\tRefresh CODA_API_TOKEN\n403\tInsufficient permissions\tEnsure token has Pack management rights\n404\tPack not found\tCheck Pack ID or name\n429\tRate limited\tWait and retry (handled automatically)\nReferences\nPack SDK Guides: https://coda.io/packs/build/latest/guides/overview/\nPack SDK Quickstart: https://coda.io/packs/build/latest/guides/quickstart/\nCoda API Docs: https://coda.io/developers/apis/v1\nPack SDK NPM: https://www.npmjs.com/package/@codahq/packs-sdk\nExample: Karakeep Pack Shell\n\nCreated for testing:\n\nName: Karakeep\nID: 48093\nDescription: Karakeep bookmark manager - save URLs, search, and organize with tags\n\nNext steps for full Pack development:\n\nUse Pack SDK CLI: npx @codahq/packs-sdk init karakeep-pack\nImplement Karakeep API integration (see https://docs.karakeep.app/api/)\nBuild and upload: npx @codahq/packs-sdk build && npx @codahq/packs-sdk upload"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/0x7466/coda-packs",
    "publisherUrl": "https://clawhub.ai/0x7466/coda-packs",
    "owner": "0x7466",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/coda-packs",
    "downloadUrl": "https://openagent3.xyz/downloads/coda-packs",
    "agentUrl": "https://openagent3.xyz/skills/coda-packs/agent",
    "manifestUrl": "https://openagent3.xyz/skills/coda-packs/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/coda-packs/agent.md"
  }
}