agkan
Overview
INLINECODE0 is an SQLite-based CLI task management tool. It is optimized for collaboration with AI agents.
7 Statuses: icebox → backlog → ready → in_progress → review → done → closed
Quick Reference
Agent Guide
CODEBLOCK0
Task Operations
CODEBLOCK1
Blocking Relationships
CODEBLOCK2
Tag Operations
CODEBLOCK3
Metadata Operations
CODEBLOCK4
Priority (priority)
Task priority is managed with the priority key:
CODEBLOCK5
| Value | Meaning |
|---|
| INLINECODE9 | Requires immediate attention. Blocking issue |
| INLINECODE10 |
Should be prioritized |
|
medium | Normal priority (default) |
|
low | Work on if there is time |
When to set priority: Priority is set during the planning phase (agkan-planning-subtask), at the same time the task is moved from backlog to ready. This is the responsibility of the planning skill. Skills that select tasks for execution (e.g., agkan-run) read this value to determine which task to work on next.
Tag Priority
When selecting or tagging tasks, use the following priority order:
security |
| 3 | improvement |
| 4 | test |
| 5 | performance |
| 6 | refactor |
| 7 | docs |
This is the canonical definition. All skills refer to this table.
JSON Output
Use the --json flag when machine processing is needed:
CODEBLOCK6
JSON Output Schema
agkan task list --json
CODEBLOCK7
agkan task get <id> --json
CODEBLOCK8
agkan task count --json
CODEBLOCK9
agkan task find <keyword> --json
CODEBLOCK10
agkan task block list <id> --json
CODEBLOCK11
agkan task meta list <id> --json
CODEBLOCK12
agkan tag list --json
CODEBLOCK13
Typical Workflows
Icebox Review (agkan-icebox)
Icebox holds ideas and candidates that are not yet ready for planning. Review them periodically to decide whether to promote or close each one.
CODEBLOCK14
Icebox → Backlog conditions:
- - Requirements or background are now clear enough to plan
- External blockers have been resolved
- Circumstances have changed and the task is now relevant
Icebox → Closed conditions:
- - The need no longer exists
- A duplicate already exists in a later stage
- Superseded by another approach
Receiving Tasks as an Agent
CODEBLOCK15
Structuring Tasks
CODEBLOCK16
Configuration
Place .agkan.yml in the project root to customize the DB path:
CODEBLOCK17
Or use environment variable: INLINECODE26
agkan
概述
agkan 是一款基于 SQLite 的命令行任务管理工具。它针对与 AI 智能体的协作进行了优化。
7 种状态: icebox → backlog → ready → in_progress → review → done → closed
快速参考
智能体指南
bash
显示 AI 智能体的综合指南(概述、命令、工作流程)
agkan agent-guide
任务操作
bash
创建任务
agkan task add 标题 正文
agkan task add 标题 --status ready --author agent
agkan task add 子任务 --parent 1
agkan task add 标题 --file ./spec.md # 从文件读取正文
agkan task add 标题 --blocked-by 1,2 # 设置阻塞此任务的任务
agkan task add 标题 --blocks 3,4 # 设置此任务阻塞的任务
agkan task add 标题 --assignees alice,bob # 设置任务负责人(逗号分隔)
列出任务
agkan task list # 所有任务
agkan task list --status in_progress
agkan task list --tree # 层级视图
agkan task list --root-only # 仅根任务
agkan task list --tag 1,2 # 按标签筛选
agkan task list --dep-tree # 依赖(阻塞)树视图
agkan task list --sort title # 按字段排序(id / title / status / created
at / updatedat),默认:created_at
agkan task list --order asc # 排序顺序(asc / desc),默认:desc
agkan task list --assignees alice,bob # 按负责人筛选(逗号分隔)
agkan task list --all # 包含所有状态(包括 done 和 closed)
获取详情
agkan task get
搜索
agkan task find 关键词
agkan task find 关键词 --all # 包含 done/closed
更新(位置参数形式 - 向后兼容)
agkan task update status in_progress
更新(命名选项形式 - v1.6.0+)
agkan task update --status in_progress
agkan task update --title 新标题
agkan task update --body 新正文文本
agkan task update --author agent
agkan task update --assignees alice,bob
agkan task update --file ./spec.md # 从文件读取正文
agkan task update --status done --title 更新后的标题 # 多个选项
计数
agkan task count
agkan task count --status ready --quiet # 仅输出数字
更新父子关系
agkan task update-parent
agkan task update-parent null # 移除父任务
删除任务
agkan task delete
阻塞关系
bash
task1 阻塞 task2(task1 完成后 task2 才能开始)
agkan task block add
agkan task block remove
agkan task block list
标签操作
bash
标签管理
agkan tag add frontend
agkan tag list
agkan tag delete
agkan tag rename
标签任务
agkan tag attach
agkan tag detach
agkan tag show
元数据操作
bash
设置元数据
agkan task meta set
获取元数据
agkan task meta get
列出元数据
agkan task meta list
删除元数据
agkan task meta delete
优先级(priority)
任务优先级通过 priority 键管理:
bash
agkan task meta set priority
| 值 | 含义 |
|---|
| critical | 需要立即关注。阻塞性问题 |
| high |
应优先处理 |
| medium | 正常优先级(默认) |
| low | 有时间再处理 |
何时设置优先级: 优先级在规划阶段(agkan-planning-subtask)设置,同时将任务从 backlog 移至 ready。这是规划技能的责任。选择执行任务的技能(如 agkan-run)会读取此值以确定下一步要处理哪个任务。
标签优先级
在选择或标记任务时,请使用以下优先级顺序:
security |
| 3 | improvement |
| 4 | test |
| 5 | performance |
| 6 | refactor |
| 7 | docs |
这是规范定义。所有技能均参考此表。
JSON 输出
当需要机器处理时,使用 --json 标志:
bash
agkan task list --json
agkan task get 1 --json
agkan task count --json
agkan tag list --json
与 jq 结合使用
agkan task list --status ready --json | jq .tasks[].id
JSON 输出模式
agkan task list --json
json
{
totalCount: 10,
filters: {
status: ready | null,
author: string | null,
tagIds: [1, 2],
rootOnly: false
},
tasks: [
{
id: 1,
title: 任务标题,
body: 正文 | null,
author: string | null,
status: icebox | backlog | ready | in_progress | review | done | closed,
parent_id: number | null,
created_at: 2026-01-01T00:00:00.000Z,
updated_at: 2026-01-01T00:00:00.000Z,
parent: object | null,
tags: [{ id: 1, name: bug }],
metadata: [{ key: priority, value: high }]
}
]
}
agkan task get --json
json
{
success: true,
task: {
id: 1,
title: 任务标题,
body: 正文 | null,
author: string | null,
status: backlog | ready | in_progress | review | done | closed,
parent_id: number | null,
created_at: 2026-01-01T00:00:00.000Z,
updated_at: 2026-01-01T00:00:00.000Z
},
parent: object | null,
children: [],
blockedBy: [{ id: 2, title: ... }],
blocking: [{ id: 3, title: ... }],
tags: [{ id: 1, name: bug }],
attachments: []
}
agkan task count --json
json
{
counts: {
icebox: 0,
backlog: 0,
ready: 2,
in_progress: 1,
review: 0,
done: 8,
closed: 5
},
total: 16
}
agkan task find --json
json
{
keyword: 搜索关键词,
excludeDoneClosed: true,
totalCount: 3,
tasks: [
{
id: 1,
title: 任务标题,
body: 正文 | null,
author: string | null,
status: ready,
parent_id: number | null,
created_at: 2026-01-01T00:00:00.000Z,
updated_at: 2026-01-01T00:00:00.000Z,
parent: object | null,
tags: [],
metadata: []
}
]
}
agkan task block list --json
json
{
task: {
id: 1,
title: