feishu-task-management-skill
Manage Feishu tasks through a local Python toolkit that always has app credentials and can optionally act as a user for task APIs when OAuth user tokens are...
Description
name: feishu-task-management description: Manage Feishu tasks through a local Python toolkit that always has app credentials and can optionally act as a user for task APIs when OAuth user tokens are available. Use when Codex needs to create, inspect, update, complete, reopen, delete, or change task members in Feishu Task, especially when member names must be resolved through a locally synced member table and alias mapping instead of ad hoc contact lookups.
Feishu Task Management
Overview
Use this skill to operate Feishu Task through the companion toolkit in feishu-task-management/toolkit/. Keep the core workflow in this file: decide the command, resolve members locally, and apply the write-safety rules without loading extra references unless the request falls into an edge case.
Core Workflow
- Confirm the request is about Feishu task management through the local toolkit.
- Before the first API-backed operation, make sure the toolkit is configured. If not, use:
python3 feishu-task-management/toolkit/scripts/feishu_config.py guide - Treat app credentials as mandatory base config. Prefer the configured
user_access_tokenfor task APIs when available, but keep contact and member-sync operations on app auth. - If the operation involves people, use the local member table through the toolkit. Do not perform ad hoc contact lookups.
- Choose the narrowest task command available instead of composing generic HTTP requests.
- For destructive or state-changing operations, inspect the current task first when practical.
- Stop if member resolution is ambiguous or missing.
Command Routing
Member Table Maintenance
- Sync the authorized contact scope:
python3 feishu-task-management/toolkit/scripts/feishu_members.py sync - Inspect sync state:
python3 feishu-task-management/toolkit/scripts/feishu_members.py stats - Test a member lookup:
python3 feishu-task-management/toolkit/scripts/feishu_members.py resolve --query "张三" - Validate manual aliases:
python3 feishu-task-management/toolkit/scripts/feishu_members.py validate-aliases
Toolkit Configuration
- Show configuration guidance:
python3 feishu-task-management/toolkit/scripts/feishu_config.py guide - Write a local runtime config:
python3 feishu-task-management/toolkit/scripts/feishu_config.py set --app-id ... --app-secret ... - Extend the config with existing user OAuth tokens:
python3 feishu-task-management/toolkit/scripts/feishu_config.py set --app-id ... --app-secret ... --user-access-token ... - Inspect effective config:
python3 feishu-task-management/toolkit/scripts/feishu_config.py show - Validate current config:
python3 feishu-task-management/toolkit/scripts/feishu_config.py validate
Read Operations
- Get one task:
python3 feishu-task-management/toolkit/scripts/feishu_task.py get --task-guid ... - List tasks:
python3 feishu-task-management/toolkit/scripts/feishu_task.py list
Write Operations
- Create a task:
python3 feishu-task-management/toolkit/scripts/feishu_task.py create --summary ... - Update core fields:
python3 feishu-task-management/toolkit/scripts/feishu_task.py update --task-guid ... - Complete a task:
python3 feishu-task-management/toolkit/scripts/feishu_task.py complete --task-guid ... - Reopen a task:
python3 feishu-task-management/toolkit/scripts/feishu_task.py reopen --task-guid ... - Add members:
python3 feishu-task-management/toolkit/scripts/feishu_task.py add-members --task-guid ... --member ... - Remove members:
python3 feishu-task-management/toolkit/scripts/feishu_task.py remove-members --task-guid ... --member ... - Delete a task:
python3 feishu-task-management/toolkit/scripts/feishu_task.py delete --task-guid ... --yes
Member Resolution
Use local resolution only, in this order:
- Explicit identifiers:
open_id,user_id,email,mobile - Manual alias mapping from
feishu-task-management/toolkit/data/member_aliases.json - Exact canonical matches on
name,en_name,nickname, and email - Limited fuzzy matching
Apply these safety rules:
- Zero matches: stop and report that the member table or aliases need updating.
- One match: proceed.
- Multiple matches: stop and return the candidate list.
If the authorized scope only yields identifier fields without profile fields, natural-language matching depends on manual aliases. This does not change when task APIs later use a user token.
Write Safety Rules
- Use the toolkit instead of constructing raw HTTP requests in the skill body.
- Prefer dedicated commands over generic update payloads when a command exists.
- Use dedicated completion commands instead of editing
completed_atdirectly. - Treat
originas create-only. - Clear
startanddueexplicitly instead of relying on omission. - Require explicit confirmation before deletion.
Supported v1 Scope
- Create task
- Get task
- List tasks
- Update summary, description, start, and due
- Delete task
- Complete task
- Reopen task
- Add members
- Remove members
The following are intentionally out of scope for v1:
- reminders
- tasklists
- dependencies
- repeat rules
- custom complete
- attachments
Conditional References
Load extra context only when the request falls off the main path:
- Read member-sync-troubleshooting.md only when member sync, alias validation, or authorized-scope coverage is the problem.
- Read task-edge-cases.md only when handling time-field clearing,
origin, completion semantics, or deferred task features. - Read permission-errors.md only when a task operation fails with permission-related behavior such as
1470403. - Read api-alignment.md only when changing toolkit payloads or aligning CLI defaults to newer Feishu API samples.
Reviews (0)
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!