Skip to main content

zsc (zig slice code): AI Agents-driven project task CLI for initializing .agents task structure and skills.

Project description

zsc

zsc (short for zig slice code) is a CLI for multi-IDE/AI Coding tools that initializes a unified AI Agents task structure in your project.

Language / 语言: English | 中文


Installation

You can install zsc with pip or uv tool:

# pip (when uv is not installed or you prefer pip)
pip install -U zsc

# uv tool (recommended when uv is available)
uv tool install zsc
uv tool install zsc --upgrade

For local development from this repo, you can use an editable install:

uv pip install -e .[test]

The commands above are examples; adjust to your environment and uv version.


Features

  • Initialize .agents task layout: Creates .agents/ and .agents/tasks/ as the single entry point for project-level task lifecycle and TODOs.
  • Install zsc-* skills for multiple AI Coding tools: Each subcommand maps to a skill (for example, zsc-create-taskzsc task new). zsc init installs these skills under .cursor/skills/, .codex/skills/, .claude/skills/, .opencode/skills/, and .trae/skills/ so each tool can understand and maintain the task system.
  • Idempotent behavior: Re-running commands does not destroy existing structure or overwrite user-customized skill files.

Usage

From your project root, run:

zsc init .

zsc init . will:

  • Create .agents/ and .agents/tasks/ directories if they do not exist.
  • Create the following AI tool skill directories if they do not exist:
    • .cursor/skills/
    • .codex/skills/
    • .claude/skills/
    • .opencode/skills/
    • .trae/skills/
  • Copy the zsc-* skills bundled in zsc into those directories, e.g.:
    • .cursor/skills/zsc-help/SKILL.md (usage overview; can be triggered as /zsc-help in an AI environment)
    • .cursor/skills/zsc-create-task/SKILL.md (corresponds to zsc task new)
    • .cursor/skills/zsc-task-list/SKILL.md (corresponds to zsc task list)
    • .cursor/skills/zsc-task-status/SKILL.md (corresponds to zsc task status)
    • And similarly-named paths under .codex/skills/, .claude/skills/, .opencode/skills/, and .trae/skills/.
    • SKILL.md files are overwritten on each run so that re-running zsc init . (e.g. after changing --lang or .agents/zsc-lang) keeps all skills in the chosen language.

Running zsc init . again is safe: existing directories are kept; skill files are re-written from the current language template.

To see the installed zsc version:

zsc -V
# or
zsc --version

Upgrading with zsc -U

In any terminal, you can upgrade zsc with:

zsc -U

