agentsclimarketplace

Canopy sync

Skill UniverLab/skills/canopy-sync

UniverLab's catalog of AI agent skills — reusable capabilities for Claude Code and compatible harnesses.

Install
npx -y skills add UniverLab/skills --skill canopy-sync

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use this skill when the Canopy MCP server is available and you are about to act on a shared workspace: writing files, running builds or tests, installing dependencies, or committing. It defines the action-driven sync protocol (sync_get_context, sync_declare_intent, sync_broadcast, sync_report_status) that keeps solo history clean and multi-agent work conflict-free.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

3.0 KB, 578 tokens by cl100k_base, as published. Nobody here has run it

Canopy Sync: Action-Driven Workspace Protocol

Sync is not a "multi-agent only" feature. It's a workspace state protocol you follow based on what action you're about to take, not how many agents are present. Solo agents build history; multi-agent setups get real-time coordination.

This is a tooling skill: it only applies when the Canopy sync tools are present. Behavior rules live in execution-mindset.


Action Protocol

Before any action, check its risk level and follow the corresponding protocol:

Action typeRiskProtocol
Read files, search, analyzelowExecute directly
Run tests, builds, lintersmediumsync_broadcast before + broadcast result
Write files, modify codehighsync_get_context → check conflicts → sync_declare_intent → execute → sync_report_status
Install deps, schema changes, commitsbreakingSame as high + impact="breaking" in declare_intent

get_tools — your action guide

get_tools(scope) returns the right tools + protocol for any situation:

  • get_tools(scope="session_start") — what to do first
  • get_tools(scope="file_write", path="...") — check conflicts before modifying
  • get_tools(scope="test_run") — coordinate test execution
  • get_tools(scope="close_session") — wrap up properly
  • get_tools(scope="multi_agent") — full sync toolkit

Core Rules

  1. Protocol by action, not by count. Don't check participant_count to decide whether to sync — the history matters even when you're alone.
  2. Non-blocking. All sync operations complete immediately. Never wait for responses; act on last-known state.
  3. Communicate intent, not implementation. Missions explain what and why, not how.
  4. The daemon closes missions on exit. You don't need to self-report closure — call sync_report_status("stable", "Mission complete: ...") when done for clean history.

Anti-patterns

❌ Skipping sync because you think you're alone — you don't know who reads this history next session ✅ Follow the action protocol: declare, execute, report. Always.

❌ Excessive broadcasting — dumping every commit message or intermediate step ✅ Broadcast milestones: "Completed auth refactor, all tests passing"

❌ Fine-grained missions — declaring a mission for every file edit ✅ Coarse missions: "Refactoring database layer" covers all related edits

What ships with it: 2 files

2.0 KB alongside SKILL.md

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.