Build Px4 macOS
PX4/PX4-Autopilot
Build PX4 board firmware on macOS in the px4-dev Docker container, including git worktrees, and stage commit-labeled artifacts without flashing hardware.
Push the macOS working-tree changes to the Windows peer's repo via rsync over SSH.
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add UniClipboard/UniClipboard --skill dual-side-sync -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install UniClipboard/UniClipboard dual-side-sync --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/UniClipboard/UniClipboard.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/dual-side-sync .claude/skills/dual-side-sync && 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 "dual-side-sync" agent skill from https://github.com/UniClipboard/UniClipboard/tree/main/.agents/skills/dual-side-sync into .claude/skills/dual-side-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dual-side-sync", 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/UniClipboard/UniClipboard/tree/main/.agents/skills/dual-side-syncType 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 UniClipboard/UniClipboard --skill dual-side-sync -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install UniClipboard/UniClipboard dual-side-sync --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/UniClipboard/UniClipboard.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/dual-side-sync .agents/skills/dual-side-sync && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "dual-side-sync" agent skill from https://github.com/UniClipboard/UniClipboard/tree/main/.agents/skills/dual-side-sync into .agents/skills/dual-side-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dual-side-sync", 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 UniClipboard/UniClipboard --skill dual-side-sync -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install UniClipboard/UniClipboard dual-side-sync --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/UniClipboard/UniClipboard.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/dual-side-sync .cursor/skills/dual-side-sync && 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 "dual-side-sync" agent skill from https://github.com/UniClipboard/UniClipboard/tree/main/.agents/skills/dual-side-sync into .cursor/skills/dual-side-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dual-side-sync", 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/UniClipboard/UniClipboard.git --path .agents/skills/dual-side-sync--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 UniClipboard/UniClipboard --skill dual-side-sync -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install UniClipboard/UniClipboard dual-side-sync --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/UniClipboard/UniClipboard.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/dual-side-sync .gemini/skills/dual-side-sync && 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 "dual-side-sync" agent skill from https://github.com/UniClipboard/UniClipboard/tree/main/.agents/skills/dual-side-sync into .gemini/skills/dual-side-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dual-side-sync", 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 UniClipboard/UniClipboard dual-side-syncInstalls 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 UniClipboard/UniClipboard --skill dual-side-sync -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/UniClipboard/UniClipboard.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/dual-side-sync .github/skills/dual-side-sync && 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 "dual-side-sync" agent skill from https://github.com/UniClipboard/UniClipboard/tree/main/.agents/skills/dual-side-sync into .github/skills/dual-side-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dual-side-sync", 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 UniClipboard/UniClipboard --skill dual-side-sync -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install UniClipboard/UniClipboard dual-side-sync --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/UniClipboard/UniClipboard.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/dual-side-sync .opencode/skills/dual-side-sync && 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 "dual-side-sync" agent skill from https://github.com/UniClipboard/UniClipboard/tree/main/.agents/skills/dual-side-sync into .opencode/skills/dual-side-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dual-side-sync", 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.
dual-side-syncPush the macOS working-tree changes to the Windows peer's repo via rsync over SSH.
Dual Side Sync is an agent skill from UniClipboard/UniClipboard. Push the macOS working-tree changes to the Windows peer's repo via rsync over SSH. Use when the user wants to "sync to win", "push my changes to windows", "mirror the working tree", or otherwise propagate uncommitted edits from this Mac to the paired Windows machine for cross-platform testing of uniclipboard. Replaces the older SMB-mount strategy.
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `config.example.sh` and `sync-to-win.sh`).
It sits in Development. It works with macOS and Git. The repository describes itself as: Real-time clipboard sync across all your devices — local-first, peer-to-peer, and end-to-end encrypted. No account. No cloud dependency. No central server. The licence is AGPL-3.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 101ffb3. 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 (Shell), which the agent can run.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
WIN_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Dual Side Sync loads about 1.6k tokens when it runs. Until then it costs about 91 tokens; SKILL.md has 823 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 patterns that need a careful read before installing.
leave both empty and use `ssh-agent` / `~/.ssh/config`. |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 UniClipboard/UniClipboard at commit 101ffb3, republished under its AGPL-3.0 licence (© UniClipboard). 823 words, ~1,604 tokens.
.claude/skills/dual-side-sync/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.This project pairs a macOS host with a Windows peer to test uniclipboard's cross-platform sync. During active development the same uncommitted change often needs to run on both sides at once. This skill mirrors the mac working tree onto a remote Windows checkout of the same repo, using rsync over ssh.
The helper script lives at .agents/skills/dual-side-sync/sync-to-win.sh. It is the only thing you should invoke for this task — do not hand-roll scp, git apply, or SMB copy commands.
--force to reset it first).tracked + untracked-not-ignored to the win repo.ssh + rm) any files that mac has deleted from its working tree..git/, target/, node_modules/, and dist/ are always excluded. The win-side .git is never touched, no commits are pushed, and win HEAD never moves. The win repo stays "owned" by git on the win side; we only mirror the working tree.
The script needs the developer to provide:
| Field | Required | Notes |
|---|---|---|
WIN_HOST | yes | IPv4/IPv6 or hostname of the Windows machine. |
WIN_PORT | no | SSH port. Defaults to 22. |
WIN_USER | yes | Windows account (the SSH login). |
WIN_REPO | yes | Absolute path of the repo on win, in a form the remote shell understands (e.g. /c/Users/mark/projects/UniClipboard). |
WIN_PASS | one of | Password auth. Requires sshpass on the Mac. |
WIN_KEY | one of | Private-key auth. Or leave both empty and use ssh-agent / ~/.ssh/config. |
Initial setup (run from project root):
cp .agents/skills/dual-side-sync/config.example.sh \
.agents/skills/dual-side-sync/config.local.sh
$EDITOR .agents/skills/dual-side-sync/config.local.shconfig.local.sh is gitignored. The script auto-sources it on every invocation.
Verify:
.agents/skills/dual-side-sync/sync-to-win.sh config # echo back what it loaded
.agents/skills/dual-side-sync/sync-to-win.sh check # ssh login + remote rsync + remote gitGet-Service sshd in PowerShell to confirm).rsync available on the user's PATH for the SSH login. Easiest path: install Git for Windows and ensure its usr\bin\ directory (which contains rsync.exe) is on the SSH user's PATH. MSYS2, Cygwin, or WSL all work too.If sync-to-win.sh check reports "rsync not found on the win side", fix the PATH on the win user before continuing.
Always invoke via the script. From the project root:
.agents/skills/dual-side-sync/sync-to-win.sh <command> [options]| Command | When to use |
|---|---|
config | First call after editing config.local.sh. Confirms the values were picked up. |
check | Verify ssh login, remote rsync, and remote git repo are all reachable. Run this whenever something fails mysteriously. |
status | Show both sides: branch, HEAD, dirty files. Always run before push if you're unsure. |
diff | Show the diffstat of what push would send (tracked changes + untracked files + deletions). |
push | Mirror the mac working tree to win. Refuses if HEADs differ or win is dirty. |
push --force | Reset win first if it's dirty (drops any local edits on win). |
push --dry-run | Show rsync's plan without modifying win. Best last sanity check. |
reset | git reset --hard + git clean -fd on win, preserving target/ and node_modules/. |
ssh | Open an interactive ssh shell on win, or run a one-off remote command (sync-to-win.sh ssh "git -C /c/.../repo log -1"). |
paths | Print resolved MAC_REPO, WIN_REPO, and the remote endpoint. |
sync-to-win.sh config && sync-to-win.sh check.sync-to-win.sh status — make sure both sides are at the same HEAD and you understand what's dirty on each.sync-to-win.sh diff (logical view) and/or sync-to-win.sh push --dry-run (rsync's actual plan) before any destructive run.sync-to-win.sh push. If win is dirty by design (build artifacts only), use --force. If win has real local edits you don't want to lose, save them first.sync-to-win.sh ssh "git -C \"$WIN_REPO\" status --short" or open an interactive shell.git push from one, git pull on the other) and re-run status.check fails — surface the exact failure (ssh, rsync, or repo) and fix that before any push. Do not retry push blindly.push --force or reset.scp or cp files manually — bypassing the script means deletions and excludes get out of sync.push without first confirming status is clean on win (or being explicit with --force).WIN_PASS anywhere except config.local.sh. Never paste it into a chat, commit, or terminal history.EXTRA_EXCLUDES for one-shot use — pass them as --exclude=... into a fork of the rsync call instead, or add them deliberately to the config when they apply long-term.dual-side-debug skill.git push/git pull, no skill required.© UniClipboard, AGPL-3.0. 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 .agents/skills/dual-side-sync of UniClipboard/UniClipboard.
Open the folder on GitHubat commit 101ffb3
Dual Side Sync 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 |
|---|---|---|---|---|---|---|
| Dual Side Sync this skillUniClipboard/UniClipboard | 1.9k | — | ~1.6k | Automated safety check: Warn | AGPL-3.0 | |
| Build Px4 macOSPX4/PX4-Autopilot | 13k | — | ~1.1k | Automated safety check: Pass | BSD-3-Clause | |
| Pulse Releasequnqin24/Pulse | 516 | — | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| Git Worktree Setupk8zdev/k8z | 155 | — | ~930 | Automated safety check: Pass | None | |
| Tk Impact Analysistonkeeper/tonkeeper-web | 444 | — | ~3.7k | Automated safety check: Pass | Apache-2.0 | |
| Mori Agent Bridgevaayne/mori | 303 | — | ~1.7k | Automated safety check: Pass | MIT |
PX4/PX4-Autopilot
Build PX4 board firmware on macOS in the px4-dev Docker container, including git worktrees, and stage commit-labeled artifacts without flashing hardware.
qunqin24/Pulse
Release a new Pulse version end to end — checks, bilingual CHANGELOG entry, VERSION, tag, the release workflow, syncing main, and the issue replies that go with it.
k8zdev/k8z
Automate git worktree creation and copy private files (not tracked in git) to new workdirs.
tonkeeper/tonkeeper-web
Analyze QA regression impact for Tonkeeper Web by comparing the current branch with the relevant release tag, reviewing sources/Web/regress.txt, and recommending test blocks, missing coverage, extra…
vaayne/mori
Use Mori CLI to enable agent-to-agent communication and coordination across Mori-managed panes.
AndyAWD/antigravity-cli-statusline
本技能用於設定 Antigravity 命令列介面(CLI)(agy)的狀態列(Statusline / Footer)顯示指標、顯示順序與多語系介面(繁體中文 zh-tw / English us / 日本語 jp),並自動部署跨平台 Node.js 掛鉤(Hook)腳本(statusline-quota.mjs、fetch-local-quota.mjs)至…
UniClipboard/UniClipboard
Pick and install beUI (@beui) animated React components from the shadcn registry.
UniClipboard/UniClipboard
Push the current branch and open a GitHub pull request against main.
UniClipboard/UniClipboard
定期审计代码库的工程设计问题(高心智复杂度、单一真相源被破坏、catch-all 胖接口、死代码、散落魔法字面量、泄漏抽象、资源生命周期靠环形缓冲)与可优化点,范围限定为自上次审计以来的 git churn,每条发现都落到 file:line 并对照本项目自己的 VISION.md / 各级 AGENTS.md / memory…
UniClipboard/UniClipboard
Inspect uniclipboard logs from BOTH the macOS host and the mounted Windows peer when debugging cross-platform sync, pairing, transfer, or daemon issues.
UniClipboard/UniClipboard
Analyze the current branch's diff against main and determine which changes are testable via CLI-based end-to-end tests.
UniClipboard/UniClipboard
Drive the UniClipboard iOS app in a simulator and read its OSLog yourself to diagnose a mobile-sync bug, instead of asking the user to paste logs.
Categories
Push the macOS working-tree changes to the Windows peer's repo via rsync over SSH. Dual Side Sync is an agent skill from UniClipboard/UniClipboard. Push the macOS working-tree changes to the Windows peer's repo via rsync over SSH.
Dual Side Sync fits situations like: the user wants to sync to win; push my changes to windows; mirror the working tree; otherwise propagate uncommitted edits from this Mac to the paired Windows machine for cross-platform testing of uniclipboard.
Run `npx skills add UniClipboard/UniClipboard --skill dual-side-sync -a claude-code`. Or copy the skill folder (.agents/skills/dual-side-sync in UniClipboard/UniClipboard) into .claude/skills/dual-side-sync in your project. Claude Code loads it when a task matches its description.
Run `npx skills add UniClipboard/UniClipboard --skill dual-side-sync -a codex`. Or copy the skill folder (.agents/skills/dual-side-sync in UniClipboard/UniClipboard) into .agents/skills/dual-side-sync 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 UniClipboard/UniClipboard --skill dual-side-sync -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dual-side-sync, .gemini/skills/dual-side-sync, .github/skills/dual-side-sync and .opencode/skills/dual-side-sync in your project.
Going by SKILL.md and its folder, Dual Side Sync needs a shell for the scripts in its folder, the command-line tools its instructions call (git) and credentials named WIN_KEY. Our summary lists: A Bash shell; A credential in WIN_KEY.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md flagged 1 warning(s): mentions a credentials file (ssh keys, cloud or package-manager tokens). Read the flagged lines before installing; the check is not a guarantee either way.
Dual Side Sync is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.4k 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 Dual Side Sync: Build Px4 macOS (PX4/PX4-Autopilot, 13k stars), Pulse Release (qunqin24/Pulse, 516 stars), Git Worktree Setup (k8zdev/k8z, 155 stars) and Tk Impact Analysis (tonkeeper/tonkeeper-web, 444 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
UniClipboard (a GitHub organization) maintains it in UniClipboard/UniClipboard, which has 1,856 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 8, 2026.
Source: UniClipboard/UniClipboard on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.