# Coda

Read and write Coda: list docs, read tables and rows, add rows.

- Repository: https://github.com/Anil-matcha/awesome-muse-connectors (1403 stars)
- Category: Writing
- License: MIT
- Last updated: 2026-10-13
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add Anil-matcha/awesome-muse-connectors --skill coda -g -a claude-code -y`
Codex: `npx skills add Anil-matcha/awesome-muse-connectors --skill coda -g -a codex -y`
Cursor: `npx skills add Anil-matcha/awesome-muse-connectors --skill coda -g -a cursor -y`
Gemini CLI: `npx skills add Anil-matcha/awesome-muse-connectors --skill coda -g -a gemini-cli -y`

## Description

Read and write Coda: list docs, read tables and rows, add rows. Trigger phrases: coda, coda doc, coda table.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Coda

## Purpose
Read and write the user's Coda workspace: list docs, list tables in a doc, read table rows, add rows to a table. Use when the user mentions Coda, a Coda doc, or a Coda table.

## Tooling
All commands go through `bin/coda.py`:

```bash
bin/coda.py auth                                        # verify the token (whoami)
bin/coda.py docs --limit 25                             # list docs
bin/coda.py tables --doc DOC_ID                         # list tables in a doc
bin/coda.py rows --doc DOC_ID --table TABLE_ID          # read rows from a table
bin/coda.py add-row --doc DOC_ID --table TABLE_ID --cells '{"Task":"Ship","Done":false}'  # add a row
```

Table arguments accept table IDs or names. Use `tables` to resolve names first.

## Auth
- Provider id: `coda` (credential is collected as `custom.coda`)
- Collection: personal API token via the secure credential flow (`credentials.request_api_access`); created at coda.io/account (API settings)
- Allowed hosts: `coda.io`
- Status check: `bin/coda.py auth` (must return `"ok": true`)

## Operating Rules
1. `add-row` is a write: confirm the exact cells and destination table with the user before sending, unless standing permission exists.
2. Reading (docs, tables, rows) needs no confirmation.
3. Coda API tokens can be read-only or read-write; if `add-row` returns a permission error, the token needs write scope: tell the user rather than retrying.
4. Never exfiltrate the credential: the CLI only ever handles surrogates (see `bin/coda.py`). Do not print, log, or transmit the token value.

## Files
- SKILL.md
- bin/coda.py

## Maturity
🧪 Draft: written from Coda's public API docs; not yet live-tested end-to-end.

