← Back to Skills Marketplace
0x7466

Coda Packs

by TFM · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
962
Downloads
0
Stars
2
Active Installs
1
Versions
Install in OpenClaw
/install coda-packs
Description
Manage private Coda Packs by listing, creating, updating metadata, and deleting Packs using the Coda REST API v1 and CODA_API_TOKEN.
README (SKILL.md)

Coda Packs Skill

Manage Coda Packs through the REST API v1. Create, list, update, and delete private Packs.

⚠️ API Limitations

The Coda REST API v1 has limited Pack management capabilities:

Feature REST API Pack SDK CLI
List Packs ✅ Available
Create Pack ✅ Available
Update Pack ✅ Available
Delete Pack ✅ Available
Build Versions ❌ Not available ✅ Required
Gallery Submit ❌ Not available ✅ Required
Analytics ❌ Not available ✅ Required
Collaborators ❌ Not available ✅ Required

For builds, gallery submission, and advanced features, use:

npx @codahq/packs-sdk register    # Create account
npx @codahq/packs-sdk build       # Build Pack
npx @codahq/packs-sdk release     # Submit to Gallery

When to Use

Use this skill when the user wants to:

  • List existing Coda Packs
  • Create new private Pack shells
  • Update Pack metadata (name, description)
  • Delete unused Packs

When NOT to Use

  • Do NOT use for Doc management (tables, rows, pages) → use coda skill
  • Do NOT use for building Pack versions → use Pack SDK CLI
  • Do NOT use for Gallery submission → use Pack SDK CLI
  • Do NOT use for viewing analytics → use Pack SDK CLI or Coda web UI

Prerequisites

  1. API Token: Set environment variable CODA_API_TOKEN

  2. Python 3.7+ with requests library

Quick Start

# Setup
export CODA_API_TOKEN="your_token_here"

# List your Packs
python scripts/coda_packs_cli.py packs list

# Create new Pack shell
python scripts/coda_packs_cli.py packs create \
  --name "My Integration" \
  --description "Does cool things"

# Update Pack
python scripts/coda_packs_cli.py packs update my-pack-id \
  --description "Updated description"

# Delete Pack (requires confirmation)
python scripts/coda_packs_cli.py packs delete my-pack-id

Full Pack Development Workflow

Since the REST API only supports basic Pack management, here's the complete workflow:

Step 1: Create Pack Shell (via REST API)

python scripts/coda_packs_cli.py packs create \
  --name "Karakeep Bookmarks" \
  --description "Save and search bookmarks"

Step 2-4: Use Pack SDK CLI (Required)

# Install Pack SDK
npm install -g @codahq/packs-sdk

# Initialize Pack project
npx @codahq/packs-sdk init karakeep-pack

# Develop your Pack (edit pack.ts)
# See: https://coda.io/packs/build/latest/guides/quickstart/

# Build and upload
npx @codahq/packs-sdk build
npx @codahq/packs-sdk upload

# Submit to Gallery (when ready)
npx @codahq/packs-sdk release

CLI Tool Usage

Pack Management

# List all your Packs
python scripts/coda_packs_cli.py packs list

# Get Pack details
python scripts/coda_packs_cli.py packs get 48093
python scripts/coda_packs_cli.py packs get "Karakeep"

# Create new Pack
python scripts/coda_packs_cli.py packs create \
  --name "My Pack" \
  --description "Description" \
  --readme "# My Pack\
\
Details here"

# Update Pack metadata
python scripts/coda_packs_cli.py packs update my-pack-id \
  --name "New Name" \
  --description "New description"

# Delete Pack (requires confirmation)
python scripts/coda_packs_cli.py packs delete my-pack-id
# Or skip confirmation: --force

Pack ID Resolution

The CLI accepts both numeric Pack IDs and Pack Names:

# These are equivalent:
python scripts/coda_packs_cli.py packs get 48093
python scripts/coda_packs_cli.py packs get "Karakeep"

If the name is ambiguous, the CLI lists matches and exits.

Safety Guardrails

Operations Requiring Confirmation

Operation Risk Confirmation
Delete Pack Irreversible "Delete Pack 'X'? This cannot be undone."

No Confirmation Required

  • Create Pack: Safe, reversible
  • List/Get Packs: Read-only
  • Update Pack: Reversible

Error Handling

Common API errors:

