mareksulik/contentshot
contentshot
⌥ 키를 두 번 누르면 현재 보고 있는 기사, YouTube 자막, Reddit 스레드, 표, PDF, 이메일 또는 Finder 파일을 다음 프롬프트에 첨부하고 Obsidian Clippings 노트로 저장할 수 있는 macOS 전용 Claude Code mod입니다.
이 mod 소개
contentshot은 ⌥ 키를 두 번 눌러 눈앞의 콘텐츠(선택한 텍스트, 기사, 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
