Finishing a Development Branch
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
How to coordinate with squads on different machines using git as transport
$ npx skills add FritzAndFriends/SharpSite --skill distributed-mesh -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install FritzAndFriends/SharpSite distributed-mesh --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/FritzAndFriends/SharpSite.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.copilot/skills/distributed-mesh .claude/skills/distributed-mesh && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "distributed-mesh" agent skill from https://github.com/FritzAndFriends/SharpSite/tree/main/.copilot/skills/distributed-mesh into .claude/skills/distributed-mesh/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "distributed-mesh", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/FritzAndFriends/SharpSite/tree/main/.copilot/skills/distributed-meshType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add FritzAndFriends/SharpSite --skill distributed-mesh -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install FritzAndFriends/SharpSite distributed-mesh --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FritzAndFriends/SharpSite.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.copilot/skills/distributed-mesh .agents/skills/distributed-mesh && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "distributed-mesh" agent skill from https://github.com/FritzAndFriends/SharpSite/tree/main/.copilot/skills/distributed-mesh into .agents/skills/distributed-mesh/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "distributed-mesh", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add FritzAndFriends/SharpSite --skill distributed-mesh -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install FritzAndFriends/SharpSite distributed-mesh --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FritzAndFriends/SharpSite.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.copilot/skills/distributed-mesh .cursor/skills/distributed-mesh && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "distributed-mesh" agent skill from https://github.com/FritzAndFriends/SharpSite/tree/main/.copilot/skills/distributed-mesh into .cursor/skills/distributed-mesh/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "distributed-mesh", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/FritzAndFriends/SharpSite.git --path .copilot/skills/distributed-mesh--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add FritzAndFriends/SharpSite --skill distributed-mesh -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install FritzAndFriends/SharpSite distributed-mesh --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FritzAndFriends/SharpSite.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.copilot/skills/distributed-mesh .gemini/skills/distributed-mesh && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "distributed-mesh" agent skill from https://github.com/FritzAndFriends/SharpSite/tree/main/.copilot/skills/distributed-mesh into .gemini/skills/distributed-mesh/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "distributed-mesh", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install FritzAndFriends/SharpSite distributed-meshInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add FritzAndFriends/SharpSite --skill distributed-mesh -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/FritzAndFriends/SharpSite.git skills-src && mkdir -p .github/skills && cp -r skills-src/.copilot/skills/distributed-mesh .github/skills/distributed-mesh && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "distributed-mesh" agent skill from https://github.com/FritzAndFriends/SharpSite/tree/main/.copilot/skills/distributed-mesh into .github/skills/distributed-mesh/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "distributed-mesh", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add FritzAndFriends/SharpSite --skill distributed-mesh -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install FritzAndFriends/SharpSite distributed-mesh --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FritzAndFriends/SharpSite.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.copilot/skills/distributed-mesh .opencode/skills/distributed-mesh && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "distributed-mesh" agent skill from https://github.com/FritzAndFriends/SharpSite/tree/main/.copilot/skills/distributed-mesh into .opencode/skills/distributed-mesh/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "distributed-mesh", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
distributed-meshHow to coordinate with squads on different machines using git as transport
Distributed Mesh is an agent skill from FritzAndFriends/SharpSite. How to coordinate with squads on different machines using git as transport
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `sync-mesh.sh`).
It sits in Development. It works with Git. The repository describes itself as: A basic CMS built with .NET 9 and Blazor. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c35e5e0. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships script files (PowerShell and Shell), which the agent can run.
Shell commands in SKILL.md call:
gitbashFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
partner.devFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Distributed Mesh loads about 3.1k tokens when it runs. Until then it costs about 23 tokens; SKILL.md has 1,420 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from FritzAndFriends/SharpSite at commit c35e5e0, republished under its MIT licence (© FritzAndFriends). 1,420 words, ~3,084 tokens.
.claude/skills/distributed-mesh/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.✅ THIS SKILL PRODUCES (exactly these, nothing more):
mesh.json — Generated from user answers about zones and squads (which squads participate, what zone each is in, paths/URLs for each), using mesh.json.example in this skill's directory as the schema templatesync-mesh.sh and sync-mesh.ps1 — Copied from this skill's directory into the project root (these are bundled resources, NOT generated code)sync-mesh.sh --init to scaffold the state repo structure.squad/decisions/inbox/ documenting the mesh configuration for team awareness❌ THIS SKILL DOES NOT PRODUCE:
Your role: Configure the mesh topology and install the bundled sync scripts. Nothing more.
When squads are on different machines (developer laptops, CI runners, cloud VMs, partner orgs), the local file-reading convention still works — but remote files need to arrive on your disk first. This skill teaches the pattern for distributed squad communication.
When this applies:
When this does NOT apply:
"The filesystem is the mesh, and git is how the mesh crosses machine boundaries."
The agent interface never changes. Agents always read local files. The distributed layer's only job is to make remote files appear locally before the agent reads them.
Zone 1 — Local: Same filesystem. Read files directly. Zero transport.
Zone 2 — Remote-Trusted: Different host, same org, shared git auth. Transport: git pull from a shared repo. This collapses Zone 2 into Zone 1 — files materialize on disk, agent reads them normally.
Zone 3 — Remote-Opaque: Different org, no shared auth. Transport: curl to fetch published contracts (SUMMARY.md). One-way visibility — you see only what they publish.
1. SYNC: git pull (Zone 2) + curl (Zone 3) — materialize remote state
2. READ: cat .mesh/**/state.md — all files are local now
3. WORK: do their assigned work (the agent's normal task, NOT mesh-building)
4. WRITE: update own billboard, log, drops
5. PUBLISH: git add + commit + push — share state with remote peersSteps 2–4 are identical to local-only. Steps 1 and 5 are the entire distributed extension. Note: "WORK" means the agent performs its normal squad duties — it does NOT mean "build mesh infrastructure."
{
"squads": {
"auth-squad": { "zone": "local", "path": "../auth-squad/.mesh" },
"ci-squad": {
"zone": "remote-trusted",
"source": "git@github.com:our-org/ci-squad.git",
"ref": "main",
"sync_to": ".mesh/remotes/ci-squad"
},
"partner-fraud": {
"zone": "remote-opaque",
"source": "https://partner.dev/squad-contracts/fraud/SUMMARY.md",
"sync_to": ".mesh/remotes/partner-fraud",
"auth": "bearer"
}
}
}Three zone types, one file. Local squads need only a path. Remote-trusted need a git URL. Remote-opaque need an HTTP URL.
Each squad writes only to its own directory (boards/{self}.md, squads/{self}/*, drops/{date}-{self}-*.md). No two squads write to the same file. Git push/pull never conflicts. If push fails ("branch is behind"), the fix is always git pull --rebase && git push.
Trust maps to git permissions:
For selective visibility, use separate repos per audience (internal, partner, public). Git permissions ARE the trust negotiation.
git pull/git push. Zero new code.Important: Phases are NOT auto-advanced. These are project-level decisions — you start at Phase 0 (manual sync) and only move forward when the team decides complexity is justified.
The shared mesh state repo is a plain git repository — NOT a Squad project. It holds:
No .squad/ folder, no agents, no automation. Write partitioning means each squad only pushes to its own directory. The repo is a rendezvous point, not an intelligent system.
If you want a squad that observes mesh health, that's a separate Squad project that lists the state repo as a Zone 2 remote in its mesh.json — it does NOT live inside the state repo.
Auth-squad agent wakes up. git pull brings ci-squad's latest results. Agent reads: "3 test failures in auth module." Adjusts work. Pushes results when done. Overhead: one git pull, one git push.
Payment-squad fetches partner's published SUMMARY.md via curl. Reads: "Risk scoring v3 API deprecated April 15. New field device_fingerprint required." The consuming agent (in payment-squad's team) reads this information and uses it to inform its work — for example, updating payment integration code to include the new field. Partner can't see payment-squad's internals.
Three squads on different machines. One shared git repo holds the mesh. Each squad: git pull before work, git push after. Write partitioning ensures zero merge conflicts.
When a user invokes this skill to set up a distributed mesh, follow these steps exactly, in order:
Ask these questions (adapt phrasing naturally, but get these answers):
local — same filesystem (just need a path)remote-trusted — different machine, same org, shared git access (need git URL + ref)remote-opaque — different org, no shared auth (need HTTPS URL to published contract).mesh/ directorymesh.jsonUsing the answers from Step 1, create a mesh.json file at the project root. Use mesh.json.example from THIS skill's directory (.squad/skills/distributed-mesh/mesh.json.example) as the schema template.
Structure:
{
"squads": {
"<squad-name>": { "zone": "local", "path": "<relative-or-absolute-path>" },
"<squad-name>": {
"zone": "remote-trusted",
"source": "<git-url>",
"ref": "<branch-or-tag>",
"sync_to": ".mesh/remotes/<squad-name>"
},
"<squad-name>": {
"zone": "remote-opaque",
"source": "<https-url-to-summary>",
"sync_to": ".mesh/remotes/<squad-name>",
"auth": "<none|bearer>"
}
}
}Write this file to the project root. Do NOT write any other code.
Copy the bundled sync scripts from THIS skill's directory into the project root:
Source: .squad/skills/distributed-mesh/sync-mesh.sh
Destination: sync-mesh.sh (project root)
Source: .squad/skills/distributed-mesh/sync-mesh.ps1
Destination: sync-mesh.ps1 (project root)
These are bundled resources. Do NOT generate them — COPY them directly.
--init (if Zone 2 state repo exists)If the user specified a Zone 2 shared state repo in Step 1, run the initialization:
On Unix/Linux/macOS:
bash sync-mesh.sh --initOn Windows:
.\sync-mesh.ps1 -InitThis scaffolds the state repo structure (squad directories, placeholder SUMMARY.md files, root README).
Skip this step if:
Create a decision file at .squad/decisions/inbox/<your-agent-name>-mesh-setup.md with this content:
### <YYYY-MM-DD>: Mesh configuration
**By:** <your-agent-name> (via distributed-mesh skill)
**What:** Configured distributed mesh with <N> squads across zones <list-zones-used>
**Squads:**
- `<squad-name>` — Zone <X> — <brief-connection-info>
- `<squad-name>` — Zone <X> — <brief-connection-info>
- ...
**State repo:** <git-url-if-zone-2-used, or "N/A (local/opaque only)">
**Why:** <user's stated reason for setting up the mesh, or "Enable cross-machine squad coordination">Write this file. The Scribe will merge it into the main decisions file later.
You are done. Do not:
Output a simple completion message:
✅ Mesh configured. Created:
- mesh.json (<N> squads)
- sync-mesh.sh and sync-mesh.ps1 (copied from skill bundle)
- Decision entry: .squad/decisions/inbox/<filename>
Run `bash sync-mesh.sh` (or `.\sync-mesh.ps1` on Windows) before agents start to materialize remote state.❌ Code generation anti-patterns:
mesh-config-validator.js or any validator module❌ Architectural anti-patterns:
git pull is recent enough❌ Scope creep anti-patterns:
© FritzAndFriends, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files in .copilot/skills/distributed-mesh of FritzAndFriends/SharpSite.
Open the folder on GitHubat commit c35e5e0
We found 3 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in FritzAndFriends/SharpSite, which our catalogue first saw on October 7, 2026.
Distributed Mesh next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Distributed Mesh this skillFritzAndFriends/SharpSite | 145 | 2 repos | ~3.1k | Automated safety check: Pass | MIT | |
| Finishing a Development Branchobra/superpowers | 297k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Code Review ChecklistshareAI-lab/learn-claude-code | 78k | 5 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Code Design Rationale Investigatorcursor/plugins | 10k | 9 repos | ~2.6k | Automated safety check: Pass | None | |
| Contributor-First PR MergeHKUDS/OpenHarness | 16k | 1 repos | ~847 | Automated safety check: Pass | MIT | |
| Finishing A Development Branchfarm-fe/farm | 5.6k | 34 repos | ~1.8k | Automated safety check: Pass | MIT |
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
shareAI-lab/learn-claude-code
Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.
cursor/plugins
Digs into why code is shaped the way it is by checking git history, pull requests and connected tools in parallel, then reporting a cited read on the tradeoffs.
HKUDS/OpenHarness
Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.
farm-fe/farm
A skill your agent uses when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for…
TryGhost/Ghost
Moves a package from another TryGhost repository into Ghost as an internal workspace package while keeping its Git history, with checkpoints for the steps that need an administrator.
FritzAndFriends/SharpSite
How to write comprehensive architectural proposals that drive alignment before code is written
FritzAndFriends/SharpSite
Platform detection and adaptive spawning for CLI vs VS Code vs other surfaces
FritzAndFriends/SharpSite
Microsoft Style Guide + Squad-specific documentation patterns
FritzAndFriends/SharpSite
Shifts Layer 3 model selection to cost-optimized alternatives when economy mode is active.
FritzAndFriends/SharpSite
PAO workflow for scanning, drafting, and presenting community responses with human review gate
FritzAndFriends/SharpSite
Safely manage multiple GitHub identities (EMU + personal) in agent workflows
Works with
Categories
How to coordinate with squads on different machines using git as transport. Distributed Mesh is an agent skill from FritzAndFriends/SharpSite.
Distributed Mesh fits situations like: development work in your project.
Run `npx skills add FritzAndFriends/SharpSite --skill distributed-mesh -a claude-code`. Or copy the skill folder (.copilot/skills/distributed-mesh in FritzAndFriends/SharpSite) into .claude/skills/distributed-mesh in your project. Claude Code loads it when a task matches its description.
Run `npx skills add FritzAndFriends/SharpSite --skill distributed-mesh -a codex`. Or copy the skill folder (.copilot/skills/distributed-mesh in FritzAndFriends/SharpSite) into .agents/skills/distributed-mesh in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add FritzAndFriends/SharpSite --skill distributed-mesh -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/distributed-mesh, .gemini/skills/distributed-mesh, .github/skills/distributed-mesh and .opencode/skills/distributed-mesh in your project.
Going by SKILL.md and its folder, Distributed Mesh needs PowerShell and a shell for the scripts in its folder and the command-line tools its instructions call (git and bash). Our summary lists: A Bash shell; PowerShell.
SKILL.md names 1 domain. In commands or code: partner.dev; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Distributed Mesh is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Distributed Mesh: Finishing a Development Branch (obra/superpowers, 297k stars), Code Review Checklist (shareAI-lab/learn-claude-code, 78k stars), Code Design Rationale Investigator (cursor/plugins, 10k stars) and Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
FritzAndFriends (a GitHub organization) maintains it in FritzAndFriends/SharpSite, which has 145 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on April 30, 2026.
Source: FritzAndFriends/SharpSite on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.