feishu-bitable-task-manager
Skill2 starsChanged 9 months agoMITView on GitHub
Manage task records in Feishu Bitable (飞书多维表格) using a fixed task-status table schema and TASK_FIELD_* overrides. Use to fetch/claim/update/create tasks, look up drama metadata by BookID, or derive tasks from a source Bitable (JSON/JSONL in/out).
In this repository7 other files it gives its agents.
- ai-visionSkill
- android-adbSkill
- go-installerSkill
- harmony-hdcSkill
- resolve-kwai-cdn-urlSkill
- result-bitable-reporterSkill
- result-supabase-reporterSkill
The file
We split this skill into the rules it gives an agent
11 rules. About 0 are common, 1 is distinctive, and 10 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Use this skill to read/write tasks in a Feishu Bitable “task status table” while staying compatible with its schema conventions.
- Very specific: line 41
Treat date presets as literal strings: Today, Yesterday, Any (Any means no date constraint).
- Very specific: line 42
Prefer fetching by --task-id / --biz-task-id when possible (it overrides --app/--scene/--status/--date).
- Very specific: line 44
Keep only decoded rows with TaskID != 0 and at least one of Params/ItemID/BookID/URL/UserID/UserName.
- Very specific: line 49
When ingesting JSON/JSONL, pass through keys that match column names.
- Very specific: line 128
Read references/task-fetch.md for filters, pagination, validation, and field mapping.
- Very specific: line 129
Read references/task-claim.md for cross-machine safe task claiming.
- Very specific: line 130
Read references/task-update.md for status updates, timing fields, and batch update rules.
- Very specific: line 131
Read references/task-create.md for create payload rules and batch create behavior.
- Very specific: line 132
Read references/feishu-integration.md for Feishu API endpoints and request/response payloads.
- Very specific: line 133
Use scripts/bitable_task.ts / scripts/drama_fetch.ts / scripts/drama_sync_task.ts as the source of truth for flags and behavior.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Feishu Bitable Task Manager
Use this skill to read/write tasks in a Feishu Bitable “task status table” while staying compatible with its schema conventions.
Path Convention
Canonical install and execution directory: ~/.agents/skills/feishu-bitable-task-manager/. Run commands from this directory:
cd ~/.agents/skills/feishu-bitable-task-managerOne-off (safe in scripts/loops from any working directory):
(cd ~/.agents/skills/feishu-bitable-task-manager && npx tsx scripts/bitable_task.ts --help)Quick start
Run:
npx tsx scripts/bitable_task.ts <subcommand> [flags]Required env
FEISHU_APP_ID,FEISHU_APP_SECRETTASK_BITABLE_URL- Optional:
FEISHU_BASE_URL - Optional:
TASK_FIELD_*(override task table column names)
Key defaults (compat rules)
- Treat date presets as literal strings:
Today,Yesterday,Any(Anymeans no date constraint). - Prefer fetching by
--task-id/--biz-task-idwhen possible (it overrides--app/--scene/--status/--date). - Ignore view filtering by default; use view filtering only when explicitly enabled (see
references/task-fetch.md). - Keep only decoded rows with
TaskID != 0and at least one ofParams/ItemID/BookID/URL/UserID/UserName. - Allow comma-separated priority lists for
--status/--scene. fetchsupports--limit; earlier scene/status values are filled first when--limitis set.claimis single-task only; do not use--limit.--candidate-limitonly controls candidate attempts (seereferences/task-claim.md).fetchandclaimboth split comma-separated--scenevalues and query each scene in order (do not treat the full CSV as one literal scene).- When ingesting JSON/JSONL, pass through keys that match column names; map
CDNURL/cdn_urlintoExtrawhen present.
Commands
Fetch
npx tsx scripts/bitable_task.ts fetch --app com.smile.gifmaker --scene 综合页搜索 --status pending --date Today --limit 10
npx tsx scripts/bitable_task.ts fetch --task-id "1326,1327" --raw
npx tsx scripts/bitable_task.ts fetch --biz-task-id ext-20240101-001 --rawClaim (multi-worker safe)
npx tsx scripts/bitable_task.ts claim \
--app com.tencent.mm \
--scene 个人页搜索,综合页搜索 \
--device-serial <serial> \
--status pending,failed \
--date Today \
--candidate-limit 5Claim behavior details are in references/task-claim.md.
Update
npx tsx scripts/bitable_task.ts update --task-id 180413 --status running --device-serial <serial> --dispatched-at now
npx tsx scripts/bitable_task.ts update --input updates.jsonlCreate
npx tsx scripts/bitable_task.ts create \
--input tasks.jsonl \
--app com.smile.gifmaker \
--scene 单个链接采集 \
--status pending \
--date YYYY-MM-DD \
--skip-existing BizTaskIDDrama Fetch (read-only)
Fetch rows from source drama Bitable by optional BookID filter. Use --format meta when callers need normalized drama metadata fields:
npx tsx scripts/drama_fetch.ts --bitable-url "<DRAMA_BITABLE_URL>" --book-id "id1,id2" --format metaDerive tasks from a source Bitable (原始多维表格)
sync accepts either --input or --bitable-url (optionally with --book-id) and handles task creation:
npx tsx scripts/drama_sync_task.ts \
--bitable-url "https://.../base/SOURCE_APP?table=SOURCE_TABLE" \
--task-url "https://.../base/TASK_APP?table=TASK_TABLE" \
--app com.smile.gifmaker \
--extra "test" \
--params-list \
--limit 10 \
--skip-existing \
--date 2026-02-10--date YYYY-MM-DD sets the task date for created records and for --skip-existing dedup filtering. Defaults to today when omitted.
Params mode flags (mutually exclusive):
--params-list— one task per source row;Paramsis a JSON array of all search terms, e.g.["好一个乖乖女","段休冥 鹿鸣于"].--params-split— one task per search term; uses the same dedup logic as--params-listbut creates separate tasks, each with a plain stringParams.--params-actor— one task per source row;Paramsuses only主角名.
Resources
- Read
references/task-fetch.mdfor filters, pagination, validation, and field mapping. - Read
references/task-claim.mdfor cross-machine safe task claiming. - Read
references/task-update.mdfor status updates, timing fields, and batch update rules. - Read
references/task-create.mdfor create payload rules and batch create behavior. - Read
references/feishu-integration.mdfor Feishu API endpoints and request/response payloads. - Use
scripts/bitable_task.ts/scripts/drama_fetch.ts/scripts/drama_sync_task.tsas the source of truth for flags and behavior.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

