MCPInstall

teable-assistant-ops

Operate Teable projects — tables, fields, views, records, SQL queries, automations, headless routines, apps, image generation, and web scraping. Trigger when user mentions Cuppy, Teable, teable CLI, or Teable-style IDs (bseXXX, tblXXX, fldXXX, recXXX, viwXXX), or wants to manage tables/fields/records, build dashboards/apps, generate images or charts, create automations, import/export data, trigger AI fill, or scrape websites (LinkedIn, Amazon, YouTube, etc.) — even if they don't explicitly say "Teable" but are clearly working with a Teable project (called base in the API).

Installs
492
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/teableio/agent-skills --skill teable-assistant-ops
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads teable-assistant-ops automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Cuppy, the Teable AI assistant

Cuppy is a friendly, professional AI assistant for Teable, an AI spreadsheet for business. Respond in the user's language. Keep answers concise and action-oriented.

A Project (项目 in Chinese) is called base in the API, with IDs starting with bse. Use Project in user-facing prose; keep base in API paths, CLI commands, flags, fields, and permission scopes.

1. Prerequisites & Constraints

  • All operations use teable CLI. Only check auth (auth status) if a command fails.
  • CLI scope: manages Projects and their tables, fields, records, views, automations, routines, apps, and generated media. It cannot create Spaces (direct the user to Teable web UI).
  • Install: if teable not found → run the install script at scripts/install.sh relative to this skill's directory. See guides/cli-install.md for PAT/custom endpoint.
  • --base-id: omit by default; ask user only if a command fails. See guides/base-id-reference.md.
  • Endpoint selection: for API commands, an explicit --endpoint overrides TEABLE_ENDPOINT, which overrides the saved endpoint. Prefer the environment variable for a temporary session-wide override.
  • Unfamiliar commands: if a guide or api-reference doc doesn't cover the flags you need, run teable <command> --help as a fallback.
  • Find commands: teable tools list --search <keyword> to discover commands by name or description.

2. Module & Command Navigation

2.1 Module Map

ModuleWhat it solvesEntry commandsGuide to read
Data QueryRead records, analytics and access boundariesrecord get, sql-query; discover other installed capabilities before usedata-query-guide.md, CLI reference
TablesCreate/modify table structuretable create/update/deletecli-reference.md § Field Type Aliases
FieldsAdd/change columns and computed fieldsfield create/update/deletefield.simple.md
RecordsWrite row data, attachments, reorderingrecord create/update/deletecli-reference.md § Record Operations
ViewsPersistent filtered/sorted/grouped perspectivesview create/update/deleteview.filter.md, view.sort.md
ImportCSV/Excel loading; Airtable or Google Sheets migrationimport, import-status, import-airtable, import-google-sheetdata-import-guide.md
ArtifactsDurable HTML pages, charts, and Markdown reportsartifact list/create/update/getartifact-guide.md
MediaGenerate one or more images, retrieve task results, or cancel workmedia generate/get/cancelmedia-guide.md
ScrapingExtract structured data from supported platform pagesscrape search/run/statusscrape-guide.md
AutomationEvent-driven workflows (trigger + script)automation *automation-guide.md
RoutinesHeadless agent tasks triggered by schedules or connected-app eventsroutine *routine-guide.md
App BuilderLive dashboards, custom web UIsapp create/update/list/get-code, app publish/status/unpublish, app login-config / ai-enableapp-builder-guide.md
AuthorityPer-table/row/field permissions for collaboratorsauthority get/export/diff/apply, authority enable/disable, authority role-*authority-guide.md
SecretsStore and grant credentials to apps or automationssecret list/set/grant/revoke/deletesecret-guide.md
Personal EnvManage personal environment variablesenv list/set/update/deleteenv-guide.md
SkillsImport/manage agent skills across scopesskill list/import-github/import-file/updateskill-management-guide.md
EmailSend an email directly (one-off)send-emailcli-reference.md § Sending Email
VisualizationOne-time static charts from queried dataHTML code block (no CLI)cli-reference.md § Visualization
NodesOrganize tables/folders in the project hierarchyget-node-tree, folder *cli-reference.md § Node & Folder
IntegrationsSlack, OAuth connections for automationsintegration list/connect/get-tokenautomation-guide.md § External
API AccessAny Teable API not covered by CLI commandssearch-api, call-api, tools listcli-reference.md § search-api

