Docs Authoring
TracecatHQ/tracecat
A skill your agent uses when adding or updating documentation pages in an existing docs site.
Push the current branch and open a GitHub pull request against main.
$ npx skills add UniClipboard/UniClipboard --skill create-pr -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install UniClipboard/UniClipboard create-pr --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/create-pr .claude/skills/create-pr && 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 "create-pr" agent skill from https://github.com/UniClipboard/UniClipboard/tree/main/.agents/skills/create-pr into .claude/skills/create-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-pr", 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/create-prType 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 create-pr -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install UniClipboard/UniClipboard create-pr --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/create-pr .agents/skills/create-pr && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "create-pr" agent skill from https://github.com/UniClipboard/UniClipboard/tree/main/.agents/skills/create-pr into .agents/skills/create-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-pr", 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 create-pr -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install UniClipboard/UniClipboard create-pr --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/create-pr .cursor/skills/create-pr && 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 "create-pr" agent skill from https://github.com/UniClipboard/UniClipboard/tree/main/.agents/skills/create-pr into .cursor/skills/create-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-pr", 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/create-pr--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 create-pr -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install UniClipboard/UniClipboard create-pr --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/create-pr .gemini/skills/create-pr && 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 "create-pr" agent skill from https://github.com/UniClipboard/UniClipboard/tree/main/.agents/skills/create-pr into .gemini/skills/create-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-pr", 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 create-prInstalls 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 create-pr -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/create-pr .github/skills/create-pr && 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 "create-pr" agent skill from https://github.com/UniClipboard/UniClipboard/tree/main/.agents/skills/create-pr into .github/skills/create-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-pr", 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 create-pr -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 create-pr --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/create-pr .opencode/skills/create-pr && 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 "create-pr" agent skill from https://github.com/UniClipboard/UniClipboard/tree/main/.agents/skills/create-pr into .opencode/skills/create-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-pr", 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.
create-prPush the current branch and open a GitHub pull request against main.
Create PR is an agent skill from UniClipboard/UniClipboard. Push the current branch and open a GitHub pull request against main. Use when the user says "create PR", "open PR", "make a PR", "提 PR", "开 PR", "打 PR", or otherwise asks to publish their committed work for review. Before pushing it gates the diff on four things — branch name accuracy, stale docs-site/ docs, missing PostHog telemetry, and tracing-spec conformance — and surfaces each as a candidate list for the user to approve.
Its SKILL.md is about 4.6k 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 Development, covering Pull requests and Static sites and blogs. It works with GitHub and PostHog. 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.
7 steps, taken from the step headings 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.
Shell commands in SKILL.md call:
gitghrgFrom 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:
github.comFrom 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.
Create PR loads about 4.6k tokens when it runs. Until then it costs about 111 tokens; SKILL.md has 2,270 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). 2,270 words, ~4,567 tokens.
.claude/skills/create-pr/SKILL.md (or your agent's skills folder).Opening a PR on this repo is mechanically simple (gh pr create) but four things consistently go wrong if rushed:
agate-surgeon, throwaways like wip, or repurposed branches like fix-bug survive into the merged history and make git log --graph useless. The branch name is the only summary that shows up in every future git log line for these commits — get it right before publishing.docs-site/ rots silently. This repo ships its own user-facing docs (docs-site/content/docs/{en,zh}/). Code changes that touch user-visible behavior — CLI flags, settings, timeouts, file formats, error messages, supported environments — almost always have a paragraph somewhere in docs-site/ that now lies. The PR author is the only person with the context to spot it; reviewers will miss it.crates/uc-observability/src/analytics/, schema doc docs/architecture/telemetry-events.md). When a PR adds or changes an activation/reliability flow — pairing, sync, setup, update, mobile-sync — but doesn't capture(Event::...) the new milestone or failure path, the funnel silently goes blind. The author is the only one who knows the flow is new.docs/guides/tracing.md): only the use-case layer owns spans, domain stays span-free, fields must be low-cardinality and privacy-safe, and log levels have defined meanings. New code routinely forgets a use-case span, logs at the wrong level, or leaks high-cardinality / clipboard data into a field.This skill enforces all four checks before pushing, so the PR that lands on GitHub is already named correctly, has its docs/telemetry/tracing gaps either addressed or explicitly deferred with the user's sign-off.
Trigger on any of:
Do not trigger on "commit" / "push" alone — those are pre-PR steps that the user is doing manually.
| Condition | What to do |
|---|---|
Current branch is main | Refuse. Ask the user to pick a branch name; offer to git switch -c <name> for them. Never gh pr create from main. |
git log main..HEAD is empty | Refuse — there's nothing to PR. Ask whether they meant to commit first. |
| Working tree dirty | Pause. Show git status and ask: commit now, stash, or abort? Don't push half-finished work. |
gh not authenticated (gh auth status fails) | Surface the exact error and ask the user to run gh auth login themselves — auth is interactive. |
--no-verify, --force to a shared branch, or amending an already-pushed commit | Don't do these without an explicit user request that names the destructive flag. |
git status # working tree state (never -uall)
git rev-parse --abbrev-ref HEAD # current branch
git log main..HEAD --format="%h %s" # commits this PR will include
git diff main...HEAD --stat # files touched
git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>&1 || echo NO_UPSTREAM
gh auth status 2>&1 | head -5 # auth sanityAlso scan the recent conversation for:
An issue number or URL the user wants this PR to close (e.g. #652, https://github.com/.../issues/652). If present, fetch it once so the Summary can reference it accurately:
gh issue view <N> --repo UniClipboard/UniClipboard --json number,title,body,stateAny user statement that this PR is partial / draft / WIP — that changes the PR body wording and may want gh pr create --draft.
Apply the refuse-conditions in the table above before going further.
Evaluate the current branch name against the commits in git log main..HEAD. A good name:
git branch -a).git log --oneline main.. understand what this branch was for from the name?If the name passes, say so in one line and move on. If it doesn't:
Propose one new name derived from the commit subjects. Don't dump three options — pick the best one and let the user counter.
Show: current name → proposed name, with a one-sentence justification ("the commits are all about X; current name is a codename that doesn't say that").
Ask the user: accept, counter-propose, or skip.
On accept:
git branch -m <new> # rename locally
# If the old name was already pushed:
git push origin -u <new> # push under the new name
git push origin --delete <old> # remove the old remote branchIf the old branch already has an open PR pointing at it, stop and tell the user — renaming will orphan that PR. Don't try to rewire it silently.
docs-site impact review (the part that's easy to skip)The repo's user docs live in docs-site/content/docs/{en,zh}/. Skim the PR diff and identify any change whose user-visible contract may now disagree with the docs. The categories below are the high-yield ones — search the diff for these before declaring no impact.
| Diff category | What to look for | Where docs likely live |
|---|---|---|
| New / renamed / removed CLI subcommand or flag | clap::Subcommand, #[arg(long = ...)], --help strings | docs-site/content/docs/{en,zh}/reference/cli.mdx, related guides |
| Changed default value, timeout, TTL, port, retry count | numeric literal changes, Duration::from_*, const ... = ... | troubleshooting.mdx, settings.mdx, the relevant guide |
| New / renamed setting in the GUI settings panel | setting, preference, config_key symbols touched | docs-site/content/docs/{en,zh}/guides/settings.mdx |
| New / changed user-visible error message or exit code | string literals in error variants, exit_codes.rs | troubleshooting.mdx, reference/cli.mdx |
| Behavior change visible to users (filter rule, capability gate, network path) | comments saying "this is the source of truth for X", new modules with policy logic | pairing.mdx, sync.mdx, quick-panel.mdx, etc. |
| New hidden / dev command worth documenting as "exists but hidden" | files under commands/dev*, comments saying "hidden from --help" | cli.mdx "Hidden commands" section |
| Bumped supported version of a feature | since = "X.Y.Z", version-gated branches | <Feature since="..."> blocks across guides |
For each candidate hit, produce a one-line entry:
- <docs file>:<line> — current text says "<short quote>"; this PR changes <X> so it should say "<short suggested replacement>". (Reason: <which commit / which line in the code>.)Always show the candidate list to the user before editing anything. Even if the list is empty, say so explicitly ("Scanned docs-site; found nothing that depends on this PR's surface area"). Then ask:
On approval, edit the listed files, then commit them as a separate commit:
docs(docs-site): <one-line summary that matches the code change>Don't fold docs edits into a fix/feat commit by amending — keep them as their own commit in the PR. (Amending also breaks the rule about not modifying already-pushed commits.)
Both en/ and zh/ versions must be updated in lockstep when both exist — never ship a PR that updates only one language.
Gate first — skip cheaply. Telemetry is only ever emitted from the use-case layer via self.analytics.capture(Event::...); uc-core and infra never emit. So run this before reading anything:
git diff main...HEAD --name-only | grep -qE '^crates/uc-application/|mobile.sync' || echo SKIP_TELEMETRYIf it prints SKIP_TELEMETRY, state one line ("diff doesn't touch uc-application / mobile-sync — no telemetry surface") and go to Step 5. Do not read the spec docs for an unrelated diff.
If the gate passes, the source of truth (not your memory) is:
crates/uc-observability/src/analytics/events.rs (the Event enum + its enumerable property types). The closed set of events that already exist.docs/architecture/telemetry-events.md: §7 v1 event list, §12 roadmap of planned-but-not-yet-emitted events, §6 privacy contract.You don't need to read these end-to-end. Scan the diff for the key positions below; only when you're about to suggest a specific Event::Variant do you rg '<Variant>' crates/uc-observability/src/analytics/events.rs to confirm it exists (or check §12 if it's planned).
Scan the diff for key positions where a milestone or failure outcome now happens but no capture(...) accompanies it:
| Diff signal | Telemetry that's likely missing |
|---|---|
| New activation milestone (a setup step, pairing handshake completes, first sync/file succeeds) | An Activation event (SetupStarted/Completed, Pairing*, FirstClipboardSync*, …) |
| New or changed sync / transfer outcome branch (success, failure, deferral) | A Reliability event (SyncAttempted/Succeeded/Failed/Deferred) with the right failure_reason / defer_reason enum |
| New failure / error variant on a user-facing flow | The matching *_failed event + a new enum value in its reason type (reasons are closed enums in events.rs) |
| New feature line (update lifecycle, mobile-sync, a new capability) | Check §12 roadmap — the event may already be specified there and just needs wiring |
| A new use case that completes a user-visible action | Decide whether it's a funnel/reliability anchor worth an event at all (not everything is) |
For each candidate, emit a one-line entry:
- <code file>:<line> — <flow> reaches <milestone/outcome> but emits no event. Suggest capture(Event::<Variant>{...}) (or: already specced in telemetry-events.md §<n>). Confidence: <high/low>.Privacy & double-count red lines (from schema doc §6 and the existing call sites) — call these out if the diff violates them, they are bugs not suggestions:
PayloadSizeBucket; latency-sensitive durations (e.g. sync_latency_ms) report a precise u32 while coarse durations use LatencyBucket; everything must stay low-cardinality.RemotePush origin) must not emit capture/DAU events — that double-counts. See the red-line comment around clipboard_capture/usecase.rs.*_v2.Always show the candidate list to the user before adding any instrumentation. If the diff has no telemetry-worthy surface, say so explicitly ("Scanned the uc-application diff; no new activation/reliability milestone, nothing to instrument"). Then ask: add now, or defer (and note it in the PR body)? Telemetry is normal code — if added, it belongs in the relevant feat/fix commit, not the docs commit.
Gate first. This step only applies to Rust changes:
git diff main...HEAD --name-only | grep -qE '\.rs$' || echo SKIP_TRACINGIf SKIP_TRACING, say so in one line and go to Step 6.
Source of truth is the tracing-best-practices skill (which itself encodes docs/guides/tracing.md). Don't restate its full checklist here — invoke/follow it against the diff's Rust files so the rules can't drift out of sync with this skill. The handful of checks that catch the most regressions on this repo:
uc-application) must wrap execution in one usecase.<name>.execute span via .instrument(span). A new use case missing it is the most common gap.uc-core (domain is zero-span), infra, or a Tauri command is a violation, not a gap.info! = use-case start/success + key business transition; debug! = infra detail; warn! = recoverable / user-input error; error! = unrecoverable / corruption. Flag clear mismatches only.Err(...) branch or state transition with no breadcrumb — flag only genuinely new failure/transition paths, mark confidence: low, and don't add speculative "might-need-it-later" logs (the spec forbids those).For each finding, emit:
- <file>:<line> — <which rule> — <what's wrong> → <suggested change>. Confidence: <high/low>.Show the list to the user (or "tracing in this diff conforms — one use-case span, levels and fields look right"). Ask: apply now or defer? Applied tracing fixes go in the relevant code commit, not the docs commit.
Title:
<type>(<scope>): <subject> style already used on main (git log --oneline -10 if unsure).Body, using a heredoc to preserve formatting:
## Summary
<2–4 bullets. One per commit cluster. State the *why* and the user-visible effect; reference commit short SHAs in parentheses so reviewers can map bullet → diff.>
<If an issue is being closed:>
Closes #<N>.
## Test plan
- [x] <Things already verified — `cargo test -p ...`, manual repro, e2e run, etc.>
- [ ] <Things the reviewer or follow-up should verify; be specific enough that someone else can actually do them.>Then push and create:
git push -u origin <branch>
gh pr create --title "<title>" --body "$(cat <<'EOF'
<body>
EOF
)"Add --draft if the user signaled the PR is incomplete.
If git push reports the remote is ahead (someone pushed to your branch), stop — don't --force without confirmation. Ask the user what's on the remote and how they want to reconcile.
Print the PR URL (gh pr create outputs it on success). Add a one-line recap:
Stop there. Don't auto-request reviewers, add labels, or run any other workflow unless the user asks.
gh pr list --head <old> before renaming.--amend. Past-tense --amend on already-pushed commits forces --force-push. Keep docs as a separate commit; it makes review easier anyway.gh issue view X once — don't paraphrase the title from memory.Event variant. The Event enum in events.rs is a closed, frozen set. Before suggesting capture(Event::Foo), confirm Foo exists (or that §12 of the schema doc specs it). Never propose renaming an existing variant.capture(...) or a span is a code change with privacy/cardinality implications — show the candidates and let the user decide; don't silently edit and fold it into an unrelated commit.uc-core changes usually have nothing to instrument. Say "nothing to instrument" rather than forcing a weak event.gh pr create without --body (interactive editor). This skill runs non-interactively; always pass --body via heredoc.git push; come back to this skill when you're ready to publish.git push; GitHub picks them up automatically. Use this skill only for the initial PR creation.trigger-prepare-release./review or $review-strict.© 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
Just SKILL.md in .agents/skills/create-pr of UniClipboard/UniClipboard.
Open the folder on GitHubat commit 9c76e0f
Create PR 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 |
|---|---|---|---|---|---|---|
| Create PR this skillUniClipboard/UniClipboard | 1.8k | — | ~4.6k | Automated safety check: Pass | AGPL-3.0 | |
| Docs AuthoringTracecatHQ/tracecat | 3.8k | — | ~3.1k | Automated safety check: Notes | AGPL-3.0 | |
| Adapter Alignmentevloghq/evlog | 1.9k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Firecrawl Developer Indexfirecrawl/skills | 115 | — | ~2k | Automated safety check: Pass | ISC | |
| Diagnosing CI And Merge BottlenecksPostHog/posthog-foss | 721 | — | ~3.7k | Automated safety check: Pass | MIT | |
| PR Screenshotsbradygaster/squad | 3.3k | — | ~1.1k | Automated safety check: Pass | MIT |
TracecatHQ/tracecat
A skill your agent uses when adding or updating documentation pages in an existing docs site.
evloghq/evlog
Twice-monthly check that evlog's drain adapters still send what each provider's own client sends.
firecrawl/skills
Search an index of public repositories, GitHub issues, merged pull requests, repository READMEs, and curated documentation sites.
PostHog/posthog-foss
Diagnoses CI and pull-request pipeline health for a GitHub repo using the engineering analytics MCP tools — pull-requests (PR list with CI status), workflow-health (per-workflow CI trends), and…
bradygaster/squad
Capture Playwright screenshots and embed them in GitHub PR descriptions
withastro/astro
Write and update Astro pull requests with reviewer-friendly titles and high-signal bodies.
UniClipboard/UniClipboard
Pick and install beUI (@beui) animated React components from the shadcn registry.
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.
UniClipboard/UniClipboard
Record a lesson learned into crates/AGENTS.md (CONVENTIONS or ANTI-PATTERNS section).
Categories
Push the current branch and open a GitHub pull request against main. Create PR is an agent skill from UniClipboard/UniClipboard. Push the current branch and open a GitHub pull request against main.
Create PR fits situations like: the user says create PR; otherwise asks to publish their committed work for review.
Run `npx skills add UniClipboard/UniClipboard --skill create-pr -a claude-code`. Or copy the skill folder (.agents/skills/create-pr in UniClipboard/UniClipboard) into .claude/skills/create-pr in your project. Claude Code loads it when a task matches its description.
Run `npx skills add UniClipboard/UniClipboard --skill create-pr -a codex`. Or copy the skill folder (.agents/skills/create-pr in UniClipboard/UniClipboard) into .agents/skills/create-pr 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 create-pr -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/create-pr, .gemini/skills/create-pr, .github/skills/create-pr and .opencode/skills/create-pr in your project.
Going by SKILL.md and its folder, Create PR needs the command-line tools its instructions call (git, gh and rg).
SKILL.md names 1 domain. In commands or code: github.com; 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.
Create PR 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 4.6k tokens (SKILL.md is roughly 18k 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 Create PR: Docs Authoring (TracecatHQ/tracecat, 3.8k stars), Adapter Alignment (evloghq/evlog, 1.9k stars), Firecrawl Developer Index (firecrawl/skills, 115 stars) and Diagnosing CI And Merge Bottlenecks (PostHog/posthog-foss, 721 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.