将编码工作委托给持有 CLI 的 agent(Manager / Leader / 获授权 Worker)的 AI CLI 工具(Claude Code / Gemini CLI / qodercli / Qwen Code / OpenCode)执行
76%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./manager/agent/worker-skills/coding-cli/SKILL.mdWhen the delegating agent (Manager / Leader / 获授权 Worker) assigns you a task with a "## Coding CLI Mode" section in spec.md, you do not write the code yourself. Instead, you:
Operational reference: references/delegation-guidance.md — one-shot delegation from the delegator's side: what it is, task-spec discipline, what it does not provide, and where results and logs land. Later capabilities (supervision, steering, approval) are documented in the management-side guidance.
Check spec.md for the task. If it contains ## Coding CLI Mode, use this skill for all code changes.
Set up the workspace directory under the shared filesystem:
workspace="/root/agentteams-fs/shared/tasks/{task-id}/workspace"
mkdir -p "$workspace"
# Clone a repo (example)
git clone <repo-url> "$workspace"
# Or copy existing code
cp -r /path/to/source "$workspace/"Constraint: The workspace path must be under /root/agentteams-fs/. The delegating agent accesses the same path via MinIO mirror.
Before sending the coding-request, push all workspace files so the delegating agent can access them:
mc mirror "/root/agentteams-fs/shared/tasks/{task-id}/workspace/" \
${AGENTTEAMS_STORAGE_PREFIX}/shared/tasks/{task-id}/workspace/Before modifying the workspace or sending a coding-request, check if the task directory is being processed:
# Sync latest state from MinIO
mc mirror "${AGENTTEAMS_STORAGE_PREFIX}/shared/tasks/{task-id}/" \
"/root/agentteams-fs/shared/tasks/{task-id}/"
# Check for processing marker
if [ -f "/root/agentteams-fs/shared/tasks/{task-id}/.processing" ]; then
echo "Task directory is being processed. Wait for the delegating agent to complete."
# Do NOT send coding-request yet; wait and retry
fiIf a .processing marker exists, wait for the delegating agent to complete their operation before sending your request.
The same marker check is enforced in code: run-coding-cli.sh exits 125 before invoking a CLI when the task root (--task-dir, default the workspace's parent) has an active marker that does not match both the caller's --processor and non-empty --run-id. Your delegating agent creates a fresh run ID with its marker and passes that same ID to the wrapper and marker removal script. A shared name such as manager alone does not establish ownership. Active legacy markers without run IDs block execution; expired markers are ignored. Keep checking the marker before sending your request, and do not reuse another operation's run ID. This check does not replace atomic scheduling or provide a permission boundary.
A good prompt includes:
Example of a good prompt:
In the file `src/server/handlers/auth.go`, implement the `RefreshToken` function (currently a stub at line 142).
Requirements:
- Validate the incoming refresh_token from the request body (field name: "refresh_token")
- Look up the token in the database using `db.FindRefreshToken(ctx, token)` (already imported)
- If valid, generate a new access token with `auth.GenerateAccessToken(userID)` and return it as JSON: {"access_token": "<token>", "expires_in": 3600}
- If invalid or expired, return HTTP 401 with body: {"error": "invalid_refresh_token"}
- Follow the existing error handling pattern used in `LoginHandler` (line 89)
Do not change any other files.Signs of a weak prompt (avoid):
coding-request: to the delegating agentSend in your Worker Room (or Project Room, wherever the task was assigned):
@<delegator>:DOMAIN task-{task-id} coding-request:
workspace: /root/agentteams-fs/shared/tasks/{task-id}/workspace
---PROMPT---
{your detailed coding prompt here}
---END---Note: workspace can be any subdirectory under /root/agentteams-fs/, e.g. a cloned git repo:
workspace: /root/agentteams-fs/shared/tasks/{task-id}/workspace/my-repoThe delegating agent will run the CLI tool and respond with either:
Success — coding-result:
@{your-name}:DOMAIN task-{task-id} coding-result:
CLI 工具已完成编码。请同步工作目录并 review 变更...Failure — coding-failed:
@{your-name}:DOMAIN task-{task-id} coding-failed:
CLI 工具执行失败...你生成的提示词已保存于:/root/agentteams-fs/shared/tasks/{task-id}/coding-prompts/coding-result:# Sync changes from MinIO
agentteams-sync
# Review what changed
cd /root/agentteams-fs/shared/tasks/{task-id}/workspace
git diff # if it's a git repo
# or: check coding-cli-logs/ for CLI outputReview the changes:
Report to the delegating agent:
@<delegator>:DOMAIN task-{task-id} completed:
Changes reviewed and verified. {Brief summary of what was implemented.}coding-failed:Implement the coding task yourself using your normal approach. When done, report:
@<delegator>:DOMAIN task-{task-id} completed:
Implemented manually (CLI delegation failed). {Brief summary.}If one CLI delegation doesn't fully complete the task (e.g., the first run fixed the bug but tests still fail), you can send another coding-request: with a follow-up prompt. Sync the workspace first to get the latest state before generating the next prompt.
go test ./... to verify"agentscope-ai/AgentTeams
8a661dd
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.