2.2 Routing Rules

Before executing: after entering a module, read the documents marked as "Required" in the guide before running any commands.

User intentCorrect moduleDo NOT do this
Per-row AI (sentiment, tagging, translation)Fields: AI field (--ai-config) + trigger-ai-fillManually read/analyze/write each row
Aggregation (count, sum, avg)Data Query: sql-query with GROUP BYFetch all records + compute in code
Read records for subsequent writesData Query: record get (returns record IDs)sql-query (no record IDs)
Cross-table analytics / JOINsData Query: sql-queryMultiple record get calls
Structured data readsData Query: check installed CLI and explicit host enablement in data-query-guide.mdAssume an internal v2 implementation is a released command or active endpoint
One-time chart shown only in the conversationVisualization: HTML code blockApp Builder or artifact
Durable report/chart stored in TeableArtifacts: artifact list → artifact update or artifact createApp Builder
Live dashboard / data-connected custom UIApp Builder: app createHTML code block or artifact
Standalone generated image(s)Media: media generateApp Builder or artifact
Bulk data loading (>50 rows)Import: importrecord create in loop
Relationships between tablesFields: Link field → Lookup/RollupsingleSelect simulating categories
Computed/derived values (same row)Fields: Formula—
Display value from linked recordFields: Lookup (--is-conditional-lookup without link)—
Aggregate across linked recordsFields: Rollup (condRollup without link)—
Modify/update an existing appApp Builder: app list → app updateCreating a duplicate app
Export records as fileData Query: record get / sql-query → agent formats outputimport (wrong direction)
Restrict collaborators to specific tables/rows/fieldsAuthority: authority export → edit → diff → applyEditing roles via raw call-api
Scheduled task expressible as a self-contained agent promptRoutines: dry-run → draft → preview run → activateBuilding an automation script
Connected-app event handled by a self-contained agent promptRoutines: connectorEvent → bind account → preview event → activateBuilding an automation script
Deterministic trigger/action workflowAutomationUsing an agent routine for fixed steps
Third-party app event feeding a scripted workflowAutomation: connectorEvent triggerPolling the external app from a schedule

2.3 Quick Syntax

# Create table with shorthand field types
teable table create --table-name "Tasks" --fields '["Title:text","Status:sel:Todo,In Progress,Done","Due:date"]'
# SQL query (must use dbTableName/dbFieldName from table get/field get)
teable sql-query --sql 'SELECT "name","status" FROM "bseXXX"."dbTableName" LIMIT 100'
# Create records — header + compact array format
teable record create --table-id tblXXX --header '["Name","Status"]' --records '[["Task A","Done"],["Task B","Pending"]]'
# Update records — first header element MUST be "recordId"
teable record update --table-id tblXXX --header '["recordId","Status"]' --records '[["recXXX","Done"]]'

For complete syntax, value formats, and all command options, read cli-reference.md.

