Agent skill

Cross Device Diagnose

by UniClipboard in UniClipboard/UniClipboard

Agent Loop for cross-device sync/transfer issues: collect environment fingerprints from BOTH machines first, check memory for known patterns, manage hypotheses with forced falsification, and persist…

AGPL-3.0Auto-check: warningsFrontend & Design

Install Cross Device Diagnose

The automated check flagged lines worth reading first. See the safety section below.

skills CLI
$ npx skills add UniClipboard/UniClipboard --skill cross-device-diagnose -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install UniClipboard/UniClipboard cross-device-diagnose --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/UniClipboard/UniClipboard.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/cross-device-diagnose .claude/skills/cross-device-diagnose && rm -rf skills-src

Use ~/.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/

Facts

Skill name
cross-device-diagnose
GitHub stars
1.9k
Token cost
~3.8k tokens
SKILL.md length
1,116 words
Files
1
Skills in repo
24
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Agent Loop for cross-device sync/transfer issues: collect environment fingerprints from BOTH machines first, check memory for known patterns, manage hypotheses with forced falsification, and persist…

  • Works in 6 steps: Environment Fingerprint (MANDATORY FIRST… → Hypothesis Registration → Evidence Collection → …
  • Tasks that involve Responsive design
  • SKILL.md covers Purpose, When to trigger, When NOT to use and State file, plus 9 more sections
  • Calls ssh

What it does

Cross Device Diagnose is an agent skill from UniClipboard/UniClipboard. Agent Loop for cross-device sync/transfer issues: collect environment fingerprints from BOTH machines first, check memory for known patterns, manage hypotheses with forced falsification, and persist evidence via $wrap. Orchestrates dual-side-debug + local-log-debug + systematic-debugging into a structured loop.

Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Frontend & Design, covering Responsive design, Debugging and Autonomous loops. 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.

When your agent uses it

  • Tasks that involve Responsive design
  • Tasks that involve Debugging
  • Tasks that involve Autonomous loops

Example prompts

  • “/cross-device-diagnose”

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Environment Fingerprint (MANDATORY FIRST STEP)
  2. Hypothesis Registration
  3. Evidence Collection
  4. Forced Falsification
  5. Loop or Conclude
  6. Persist via $wrap

What it can do on your machine

Read from SKILL.md and the folder at commit add157e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • ssh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use ssh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Cross Device Diagnose loads about 3.8k tokens when it runs. Until then it costs about 84 tokens; SKILL.md has 1,116 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~84
When it runs · the whole SKILL.md, loaded when a task matches
~3.8k

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.

Safety

Auto-check: warnings

The automated check found patterns that need a careful read before installing.

  • WarningMentions a credentials file (SSH keys, cloud or package-manager tokens)SKILL.md:368
    Use `ssh win` (relies on `~/.ssh/config`). If password is needed:

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.

SKILL.md

The full file from UniClipboard/UniClipboard at commit add157e, republished under its AGPL-3.0 licence (© UniClipboard). 1,116 words, ~3,810 tokens.

Download SKILL.mdSave it as .claude/skills/cross-device-diagnose/SKILL.md (or your agent's skills folder).
name
cross-device-diagnose
description
Agent Loop for cross-device sync/transfer issues: collect environment fingerprints from BOTH machines first, check memory for known patterns, manage hypotheses with forced falsification, and persist evidence via $wrap. Orchestrates dual-side-debug + local-log-debug + systematic-debugging into a structured loop.

cross-device-diagnose

Purpose

An Agent Loop that orchestrates cross-device debugging with a disciplined, evidence-based process. It eliminates the recurring pattern where 50% of hypotheses are wrong, environment issues masquerade as code bugs, and debug context is lost across sessions.

Observed anti-patterns (from 50 recent sessions):

  • Session S35: 25 prompts to diagnose LAN sync speed → root cause was BBR3 congestion controller, not code logic
  • Session S29: 10 prompts chasing overlay address filtering → half spent on environment (Clash TUN, Tailscale)
  • Session S22: 7 prompts on restore sync delay → ended up being iroh relay path, not application bug
  • Session S28: 6 prompts on file sync failure → needed SSH password 3 times across retries

The loop:

text
1. Environment fingerprint (BOTH machines)  ← catches 40% of issues upfront
2. Memory pattern matching                  ← avoids re-investigating known issues
3. Hypothesis registration + prior ranking  ← parallel hypotheses, not serial guessing
4. Evidence collection (logs, state)        ← using existing tools
5. Forced falsification                     ← try to DISPROVE before concluding
6. Loop or escalate

When to trigger

  • /cross-device-diagnose — start the diagnostic loop
  • User reports a sync, transfer, pairing, or connectivity issue between two devices
  • Symptoms like "Mac sent but Windows didn't receive", "同步很慢", "文件/图片同步失败"
  • Any issue where the problem might be on either end

When NOT to use

  • Single-machine issues → use local-log-debug + systematic-debugging
  • Build/compilation errors → use error-diagnose-fix
  • CI/PR failures → use pr-greenlight
  • Just reading logs (no diagnosis needed) → use dual-side-debug directly

State file

/tmp/codex-xdd-state.json:

json
{
  "started_at": "ISO timestamp",
  "round": 0,
  "max_rounds": 5,
  "symptom": "Windows restore does not sync to Mac within 3s",
  "environment": {
    "mac": { "fingerprint_collected": true, "data": {} },
    "win": { "fingerprint_collected": true, "data": {} }
  },
  "memory_matches": [],
  "hypotheses": [
    {
      "id": 1,
      "description": "iroh relay path instead of direct LAN connection",
      "prior": "high",
      "status": "active|confirmed|ruled_out",
      "evidence_for": [],
      "evidence_against": [],
      "falsification_test": "check conn_type in logs for direct IP vs relay"
    }
  ],
  "evidence_ledger": [
    {
      "round": 0,
      "source": "mac-env-fingerprint",
      "observation": "Clash TUN active, 198.18.0.1 is default gateway",
      "hypothesis_impact": { "1": "supports" }
    }
  ],
  "ssh_config": {
    "host": "win",
    "needs_password": true
  }
}

Phase 1 — Environment Fingerprint (MANDATORY FIRST STEP)

Before looking at ANY logs or code, collect environment fingerprints from both machines. This catches proxy/VPN/network issues that masquerade as application bugs.

1a — Mac fingerprint

Run all of these in parallel:

bash
# Network interfaces and IPs
ifconfig | grep -E 'flags|inet ' | grep -B1 'inet '

# Default route
netstat -rn | grep default | head -3

# DNS configuration
scutil --dns | grep 'nameserver' | head -5

# Proxy/VPN detection
pgrep -lf 'clash|mihomo|v2ray|tailscale|wireguard|openvpn' 2>/dev/null
networksetup -getwebproxy Wi-Fi 2>/dev/null
networksetup -getsocksfirewallproxy Wi-Fi 2>/dev/null

# Check for TUN interfaces (198.18.x = Clash fake-ip, 100.x = Tailscale)
ifconfig | grep -A2 'utun\|tun' | grep inet

# Uniclipboard daemon status
pgrep -lf uniclip 2>/dev/null
.agents/skills/local-log-debug/uc-logs.sh status 2>/dev/null
1b — Windows fingerprint (via SSH)
bash
ssh win "ipconfig & netstat -rn | findstr 0.0.0.0 & tasklist | findstr /i \"clash mihomo tailscale wireguard v2ray\" & netstat -an | findstr 42720"

If SSH fails or needs password, ask the user ONCE and note the config in state. Do not ask again.

1c — Analyze fingerprints

Build a structured assessment:

text
Environment Assessment:
  Mac:
    LAN IP: 192.168.1.100 (en0, Wi-Fi)
    Proxy: Clash TUN active (utun3, 198.18.0.1 gateway) ⚠️
    Tailscale: active (100.114.7.75 on utun4) ⚠️
    Daemon: running (PID 12345, profile=dev, log fresh)

  Windows:
    LAN IP: 192.168.1.129 (Ethernet)
    Proxy: Clash active (PID 5678) ⚠️
    Tailscale: not detected ✓
    Daemon: running (profile=dev)

  ⚠️ Both machines have Clash TUN active.
     Known issue: TUN mode hijacks UDP (198.18.0.1) and breaks iroh hole-punching.
     See memory: lan-sync-slow-tun-proxy-tailscale.md
1d — Check memory for matching patterns

Read the MEMORY.md index and scan for relevant entries:

bash
grep -i "sync\|slow\|proxy\|tun\|tailscale\|relay\|transfer\|clipboard\|restore" \
  ${CODEX_HOME:-$HOME/.codex}/memories/MEMORY.md

For each match, read the memory file and check if the current symptom fits. Known patterns in this project:

MemoryPatternQuick check
lan-sync-slow-tun-proxy-tailscale.mdLAN slow = both sides have TUN proxyCheck for 198.18.0.1 gateway
presence-asymmetry-and-restart-red-herrings.mdText works but images don't = blob channel issueTest text vs image separately
mobile-sync-file-becomes-url.mdFile copied → URL received = outbound meta/file forkCheck entry type on sender
issue1029-image-xpm-undecodable.mdImage syncs "successfully" but can't paste = wrong MIMECheck image MIME in logs
macos-text-dedup-permanent-swallows-recopy.mdRe-copy same text = watcher dedup swallows itCheck for MEANINGFUL_REDEDUP
iroh-production-perf-gotchas.mdHairpin NAT, CUBIC/BBR3, FsStore blockingCheck conn_type stability

If a memory matches, report it immediately — it may short-circuit the entire investigation.

Phase 2 — Hypothesis Registration

Based on the symptom + environment fingerprint + memory matches, register ALL plausible hypotheses at once (not just one):

text
Hypotheses (ranked by prior probability):

  H1 [HIGH] Clash TUN intercepting iroh UDP
     Prior: Both machines have TUN active; known issue in memory
     Falsification: Disable Clash on one side, retry

  H2 [MEDIUM] iroh selecting relay instead of direct LAN path
     Prior: conn_type logs previously showed relay/LAN oscillation
     Falsification: grep conn_type in logs, check if direct IP used

  H3 [LOW] Application-layer bug in restore dispatch
     Prior: Only if H1/H2 ruled out; restore logic was recently refactored
     Falsification: Check dispatch logs for error/skip/timeout
Prior probability guidelines
PriorWhen to assign
HIGHEnvironment fingerprint shows a known issue, OR memory match is exact
MEDIUMSymptom is consistent but environment looks clean; needs log evidence
LOWRequires a code bug in recently-tested logic; unlikely but possible

Always test HIGH-prior hypotheses first. This is the key efficiency gain — environment issues are caught before wasting rounds on code investigation.

Phase 3 — Evidence Collection

3a — Quick tests for HIGH-prior hypotheses

For environment issues, run quick experiments first:

bash
# H1: Can the machines reach each other directly on LAN?
ping -c 3 192.168.1.129

# H1: Is iroh using direct connection?
.agents/skills/dual-side-debug/dual-logs.sh grep "conn_type" --lines 20

# H2: What address is iroh connecting to?
.agents/skills/dual-side-debug/dual-logs.sh grep "connect selected path" --lines 10
3b — Log analysis for MEDIUM-prior hypotheses

Use the existing tools — don't hand-roll:

bash
# Time-aligned view around the symptom
.agents/skills/dual-side-debug/dual-logs.sh merge --since "2026-06-21T10:00:00Z" --lines 400

# Filter to relevant subsystem
.agents/skills/dual-side-debug/dual-logs.sh query --filter '.target | test("sync|dispatch|transfer|restore")'

# Errors only
.agents/skills/dual-side-debug/dual-logs.sh query --filter '.level == "ERROR" or .level == "WARN"'
3c — Record every observation

Every piece of evidence goes into the ledger with its hypothesis impact:

json
{
  "round": 1,
  "source": "dual-logs merge",
  "observation": "conn_type = Ip(100.79.191.42:56445) — Tailscale address, not LAN",
  "hypothesis_impact": {
    "H1": "strongly supports",
    "H2": "supports (relay not used, but wrong IP chosen)",
    "H3": "neutral"
  }
}

Phase 4 — Forced Falsification

Before declaring a root cause, actively try to disprove it.

For each hypothesis marked as "supported by evidence":

  1. State the falsification test: "If H1 is correct, then disabling Clash should immediately improve speed. If speed doesn't improve, H1 is wrong."

  2. Run the test (or ask the user to run it if it requires their action):

    To test H1, please:
      1. Disable Clash on your Mac (quit the app or toggle TUN off)
      2. Restart the uniclipboard daemon
      3. Try the sync again
    
    If it's still slow after this, H1 is ruled out.
  3. Record the result:

    • Falsified → mark hypothesis as ruled_out, never revisit
    • Survived → hypothesis is strengthened but still not proven
    • Need another round → register what additional evidence would prove/disprove it
Falsification discipline
  • A hypothesis is NOT confirmed just because evidence is consistent with it
  • At least ONE attempt to disprove is required before confirming
  • If the user provides the falsification result ("still slow after disabling Clash"), update the hypothesis immediately

Phase 5 — Loop or Conclude

Conclude (root cause found)

When a hypothesis has:

  1. Multiple pieces of supporting evidence
  2. Survived at least one falsification attempt
  3. No contradicting evidence

→ Declare root cause with confidence level:

text
Root cause identified (HIGH confidence):

  H1: Clash TUN intercepting iroh UDP traffic
  
  Evidence:
    ✓ Both machines have TUN active (env fingerprint)
    ✓ iroh conn_type using 100.x Tailscale address instead of 192.168.x LAN
    ✓ Known pattern from memory (lan-sync-slow-tun-proxy-tailscale.md)
    ✓ Falsification survived: disabling Clash on Mac → sync improved to 17MB/s

  Recommended fix:
    - Short term: disable Clash TUN when using uniclipboard
    - Long term: filter Clash fake-ip (198.18.0.0/15) from iroh candidates
Show full SKILL.md (448 more words)Show less
Loop (need more evidence)

If no hypothesis is conclusive after a round:

  • Increment round
  • Re-rank hypotheses based on new evidence
  • Promote MEDIUM → HIGH or demote HIGH → LOW based on evidence
  • Collect more targeted evidence
Escalate (stuck)

If stuck after 3 rounds (same hypotheses, no new evidence):

text
⚠️ Diagnosis inconclusive after 3 rounds.

  Active hypotheses:
    H2 [MEDIUM] iroh relay path — some evidence but not conclusive
    H3 [LOW] application bug — no evidence for or against

  Ruled out:
    H1 ✗ Clash TUN — falsified (still slow after disabling)

  Suggested next steps:
    A) Add diagnostic tracing to the suspect code path and reproduce
    B) Run a minimal reproduction (p2p-bench between the two machines)
    C) Escalate to iroh upstream (if the issue is in the networking layer)
