AgentSkillsCN

taskctl

此技能可用于通过依赖关系DAG对任务进行编排,操作taskctl CLI。当用户提出创建/更新/列出/删除任务,设置“被阻塞于”或“阻塞”依赖关系,计算待执行任务,验证图结构完整性,生成DAG JSON,或为规划与执行评审生成ASCII DAG视图时,可触发此技能。

SKILL.md
--- frontmatter
name: taskctl
description: Use this skill to operate the `taskctl` CLI for task orchestration with dependency DAGs. Trigger this skill when users ask to create/update/list/delete tasks, set `blocked_by` or `blocks` dependencies, compute ready tasks, validate graph integrity, generate DAG JSON, or produce ASCII DAG views for planning and execution reviews.

Taskctl

Overview

Use taskctl from PATH.

Required toolchain for this skill:

  • taskctl (required)
  • gh (optional): Issue-driven state updates/comments
  • bddc (optional): behavior verification before completed

Core constraints:

  • status flow: pending -> in_progress -> completed
  • deleted removes task permanently
  • no self-dependency
  • no missing dependency target
  • no dependency cycle
  • blocked tasks cannot move to in_progress or completed

Workflow

  1. Choose a store file path.
  2. Create tasks with complete fields.
  3. Update owner, metadata, and dependencies.
  4. Run ready to identify executable tasks.
  5. Run dag or dag-ascii for graph review.
  6. Run validate before accepting task plan changes.
  7. If issue-driven, sync concise status to Issue via gh issue comment.

Command Patterns

bash
# help
taskctl --help

# create task
taskctl --store <STORE_JSON> create \
  --subject "Run tests" \
  --description "Execute backend tests and collect logs" \
  --active-form "Running tests" \
  --metadata '{"priority":"P1","module":"quality"}'

# update task content, owner, dependencies, status
taskctl --store <STORE_JSON> update \
  --task-id <TASK_ID> \
  --owner qa@team \
  --metadata '{"priority":"P0","obsolete":null}' \
  --add-blocked-by <DEP_1>,<DEP_2> \
  --status in-progress

# inspect graph
taskctl --store <STORE_JSON> ready
taskctl --store <STORE_JSON> dag
taskctl --store <STORE_JSON> dag-ascii

# validate graph invariants
taskctl --store <STORE_JSON> validate

Field Semantics

  • subject: imperative task title.
  • description: context + acceptance criteria.
  • active_form: progressive action text.
  • owner: responsible human or agent.
  • metadata: object payload; null value deletes key on update.
  • add_blocked_by: dependency task IDs required before start.
  • add_blocks: task IDs blocked by current task.

Acceptance Checklist

  1. Ensure validate returns { "ok": true }.
  2. Ensure dag reflects intended module sequencing.
  3. Ensure ready includes only tasks with resolved dependencies.
  4. Include both JSON DAG and ASCII DAG when a human review is requested.