一键导入
git-delegation
将所有 git 操作委托给 Manager 执行。Worker 无法直接访问 git credentials,因此任何需要认证的 git 操作(clone、push、fetch 等)都需要通过此机制委托给 Manager。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
将所有 git 操作委托给 Manager 执行。Worker 无法直接访问 git credentials,因此任何需要认证的 git 操作(clone、push、fetch 等)都需要通过此机制委托给 Manager。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Analyze current OpenClaw setup and generate a migration package (ZIP) for importing into HiClaw as a managed Worker
Use before direct filesync calls, reading non-task shared files, pushing mid-task progress, or troubleshooting missing shared files. Do not use for normal task acceptance or submission; taskflow ack_task and submit_task handle lifecycle sync internally.
Discover and install agent skills from the open ecosystem. Use when you encounter an unfamiliar domain, framework, or workflow that you lack specialized knowledge about, or when your coordinator suggests searching for skills before starting a task.
Use only when you need to look up team topology, worker phase, runtime state, or identity that is NOT available from the current message context. Do not use for standard task flows — the coordinator is the message sender, and the task room is in meta.json.room_id.
Sync files with centralized storage. Use when your coordinator or another Worker notifies you of file updates (config changes, task files, shared data, collaboration artifacts).
Discover and install agent skills from the open ecosystem. Use when you encounter an unfamiliar domain, framework, or workflow that you lack specialized knowledge about, or when your coordinator suggests searching for skills before starting a task.
| name | git-delegation |
| description | 将所有 git 操作委托给 Manager 执行。Worker 无法直接访问 git credentials,因此任何需要认证的 git 操作(clone、push、fetch 等)都需要通过此机制委托给 Manager。 |
| assign_when | Worker 需要执行任何 git 操作 |
This skill allows you to delegate any git operation to the Manager. Since Workers don't have access to git credentials, all git commands that require authentication must be delegated.
Any git command, including but not limited to:
git clone - Clone repositoriesgit fetch / git pull - Fetch/pull from remotegit push - Push to remotegit checkout / git switch - Switch branchesgit branch - Manage branchesgit add / git commit - Stage and commitgit merge - Merge branchesgit rebase - Rebase commits (including interactive)git cherry-pick - Cherry-pick commitsgit reset / git revert - Undo changesgit stash - Stash changesgit tag - Manage tagsgit submodule - Manage submodulesIf git can do it, you can delegate it.
| Task | Use git-delegation | Use github-operations |
|---|---|---|
| Clone repository | ✅ | |
| Pull/fetch changes | ✅ | |
| Read/write files | ✅ | |
| Create/switch branches | ✅ | |
| Commit/push code | ✅ | |
| Rebase/cherry-pick | ✅ | |
| Manage tags | ✅ | |
| Create PR | ✅ | |
| Review/merge PR | ✅ | |
| Comment on PR | ✅ | |
| Create/update Issue | ✅ |
Send a git-request: message to the Manager.
First, get your actual Matrix domain:
echo $AGENTTEAMS_MATRIX_DOMAIN
# e.g.: matrix-local.agentteams.io:18080
Then send (substitute the real domain — do NOT write $AGENTTEAMS_MATRIX_DOMAIN literally):
@manager:matrix-local.agentteams.io:18080 task-{task-id} git-request:
workspace: /root/hiclaw-fs/shared/tasks/{task-id}/workspace/{repo-name}
operations:
- git clone https://github.com/org/repo.git
- git checkout -b feature-auth
- git add .
- git commit -m "feat: add authentication"
- git push origin feature-auth
---CONTEXT---
{What you're trying to accomplish}
---END---
Fields:
workspace: Directory to work in (parent dir for clone, repo dir for other ops)operations: List of git commands to execute (literally what to run)context: (Optional) What you're trying to accomplish - helps Manager understand intentBefore making changes, check if the task directory is being processed:
# Sync from MinIO
mc mirror "${AGENTTEAMS_STORAGE_PREFIX}/shared/tasks/{task-id}/" \
"/root/hiclaw-fs/shared/tasks/{task-id}/"
# Check for processing marker
if [ -f "/root/hiclaw-fs/shared/tasks/{task-id}/.processing" ]; then
echo "Task directory is being processed. Wait for manager to complete."
fi
Write out the git commands you want executed:
@manager:DOMAIN task-20260225 git-request:
workspace: /root/hiclaw-fs/shared/tasks/task-20260225/workspace
operations:
- git clone https://github.com/higress-group/hiclaw.git
- cd hiclaw && git checkout -b feature-xyz
---CONTEXT---
Starting work on feature XYZ
---END---
Success — git-result:
@alice:DOMAIN task-20260225 git-result:
Git operations completed successfully.
Cloned to: /root/hiclaw-fs/shared/tasks/task-20260225/workspace/hiclaw
Created branch: feature-xyz
Run `hiclaw-sync` to sync.
Failure — git-failed:
@alice:DOMAIN task-20260225 git-failed:
Git operation failed: {error message}
{Suggestion for how to fix}
After receiving git-result::
# Sync from MinIO
hiclaw-sync
# Now you can work locally
cd /root/hiclaw-fs/shared/tasks/task-20260225/workspace/hiclaw
# Read files, modify files, etc.
cat src/main.py
# ... make changes ...
# When ready to commit, sync to MinIO first
mc mirror "/root/hiclaw-fs/shared/tasks/task-20260225/" \
"${AGENTTEAMS_STORAGE_PREFIX}/shared/tasks/task-20260225/" --overwrite
After making local changes:
@manager:DOMAIN task-20260225 git-request:
workspace: /root/hiclaw-fs/shared/tasks/task-20260225/workspace/hiclaw
operations:
- git add .
- git commit -m "feat: implement feature XYZ"
- git push origin feature-xyz
---CONTEXT---
Completed implementation of feature XYZ
---END---
You can run any git command that doesn't need authentication locally:
# These work locally (no auth needed):
git status
git log
git diff
git branch
git diff --staged
# These require delegation (need auth):
git clone https://github.com/...
git push
git fetch
git pull
@manager:DOMAIN task-20260225 git-request:
workspace: /root/hiclaw-fs/shared/tasks/task-20260225/workspace/hiclaw
operations:
- git rebase -i HEAD~3
---CONTEXT---
Squashing the last 3 commits into one
---END---
@manager:DOMAIN task-20260225 git-request:
workspace: /root/hiclaw-fs/shared/tasks/task-20260225/workspace/hiclaw
operations:
- git cherry-pick abc123def
---CONTEXT---
Cherry-picking fix from main branch
---END---
@manager:DOMAIN task-20260225 git-request:
workspace: /root/hiclaw-fs/shared/tasks/task-20260225/workspace/hiclaw
operations:
- git merge feature-xyz --no-ff -m "Merge feature XYZ"
---CONTEXT---
Merging feature branch with merge commit
---END---
Before sending a git-request:, plan ALL operations in your head first. Think through the entire workflow — clone, branch, file creation, commit, push — and include everything in a SINGLE request. Do NOT send partial requests and iterate.
Bad (multiple requests, trial-and-error):
# Request 1: just clone
git-request: clone repo...
# Wait... then Request 2: create branch
git-request: checkout branch...
# Wait... then Request 3: add files and push
git-request: add, commit, push...
Good (one complete request):
git-request:
workspace: /root/hiclaw-fs/shared/tasks/{task-id}/workspace
operations:
- git clone /path/to/repo.git
- cd repo && git config user.name "alice"
- cd repo && git config user.email "alice@hiclaw.local"
- cd repo && git checkout -b feature/my-branch
- mkdir -p repo/docs
- 'cat > repo/docs/file.md << "EOF"
file content here
EOF'
- cd repo && git add docs/file.md
- cd repo && git commit -m "feat: add file"
- cd repo && git push origin feature/my-branch
---CONTEXT---
Complete workflow: clone, branch, create file, commit, push
---END---
After sending a git-request:, the Manager needs time to execute the operations. Do NOT:
git-request: messagesSimply wait for the git-result: or git-failed: response. The Manager will reply when done.
Always use this path pattern:
/root/hiclaw-fs/shared/tasks/{task-id}/workspace/{repo-name}
git clone: set workspace to the parent directory (without repo name)/tmp or other arbitrary paths — the Manager syncs via MinIO and needs the workspace under the shared tasks directoryThe operations list can include shell commands like mkdir -p, cat > file, cd dir && prefixes. This lets you do everything in one round-trip:
operations:
- git clone https://github.com/org/repo.git
- cd repo && git checkout -b feature/xyz
- mkdir -p repo/src
- 'cat > repo/src/main.py << "EOF"
print("hello")
EOF'
- cd repo && git add .
- cd repo && git commit -m "feat: add main"
- cd repo && git push origin feature/xyz
git-failed: is returned, read the error and send ONE corrected request