Max rounds (5): stop
bash
rm -f /tmp/codex-xdd-state.json

Report all findings, ruled-out hypotheses, and remaining unknowns. Suggest whether to file an issue or continue in a focused session.

Phase 6 — Persist via $wrap

When the session ends (user says "enough for now" or switches tasks), remind them to $wrap. The debug state from this skill's state file should be captured in $wrap's active-task.json under the debug section:

json
"debug": {
  "active": true,
  "symptom": "Windows restore → Mac sync delay ~3.4s",
  "hypotheses_tried": ["H1: Clash TUN (ruled out)", "H2: relay path (partially confirmed)"],
  "hypotheses_ruled_out": ["H1"],
  "evidence": ["conn_type=Ip(100.x)", "ping LAN=1ms", "Clash disabled no improvement"],
  "current_hypothesis": "H2: iroh candidate selection prefers Tailscale over LAN"
}

The next session's $continue-task will present this debug state, and this skill can resume from round N instead of restarting.

SSH workflow

First connection

Ask the user for SSH details exactly once:

text
To diagnose both sides, I need SSH access to the Windows machine.
  Host: win (or IP?)
  Password needed? (will not be stored in state file)
Subsequent connections

Use ssh win (relies on ~/.ssh/config). If password is needed:

bash
sshpass -p "$WIN_PASS" ssh win "<command>"