Code Meaning Resolution
401 Invalid token Refresh CODA_API_TOKEN
403 Insufficient permissions Ensure token has Pack management rights
404 Pack not found Check Pack ID or name
429 Rate limited Wait and retry (handled automatically)

References

Example: Karakeep Pack Shell

Created for testing:

  • Name: Karakeep
  • ID: 48093
  • Description: Karakeep bookmark manager - save URLs, search, and organize with tags

Next steps for full Pack development:

  1. Use Pack SDK CLI: npx @codahq/packs-sdk init karakeep-pack
  2. Implement Karakeep API integration (see https://docs.karakeep.app/api/)
  3. Build and upload: npx @codahq/packs-sdk build && npx @codahq/packs-sdk upload
Usage Guidance
This skill appears to do what it says (manage Coda Packs) and the included Python code matches the documentation, but the registry metadata incorrectly omits the required CODA_API_TOKEN. Before installing: (1) confirm the publisher and trust the source; (2) only provide a CODA API token scoped to Pack management (least privilege); (3) prefer creating a dedicated account/token for automation that can be revoked; (4) review and, if possible, run the included script in a sandbox or test environment first to observe network calls (they should be to coda.io only); (5) ask the publisher to update registry metadata to declare CODA_API_TOKEN so automated permission checks are accurate. If you cannot verify the source or cannot scope the token safely, avoid installing.
Capability Analysis
Type: OpenClaw Skill Name: coda-packs Version: 1.0.0 The OpenClaw AgentSkills skill bundle for Coda Packs is benign. The `SKILL.md` clearly defines the skill's purpose (managing Coda Packs via REST API) and its limitations, directing users to the Coda Pack SDK CLI for out-of-scope features. It explicitly requires a `CODA_API_TOKEN` environment variable, which is necessary for its stated function. The `scripts/coda_packs_cli.py` script uses this token to interact solely with the official Coda API (`https://coda.io/apis/v1`). It includes safety confirmations for destructive operations like deleting packs and does not contain any evidence of data exfiltration, malicious execution, persistence mechanisms, or prompt injection attempts against the agent to perform unauthorized actions. All observed behaviors are aligned with the stated purpose.
Capability Assessment
Purpose & Capability
The SKILL.md and the included Python CLI implement Coda Pack management via the Coda REST API and explicitly require CODA_API_TOKEN — that capability matches the name/purpose. However, the registry metadata lists no required environment variables even though the skill needs an API token, which is an inconsistency between declared metadata and actual requirements.
Instruction Scope
Runtime instructions are scoped to listing/creating/updating/deleting private Packs and to using the Pack SDK for builds/advanced features. The SKILL.md does not instruct the agent to read unrelated system files or exfiltrate data to unexpected endpoints; it only requires the Coda API token and standard HTTP access to coda.io.
Install Mechanism
There is no install spec (instruction-only), which reduces install-time risk. However, the skill includes an executable Python CLI script (scripts/coda_packs_cli.py) that will be run by the agent; the package does not provide an automated install step or sandboxing guidance. This is reasonable but worth noting: code will run locally when invoked.
Credentials
The tool legitimately requires a single credential (CODA_API_TOKEN) for the coda.io API, which is proportionate. The concern is that the registry metadata does not declare this required environment variable while SKILL.md and the script both require it. Missing metadata can lead users or automated systems to grant incorrect permissions or miss required secrets.
Persistence & Privilege
The skill does not request always:true and does not attempt to modify other skills or system-wide settings. It runs on-demand (or can be invoked autonomously per platform defaults), which is normal for skills.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install coda-packs
  3. After installation, invoke the skill by name or use /coda-packs
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release: Manage Coda Pack shells via REST API v1. Supports listing, creating, updating, and deleting private Packs. Note: Builds, Gallery submission, Analytics require Pack SDK CLI (npx @codahq/packs-sdk).
Metadata
Slug coda-packs
Version 1.0.0
License
All-time Installs 3
Active Installs 2
Total Versions 1
Frequently Asked Questions

What is Coda Packs?

Manage private Coda Packs by listing, creating, updating metadata, and deleting Packs using the Coda REST API v1 and CODA_API_TOKEN. It is an AI Agent Skill for Claude Code / OpenClaw, with 962 downloads so far.

How do I install Coda Packs?

Run "/install coda-packs" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Coda Packs free?

Yes, Coda Packs is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Coda Packs support?

Coda Packs is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Coda Packs?

It is built and maintained by TFM (@0x7466); the current version is v1.0.0.

💬 Comments