High-salience fast path to ~/.config/mosaic/tools/ for fleet agents: inter-agent messaging via tmux/agent-send.sh (priority #1) and the git/*.sh provider wrappers, including the GITEA_LOGIN-by-origin-host gotcha (the recurring `GetUserByName ... not found` failure on USC repos). Lighter than mosaic-gitea (full flag reference) and purpose-built for salience. Force-loaded for Pi by the launcher's DEFAULT_PI_FORCE_SKILLS (mosaicstack/stack), which is otherwise `--no-skills` by default. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QoYiBeKNh3BiYtAJS5Z587
3.1 KiB
name, description
| name | description |
|---|---|
| mosaic-tools | Fast path to the Mosaic fleet toolkit at ~/.config/mosaic/tools/. Use FIRST when you need to message another agent's tmux session, open/merge a Gitea/GitHub PR or issue, run a CI queue wait, or operate Portainer/Woodpecker/Authentik/Cloudflare. Reach for these wrappers before hand-rolling raw tmux send-keys, raw tea/gh/glab, or curl. |
mosaic-tools
You are a Mosaic fleet agent on web1. A maintained toolkit lives at ~/.config/mosaic/tools/.
Use it FIRST for the tasks below — improvising with raw CLIs causes the recurring failures this
skill exists to prevent. This is the high-frequency fast path; the full reference is the
# Machine Tools section already in your system prompt.
1. Message another agent (highest priority)
To send a message or briefing to another agent's tmux session, use the wrapper — never raw
tmux send-keys / paste-buffer (interactive REPLs swallow a trailing Enter or leave the text as
an unsubmitted draft; the wrapper handles bracketed paste, Enter flushing, and the [src -> dst]
preamble):
~/.config/mosaic/tools/tmux/agent-send.sh -s <target-session> -m "your message"
~/.config/mosaic/tools/tmux/agent-send.sh -s mos-claude -f path/to/brief.md # send a file's contents
The coordinator session is mos-claude. Status reports, findings, and questions go there.
2. Git provider operations (issues / PRs / milestones)
Use the wrappers — they auto-detect the platform (Gitea or GitHub) and handle auth. Prefer them
over raw tea / gh / glab:
~/.config/mosaic/tools/git/issue-create.sh ...
~/.config/mosaic/tools/git/issue-close.sh ...
~/.config/mosaic/tools/git/pr-create.sh ...
~/.config/mosaic/tools/git/pr-merge.sh ...
~/.config/mosaic/tools/git/ci-queue-wait.sh --purpose push|merge # REQUIRED before any push or merge
GITEA_LOGIN gotcha (do not skip)
The wrappers default to --login ${GITEA_LOGIN:-mosaicstack}. On USC repos hosted at
git.uscllc.com, that default fails with gitea / Error: GetUserByName ... not found. Pick the
login from the repo's origin host before running a wrapper:
git remote get-url origin # inspect the host, then:
| origin host | login |
|---|---|
git.uscllc.com |
export GITEA_LOGIN=usc |
git.mosaicstack.dev |
default mosaicstack (no export needed) |
3. Other tool suites under ~/.config/mosaic/tools/
woodpecker/— CI pipeline status/trigger (pipeline-status.sh,pipeline-list.sh;-a uscfor USC repos)portainer/— Docker Swarm stack status/redeployauthentik/— identity: users, groups, apps, flowscloudflare/— DNS records (-a <instance>for multi-account)health/—stack-health.shservice checksopenbrain/— semantic agent memory (meta-observations only)
For the complete reference, consult the # Machine Tools section in your system prompt before
improvising. Related skills: mosaic-gitea (full git-wrapper flag reference),
mosaic-tmux-comms (inter-agent messaging detail).