Never store the password in the state file or any persisted document.

Windows command gotchas
  • Default shell is cmd.exe, not PowerShell
  • Use findstr instead of grep
  • Use type instead of cat
  • Use tasklist instead of ps
  • Paths use backslashes: %LOCALAPPDATA%\app.uniclipboard.desktop-dev\logs\
  • For complex queries, use powershell -Command "..." explicitly

Safety guardrails

  • Environment fingerprint is MANDATORY before any hypothesis work
  • Never confirm a root cause without at least one falsification attempt
  • Never retry a ruled-out hypothesis (even across sessions via $wrap state)
  • SSH password is never persisted — ask the user each session
  • Max 5 rounds (cross-device debug is expensive in time)
  • Don't modify code during diagnosis — this skill is read-only investigation
  • If the root cause is environmental (not a code bug), say so clearly — don't force a code fix

Relationship to other skills

SkillRole in this loop
dual-side-debugTool: fetches and merges logs from both machines
local-log-debugTool: reads single-machine logs
systematic-debuggingMethodology: Phase 4 falsification discipline comes from here
$wrapPersistence: saves debug state for cross-session continuity
$continue-taskResume: restores debug state to avoid re-investigating
error-diagnose-fixNot used: that's for build errors, not runtime/sync issues

Anti-patterns

  • Diving into code before collecting environment fingerprints
  • Pursuing a single hypothesis serially (test H1 → fail → test H2 → fail → ...) instead of registering all hypotheses upfront and ranking by prior
  • Declaring root cause without falsification ("evidence supports H1" ≠ "H1 is the root cause")
  • Ignoring memory matches ("I know this looks like the TUN issue, but let me investigate from scratch")
  • Asking for the SSH password more than once per session
  • Dumping 200 lines of raw logs without interpretation
  • Blaming code when the environment is the problem (and vice versa)
  • Spending 5 rounds on a LOW-prior hypothesis while a HIGH-prior one was never tested
  • Losing debug state across sessions because $wrap wasn't called

