Agent skill

Ctrl Clip

by davepoon in davepoon/buildwithclaude

⧉ Copy a message to the system clipboard cleanly formatted — no blockquote pipes, no terminal bars, no Claude commentary.

MITAuto-check passed

Install Ctrl Clip

skills CLI
$ npx skills add davepoon/buildwithclaude --skill ctrl-clip -a claude-code

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

GitHub CLI
$ gh skill install davepoon/buildwithclaude ctrl-clip --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/davepoon/buildwithclaude.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/all-skills/skills/ctrl-clip .claude/skills/ctrl-clip && 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
ctrl-clip
GitHub stars
3.6k
Token cost
~1.2k tokens
SKILL.md length
200 words
Files
4
Skills in repo
245
Repo updated
First seen
Licence
MIT

At a glance

⧉ Copy a message to the system clipboard cleanly formatted — no blockquote pipes, no terminal bars, no Claude commentary.

  • Works in 2 steps: Decide WHAT to copy → Format for the target
  • You draft a message the user will paste (Slack
  • SKILL.md covers 1. Decide WHAT to copy and 2. Format for the target
  • Runs Shell scripts from its folder

What it does

Ctrl Clip is an agent skill from davepoon/buildwithclaude. ⧉ Copy a message to the system clipboard cleanly formatted — no blockquote pipes, no terminal bars, no Claude commentary. Use whenever you draft a message the user will paste (Slack, Teams, PR comment, email) to add a clickable "⧉ ctrl + click" copy link under it, and when the user says "/ctrl-clip", "copy that", "put it on the clipboard" (in any language). Optional argument picks the target format: slack (default), md, plain.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `clip-setup.sh`, `clip-url-handler.sh` and `clip.sh`).

It works with Slack. The repository describes itself as: A single hub to find Claude Skills, Agents, Commands, Hooks, Plugins, and Marketplace collections to extend Claude Code, Claude Desktop, Agent SDK and OpenClaw. The licence is MIT.

When your agent uses it

  • You draft a message the user will paste (Slack
  • Email) to add a clickable ⧉ ctrl + click copy link under it
  • When the user says /ctrl-clip
  • Put it on the clipboard (in any language)

Example prompts

  • “⧉ ctrl + click”
  • “/ctrl-clip”
  • “copy that”
  • “/ctrl-clip”

Requirements

  • A Bash shell
  • Pre-approved tools (allowed-tools): Write, Bash(${CLAUDE_SKILL_DIR}/clip.sh:*), Bash(${CLAUDE_SKILL_DIR}/clip-setup.sh:*)

Workflow steps

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

  1. Decide WHAT to copy
  2. Format for the target

What it can do on your machine

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

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Write
    • Bash(${CLAUDE_SKILL_DIR}/clip.sh:*)
    • Bash(${CLAUDE_SKILL_DIR}/clip-setup.sh:*)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Shell), which the agent can run.

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

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

    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

Ctrl Clip loads about 1.2k tokens when it runs. Until then it costs about 110 tokens; SKILL.md has 200 words of instructions outside code blocks.

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

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 passed

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.

SKILL.md

The full file from davepoon/buildwithclaude at commit 10bfc43, republished under its MIT licence (© davepoon). 200 words, ~1,227 tokens.

Download SKILL.mdSave it as .claude/skills/ctrl-clip/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
ctrl-clip
description
⧉ Copy a message to the system clipboard cleanly formatted — no blockquote pipes, no terminal bars, no Claude commentary. Use whenever you draft a message the user will paste (Slack, Teams, PR comment, email) to add a clickable "⧉ ctrl + click" copy link under it, and when the user says "/ctrl-clip", "copy that", "put it on the clipboard" (in any language). Optional argument picks the target format: slack (default), md, plain.
allowed-tools
Write, Bash(${CLAUDE_SKILL_DIR}/clip.sh:*), Bash(${CLAUDE_SKILL_DIR}/clip-setup.sh:*)
category
communication
license
MIT

⧉ ctrl-clip

Source: https://github.com/geanruca/ctrl-clip (MIT). Also installable as a Claude Code plugin: /plugin marketplace add geanruca/ctrl-clip then /plugin install ctrl-clip@ctrl-clip. Usage: /ctrl-clip [slack|md|plain] [what to copy].

Put text on the user's clipboard so it pastes cleanly. The built-in /copy copies the raw markdown of the last response — blockquotes turn into >/│ pipes and the commentary comes along. This skill copies only the content meant to be pasted, reformatted for its destination.

1. Decide WHAT to copy

Arguments: $ARGUMENTS

  • If the arguments describe the content ("the Slack reply", "the PR description", "the second draft"), copy that.
  • Otherwise copy the most recent drafted message in the conversation (a Slack reply, comment, email, PR text). If the last response had no draft, copy the whole last response.
  • Copy only the draft — never your own framing ("Here's a draft:", "Let me know if…", labels, explanations).
  • Keep the wording verbatim. Reformat, don't rewrite. Don't translate.

2. Format for the target

