ljg-skill-clip: A clipboard pipeline for Claude Code

A single SKILL.md file turns "save this" into a structured workflow, fetching web content, cleaning it, tagging it, and filing it into Org-mode with almost no friction.

7 min read • View on GitHub • More from lijigang

A wide editorial illustration of a terminal-powered machine that pulls in a web page printout and a raw note card, then outputs a tidy notebook page into a file drawer. It explains the article's core idea: a markdown skill can behave like a capture pipeline instead of a passive prompt.
The repo's central trick is not fancy automation. It is turning a conversation in Claude Code into a reliable intake path.
Key Takeaways

A clipboard you can talk to

Most clipping tools ask you to stop thinking and start copying. This repo does the opposite. You speak to Claude Code, pass it a URL or a block of raw text, and ljg-skill-clip turns that intent into a structured capture that lands in inbox.org.

That sounds small until you notice the shape of the workflow. There is no browser extension to babysit, no new database to learn, no second app fighting for attention. The skill behaves like a tiny intake desk with one rule: everything gets normalized before it touches disk.

值钱的不是 7 个 skill 本身,而是它把“理解内容 → 重写表达 → 视觉转译”做成了一套可拼装的工作流。

Simon的白日梦 (Simon's Daydream), Tech Blogger · 李继刚开源AI技能库

Inside SKILL.md, the prompt as a state machine

The surprise is how procedural the markdown is. The skill branches on input type, calls Claude's WebFetch tool when there is a URL, strips junk, translates Markdown into Org syntax, maps tags, and appends the result with metadata. In other words, a prompt file is acting like a control program.

A close-up of a mechanical selector arm inside the machine, choosing between a web feed, a text card, and a side branch. It illustrates how the skill routes different inputs through different paths before anything gets written down.
The first decision is not about style or formatting. It is about classification, and that choice determines the rest of the run.

The skill behaves like a decision tree, not a single command. The first branch classifies intent, the second branch decides whether to fetch or parse, and the last branch decides whether to hand the job to another skill.

That branching matters because it keeps the user in intent space. The same phrase, "clip this," can resolve into different execution paths without forcing the user to pick tools first. The skill becomes a router for meaning, not just a command wrapper.

* Captured item title
:PROPERTIES:
:SOURCE: https://example.com/article
:STATUS: clipped
:END:
Short body text in Org syntax.

IF input is URL:
  fetch
  clean
ELSE:
  parse text
convert to Org
tag
append to inbox.org
IF +xray:
  hand off to ljg-xray

Why Org-mode is the destination

Org-mode is not an incidental output format. It is the destination that makes the rest of the design worth caring about. Plain text stays portable, grepable, and local. A single inbox.org file also creates a clear rule: capture fast first, organize later.

That choice tells you who this is for. It is for people who would rather own their notes than rent them from a SaaS database, and who want an AI front end without giving up a text-first back end. The repo is opinionated, but the opinion is coherent: keep the source of truth boring and durable.

A WSJ-style hedcut portrait of Li Jigang rendered from his GitHub avatar. It supports the origin section, reminding readers this is a single-author workflow tool rather than a faceless framework.

The +xray escape hatch

The cleanest sign of design maturity here is the handoff. Instead of bloating one skill until it does everything, ljg-skill-clip can pass special cases to a sibling skill through +xray. That is familiar Unix thinking, translated into Claude Code: one tool for intake, another tool for deeper analysis.

This is where the repo stops feeling like a prompt and starts feeling like a system. The skill is not just reacting to input, it is deciding when it should stop and let another module take over. That boundary keeps the workflow legible and keeps the responsibilities separate.

值钱的不是 7 个 skill 本身,而是它把“理解内容 → 重写表达 → 视觉转译”做成了一套可拼装的工作流。

Simon的白日梦 (Simon's Daydream), Tech Blogger · 李继刚开源AI技能库

What it beats, and what it does not

Against browser clipper extensions, the advantage is fewer context switches. Against note apps, the advantage is less schema and less UI. Against a normal script, the advantage is that the agent can make judgment calls before the file write.

A split scene with a messy browser-and-notes workflow on one side and a single clean terminal-to-inbox path on the other. It shows the trade-off between scattered clipping and one opinionated local capture flow.
The project does not try to win on features. It wins by collapsing the distance between intention, transformation, and storage.
DimensionBrowser clipperNote appljg-skill-clipNormal script
Input pathPoint and click in the browserCopy and paste into an appSpeak the request in Claude CodeWrite or wire every input path yourself
Output shapeOften raw text or a highlight dumpRich, but tied to app structureOrg-mode entries in one inboxWhatever the script was coded to emit
Local ownershipDepends on the extensionDepends on the platformPlain text in a local fileDepends on your storage choice
ExtensibilityUsually limitedModerate, but UI-heavy+xray can hand off to a sibling skillHigh, but fully manual
Best fitCasual clippingGeneral note takingClaude Code plus Org-mode power usersDevelopers who want full control

The trade-off is obvious and acceptable. This only shines if you already want Claude Code in the loop and you value Org-mode as a storage layer. If you want a general-purpose consumer clipper, this is too opinionated. If you want a capture pipeline that feels like a dialogue, that opinion is the product.

Origin context: Li Jigang's style

Li Jigang's work has a recognizable shape. It treats prompts as engineered artifacts, not loose prose, and it prefers composable skills over sprawling applications. That matters here because ljg-skill-clip does not read like a one-off utility. It reads like a narrow, repeatable interface.

The GitHub avatar portrait matters because the repo feels signed. The value is not just in the capture flow itself, but in the discipline behind it. The implementation stays small, the workflow stays explicit, and the destination stays local.

Why this matters beyond one repo

What this repo suggests is bigger than clipboard capture. It points to a category of software where a short instruction file can own the decision tree, the formatting rules, and the destination. That is a useful pattern for power users because it scales by composability, not by UI surface area.

If the future of agent tooling is going to be practical, it will look less like one giant app and more like a handful of small skills that know exactly where to hand things off. ljg-skill-clip is a clean example of that idea already working.