This attempts to upgrade zsc to the latest version:

  • If uv is available and the project’s .venv is not broken, zsc -U prefers uv tool install zsc --upgrade (equivalent to running that command directly).
  • If the Python interpreter inside .venv is a broken symlink (for example .venv/bin/python3 no longer exists), zsc -U skips the uv-based upgrade and falls back to pip install -U zsc, printing a hint that you may want to recreate the virtualenv (e.g. via uv venv).
  • If uv is available but the upgrade fails (including errors like No virtual environment found; run \uv venv` to create an environment, or pass `--system` to install into a non-virtual environment), zsc -Uwill trypip install -U zsconce as a fallback; if that also fails, it prints copy-pastable manual commands so you can decide betweenpip install -U zscanduv tool install zsc --system`.
  • The actual behavior is independent of your shell type (bash/zsh/fish, etc.), but depends on which zsc binary is on your PATH. If a given shell picks up a different zsc installed inside a virtualenv, then zsc -U in that shell will follow that environment.

Task commands

zsc provides a set of subcommands around .agents/tasks:

  • zsc task list: list tasks under .agents/tasks and their basic status (open/completed).
  • zsc task new <feat_name> [path]: create a new task_{no}_{feat_name} directory and task_{no}_{feat_name}.md template in the given project root (default: current directory).
  • zsc task status: summarize counts of tasks and their states, as a project-level health indicator.

Together with zsc init ., you can first initialize the task system and then use zsc task commands to maintain and browse the lifecycle.

Note: zsc task new creates the directory and same-named .md template. In AI Coding tools, triggering the zsc-create-task skill (e.g. /zsc-create-task in Cursor) can run zsc task new <feat_name> or create the files from a template and then help you refine the “closed-loop description” and TODO_LIST. If you previously used the old skill name zsc-new-task, run zsc init . again to install zsc-create-task.


Skills (AI-side “CLI”)

Besides traditional terminal subcommands (such as zsc init . and zsc task list), zsc also installs a set of skills (named zsc-*) for various AI Coding tools. In an AI environment, these behave like a second command line, where the model executes actions in your local project on your behalf.

  • Traditional CLI: you type commands in a terminal, such as:
    • zsc init .
    • zsc task list
  • Skills (AI-side): you trigger skills from your IDE/AI tool, for example:
    • In Cursor, type /zsc-help, /zsc-create-task, /zsc-run-task, etc., and let the AI perform the corresponding operations.

Core skills (by installed skill name):

Skill Role Trigger example Related CLI
zsc-help Explain what zsc does, how CLI and skills map to each other, and provide quick-start examples. /zsc-help zsc --help, README
zsc-create-task Create and design tasks (closed-loop description and TODO_LIST) under .agents/tasks; does not execute TODOs. /zsc-create-task @task_xx.md zsc task new
zsc-run-task Execute and advance an existing task, modifying code/docs according to TODO_LIST and rewriting TODO_LIST when done. /zsc-run-task @task_02_xxx.md
zsc-run-task-to-complete In a safe environment, try to automatically run as many TODOs as possible in one go, rewriting TODO_LIST with the same completion rules. /zsc-run-task-to-complete @task_06_...md
zsc-task-list List tasks under .agents/tasks and their status from the AI side. /zsc-task-list zsc task list
zsc-task-status Summarize project-level task health (open/completed/unknown counts). /zsc-task-status zsc task status
zsc-update-task Update task design only (closed-loop description, TODO_LIST, etc.); does not run TODOs. /zsc-update-task @task_03_xxx.md

Maintenance: when adding or removing zsc-* skills, keep this section in sync with what is actually installed under .cursor/skills/ and similar directories.


TODO design: actionable and closable

  • Each TODO should be a concrete, executable engineering action that roughly answers “who does what in which context” and can typically be completed within 1–2 hours.
  • Avoid long-running observation/monitoring items or overly abstract goals in TODO_LIST (for example, “keep watching error rate”, “ensure long-term stability”). Those are better expressed as separate tasks (e.g. dedicated monitoring/stability tasks) or recorded in task_records/log/, design docs, or ops docs, rather than left as open TODOs forever.
  • Prefer a bottom-up decomposition style: write the next concrete step first; after completing one concrete step, add a new TODO for the next step. When a TODO is too large or vague, split it into multiple smaller, more specific TODOs that replace the original entry.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zsc-0.3.0.tar.gz (36.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zsc-0.3.0-py3-none-any.whl (39.4 kB view details)

Uploaded Python 3

File details

Details for the file zsc-0.3.0.tar.gz.

File metadata

  • Download URL: zsc-0.3.0.tar.gz
  • Upload date:
  • Size: 36.8 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

Hashes for zsc-0.3.0.tar.gz
Algorithm Hash digest
SHA256 0c8aa0e26b329bfb71844187e19e34935c14427559eec4be31d3dbfa65c814fa
MD5 88c2a94353f2b1583a9b5d87ad84aaa9
BLAKE2b-256 78c3c95ba1ca09e1453f581fdfdab6b21636570fd4e36e71b09571b7c450f56a

See more details on using hashes here.

File details

Details for the file zsc-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: zsc-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 39.4 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

Hashes for zsc-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1898b7454c3895369b5839dadd924f994ce685915360eea213550d429027d7ae
MD5 0420b5d38ca7f4ef53d389c4cf86a58f
BLAKE2b-256 91428f4bf5babda05401a6cf7a1cc5ac39f5dc4832e7facdf9336e39e84b2478

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page