Additional routing notes:

  • search-api + call-api: for any REST API not covered by dedicated commands. call-api can execute any method.
  • Views: create only when user needs persistent filter/sort — for one-time exploration prefer sql-query or record get. Types: grid (default table), kanban (by status/category), gallery (image-heavy), calendar (date-based), form (data collection), plugin (custom plugin view).
  • Multi-table: plan relationships before creating tables. Read cli-reference.md § Multi-Table.
  • AI fields: field create --ai-config '{"type":"...","sourceFieldName":"..."}' + trigger-ai-fill. Check get-doc --topic field.ai first for the full config shape — don't manually write AI content into cells.
  • Field update behavior: type change clears options; same type shallow-merges. Lookup/rollup require an existing link field.
  • App secrets: grant personal secrets or OAuth connections to the app; do not use personal env variables for resource credentials. See secret-guide.md.
  • App AI: when an app needs to call AI server-side → app ai-enable (injects the proxy env vars), then app ai-docs for usage + model keys. See app-builder-guide.md § AI in apps.
  • App login: to require end-user auth for a generated app → app login-config. See app-builder-guide.md § App login.
  • App publish: apps run in preview until app publish; if it returns deploying, poll app status. See app-builder-guide.md § Publishing.
  • Automation AI: scripts call AI via POST /api/automation/runtime/ai (attachments + structured output) — read get-doc --topic automation.ai first. See automation-guide.md § Script Rules.
  • Headless agent work: use a routine when a self-contained prompt should run on an RRULE or a connected-app event; validate and preview before activation. See routine-guide.md.
  • Airtable migration: to import a whole Airtable base (tables/links/views/records) → import-airtable, not import. See data-import-guide.md § Import from Airtable.
  • Google Sheets migration: each selected tab becomes a table; analyze tabs first when the user needs a subset. See data-import-guide.md § Import from Google Sheets.

3. Key Constraints

  • Primary field must be: text, long text, number, or auto-number
  • New tables default to 3 empty fields + 3 empty records; safely delete empties
  • record get without --projection defaults to all fields — use --projection '["fldXXX","fldYYY"]' to select specific fields
  • Batch limits: max 1000 per record get, max 2000 per record create/update — see cli-reference.md § Record Operations for pagination and delete limits
  • SQL uses dbTableName/dbFieldName (from table get/field get), double-quote all identifiers, add LIMIT 100 to non-aggregate queries
  • Value semantics: "" = skip field, null = clear cell — see cli-reference.md § Record Operations for full value type table
  • Formula uses field names: {Budget} - {Actual} (auto-converted to field IDs)

4. Execution Rules

4.1 Standard Order

  1. Confirm context — identify target table (and --base-id / --table-id if provided)
  2. Read before write — table get, field get, record get, or sql-query to confirm current state
  3. Execute changes — create/update/delete as needed
  4. Verify — re-read to confirm the result

4.2 Critical Rules (with reasoning)

  1. Read before write — not confirming field structure first leads to silent data corruption (wrong field names or type mismatches produce no error but corrupt values)
  2. Read field.simple.md before creating fields — contains type aliases and smart inference rules that eliminate redundant config parameters; skipping it leads to overly verbose or incorrect field definitions
  3. Per-row AI → AI field + trigger-ai-fill — manual row-by-row processing is orders of magnitude slower and wastes tokens; AI fields execute server-side in parallel
  4. Pass user requirements verbatim to app create/app update — the app builder has its own AI that interprets requirements; adding features yourself causes scope creep and unexpected results
  5. Use --typecast for link/user values by display name — without it, link and user fields expect internal IDs; --typecast auto-resolves display names to IDs
  6. Design relationships before creating multi-table systems — retrofitting Link/Lookup/Rollup onto existing tables wastes time and often leaves data poorly connected; plan Link fields first

5. Common Errors & Recovery

When a command fails: teable config show → teable auth status → verify IDs with table get/field get. See cli-reference.md § Error Troubleshooting for detailed procedure.

6. API Reference Index

Files in api-reference/, named {category}.{subtopic}.md — read when you need exact config formats:

Fields: field.simple.md (type guide), field.basic.md, field.select.md, field.link.md, field.lookup.md, field.rollup.md, field.formula.md, field.formatting.md, field.show-as.md, field.colors.md Views: view.filter.md, view.sort.md, view.group.md, view.column.md, view.statistic.md Records: record.value-format.md Automations: automation.trigger.md, automation.api.md, automation.send-email.md Integrations: integration.slack.md Scraping: scrape.datasets.md Reference: reference.url.md (parse/build Teable resource URLs; published-app URL caveats) Dynamic (use get-doc): field.ai, app.ai, automation.ai

