与 FlowDeck 项目管理 API(项目、周期、任务)交互,用于通过 FlowDeck REST API(经由 Supaba...)进行增删改查以及归档/取消归档操作。
Interact with the FlowDeck project management module via the REST API gateway
(base URL: https://<supabase_url>/functions/v1/api-gateway).
Run the script using the absolute path (do NOT cd to the skill directory):
bash
uv run ~/.codex/skills/flow-pms/scripts/flow_api.py <action> <resource> [options]
Important: Always run from the user's current working directory so any output files are saved where the user is working.
ActionDescriptionExamplelistList resources (paginated)uv run ... list projects --limit 50``getGet single resourceuv run ... get projects --id <uuid>``createCreate resourceuv run ... create projects --data '{"name":"X","prefix":"X"}'``updateUpdate resourceuv run ... update tasks --id <uuid> --data '{"status":"done"}'``deleteDelete resourceuv run ... delete tasks --id <uuid>``archiveArchive projectuv run ... archive projects --id <uuid>``unarchiveUnarchive project (to on_hold)uv run ... unarchive projects --id <uuid>
ResourceEndpointNotesprojects``/projectsProject managementcycles``/projects/{projectId}/cyclesSprints, scoped to projecttasks``/projects/{projectId}/tasksTasks, scoped to projectcomments``/tasks/{taskId}/commentsComments on tasks
list#--limit N (default 50, max 200)--offset N (default 0)--status — filter by status enum--priority — filter task priority (tasks)--cycle-id — filter tasks by cycle--assignee-id — filter tasks by assignee--project-id — parent project ID for scoped resources (cycles, tasks, comments)briefing, planning, in_progress, review, completed, post_launch, on_hold, continuous_support, archived
draft, active, completed, cancelled
backlog -> todo -> in_progress -> in_review -> done / cancelled
none, low, medium, high, urgent
feature, bug, improvement, task
For prompts like Me atualize sobre o status do projeto X no flow:
list projects to resolve project by nameget projects --id <uuid> for full detailslist cycles --project-id <uuid> to find active cycle (prefer status=active, fallback to latest)list tasks --project-id <uuid> to get taskslist cycles --project-id <uuid>status=active; mention if none existslist tasks --project-id <uuid> --cycle-id <uuid> for task-level detailRequired fields for project create: name, prefix
Required fields for task create: only title by API, but you MUST at minimum also:
cycle_id to itPRJ-42) or titleAsk for confirmation before:
Do not ask when the user already clearly requested the destructive action and the target is unambiguous.
The script checks for API key in this order:
--api-key argument (use if user provided key in chat)FLOWBOARD_API_KEY environment variableIf neither is available, the script exits with an error message.
FLOWBOARD_API_KEY — Bearer API keyFLOWBOARD_BASE_URL — API base URL (default: https://mycivgjuujlnyoycuwrz.supabase.co/functions/v1/api-gateway)command -v uv (must exist)test -n "$FLOWBOARD_API_KEY" (or pass --api-key)Error: No API key provided. -> set FLOWBOARD_API_KEY or pass --api-keyHTTP 401 -> invalid/revoked keyHTTP 404 -> resource not found or doesn't belong to workspace"quota/permission/403" -> wrong key, no access, or quota exceededList projects in progress:
bash
uv run ~/.codex/skills/flow-pms/scripts/flow_api.py list projects --status in_progress --limit 20
Create a task in a project:
bash
uv run ~/.codex/skills/flow-pms/scripts/flow_api.py create tasks \
--project-id <uuid> \
--data '{"title":"Implementar login social","priority":"high","type":"feature"}'
Move task to in_progress:
bash
uv run ~/.codex/skills/flow-pms/scripts/flow_api.py update tasks \
--id <uuid> --data '{"status":"in_progress"}'
Archive a project:
bash
uv run ~/.codex/skills/flow-pms/scripts/flow_api.py archive projects --id <uuid>