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…
Inspect and analyze uniclipboard's local JSONL logs on a SINGLE machine — query, filter, and time-merge the per-role (gui/daemon/cli) log files to answer "what just happened" or trace a symptom…
$ npx skills add UniClipboard/UniClipboard --skill local-log-debug -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install UniClipboard/UniClipboard local-log-debug --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/local-log-debug .claude/skills/local-log-debug && 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 "local-log-debug" agent skill from https://github.com/UniClipboard/UniClipboard/tree/main/.agents/skills/local-log-debug into .claude/skills/local-log-debug/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "local-log-debug", 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/local-log-debugType 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 local-log-debug -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install UniClipboard/UniClipboard local-log-debug --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/local-log-debug .agents/skills/local-log-debug && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "local-log-debug" agent skill from https://github.com/UniClipboard/UniClipboard/tree/main/.agents/skills/local-log-debug into .agents/skills/local-log-debug/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "local-log-debug", 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 local-log-debug -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install UniClipboard/UniClipboard local-log-debug --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/local-log-debug .cursor/skills/local-log-debug && 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 "local-log-debug" agent skill from https://github.com/UniClipboard/UniClipboard/tree/main/.agents/skills/local-log-debug into .cursor/skills/local-log-debug/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "local-log-debug", 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/local-log-debug--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 local-log-debug -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install UniClipboard/UniClipboard local-log-debug --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/local-log-debug .gemini/skills/local-log-debug && 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 "local-log-debug" agent skill from https://github.com/UniClipboard/UniClipboard/tree/main/.agents/skills/local-log-debug into .gemini/skills/local-log-debug/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "local-log-debug", 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 local-log-debugInstalls 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 local-log-debug -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/local-log-debug .github/skills/local-log-debug && 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 "local-log-debug" agent skill from https://github.com/UniClipboard/UniClipboard/tree/main/.agents/skills/local-log-debug into .github/skills/local-log-debug/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "local-log-debug", 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 local-log-debug -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 local-log-debug --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/local-log-debug .opencode/skills/local-log-debug && 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 "local-log-debug" agent skill from https://github.com/UniClipboard/UniClipboard/tree/main/.agents/skills/local-log-debug into .opencode/skills/local-log-debug/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "local-log-debug", 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.
local-log-debugInspect and analyze uniclipboard's local JSONL logs on a SINGLE machine — query, filter, and time-merge the per-role (gui/daemon/cli) log files to answer "what just happened" or trace a symptom…
Local Log Debug is an agent skill from UniClipboard/UniClipboard. Inspect and analyze uniclipboard's local JSONL logs on a SINGLE machine — query, filter, and time-merge the per-role (gui/daemon/cli) log files to answer "what just happened" or trace a symptom (pairing, sync, transfer, clipboard capture, daemon lifecycle) back through the logs. Use when the user asks to "check the logs", "why did X fail", "what did the daemon do", or describes a bug to diagnose from logs on this one host. NOT for cross-device peer debugging (use dual-side-debug) and NOT for writing/reviewing…
Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `uc-logs.sh`).
It sits in Development, covering Debugging and Responsive design. 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.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 9c76e0f. 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:
jqFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From 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.
Local Log Debug loads about 2.6k tokens when it runs. Until then it costs about 143 tokens; SKILL.md has 1,122 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 UniClipboard/UniClipboard at commit 9c76e0f, republished under its AGPL-3.0 licence (© UniClipboard). 1,122 words, ~2,557 tokens.
.claude/skills/local-log-debug/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Read and reason over uniclipboard's local logs on one machine, across the three process roles (gui / daemon / cli), using the current platform-conventional log layout.
The helper script .agents/skills/local-log-debug/uc-logs.sh is the only
thing you should need to invoke for log work — it resolves the per-platform log
directory, picks the latest file per role, and handles tail / grep / structured
query / time-merge. Don't hand-roll ls/tail/jq pipelines unless the script
genuinely can't express what you need.
| Situation | Use |
|---|---|
| "Check the logs on this machine", trace a symptom from local logs | this skill |
| Cross-device: "Windows didn't receive…", "Mac sent but peer…" | dual-side-debug (two hosts, SMB-mounted peer) |
Writing / reviewing #[instrument], tracing::*, subscriber setup | tracing-best-practices |
| Bundling recent logs to hand off / attach to an issue | uniclip debug export-logs (CLI) — see below |
| Build / cargo / typecheck failures | not these JSONL logs at all |
| Daemon HTTP API behavior or sqlite state | logs are observability, not state |
Single source of truth for where logs live is uc_app_paths::app_log_dir().
Logs are separate from the data root (since the platform-log-dir split) and
are written per role so co-resident processes never share a file.
<app> = app.uniclipboard.desktop[-<UC_PROFILE>]):~/Library/Logs/<app>/$XDG_STATE_HOME/<app>/logs/ (default ~/.local/state/...; falls back to the data-local root)%LOCALAPPDATA%\<app>\logs\<exe>/data/logs/uniclipboard-gui.json.<UTC-date> — the Tauri GUI host (uniclipboard)uniclipboard-daemon.json.<UTC-date> — the detached uniclipd daemonuniclipboard-cli.json.<UTC-date> — the uniclip CLItimestamp (UTC ISO-8601, ends Z, and
is always the first field), level, target, message, usually span
and device_id, plus flattened span/event fields....2026-06-17 file can
be the live one while it's still 2026-06-16 in your local evening.⚠️ Do not trust the older layout. The
dual-side-debugskill and some legacy data roots still reference~/Library/Application Support/.../logs/uniclipboard.json(single file, no role). That is the pre-split layout — wrong for this skill.
The app dir gets a -<profile> suffix from UC_PROFILE. The local dev default
is dev (package.json's tauri:dev sets UC_PROFILE=dev), so the script
assumes dev. Override with --profile <name>, or --profile default for the
no-suffix app.uniclipboard.desktop dir.
UC_LOG_DIRIf the script's platform/profile resolution ever disagrees with reality
(portable build, WSL reading a Windows app's logs under /mnt/c/..., an
unusual mount), set UC_LOG_DIR=/abs/path/to/logs and the script uses it
verbatim. This is also the fallback for a pure-PowerShell host where bash can't
run: resolve the dir per the table above and read the JSONL with your own tools.
status firstBefore answering anything that depends on log content:
.agents/skills/local-log-debug/uc-logs.sh statusThen judge:
--profile default, or check sibling dirs in the parent.live (<2m) / recent (<10m)? Anything
stale / old / cold means that process likely isn't running right now —
you may be reading a frozen session.If the user is actively reproducing but the relevant role is cold/(no file),
stop and confirm the profile before drawing conclusions. Don't silently
analyze stale logs.
Always invoke via the script, from the repo root:
.agents/skills/local-log-debug/uc-logs.sh <command> [args] [flags]| Command | When to use |
|---|---|
status | First call of any session. Profile + resolved dir + per-role freshness. |
paths | Just need the resolved dir and latest file per role (to feed another tool). |
tail | Quick "what just happened" — last 50 lines per selected role. |
grep <pattern> | Plain string match (a device id, an error fragment, a request id). Cheap first probe. |
query --filter '<jq>' | Structured jq filter over the JSONL. Best for level / target / span filters. |
merge | Time-interleave the selected roles into one chronological stream, injecting .role. Use whenever the question is "what happened across gui ↔ daemon around time X". |
--role gui\|daemon\|cli\|all — restrict to a role (default all).--profile <name> — profile override (default dev; default = no suffix).--lines N — output cap for tail/grep/query (default 50); per-file scan depth for merge (default 2000).--since <ISO8601> — merge only: drop lines older than this UTC timestamp.status. Confirm the right profile and that the
relevant role is live. Resolve any profile mismatch with the user first.merge --since.merge --since <UTC> --lines 800.query --filter '.level=="ERROR" or .level=="WARN"', or
by target / span for the suspect subsystem.request_id, transfer_id,
entry_id, device_id, session_token_jti) across roles — the merged view
beats two parallel monologues.Plug these straight into query --filter '<jq>':
# Errors and warnings only
.level == "ERROR" or .level == "WARN"
# One subsystem (substring match on target)
.target | test("pairing|file_transfer|clipboard_sync")
# A specific span chain
.span | test("daemon.ws.connection")
# Around a particular id (works for any flattened field)
.request_id == "b6c8588aa8a8699c"
.device_id == "acf2b4da-a6f9-4b77-9074-e13b0ffc9496"Compact projection for human reading (pipe query/merge output through this):
... | jq -c '{ts:.timestamp, role:.role, lvl:.level, tgt:.target, span:.span, msg:.message}'Real strings seen in these logs, to seed your target/span filters:
| Subsystem | Representative target / span |
|---|---|
| Daemon HTTP/WS API | uc_webserver::api::server, uc_webserver::api::ws, span daemon.ws.connection, uc_webserver::api::control_lease |
| Daemon lifecycle / workers | uc_daemon::daemon::app, uc_daemon::daemon::workers::* (clipboard_watcher, peer_keepalive, file_sync_orchestrator, inbound_clipboard_sync) |
| Clipboard capture (Linux) | uc_platform::clipboard::platform::linux::x11::event_loop (Wayland under the sibling wayland path) |
| Sync / transfer (app layer) | uc_application::usecases::clipboard_sync, uc_application::usecases::file_transfer, uc_application::usecases::mobile_sync, span peer.dispatch |
| Pairing / setup | uc_application::facade::space_setup, uc_application::usecases::pairing_* |
| Search | uc_application::facade::search::coordinator, span search.run_manual_rebuild_now |
| iroh networking (noisy) | iroh::net_report, iroh::magicsock, iroh_relay::ping_tracker, iroh_blobs::store::* |
Note: a lot of iroh* / relay traffic is infra noise. The log profiles already
mute the worst of it; when scanning, prefer filtering to uc_* targets first.
Local log level comes from RUST_LOG > UC_LOG_PROFILE > build type
(debug→Dev, release→Prod). If a subsystem's lines are missing entirely, the
profile may be filtering them — that's a capture problem, not a reading
problem, and belongs to how the app was launched (e.g. uniclip debug on,
UC_LOG_PROFILE=debug_clipboard), not to this skill.
uniclip debug export-logsThe CLI can bundle recent logs for handoff:
uniclip debug export-logs [--since-hours N] # default 24h; writes a dir + manifestUse that when the goal is to package logs (attach to an issue, send to the
user). Use this skill when the goal is to read and reason about them in
place. Related: uniclip debug status|on|off shows/toggles the effective log
profile.
cat whole log files — daemon files get large.status first; a cold file just means the daemon isn't running.uc-logs.sh
first (and confirm against uc_app_paths::app_log_dir()), then this doc.dual-side-debug: that skill reads a second host's
logs over a mount and still uses the old single-file layout.© 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 1 other file in .agents/skills/local-log-debug of UniClipboard/UniClipboard.
Open the folder on GitHubat commit 9c76e0f
Local Log Debug 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 |
|---|---|---|---|---|---|---|
| Local Log Debug this skillUniClipboard/UniClipboard | 1.8k | — | ~2.6k | Automated safety check: Pass | AGPL-3.0 | |
| Debugging Codesickn33/agentic-awesome-skills | 47k | 1 repos | ~3.1k | Automated safety check: Pass | MIT | |
| Openocd Jtagmohitmishra786/low-level-dev-skills | 253 | — | ~1.6k | Automated safety check: Pass | MIT | |
| Gearcoleco Debuggingdrhelius/Gearcoleco | 141 | — | ~3.5k | Automated safety check: Pass | GPL-3.0 | |
| Dbgtheodo-group/debug-that | 158 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Ue Live DebuggingJasonMa0012/MooaToon | 749 | — | ~2.9k | Automated safety check: Notes | Custom licence |
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…
mohitmishra786/low-level-dev-skills
OpenOCD skill for embedded hardware debugging. An agent skill from mohitmishra786/low-level-dev-skills.
drhelius/Gearcoleco
Debug and trace ColecoVision and Super Game Module games using the Gearcoleco emulator MCP server.
theodo-group/debug-that
Debug applications using the dbg CLI debugger. An agent skill from theodo-group/debug-that.
JasonMa0012/MooaToon
A skill your agent uses when debugging UE C++ crashes, runtime bugs, or unexpected behavior with Rider MCP available.
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.
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
Inspect and analyze uniclipboard's local JSONL logs on a SINGLE machine — query, filter, and time-merge the per-role (gui/daemon/cli) log files to answer "what just happened" or trace a symptom…. Local Log Debug is an agent skill from UniClipboard/UniClipboard. Inspect and analyze uniclipboard's local JSONL logs on a SINGLE machine — query, filter, and time-merge the per-role (gui/daemon/cli) log files to answer "what just happened" or trace a symptom (pairing, sync, transfer, clipboard capture, daemon lifecycle) back through the logs.
Local Log Debug fits situations like: the user asks to check the logs; what did the daemon do; describes a bug to diagnose from logs on this one host.
Run `npx skills add UniClipboard/UniClipboard --skill local-log-debug -a claude-code`. Or copy the skill folder (.agents/skills/local-log-debug in UniClipboard/UniClipboard) into .claude/skills/local-log-debug in your project. Claude Code loads it when a task matches its description.
Run `npx skills add UniClipboard/UniClipboard --skill local-log-debug -a codex`. Or copy the skill folder (.agents/skills/local-log-debug in UniClipboard/UniClipboard) into .agents/skills/local-log-debug 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 local-log-debug -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/local-log-debug, .gemini/skills/local-log-debug, .github/skills/local-log-debug and .opencode/skills/local-log-debug in your project.
Going by SKILL.md and its folder, Local Log Debug needs a shell for the scripts in its folder and the command-line tools its instructions call (jq). Our summary lists: A Bash shell.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Local Log Debug 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 2.6k tokens (SKILL.md is roughly 10k 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 Local Log Debug: Debugging Code (sickn33/agentic-awesome-skills, 47k stars), Openocd Jtag (mohitmishra786/low-level-dev-skills, 253 stars), Gearcoleco Debugging (drhelius/Gearcoleco, 141 stars) and Dbg (theodo-group/debug-that, 158 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,847 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 7, 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.