This 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: Messages#When a Worker sends a message containing git-request::
text
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 accomplishbash
task_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:
bash
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.
bash
# 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:
text
@{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:
text
@{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:
CategoryCommandsRepositorygit clone, git initBranchesgit branch, git checkout, git switchRemotegit remote, git fetch, git pull, git pushCommitsgit add, git commit, git reset, git revertHistorygit log, git show, git diffRebasegit rebase, git rebase -iCherry-pickgit cherry-pickMergegit mergeStashgit stashTagsgit tagSubmodulesgit submoduleConfiggit 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.