Hey
basecamp/hey-cli
Interact with HEY via the HEY CLI. An agent skill from basecamp/hey-cli.
Handle ZenTao (禅道) Bugs and Tasks end to end, including updating or writing back an item after code changes, managing Task status and hours, and reading linked Stories.
$ npx skills add kairyou/agent-tools --skill at-zentao -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install kairyou/agent-tools at-zentao --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/kairyou/agent-tools.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/systems/at-zentao .claude/skills/at-zentao && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "at-zentao" agent skill from https://github.com/kairyou/agent-tools/tree/main/skills/systems/at-zentao into .claude/skills/at-zentao/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "at-zentao", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/kairyou/agent-tools/tree/main/skills/systems/at-zentaoType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add kairyou/agent-tools --skill at-zentao -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install kairyou/agent-tools at-zentao --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kairyou/agent-tools.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/systems/at-zentao .agents/skills/at-zentao && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "at-zentao" agent skill from https://github.com/kairyou/agent-tools/tree/main/skills/systems/at-zentao into .agents/skills/at-zentao/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "at-zentao", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add kairyou/agent-tools --skill at-zentao -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install kairyou/agent-tools at-zentao --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kairyou/agent-tools.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/systems/at-zentao .cursor/skills/at-zentao && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "at-zentao" agent skill from https://github.com/kairyou/agent-tools/tree/main/skills/systems/at-zentao into .cursor/skills/at-zentao/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "at-zentao", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/kairyou/agent-tools.git --path skills/systems/at-zentao--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add kairyou/agent-tools --skill at-zentao -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install kairyou/agent-tools at-zentao --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kairyou/agent-tools.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/systems/at-zentao .gemini/skills/at-zentao && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "at-zentao" agent skill from https://github.com/kairyou/agent-tools/tree/main/skills/systems/at-zentao into .gemini/skills/at-zentao/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "at-zentao", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install kairyou/agent-tools at-zentaoInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add kairyou/agent-tools --skill at-zentao -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/kairyou/agent-tools.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/systems/at-zentao .github/skills/at-zentao && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "at-zentao" agent skill from https://github.com/kairyou/agent-tools/tree/main/skills/systems/at-zentao into .github/skills/at-zentao/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "at-zentao", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add kairyou/agent-tools --skill at-zentao -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install kairyou/agent-tools at-zentao --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kairyou/agent-tools.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/systems/at-zentao .opencode/skills/at-zentao && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "at-zentao" agent skill from https://github.com/kairyou/agent-tools/tree/main/skills/systems/at-zentao into .opencode/skills/at-zentao/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "at-zentao", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
at-zentaoHandle ZenTao (禅道) Bugs and Tasks end to end, including updating or writing back an item after code changes, managing Task status and hours, and reading linked Stories.
At Zentao is an agent skill from kairyou/agent-tools. Handle ZenTao (禅道) Bugs and Tasks end to end, including updating or writing back an item after code changes, managing Task status and hours, and reading linked Stories. Use for referenced ZenTao items, requirements, status changes, time entries, or post-implementation synchronization.
Its SKILL.md is about 4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts.
It sits in Productivity & Automation, covering Time tracking and reporting. The repository describes itself as: Reusable Agent Skills, plus integrations (statusline, provider usage, vision) that install into Codex, Claude Code, and opencode. The licence is MIT.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit acc2563. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
ZENTAO_PASSWORDZENTAO_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
At Zentao loads about 4k tokens when it runs. Until then it costs about 74 tokens; SKILL.md has 1,970 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from kairyou/agent-tools at commit acc2563, republished under its MIT licence (© kairyou). 1,970 words, ~3,951 tokens.
.claude/skills/at-zentao/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.This Skill bundles scripts/zentao-cli.mjs. Resolve the Skill root as the
directory containing this SKILL.md, then run the script with Node using its
resolved path from any working directory:
node <skill-root>/scripts/zentao-cli.mjs <command>The script is the only component allowed to read ZenTao configuration,
exchange credentials for a token, send authenticated requests, or inspect raw
error responses. Run it directly without reading or copying its source into
the conversation. Never read ~/.agent-tools/config.jsonc, print ZenTao env
vars, call the token endpoint, or construct a ZenTao Token header yourself.
The CLI emits only sanitized JSON. Treat a nonzero exit as a stopped ZenTao
operation and report its safe error, message, and optional HTTP status.
Do not work around the CLI with curl when authentication or an endpoint
fails.
The CLI reads the global ~/.agent-tools/config.jsonc, or
$AGENT_TOOLS_HOME/config.jsonc when AGENT_TOOLS_HOME is set. It never reads
repository-level configuration. Basic configuration:
{
"zentao": {
"url": "https://zentao.example.com",
"account": "user",
"password": "your-password"
}
}To avoid storing the password in the file, use
"password": { "env": "ZENTAO_PASSWORD" } and set that environment variable.
Direct env overrides are ZENTAO_URL, ZENTAO_ACCOUNT, and
ZENTAO_PASSWORD. ZENTAO_TOKEN may be used instead of password exchange; it
is accepted only from the environment.
When configuration is missing, tell the user which file to edit and show the template above. Never ask them to paste a password or token into chat, and do not edit or inspect the file after they add credentials. Ask them to say "done", then validate with:
node <skill-root>/scripts/zentao-cli.mjs doctorReport only whether the connection succeeded and whether authentication used
token or account-password.
Read-only commands:
node <skill-root>/scripts/zentao-cli.mjs list bugs
node <skill-root>/scripts/zentao-cli.mjs list tasks
node <skill-root>/scripts/zentao-cli.mjs list stories
node <skill-root>/scripts/zentao-cli.mjs list tasks "person account or exact name"
node <skill-root>/scripts/zentao-cli.mjs list tasks "person" --relation finishedBy --status all
node <skill-root>/scripts/zentao-cli.mjs list bugs "person" --relation resolvedBy --status all
node <skill-root>/scripts/zentao-cli.mjs list stories "person account or exact name"
node <skill-root>/scripts/zentao-cli.mjs get bug <id>
node <skill-root>/scripts/zentao-cli.mjs get task <id>
node <skill-root>/scripts/zentao-cli.mjs get story <id>
node <skill-root>/scripts/zentao-cli.mjs get bug <id> --download-dir <path>
node <skill-root>/scripts/zentao-cli.mjs hours task <id>get downloads token-gated inline images and attachments into a temporary
directory by default and returns only local paths. Inspect those local files;
never pass the original ZenTao URL to an image tool.
For Bugs and Tasks, a configured zentao.commentPrompt is returned as
writeback.commentPrompt. Use it only when drafting a write-back comment; it
is not item data or an existing comment. get also returns safe comments
from action history, keeping only id, actor, action, date, and non-empty
comment. An omitted comments means actions were unavailable; an empty array
means actions were available but contained no comments.
Write commands require JSON on stdin and are allowed only after the explicit confirmation steps below:
node <skill-root>/scripts/zentao-cli.mjs comment bug <id>
node <skill-root>/scripts/zentao-cli.mjs comment task <id>
node <skill-root>/scripts/zentao-cli.mjs resolve bug <id>
node <skill-root>/scripts/zentao-cli.mjs start task <id>
node <skill-root>/scripts/zentao-cli.mjs pause task <id>
node <skill-root>/scripts/zentao-cli.mjs resume task <id>
node <skill-root>/scripts/zentao-cli.mjs log-hours task <id>
node <skill-root>/scripts/zentao-cli.mjs edit-hours task <id> <effort-id>
node <skill-root>/scripts/zentao-cli.mjs finish task <id>Input shapes:
{"comment":"Root cause and result."}
{"resolution":"fixed","resolvedBuild":"trunk","comment":"Root cause: stale session cache; Fix: refresh it during renewal; Commit: abc1234."}
{"realStarted":"2026-08-11 09:00:00","comment":"Started implementation."}
{"date":"2026-08-11","consumed":2,"left":14,"work":"Implemented the first part of the task."}
{"work":"Corrected work description, commit abc1234."}
{"currentConsumed":1.5,"realStarted":"2026-08-11 09:00:00","finishedDate":"2026-08-11 10:30:00","comment":"Completed: implemented session renewal; Commit: abc1234."}For duplicate, also pass "duplicateBug": <id>. Send JSON through stdin,
not as a command-line argument. The CLI handles UTF-8 form encoding and
computes a task's total consumed hours from its current ZenTao value.
start, pause, and resume accept an optional comment; start also
accepts realStarted and otherwise uses the current time. The CLI preserves
the task's current hours when starting or resuming it.
log-hours defaults date to today, requires positive remaining hours,
and keeps the task open. hours is read-only. edit-hours preserves omitted
fields from the existing record and updates it through ZenTao's native effort
workflow. Use finish when the task is complete; its comment is optional.
Interpret natural language; users do not need CLI flags. "查张三的任务"
maps to list tasks "张三"; "查张三解决的 Bug" maps to
list bugs "张三" --relation resolvedBy --status all; "查我完成的任务"
maps to list tasks --relation finishedBy --status all.
Use openedBy for created items and closedBy for items closed by the person.
For all historical items still assigned to someone, use assignedTo with
--status all. Completion is a relationship: finished/resolved items may
have been reassigned or closed, so do not infer the finisher from assignedTo.
Use an exact status only when requested (for example --status closed).
Account matches take precedence over exact names. If a name is ambiguous,
ask for the account. Authentication always uses the existing configuration.
These list queries are read-only. Requests to view, explain, or trace a commit
also stop after reading the referenced Bug/Task, comments, and linked Story;
do not enter the implementation workflow below. Extract bug/task IDs from the
commit when present and use get directly. Do not infer a ZenTao account from
a Git author without a matching directory entry or user clarification.
/at-zentao bug <id> — handle a single bug./at-zentao task <id> — handle a single task./at-zentao story <id> — read requirement scope and acceptance context.
This mode is read-only; do not implement a Story status or comment workflow./at-zentao bugs — list bugs assigned to the configured account; let the
user select one or more./at-zentao tasks — list assigned tasks and let the user select./at-zentao export bug <id> or export task <id> — create a read-only,
self-contained handoff bundle.Treat text after an item id as a natural-language request. Recognize task
lifecycle requests such as 开始, 暂停, 继续, start, pause, and
resume, and time-entry requests such as 填工时, 记录工时, log hours,
and worklog. Users do not need to know the internal CLI commands. Reuse any
date, hours, or work description already supplied instead of asking twice.
Recognize corrections to an existing time entry. Run hours, identify the
record from returned ids and values, and ask when more than one record could
match; never guess or call log-hours again to compensate for a mistake.
If a list response includes pager data showing more items than returned, tell the user the shown and total counts. Do not silently imply the list is complete. Do not browse through products/projects for the default personal list. For an explicit request about another person or historical work, use the narrowest supported read-only scope and never imply that a partial result is complete.
When a fetched Bug or Task has a positive story id, fetch that Story before
planning the implementation. Use its spec and verify fields to identify
scope, acceptance criteria, constraints, and non-goals. Keep the Bug or Task as
the unit of work: never change, close, activate, or comment on the Story.
For a Task in wait, offer start when the user is about to work on it. For a
Task in pause, offer resume; the CLI maps this to ZenTao's restart
operation. Invoke pause only when the user explicitly asks or confirms that
the work itself is paused; the end of a session or workday is not enough. These
are status writes, so show the transition and optional comment and obtain
explicit confirmation before invoking the CLI. Starting or resuming preserves
the current hours and never implies new consumed time.
Follow these steps in order:
get command. Review every returned comment,
including comments attached to resolution, activation, and lifecycle actions.
Read every downloaded image now so screenshots inform the fix. If no
image-inspection tool is available, continue from text and state that
screenshots were skipped.git diff --staged --name-only. If unrelated files
are staged, stop and ask how to handle them. Otherwise stage only files for
this item by explicit path; never use git add -A.bug#<id> or task#<id> immediately after type(scope):, for example
fix(auth): bug#30887 reject expired sessions. Never commit automatically.fixed resolution must cite a real commit; without a
commit, offer at most a comment with status unchanged.Bug resolutions are fixed, notrepro, duplicate, bydesign, external,
postponed, and willnotfix. Choose what matches the verified outcome. A
write-back comment follows the current user request, then
writeback.commentPrompt. Otherwise use the item or user's language and these
defaults:
Root cause, Fix, optional Verification, and the
real Commit.Completed, optional Verification, and Commit
only when the work has a related commit.Conclusion and applicable Reason or
Evidence.Formatting controls wording and layout only. Never invent missing facts;
surface required gaps and put Commit: <hash> last.
Immediately before confirming any ZenTao write that cites the latest commit,
run git rev-parse HEAD and git log -1 --format=%h. Do not reuse a hash from
earlier conversation. If HEAD is not the item-specific commit, identify the
relevant commit and tell the user instead of blindly citing HEAD.
For tasks, ask whether to record the current work after the verified result.
For an incomplete task, collect the actual consumed hours and work date. When
the task has a numeric current left, suggest the new left by subtracting the
current entry and make that estimate editable in the confirmation; ask only
when no reliable suggestion is possible. Draft work from the verified result
when context is available. It is optional, so mention the omission without
blocking the write when there is nothing useful to add. For a completed task,
collect currentConsumed, draft the completion comment from established facts,
and include both in the finish write. Never infer consumed hours or a
verification result. Show all submitted values and require the same explicit
ZenTao confirmation before either write.
To correct an existing time entry, use hours to select its effort id. Show
the current and proposed date, consumed, left, and work, then obtain
explicit confirmation and call edit-hours once. Preserve every field the
user did not change. Stop when ownership cannot be verified or the edit route
is unsupported. If the proposed left is zero, explicitly warn that ZenTao
may change the task status as part of its native recalculation. Never edit an
action comment as a substitute for correcting the underlying work-hour record,
and never delete a record.
When the user wants to record hours and pause, show both exact writes in one
confirmation, then run log-hours before pause. Stop if the hour write fails.
Do not add lifecycle support for activate, cancel, or close.
Export is read-only and never fixes code, commits, or writes back:
get, including every downloaded image/attachment.<dest>/zentao-<bug|task>-<id>.md. With images, create
a same-named directory containing the Markdown and real image files, rewrite
image references to relative paths, and zip only when a single artifact is
needed.bug#<id> or task#<id> token in every related commit subject.© kairyou, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (scripts) in skills/systems/at-zentao of kairyou/agent-tools.
Open the folder on GitHubat commit acc2563
At Zentao next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| At Zentao this skillkairyou/agent-tools | 178 | — | ~4k | Automated safety check: Pass | MIT | |
| Heybasecamp/hey-cli | 410 | — | ~20k | Automated safety check: Pass | MIT | |
| Lark Todoautumnseasonism/lark-todo | 138 | — | ~5.5k | Automated safety check: Pass | MIT | |
| Capture Triagenicepkg/ai-workflow | 285 | — | ~3k | Automated safety check: Pass | MIT | |
| Tracking Backend WorkerCorrectRoadH/OpenTickly | 307 | — | ~1.2k | Automated safety check: Pass | AGPL-3.0 | |
| Sred Work Summarygetsentry/skills | 1k | 3 repos | ~1.4k | Automated safety check: Pass | Apache-2.0 |
basecamp/hey-cli
Interact with HEY via the HEY CLI. An agent skill from basecamp/hey-cli.
autumnseasonism/lark-todo
飞书全平台待办扫描:IM 消息、会议纪要、日程、文档评论、待办审批、我发起的审批、邮件、已有任务八源并行采集,按优先级排序后支持直接处理或建任务。多企业账号自动发现并并行扫描,跨企业合并。用户说'有啥待办'、'@我的消息'、'扫一圈'、'收工检查'、'今天还差啥'、'morning standup'、'daily review' 时触发,连随口'忙不忙'、'有人找我吗'也应触发。同时覆盖多企业…
nicepkg/ai-workflow
Processes Drafts Pro captures from the Inbox folder. An agent skill from nicepkg/ai-workflow.
CorrectRoadH/OpenTickly
Update backend timer/time-entry contracts, regressions, and source docs for the timer refactor mission.
getsentry/skills
Go back through the previous year of work and create a Notion doc that groups relevant links into projects that can then be documented as SRED projects.
CorrectRoadH/OpenTickly
Implement timer/time-entry behavior that must be proven across backend truth and the browser surface together.
kairyou/agent-tools
Review code changes for bugs, regressions, convention violations, and high-value cleanup opportunities.
kairyou/agent-tools
Generate a Conventional Commits message from staged changes and wait for confirmation before committing.
kairyou/agent-tools
Inspect screenshots, photos, diagrams, image paths, and image URLs when the task depends on visible content.
kairyou/agent-tools
Summarize each day's Git activity into a concise daily work log, for a single date or a range.
kairyou/agent-tools
Summarize a contributor's Git history, a provided work log, or both into a concise, review-friendly self-evaluation for quarterly, semi-annual, or promotion cycles.
kairyou/agent-tools
Refactor changed code to reduce duplication, complexity, and wasted work.
Categories
Handle ZenTao (禅道) Bugs and Tasks end to end, including updating or writing back an item after code changes, managing Task status and hours, and reading linked Stories. At Zentao is an agent skill from kairyou/agent-tools. Handle ZenTao (禅道) Bugs and Tasks end to end, including updating or writing back an item after code changes, managing Task status and hours, and reading linked Stories.
At Zentao fits situations like: referenced ZenTao items; post-implementation synchronization.
Run `npx skills add kairyou/agent-tools --skill at-zentao -a claude-code`. Or copy the skill folder (skills/systems/at-zentao in kairyou/agent-tools) into .claude/skills/at-zentao in your project. Claude Code loads it when a task matches its description.
Run `npx skills add kairyou/agent-tools --skill at-zentao -a codex`. Or copy the skill folder (skills/systems/at-zentao in kairyou/agent-tools) into .agents/skills/at-zentao in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add kairyou/agent-tools --skill at-zentao -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/at-zentao, .gemini/skills/at-zentao, .github/skills/at-zentao and .opencode/skills/at-zentao in your project.
Going by SKILL.md and its folder, At Zentao needs JavaScript for the scripts in its folder, the command-line tools its instructions call (git) and credentials named ZENTAO_PASSWORD and ZENTAO_TOKEN. Our summary lists: Node.js; A credential in ZENTAO_TOKEN.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
At Zentao is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with At Zentao: Hey (basecamp/hey-cli, 410 stars), Lark Todo (autumnseasonism/lark-todo, 138 stars), Capture Triage (nicepkg/ai-workflow, 285 stars) and Tracking Backend Worker (CorrectRoadH/OpenTickly, 307 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
kairyou (a GitHub user) maintains it in kairyou/agent-tools, which has 178 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 8, 2026.
Source: kairyou/agent-tools on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.