Install
openclaw skills install git-delegation-managementExecute any git command on behalf of Workers without credentials by processing their git-request messages and managing workspace synchronization safely.
openclaw skills install git-delegation-managementThis skill enables the Manager to execute any git operation on behalf of Workers. Workers cannot access git credentials, so they delegate all git operations to the Manager.
The Manager has access to:
.gitconfig via /host-share/.gitconfig (symlinked to /root/.gitconfig)This allows git operations to use the correct author name, email, and authentication.
git-request: MessagesWhen a Worker sends a message containing git-request::
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---
{description of what they're trying to accomplish}
---END---
Extract:
task-id: Task identifierworkspace: Path to work in (for clone: parent directory; for other ops: repo directory)operations: List of git commands to execute (literally what to run)context: (Optional) What the Worker is trying to accomplishtask_id="task-YYYYMMDD-HHMMSS"
workspace="/root/hiclaw-fs/shared/tasks/${task_id}/workspace/{repo-name}"
# Sync from MinIO
mc mirror "hiclaw/hiclaw-storage/shared/tasks/${task_id}/" \
"/root/hiclaw-fs/shared/tasks/${task_id}/"
# Check for processing marker
bash /opt/hiclaw/agent/skills/task-coordination/scripts/check-processing-marker.sh "$task_id"
if [ $? -ne 0 ]; then
# Respond with git-failed: explaining the conflict
exit 1
fi
# Create processing marker
bash /opt/hiclaw/agent/skills/task-coordination/scripts/create-processing-marker.sh "$task_id" "manager" 15
Navigate to the workspace and execute the git commands:
cd "$workspace"
# Execute each git command
git clone https://github.com/org/repo.git
git checkout -b feature-auth
# ... etc
# Log output for debugging
You know how to use git. Execute the commands the Worker requests. If something goes wrong (merge conflict, authentication failure, etc.), handle it appropriately.
# Remove processing marker
bash /opt/hiclaw/agent/skills/task-coordination/scripts/remove-processing-marker.sh "$task_id"
# Sync to MinIO
mc mirror "/root/hiclaw-fs/shared/tasks/${task_id}/" \
"hiclaw/hiclaw-storage/shared/tasks/${task_id}/" --overwrite
On success — send to Worker:
@{worker}:DOMAIN task-{task-id} git-result:
Git operations completed successfully.
{Summary of what was done - commits, pushes, branches created, etc.}
Run `bash /opt/hiclaw/agent/skills/file-sync/scripts/hiclaw-sync.sh` to sync.
On failure — send to Worker:
@{worker}:DOMAIN task-{task-id} git-failed:
Git operation failed: {error message}
{Suggestion for how to fix it, if applicable}
Any git operation, including but not limited to:
| Category | Commands |
|---|---|
| Repository | git clone, git init |
| Branches | git branch, git checkout, git switch |
| Remote | git remote, git fetch, git pull, git push |
| Commits | git add, git commit, git reset, git revert |
| History | git log, git show, git diff |
| Rebase | git rebase, git rebase -i |
| Cherry-pick | git cherry-pick |
| Merge | git merge |
| Stash | git stash |
| Tags | git tag |
| Submodules | git submodule |
| Config | git config (local to repo) |
If git can do it, the Worker can delegate it.
When git operations fail:
Common issues:
/host-share/.gitconfig and credential helperAlways use the .processing marker to prevent conflicts when both Worker and Manager might modify the workspace.