技能详情(站内镜像,无评论)
作者:TFM @0x7466
许可证:MIT-0
MIT-0 ·免费使用、修改和重新分发。无需归因。
版本:v1.0.0
统计:⭐ 0 · 856 · 3 current installs · 3 all-time installs
⭐ 0
安装量(当前) 3
🛡 VirusTotal :良性 · OpenClaw :可疑
Package:0x7466/coda-packs
安全扫描(ClawHub)
- VirusTotal :良性
- OpenClaw :可疑
OpenClaw 评估
The skill appears to implement Coda Pack management and its code matches the SKILL.md, but the registry metadata omits the required CODA_API_TOKEN and the package includes an executable script without an install spec — these inconsistencies warrant caution.
目的
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.
说明范围
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.
安装机制
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.
证书
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.
持久
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.
安装(复制给龙虾 AI)
将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。
请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「Coda Packs」。简介:Manage private Coda Packs by listing, creating, updating metadata, and deleting…。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/0x7466/coda-packs/SKILL.md
(来源:yingzhi8.cn 技能库)
SKILL.md
---
name: coda-packs
description: Manage Coda Packs via REST API v1. Supports listing, creating, updating, and deleting private Packs. Requires CODA_API_TOKEN. Delete requires confirmation. Note: Builds, Gallery submission, Analytics, and Collaborators require Coda's Pack SDK CLI, not available via REST API.
---
# 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:**
```bash
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`
- Get token at: https://coda.io/account -> API Settings
- Must have Pack management permissions
2. **Python 3.7+** with `requests` library
## Quick Start
```bash
# 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)
```bash
python scripts/coda_packs_cli.py packs create
--name "Karakeep Bookmarks"
--description "Save and search bookmarks"
```
### Step 2-4: Use Pack SDK CLI (Required)
```bash
# 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
```bash
# 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 PacknnDetails 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**:
```bash
# 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
- **Pack SDK Guides**: https://coda.io/packs/build/latest/guides/overview/
- **Pack SDK Quickstart**: https://coda.io/packs/build/latest/guides/quickstart/
- **Coda API Docs**: https://coda.io/developers/apis/v1
- **Pack SDK NPM**: https://www.npmjs.com/package/@codahq/packs-sdk
## 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`