clipboard

A clipboard helper for copying conversation text to the macOS clipboard, either as plain text or with formatting such as headings, bold text, and lists.

In plain words
What is it for?
Use it to copy answers, code, notes, or formatted content into apps such as Slack, Word, Google Docs, or Notion.
Why use it?
It avoids manually selecting and copying text, while preserving formatting when the destination app supports rich text.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/codealive-ai/ai-driven-development/clipboard
Any agent
npx skills add CodeAlive-AI/ai-driven-development --skill clipboard
Clone the repo
git clone --depth 1 https://github.com/CodeAlive-AI/ai-driven-development

Made for: Claude Code, Codex.

Per session 36 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 859 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00036 $0.00859
Opus 5 $0.00018 $0.00430
Sonnet 5 $0.00007 $0.00172
Haiku 4.5 $0.00004 $0.00086

Measured 2d ago against content hash 10c2cb8d1639, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

clipboard scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/clipboard/SKILL.md · 85 lines

How it starts

The opening of the file, as written. The whole thing — 85 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Clipboard

Copy the most recent relevant text block from the conversation to the macOS system clipboard.

Plain Text Copy (Default)

Use a heredoc to safely handle special characters (quotes, apostrophes, backticks, dollar signs):

cat <<'CLIPBOARD' | pbcopy
<text to copy>
CLIPBOARD

Rich Text Copy (Formatted)

Use when the user wants formatting preserved for pasting into Slack, Word, Google Docs, Notion, etc. Sets both HTML and plain text on the clipboard via Swift, so the receiving app picks the richest format it supports.

Step 1: Write the HTML content to a temp file:

cat <<'CLIPBOARD_HTML' > /tmp/_clipboard_rich.html
<html><body>
<h2>Title</h2>
<p>Paragraph with <b>bold</b> and <i>italic</i>.</p>
<ul><li>Item one</li><li>Item two</li></ul>
</body></html>
CLIPBOARD_HTML

Step 2: Write the plain text fallback to a temp file:

cat <<'CLIPBOARD_TEXT' > /tmp/_clipboard_rich.txt
Title

Paragraph with bold and italic.

- Item one
- Item two
CLIPBOARD_TEXT

Step 3: Set clipboard with both HTML and plain text using Swift:

swift -e '
import AppKit

let html = try Data(contentsOf: URL(fileURLWithPath: "/tmp/_clipboard_rich.html"))
let text = try String(contentsOfFile: "/tmp/_clipboard_rich.txt", encoding: .utf8)

let pb = NSPasteboard.general
pb.clearContents()
pb.setData(html, forType: .html)
pb.setString(text, forType: .string)
'

Step 4: Clean up temp files:

rm -f /tmp/_clipboard_rich.html /tmp/_clipboard_rich.txt

When to Use Rich vs Plain

  • Rich (HTML): User says "copy formatted", "copy as rich text", "copy for Slack/LinkedIn/Word/Docs/Notion", or the content has meaningful formatting (bold, headers, lists, code blocks). This is also the correct way to copy for Slack and LinkedIn — they accept HTML rich text from clipboard and render it with proper formatting (bold, lists, code, etc.). Do NOT use Slack mrkdwn or markdown syntax for clipboard copy — use HTML rich text instead, it works universally.
    • ⚠️ Slack does NOT render HTML <table> tags. Tables pasted into Slack appear as a broken mess of text. Instead of <table>, present tabular data as plain-text lines (e.g. Label: value per line, or use <pre> for aligned columns). This also applies to LinkedIn and most chat apps.
  • Plain: Default for code snippets, terminal output, simple text, or when user says "copy to clipboard" without formatting context

Read the full file on GitHub · 85 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 85 lines · 36 tokens per session scan A 10c2cb8d1639

Subscribe to this mod's changes

clipboard is a skill published in the GitHub repository CodeAlive-AI/ai-driven-development (131 stars, last pushed 4d ago), licensed MIT. It adds 36 tokens to every session and 859 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

map-debug

Structured MAP debugging via task-decomposer, actor, and monitor agents. Use when reproducing a bug, isolating a regression, or diagnosing an error with specialized agents — including failing or flaky tests (pytest AssertionError), crashes and segmentation faults, memory-corruption or memory errors in native/C…

azalio/map-framework · 213 tokens

map-learn

Capture reusable lessons after a completed MAP workflow. Use when a MAP run has finished and you want rules written to .claude/rules/learned/ from a workflow summary or handoff. Do NOT use during active implementation.

azalio/map-framework · 51 tokens

map-explain

Deep walkthrough of code, a diff, or the whole project — problem, entities, flow, load-bearing-line rationale, side effects, assumptions, breakage. Use when learning unfamiliar code or auditing a diff.

azalio/map-framework · 46 tokens

map-task

Execute a single subtask from an existing MAP plan via Actor and Monitor. Use when map-plan has decomposed work and you want fine-grained control over one subtask. Do NOT use without an existing plan; run map-plan first.

azalio/map-framework · 51 tokens

map-auto

Single-entry autonomous autopilot: routes a task through the existing MAP workflows via routetask, then drives the selected chain (map-plan -> map-efficient -> map-check -> map-review, as routed) end-to-end to a committed feature branch in one session, auto-approving routine workflow-control holds and hard-stopping on…

azalio/map-framework · 165 tokens

map-release

Execute the mapify-cli package release workflow with validation gates and PyPI publication. Use when shipping a new MAP Framework release. Do NOT use for ordinary feature work; use map-efficient.

azalio/map-framework · 40 tokens