First word of the arguments selects the format; default is slack.

slack (default — also Teams, WhatsApp, chat)

  • No blockquotes (>), no headings (#), no tables, no horizontal rules.
  • Tables → one line per row: Label: value, value.
  • Bold: *text* (single asterisks). Italic: _text_. Keep inline `code` and fenced blocks.
  • Bullets with - ; blank line between paragraphs.
  • Links as bare URLs.

md (PR descriptions, Azure DevOps / GitHub comments, docs)

  • Keep standard Markdown (headings, **bold**, lists, tables, code fences).
  • Still no blockquotes unless the content genuinely quotes someone.

plain (email body, forms, anything without markup)

  • No markup at all: strip *, _, backticks, #. Bullets become - .
  • Tables → Label: value lines.

3. Copy

  1. Write the formatted text with the Write tool to clip.txt in the session scratchpad directory (fall back to /tmp/claude-clip.txt if there is none). Using a file avoids every shell quoting problem with $, backticks and quotes.
  2. Run:
    ${CLAUDE_SKILL_DIR}/clip.sh <that file>
    The script strips leftover >/│/⏺ markers and trailing whitespace, then copies via wl-copy, xclip, xsel, pbcopy, or OSC 52 (in that order).

4. Confirm

Reply with a single line: the script's ⧉ Copied … output plus the format used, e.g. ⧉ Copied 6 lines / 412 chars (slack). Do not echo the copied text again. If the script fails, show its error line.

Show full SKILL.md (233 more words)Show less

Every draft the user will paste somewhere gets a clickable copy icon (⧉, two overlapping squares) labeled ctrl + click, as a reminder of how to trigger it.

<CLIP_DIR> below is the absolute path of ~/.cache/claude-clip, for example /home/alice/.cache/claude-clip. The "Drafts to paste" rule loaded at session start spells it out. If that rule is not in your context, run ${CLAUDE_SKILL_DIR}/clip-setup.sh once: it registers the Ctrl+click handler if needed and prints CLIP_DIR=…. Never write ~ or $HOME into a path or link — neither is expanded.

  1. Write the formatted text (section 2, no blockquote markers) with the Write tool to <CLIP_DIR>/<id>.claudeclip. <id> is a short unique slug matching [A-Za-z0-9_-]{1,64}, e.g. slack-33247-review.
  2. In the response, show the draft as a blockquote — every line prefixed with > , blank lines as >. The bar is how the user sees exactly what gets copied; nothing else goes inside it.
  3. Right under the blockquote, on its own line: [⧉ ctrl + click](file://<CLIP_DIR>/<id>.claudeclip)

The user Ctrl+clicks the link (a plain click does nothing). If copying breaks, check <CLIP_DIR>/handler.log first — no entry means the click never reached the handler.

Why file://: Claude Code's fullscreen TUI refuses clicks on non-allowlisted schemes (custom claude-clip:// links are never dispatched), but it opens local file:// links with xdg-open. *.claudeclip is registered as application/x-claude-clip, whose default app is clip-url-handler.sh: it copies the file via clip.sh and shows a desktop notification.

© davepoon, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files in plugins/all-skills/skills/ctrl-clip of davepoon/buildwithclaude.

  • SKILL.md
  • clip-setup.sh
  • clip-url-handler.sh
  • clip.sh

Open the folder on GitHubat commit 10bfc43

Compare with similar skills

Ctrl Clip 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.

Ctrl Clip compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ctrl Clip this skilldavepoon/buildwithclaude3.6k—~1.2kAutomated safety check: PassMIT
Agent Browser CLIvercel-labs/agent-browser44k24 repos~864Automated safety check: PassApache-2.0
Slack GIF Creatoranthropics/skills180k29 repos~2kAutomated safety check: PassApache-2.0
Code Design Rationale Investigatorcursor/plugins10k9 repos~2.6kAutomated safety check: PassNone
Electron App Automationvercel-labs/agent-browser44k5 repos~1.7kAutomated safety check: PassApache-2.0
Slack Browser Automationvercel-labs/agent-browser44k1 repos~2.1kAutomated safety check: PassApache-2.0

Similar skills

  • Agent Browser CLI

    vercel-labs/agent-browser

    Official

    Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking…

    44k GitHub starsUsed in 24 repos~864 tokens
    Productivity & AutomationAuto-check passed
  • Slack GIF Creator

    anthropics/skills

    Official

    Provides Slack size and frame limits, Python animation helpers and validators for building animated GIFs sized for emoji and messages.

    180k GitHub starsUsed in 29 repos~2k tokens
    Media & CreativeAuto-check passed
  • Official

    Digs into why code is shaped the way it is by checking git history, pull requests and connected tools in parallel, then reporting a cited read on the tradeoffs.

    10k GitHub starsUsed in 9 repos~2.6k tokens
    DevelopmentAuto-check passed
  • Electron App Automation

    vercel-labs/agent-browser

    Official

    Automates Electron desktop apps such as VS Code, Slack or Discord by connecting agent-browser to their Chrome DevTools Protocol port.

    44k GitHub starsUsed in 5 repos~1.7k tokens
    Productivity & AutomationAuto-check passed
  • Slack Browser Automation

    vercel-labs/agent-browser

    Official

    Drives the Slack web app with the agent-browser CLI to check unread channels, search, read channel details and extract information, with screenshots as evidence.

    44k GitHub starsUsed in 1 repo~2.1k tokens
    Productivity & AutomationAuto-check passed
  • Composio

    ComposioHQ/composio

    Route and complete Composio work across Composio For You and Composio Platform.

    30k GitHub starsUsed in 1 repo~1.7k tokens
    Productivity & AutomationAuto-check passed

More from davepoon/buildwithclaude

All 245 skills in this repo
  • Qwen Vision

    davepoon/buildwithclaude

    A skill your agent uses when the user asks to "analyze video", "watch this video", "what happens in this video", "describe this clip", "review this footage", "classify these videos", "compare…

    3.6k GitHub starsUsed in 1 repo~1.2k tokens
    Auto-check passed
  • Hard Predict Future

    davepoon/buildwithclaude

    Activate this agent for any future-oriented question that requires deep quantitative analysis, historical precedents, and structured scenario planning.

    3.6k GitHub starsUsed in 1 repo~4.2k tokens
    Auto-check passed
  • iOS Hig Design Guide

    davepoon/buildwithclaude

    Build, update, and apply iOS design specifications using Apple Human Interface Guidelines (HIG) source data.

    3.6k GitHub stars~735 tokensUpdated yesterday
    Auto-check passed
  • Video Downloader

    davepoon/buildwithclaude

    Download YouTube videos with customizable quality and format options.

    3.6k GitHub starsUsed in 1 repo~871 tokens
    Auto-check passed
  • Atlas Cloud Media

    davepoon/buildwithclaude

    Discover Atlas Cloud image and video models, inspect their live schemas, and submit one confirmed media generation request with bounded GET polling.

    3.6k GitHub stars~852 tokensUpdated yesterday
    Auto-check passed
  • Slack Gif Creator

    davepoon/buildwithclaude

    Toolkit for creating animated GIFs optimized for Slack, with validators for size constraints and composable animation primitives.

    3.6k GitHub starsUsed in 12 repos~4.3k tokens
    Auto-check passed

Works with

Questions about Ctrl Clip

What does Ctrl Clip do?

⧉ Copy a message to the system clipboard cleanly formatted — no blockquote pipes, no terminal bars, no Claude commentary. Ctrl Clip is an agent skill from davepoon/buildwithclaude. ⧉ Copy a message to the system clipboard cleanly formatted — no blockquote pipes, no terminal bars, no Claude commentary.

When should I use Ctrl Clip?

Ctrl Clip fits situations like: you draft a message the user will paste (Slack; email) to add a clickable ⧉ ctrl + click copy link under it; when the user says /ctrl-clip; put it on the clipboard (in any language).

How do I install Ctrl Clip in Claude Code?

Run `npx skills add davepoon/buildwithclaude --skill ctrl-clip -a claude-code`. Or copy the skill folder (plugins/all-skills/skills/ctrl-clip in davepoon/buildwithclaude) into .claude/skills/ctrl-clip in your project. Claude Code loads it when a task matches its description.

How do I install Ctrl Clip in Codex?

Run `npx skills add davepoon/buildwithclaude --skill ctrl-clip -a codex`. Or copy the skill folder (plugins/all-skills/skills/ctrl-clip in davepoon/buildwithclaude) into .agents/skills/ctrl-clip in your project. Codex loads it when a task matches its description.

Can I use Ctrl Clip 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 davepoon/buildwithclaude --skill ctrl-clip -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ctrl-clip, .gemini/skills/ctrl-clip, .github/skills/ctrl-clip and .opencode/skills/ctrl-clip in your project.

What does Ctrl Clip need to run?

Going by SKILL.md and its folder, Ctrl Clip needs a shell for the scripts in its folder. Our summary lists: A Bash shell. Its frontmatter pre-approves these tools: Write, Bash(${CLAUDE_SKILL_DIR}/clip.sh:*), Bash(${CLAUDE_SKILL_DIR}/clip-setup.sh:*).

Does Ctrl Clip access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Ctrl Clip safe to install?

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.

What licence does Ctrl Clip use?

Ctrl Clip is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ctrl Clip use?

About 1.2k tokens (SKILL.md is roughly 4.9k 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 Ctrl Clip?

Skills that share tags, products or a category with Ctrl Clip: Agent Browser CLI (vercel-labs/agent-browser, 44k stars), Slack GIF Creator (anthropics/skills, 180k stars), Code Design Rationale Investigator (cursor/plugins, 10k stars) and Electron App Automation (vercel-labs/agent-browser, 44k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ctrl Clip?

davepoon (a GitHub user) maintains it in davepoon/buildwithclaude, which has 3,604 GitHub stars. The repository holds 245 skills in this directory. The repository was last updated on October 6, 2026.

Source: davepoon/buildwithclaude on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.