© 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

Files

Just SKILL.md in .agents/skills/cross-device-diagnose of UniClipboard/UniClipboard.

Open the folder on GitHubat commit add157e

Compare with similar skills

Cross Device Diagnose 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.

Cross Device Diagnose compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cross Device Diagnose this skillUniClipboard/UniClipboard1.9k—~3.8kAutomated safety check: WarnAGPL-3.0
Eclipse Debuggradusnikov/eclipse-chatgpt-plugin172—~1.3kAutomated safety check: PassMIT
Tui Bug Huntuw-syfi/vibesys105—~6.5kAutomated safety check: PassMIT
Debug Microflowsmendixlabs/mxcli129—~1.9kAutomated safety check: PassApache-2.0
Tabz BrowserGGPrompts/TabzChrome147—~730Automated safety check: PassMIT
Debugging Codesickn33/agentic-awesome-skills47k1 repos~3.1kAutomated safety check: PassMIT

Similar skills

  • Eclipse Debug

    gradusnikov/eclipse-chatgpt-plugin

    Debug Java applications in Eclipse — set breakpoints, launch in debug mode, step through code, inspect stack traces, evaluate expressions, and hot-swap code changes.

    172 GitHub stars~1.3k tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Tui Bug Hunt

    uw-syfi/vibesys

    Drive the VibeSys terminal UI (TUI) headlessly via tmux against real Claude-Code-provider runs, to find and report display bugs, frontend/interaction glitches, backend/protocol problems, and…

    105 GitHub stars~6.5k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Debug Microflows

    mendixlabs/mxcli

    Drive the Mendix runtime's microflow and nanoflow debugger from the command line with mxcli debug — breakpoints by name, variable inspection, step and continue.

    129 GitHub stars~1.9k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Tabz Browser

    GGPrompts/TabzChrome

    Browser automation via 70 tabz MCP tools. An agent skill from GGPrompts/TabzChrome.

    147 GitHub stars~730 tokensUpdated 12 days ago
    Productivity & AutomationAuto-check passed
  • Debugging Code

    sickn33/agentic-awesome-skills

    Interactively debug source code — set breakpoints, step through execution line by line, inspect live variable state, evaluate expressions against the running program, and navigate the call stack to…

    47k GitHub starsUsed in 1 repo~3.1k tokens
    DevelopmentAuto-check passed
  • Openocd Jtag

    mohitmishra786/low-level-dev-skills

    OpenOCD skill for embedded hardware debugging. An agent skill from mohitmishra786/low-level-dev-skills.

    252 GitHub stars~1.6k tokensUpdated 3 mo ago
    DevelopmentAuto-check passed