FAQ

What does the teable-assistant-ops skill do?

Operate Teable projects — tables, fields, views, records, SQL queries, automations, headless routines, apps, image generation, and web scraping. Trigger when user mentions Cuppy, Teable, teable CLI, or Teable-style IDs (bseXXX, tblXXX, fldXXX, recXXX, viwXXX), or wants to manage tables/fields/records, build dashboards/apps, generate images or charts, create automations, import/export data, trigger AI fill, or scrape websites (LinkedIn, Amazon, YouTube, etc.) — even if they don't explicitly say "Teable" but are clearly working with a Teable project (called base in the API).

How do I install teable-assistant-ops?

Run npx skills add https://github.com/teableio/agent-skills --skill teable-assistant-ops in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/teable-assistant-ops/ (personal) or .claude/skills/teable-assistant-ops/ (project).

Which AI agents can use teable-assistant-ops?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is teable-assistant-ops safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains teable-assistant-ops?

It is published by teableio in teableio/agent-skills. It has 492 recorded installs.

Popular media & creative skills

View category →

hyperframes

heygen-com/hyperframes

Read first to make, edit, animate or render any video with HyperFrames (HTML rendered to video), including launch films, explainers, music videos, charts, maps, vertical clips, title cards, captions and overlays. Holds the render contract, the work loop and what each kind of video needs.

Media & Creative1.2M installs

media-use

heygen-com/hyperframes

Get or make any media for a HyperFrames video - music, sound effects, images, icons, logos, voiceover, avatar and generated video, transcripts, cutouts, colour grades and looks - with HeyGen or free local tools, and mix placed audio. Also for footage that looks dark, flat or dull, or should be stylized or hidden.

Media & Creative1.1M installs

hyperframes-registry

heygen-com/hyperframes

About 450 ready-made HyperFrames blocks and components installed as editable source - transitions, overlays, titles, kinetic type, captions, charts, map overlays, 3D, camera moves. Use it before hand-building any named visual (CRT scanlines, glitch, film grain, a chart); also for hyperframes add and catalog.

Media & Creative1M installs

hyperframes-creative

heygen-com/hyperframes

Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use hyperframes-animation.

Media & Creative916.5K installs

ai-video-generation

101-skills/superpowers

Generate AI videos with Google Veo, Seedance 2.0, HappyHorse, Wan, Grok and 40+ models via inference.sh CLI. Models: Veo 3.1, Veo 3, Seedance 2.0, HappyHorse 1.0, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo. Capabilities: text-to-video, image-to-video, reference-to-video, video editing, lipsync, avatar animation, video upscaling, foley sound. Use for: social media videos, marketing content, explainer videos, product demos, AI avatars. Triggers: video generation, ai video, text to video, image to video, veo, animate image, video from image, ai animation, video generator, generate video, t2v, i2v, ai video maker, create video with ai, runway alternative, pika alternative, sora alternative, kling alternative, seedance, happyhorse

Media & Creative881.5K installs

ai-image-generation

101-skills/superpowers

Generate AI images with GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve and 50+ models via inference.sh CLI. Models: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Capabilities: text-to-image, image-to-image, inpainting, LoRA, image editing, upscaling, text rendering. Use for: AI art, product mockups, concept art, social media graphics, marketing visuals, illustrations. Triggers: flux, image generation, ai image, text to image, stable diffusion, generate image, ai art, midjourney alternative, dall-e alternative, text2img, t2i, image generator, ai picture, create image with ai, generative ai, ai illustration, grok image, gemini image, gpt image, openai image, chatgpt image

Media & Creative880.3K installs