Amir Publish
Use this skill when Amir wants current skill repo changes distributed across his usual machines.
This is prompt-only shell orchestration. Do not add scripts, harnesses, controller state, or new automation infrastructure.
When to use
- Amir asks to publish, sync, distribute, or roll out this skills repo to his machines.
- The desired workflow is local commit, push, local install, then remote pull and install.
- The target machines are the fixed cluster listed below.
When not to use
- The task is a generic deploy, package release, or CI workflow.
- The task is only to install the current machine without pushing or syncing remotes.
- The repo is not the skills repo or does not have the expected local install command.
- The user wants
make remote_install; this workflow keeps each remote repo on the same branch instead of copying files over SSH.
Machine List
Publish to these SSH targets, skipping whichever one is the current machine:
amirs-m3-max-newamir-m3-36gbagents@amirs-mac-studioamir-m5home
Treat agents@amirs-mac-studio as the host amirs-mac-studio when deciding whether to skip the current machine.
Workflow
- Resolve the git repo root, current branch, current commit, and repo directory name. The local path may be
/Users/aelaguiz/workspace/<repo-name>, but remotes must use~/workspace/<repo-name>because home directories differ across machines. - Identify the current machine with
hostname -sor the closest available hostname command. - Inspect
git status --short. Default to committing the full tracked-file diff across the repo, including tracked changes you do not recognize. Unfamiliar tracked changes are not a blocker by themselves. - Stage tracked modifications and deletions with
git add -u. Also stage untracked files that are clearly part of the current repo work; ask only for ambiguous untracked files or concrete safety issues such as secrets. - If there are changes to commit, create one concise commit. If there is nothing to commit, say so and continue.
- Push the current branch to its upstream. If no upstream exists, push with
git push -u origin <branch>. - Run the local install command from the repo root:
make install
- For each non-skipped SSH target, run the remote sync from the repo under that host's home-relative workspace. Do not use the local absolute
/Users/aelaguiz/...path on remotes.
cd ~/workspace/<repo-name> &&
git fetch origin &&
(git checkout <branch> || git checkout -t origin/<branch>) &&
git pull --ff-only &&
make install
- If one remote fails, continue to the remaining hosts unless the failure means the pushed branch or local install is invalid. Keep the failed host and command visible in the final summary.
Output
Keep the final response short:
- local branch and commit pushed
- local install result
- each remote host result
- any skipped host
- any failed host and the exact next repair step