More from UniClipboard/UniClipboard

All 24 skills in this repo
  • Beui

    UniClipboard/UniClipboard

    Pick and install beUI (@beui) animated React components from the shadcn registry.

    1.9k GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Create PR

    UniClipboard/UniClipboard

    Push the current branch and open a GitHub pull request against main.

    1.9k GitHub stars~4.6k tokensUpdated today
    Auto-check passed
  • Design Audit

    UniClipboard/UniClipboard

    定期审计代码库的工程设计问题(高心智复杂度、单一真相源被破坏、catch-all 胖接口、死代码、散落魔法字面量、泄漏抽象、资源生命周期靠环形缓冲)与可优化点,范围限定为自上次审计以来的 git churn,每条发现都落到 file:line 并对照本项目自己的 VISION.md / 各级 AGENTS.md / memory…

    1.9k GitHub stars~554 tokensUpdated today
    Auto-check passed
  • Dual Side Debug

    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.

    1.9k GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • E2E Test Thinker

    UniClipboard/UniClipboard

    Analyze the current branch's diff against main and determine which changes are testable via CLI-based end-to-end tests.

    1.9k GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • iOS Log Diagnose

    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.

    1.9k GitHub stars~1.1k tokensUpdated today
    Auto-check passed

Questions about Cross Device Diagnose

