Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add easysoft/zentao-skills --skill zentao-cligit clone --depth 1 https://github.com/easysoft/zentao-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/easysoft/zentao-skills/zentao-cli)<a href="https://agentmods.dev/skills/easysoft/zentao-skills/zentao-cli"><img src="https://agentmods.dev/badge/skills/easysoft/zentao-skills/zentao-cli/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/easysoft/zentao-skills/zentao-cli"><img src="https://agentmods.dev/badge/skills/easysoft/zentao-skills/zentao-cli.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Socket pass
- Snyk warn
- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium MCP Rug Pull · line 24 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00070 | $0.02417 |
| Opus 5.5 | $0.00028 | $0.00967 |
| Sonnet 5.5 | $0.00014 | $0.00483 |
| Haiku 4.5 | $0.00007 | $0.00242 |
Grade A, and why
zentao-cli scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 126 lines — stays where its author put it; the contents beside it link to each section on GitHub.
禅道 CLI
通过 zentao 操作禅道。以当前安装版本的离线帮助为命令依据;字段、动作和最低服务器版本可能随 CLI / SDK 更新。
开始工作
已有可用的 zentao 命令时直接复用。先确认用户要访问的站点、对象范围和操作;上下文已明确的内容不用重复询问。
zentao --version
zentao help
zentao profile --format=json
help、模块/操作--help、props无需登录。先查帮助再准备请求,不必为查看参数连接服务器。profile只列出本地保存的账号和站点,不校验 Token、网络或业务角色。需要验证连接时,在用户要访问的范围内执行一个只读查询。- 未配置本地账号时
profile返回E1006;完整环境凭证仍可用于业务命令。不要据此断言服务不可用。 - 未安装时按用户环境选择
npm install -g zentao-cli、bun install -g zentao-cli或pnpm install -g zentao-cli;一次性运行可用npx zentao-cli <参数>。
用户要求安装或更新技能时,使用 zentao add-skill <agent>;需要导出到自定义目录时,使用 zentao add-skill --output ./exported-skills。两种形式互斥,都会递归包含参考资料。只处理用户指定目标,重跑前保留同名技能中用户需要的定制。
认证与账号选择
业务命令缺少凭证会报错,不会自动弹出登录。需要登录时让用户在自己的交互终端执行 zentao login,由 CLI 收集凭证。不要在对话里收集密码或 Token,不要读取、打印凭证环境变量或本地凭证文件。
自动化凭证由运行环境提供:ZENTAO_URL + ZENTAO_ACCOUNT + ZENTAO_TOKEN 或 ZENTAO_PASSWORD。同源同时提供 Token 和密码时优先 Token。业务命令优先使用完整环境凭证,再回退到当前保存的 Profile。
zentao profile 'admin@https://zentao.example.com'
上述命令切换本地默认账号;完整环境凭证仍会优先,不能仅凭切换成功认定后续请求使用了该账号。需由运行环境维护者调整凭证来源。
默认凭证文件为 ~/.config/zentao/zentao.json;自定义路径可用全局 --config <路径> 或 ZENTAO_CONFIG_FILE,前者优先。沿用用户选定的配置路径,不通过直接读取文件确认身份。
查找命令与参数
| 意图 | 命令形式 |
|---|---|
| 列表(仅支持默认列表的模块) | zentao <module> [范围参数] |
| 详情(仅支持 get 的模块) | zentao <module> <id> |
| 创建 / 更新 / 删除 | zentao <module> create / zentao <module> update <id> / zentao <module> delete <id> |
| 状态流转或命名操作 | zentao <module> <action> [参数] |
| 操作参数、必填项、最低版本 | zentao <module> <action> --help |
| 返回对象的字段定义 | zentao <module> props --format=json |
props 不是写入字段清单,也不代表当前站点的动态选项。创建、更新、状态流转都以操作帮助为准;先读懂参数用途,再选值。
- 业务字段优先使用
--field=value,保留帮助中的大小写。复杂对象、数组或长文本见 references/writes.md。 - 不要推断每个模块都有 CRUD。
doc、my无默认列表,必须选择命名操作。 - 多个路径参数要分别传入;位置 ID /
--id仅代表首个路径 ID,不能代替后续 ID。 - 不知道 ID 时先按产品、项目或执行查找,出现同名对象再澄清,不能套用示例 ID。
browseType是各接口自己的服务端筛选值,例如项目doing、需求allstory;不能在不同模块间照搬。
常用入口
先用对应操作的 --help 确认安装版本支持,再代入真实 ID:
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago Changed f8568597d2a0
- 1mo ago Changed · -142 lines · -44 tokens per session 86cdd28d1e8b
- 1mo ago First seen · 268 lines · 114 tokens per session scan A f47e952d5e5a
zentao-cli is a skill published in the GitHub repository easysoft/zentao-skills (74 stars, last pushed 1mo ago), licensed MIT. It adds 70 tokens to every session and 2,417 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
story-readiness
Checks whether a story is ready to implement: clear acceptance criteria, no open questions, valid ADR and dependencies. Use when the user asks if a story, or the sprint's stories, are ready to start or build.
recipe-create-meet-space
Create a Google Meet meeting space and share the join link.
atmos-config
Atmos root configuration: atmos.yaml discovery, precedence, deep merging, basepath, imports, minimal bootstrap, and routing to narrower Atmos skills.
workthreads
SpecStory Workthreads - a weekly work-thread rollup across a team's repos from SpecStory coding histories (any agent - Claude Code, Codex, Cursor, Gemini, and more). It groups the window's sessions into threads of work per project and labels each new / open / recently closed, so a lead sees what shipped, what is still…
qa-project-bootstrap
Onboard a new QA engineer to an existing codebase, or audit an existing test architecture. Produces a 30-day ramp plan: codebase orientation, framework walkthrough, test architecture audit, mentorship pairing, and first-test guidance. Use when: "QA onboarding," "new tester," "ramp up," "test architecture audit,"…
handle-linkedin-connection-request-signal
Use this skill when someone sends a team member an inbound LinkedIn connection request. An inbound request is a deliberate, ACTIVE first-party intent signal — meaningfully stronger than a passive profile view — and it deserves different scoring rules. The skill resolves and enriches the requester, gates them through…