AI Agents-driven project task CLI for initializing .agents task structure and skills.
Project description
zsc
zsc 是一个面向多 IDE/AI Coding 工具的命令行工具,用于在项目中初始化统一的 AI Agents 任务体系。
核心能力:
- 初始化
.agents任务目录结构:创建.agents/与.agents/tasks/,作为项目级任务闭环与 TODO 的统一入口。 - 为多种 AI Coding 工具安装
zsc-*技能:除zsc init外,每个子命令对应一个技能(如zsc-create-task对应zsc task new)。zsc init会在.cursor/skills/、.codex/skills/、.claudecode/skills/下按需安装这些技能,帮助各工具理解并维护任务体系。 - 幂等执行:重复运行不会破坏已有结构或覆盖用户已有的技能文件。
安装
你可以根据环境选择使用 pip 或 uv tool 安装 zsc:
# 使用 pip(适用于未安装 uv 或习惯用 pip 的环境)
pip install -U zsc
# 使用 uv tool 作为全局工具(推荐在已安装 uv 时)
uv tool install zsc # 首次安装
uv tool install zsc --upgrade # 升级到最新版本
在本仓库中开发调试时,可使用本地可编辑安装(示例):
uv pip install -e .[test]
以上命令仅为示例,请根据你的环境和
uv版本适当调整。
使用
在目标项目根目录中运行:
zsc init .
zsc init . 将会:
- 创建
.agents/与.agents/tasks/目录(若不存在)。 - 创建以下 AI 工具技能目录(若不存在):
.cursor/skills/.codex/skills/.claudecode/skills/
- 将打包在
zsc中的各zsc-*技能复制到上述各技能目录中对应子目录:.cursor/skills/zsc-help/SKILL.md(用法介绍,在 AI 环境中可触发如/zsc-help让 LLM 介绍 zsc 与各技能用法).cursor/skills/zsc-create-task/SKILL.md(对应zsc task new).cursor/skills/zsc-task-list/SKILL.md(对应zsc task list).cursor/skills/zsc-task-status/SKILL.md(对应zsc task status).codex/skills/、.claudecode/skills/下同样按技能名安装。- 仅在目标位置不存在该文件时才写入,避免覆盖用户已有定制。
再次运行 zsc init . 时:
- 已存在的目录将被检测并跳过。
- 已存在的
SKILL.md不会被覆盖,只会输出提示。
要查看当前安装的 zsc 版本,可运行:
zsc -V
# 或
zsc --version
使用 zsc -U 升级
在任意终端中,你可以通过:
zsc -U
来尝试将 zsc 升级到最新版本:
- 当检测到系统中已安装
uv且当前项目没有损坏的.venv时,zsc -U会优先调用uv tool install zsc --upgrade进行升级(与uv tool install zsc --upgrade等价)。 - 当检测到
.venv中的 Python 解释器是断裂的符号链接(例如.venv/bin/python3已失效)时,zsc -U会跳过基于 uv 的升级,直接回退为pip install -U zsc,并在输出中提示你考虑用uv venv或其他方式重建虚拟环境。 - 当 uv 可用但升级失败(包括 uv 报错
No virtual environment found; run \uv venv` to create an environment, or pass `--system` to install into a non-virtual environment这类情况)时,zsc -U会自动尝试一次pip install -U zsc作为兜底;若兜底仍失败,会在最后给出可复制的手动命令,方便你按需选择pip install -U zsc或uv tool install zsc --system`。 - 实际行为与使用的 Shell 类型(bash/zsh/fish 等)无关,关键在于各 Shell 的
PATH设置指向的是同一份zsc可执行文件。如果某个 Shell 命中的zsc是安装在虚拟环境中的另一份版本,其zsc -U行为会跟随该环境而变化。
任务管理命令
zsc 提供了一组围绕 .agents/tasks 的任务管理子命令:
zsc task list:列出.agents/tasks下的任务及其基本状态(open/completed)。zsc task new <feat_name> [path]:在指定项目根目录(默认为当前目录)下创建新的task_{no}_{feat_name}目录与同名文件task_{no}_{feat_name}.md模板(便于在编辑器中按名称快速打开)。zsc task status:汇总.agents/tasks中任务的数量与状态,给出项目级任务健康度摘要。
配合 zsc init .,你可以先在项目中初始化任务体系,然后通过 zsc task 系列命令持续维护和浏览任务闭环。
说明:
zsc task new创建任务目录与同名.md模板。在 AI Coding 工具中触发 zsc-create-task 技能(如 Cursor 中/zsc-create-task)时,若用户要求「创建新任务」,AI 会代为执行zsc task new <feat_name>或按模板创建目录与文件,并可根据需求意图帮你完善“闭环描述”和TODO_LIST。若你此前使用过旧版技能名zsc-new-task,请重新执行zsc init .以安装为zsc-create-task。
Skills 命令组(AI 侧命令行)
zsc 除了提供传统的终端子命令(如 zsc init .、zsc task list),还会为各类 AI Coding 工具安装一组以 zsc-* 命名的 skills。在 AI 环境中,它们就像一套新的「命令行」,由大模型代你在本地项目中执行具体操作。
- 传统 CLI 命令行:你在终端中直接输入,例如:
zsc init .zsc task list
- Skills 命令行(AI 侧):你在 IDE/AI 工具中触发技能,例如:
- 在 Cursor 中输入
/zsc-help、/zsc-create-task、/zsc-run-task等,让 AI 代为执行对应操作。
- 在 Cursor 中输入
核心 Skills 一览(名称按安装目录中的 skill 名称):
-
zsc-help- 职责:介绍 zsc 的整体用途、CLI 子命令与 skills 之间的对应关系,并给出快速上手示例。
- 触发方式示例:在 Cursor 中输入
/zsc-help。 - 关联 CLI/资源:
zsc --help、本 README。
-
zsc-create-task- 职责:仅负责在
.agents/tasks下创建与设计任务(闭环描述与TODO_LIST),不执行具体 TODO。 - 触发方式示例:
/zsc-create-task @task_xx_xxx.md。 - 关联 CLI/资源:
zsc task new;任务文件位于.agents/tasks/task_{no}_{feat_name}/task_{no}_{feat_name}.md。
- 职责:仅负责在
-
zsc-run-task- 职责:执行并推进已有任务,根据
TODO_LIST实际修改代码/文档,完成后重写TODO_LIST为完成记录。 - 触发方式示例:
/zsc-run-task @task_02_xxx.md。 - 关联 CLI/资源:操作
.agents/tasks下的任务文件与对应代码/文档,本身不直接对应某个zsc task子命令。
- 职责:执行并推进已有任务,根据
-
zsc-run-task-to-complete- 职责:在安全环境下,尽可能一口气自动执行指定任务中的多个 TODO,减少中途交互,最后按同样的收口规范重写
TODO_LIST。 - 触发方式示例:
/zsc-run-task-to-complete @.agents/tasks/task_06_zsc_run_task_to_complete/task_06_zsc_run_task_to_complete.md。 - 关联 CLI/资源:基于
.agents/tasks下的任务文件工作,属于构建在zsc-run-task之上的高级、高自动化执行模式,适合在 Feature 分支或非生产环境中使用。
- 职责:在安全环境下,尽可能一口气自动执行指定任务中的多个 TODO,减少中途交互,最后按同样的收口规范重写
-
zsc-task-list- 职责:从 AI 侧列出
.agents/tasks下已有任务及状态,帮助快速浏览任务闭环。 - 触发方式示例:
/zsc-task-list。 - 关联 CLI/资源:
zsc task list。
- 职责:从 AI 侧列出
-
zsc-task-status- 职责:总结项目级任务健康度(open/completed/unknown 数量)。
- 触发方式示例:
/zsc-task-status。 - 关联 CLI/资源:
zsc task status。
-
zsc-update-task- 职责:仅更新任务设计(闭环描述、
TODO_LIST等),不执行 TODO。 - 触发方式示例:
/zsc-update-task @task_03_init_lang_prompt.md。 - 关联 CLI/资源:
zsc task update。
- 职责:仅更新任务设计(闭环描述、
维护约定:新增或删除 zsc-* skills 时,请同步更新本节,保持与
.cursor/skills/等目录中的实际安装内容一致。
TODO 设计原则:让 TODO 可落地、可收口
- 每个 TODO 都应尽量是具体可执行的工程动作:能大致描述「谁在什么上下文里要做什么」,并适合作为 1–2 小时内可完成的子任务。
- 避免把长期观察/跟踪类事项或过于抽象的目标写进 TODO_LIST:例如「持续观察错误率」「保证系统长期稳定」更适合作为:
- 单独的任务(专门的监控/稳定性任务),或
- 记录在
task_records/log/、设计文档或运维文档中,而不是长期挂在某个任务的 TODO 列表里。
- 采用自底向上的拆解方式:优先写“下一步可以落地的具体动作”,子任务完成后再为下一步设计新的 TODO;当发现某个 TODO 过大或含糊时,优先拆分为多个更小、更具体的新 TODO 来替换它。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zsc-0.2.2.tar.gz.
File metadata
- Download URL: zsc-0.2.2.tar.gz
- Upload date:
- Size: 38.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
050db55f1fde18014c3954f8304c721efbdd6d0be398289a6e953c08a1681ef5
|
|
| MD5 |
6557193264df05c8dc15e11b81ce52e6
|
|
| BLAKE2b-256 |
bf50a5d31d00e8a62f9e471f891a1a9d755953ef6578d4209b7391e22cd0da69
|
File details
Details for the file zsc-0.2.2-py3-none-any.whl.
File metadata
- Download URL: zsc-0.2.2-py3-none-any.whl
- Upload date:
- Size: 40.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
224b603a53b00d89fd65faf7224dc05247912f654542283b05a5af1879b16157
|
|
| MD5 |
6b10ed377f960799ca841592745c72d0
|
|
| BLAKE2b-256 |
433d40dc7df08b7a95b599e5eaa320f512d6e5bcef416a71f984b1f63d9260bd
|