mareksulik/contentshot
contentshot
⌥ キーを 2 回押すと、現在見ている記事、YouTube の字幕、Reddit スレッド、表、PDF、メール、Finder ファイルを次のプロンプトに添付でき、Obsidian Clippings ノートとして保存もできる macOS 専用 Claude Code mod です。
この mod について
contentshot では ⌥ キーを 2 回押すと、目の前のコンテンツ(選択テキスト、記事、YouTube の字幕、Reddit スレッド、ソーシャル投稿、広告や分析ダッシュボードの表、スプレッドシート、Google Docs、PDF、メール、Finder ファイルなど)をプレーンテキストとして取得し、次の Claude Code プロンプトに添付できます。Obsidian Web Clipper 形式で指定した Clippings フォルダーへ保存することもできます。組み込みの /contentshot コマンドで保存フォルダー、権限、リスナーの再起動、状態を管理します。macOS、Xcode Command Line Tools、Accessibility、Screen Recording、Input Monitoring、ブラウザーの JavaScript from Apple Events 権限が必要です。データはすべてローカルに残りますが、取得範囲にプライベートな内容が含まれることがあります。
インストール
まず作者の README で marketplace とプラグイン名を確認してください。コマンドはリポジトリの構成によって変わる場合があります。
claude plugin marketplace add mareksulik/contentshot claude plugin install contentshot
原文 / README
contentshot
Press both ⌥ keys in any app and Claude gets the content you are looking at, not a picture of it: the article without the menus, the YouTube transcript, the Reddit thread with its comments, the table you selected. It is attached to your next Claude Code prompt and, if you choose a folder, saved as a note in Obsidian Clippings/ in the same format as the Obsidian Web Clipper.
contentshot is a Claude Code mod for the terminal and the Code tab of the Claude desktop app, macOS only. Its sibling appshot (⌘+⌘) sends a screenshot of the window instead.
What ⌥+⌥ takes
The most specific thing in front of you wins: selected text first, then the kind of page or app, else the window.
| Where you are | What it takes | Note tag |
| --- | --- | --- |
| Text selected anywhere | the selection and where it came from | selection |
| Article in Safari, Chrome, Arc, Brave, Edge | the article text, title, author, date, URL | article |
| YouTube video | transcript with timestamps, description, channel, the moment you are at | youtube |
| Reddit thread | post and the whole comment tree, nested by reply | reddit |
| X post | the post, the thread before it and the replies, without ads | x |
| LinkedIn, Instagram, Threads, TikTok post | author, text, comments | linkedin, instagram, … |
| Meta Ads Manager, GA4, Google Ads | the tables on screen, as Markdown | meta-ads, ga4, google-ads |
| Google Sheets, Excel, Numbers | the selected cells; in Sheets with one cell selected, the whole sheet | sheet |
| Google Docs | the document text | google-docs |
| PDF in Preview or Acrobat | the whole text, page by page | pdf |
| An image opened on its own in the browser | the image file | image |
| Mail (selected message) | sender, recipients, date, attachments, body | email |
| Finder with files selected | the files (prompt only) | — |
| Finder with nothing selected | the folder and its contents (prompt only) | — |
| Anything else | screenshot and window text (prompt only) | — |
The cards above the prompt show what is attached: 🔍 opens the saved note in Obsidian (or the source), ✕ drops it, and Odoslať ➤ sends it without typing a question (the desktop app keeps its own send button off while the prompt is empty).
Commands
| Command | What it does |
| --- | --- |
| /contentshot clippings <folder> | Save notes to this folder (your vault's Clippings); off stops saving |
| /contentshot clear | Drop the pending contentshots |
| /contentshot permissions | Ask macOS for the permissions contentshot needs |
| /contentshot restart | Restart the ⌥+⌥ listener |
| /contentshot status | Listener state, Clippings folder, pending count |
Requirements
- macOS with the Xcode Command Line Tools (
xcode-select --install), which provideswiftc. - In System Settings › Privacy & Security, allow the app that runs Claude Code under Accessibility, Screen Recording and Input Monitoring.
/contentshot permissionsraises the prompts. - Automation: macOS asks once per app (Safari, Chrome, Finder, Mail) the first time contentshot reads it.
- Browsers: turn on Allow JavaScript from Apple Events (Safari › Settings › Developer; Chrome › View › Developer).
Privacy
contentshot has no server and collects nothing. What it takes stays on your Mac, in ~/.claude/contentshot/ and in the Clippings folder you choose, and reaches Anthropic only inside the Claude Code conversation you send it in, under your own account. What it reads can include private things (an email, an ad account's numbers), so press ⌥+⌥ only on what you mean to share with Claude and keep in your notes.
What it runs, reads and writes
- Helper program. On first start the mod compiles
helper/contentshot.swiftwithswiftcinto~/.claude/contentshot/bin/contentshot. It listens only to modifier keys, to notice both ⌥ keys; it does not see what you type. It reads the front app's name, window title, open document and selected text through the Accessibility API, extracts PDF text with PDFKit, and for tables presses ⌘C and puts your clipboard back right after. - Browser tabs. Through
osascriptit runs a read-only script in the front tab. That script may fetch, with your own login, the page's own data from the same site: a Reddit thread's.json, a Google Sheet's CSV export, a Google Doc's text export. - Other apps.
osascriptreads the Finder selection and the selected Mail message.screencapturetakes the window when nothing else fits. - Downloads. An image opened on its own is fetched with
curlfrom its own URL. - Files. Pending clips, screenshots and settings in
~/.claude/contentshot/; notes and images in your Clippings folder. - What Claude receives. Each pending clip is added to your next prompt as a
<contentshot>block. The mod submits a prompt only when you press Odoslať ➤.
License
MIT