What does Cross Device Diagnose do?

Agent Loop for cross-device sync/transfer issues: collect environment fingerprints from BOTH machines first, check memory for known patterns, manage hypotheses with forced falsification, and persist…. Cross Device Diagnose is an agent skill from UniClipboard/UniClipboard. Agent Loop for cross-device sync/transfer issues: collect environment fingerprints from BOTH machines first, check memory for known patterns, manage hypotheses with forced falsification, and persist evidence via $wrap.

When should I use Cross Device Diagnose?

Cross Device Diagnose fits situations like: tasks that involve Responsive design; tasks that involve Debugging; tasks that involve Autonomous loops.

How do I install Cross Device Diagnose in Claude Code?

Run `npx skills add UniClipboard/UniClipboard --skill cross-device-diagnose -a claude-code`. Or copy the skill folder (.agents/skills/cross-device-diagnose in UniClipboard/UniClipboard) into .claude/skills/cross-device-diagnose in your project. Claude Code loads it when a task matches its description.

How do I install Cross Device Diagnose in Codex?

Run `npx skills add UniClipboard/UniClipboard --skill cross-device-diagnose -a codex`. Or copy the skill folder (.agents/skills/cross-device-diagnose in UniClipboard/UniClipboard) into .agents/skills/cross-device-diagnose in your project. Codex loads it when a task matches its description.

Can I use Cross Device Diagnose in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add UniClipboard/UniClipboard --skill cross-device-diagnose -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cross-device-diagnose, .gemini/skills/cross-device-diagnose, .github/skills/cross-device-diagnose and .opencode/skills/cross-device-diagnose in your project.

What does Cross Device Diagnose need to run?

Going by SKILL.md and its folder, Cross Device Diagnose needs the command-line tools its instructions call (ssh).

Does Cross Device Diagnose access the network?

SKILL.md contains no URLs. Its commands use ssh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Cross Device Diagnose safe to install?

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.

What licence does Cross Device Diagnose use?

Cross Device Diagnose 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.

How many tokens does Cross Device Diagnose use?

About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Cross Device Diagnose?

Skills that share tags, products or a category with Cross Device Diagnose: Eclipse Debug (gradusnikov/eclipse-chatgpt-plugin, 172 stars), Tui Bug Hunt (uw-syfi/vibesys, 105 stars), Debug Microflows (mendixlabs/mxcli, 129 stars) and Tabz Browser (GGPrompts/TabzChrome, 147 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cross Device Diagnose?

UniClipboard (a GitHub organization) maintains it in UniClipboard/UniClipboard, which has 1,867 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 10, 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.