Process Inbox
telegramdesktop/tdesktop
Process the local ignored ai-tdesktop inbox into durable, independently testable Telegram Desktop task records while task execution worktrees remain active.
Processes Drafts Pro captures from the Inbox folder. An agent skill from nicepkg/ai-workflow.
$ npx skills add nicepkg/ai-workflow --skill capture-triage -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nicepkg/ai-workflow capture-triage --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/nicepkg/ai-workflow.git skills-src && mkdir -p .claude/skills && cp -r skills-src/workflows/video-creator-workflow/.claude/skills/capture-triage .claude/skills/capture-triage && rm -rf skills-srcUse ~/.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/
Install the "capture-triage" agent skill from https://github.com/nicepkg/ai-workflow/tree/main/workflows/video-creator-workflow/.claude/skills/capture-triage into .claude/skills/capture-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "capture-triage", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/nicepkg/ai-workflow/tree/main/workflows/video-creator-workflow/.claude/skills/capture-triageType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add nicepkg/ai-workflow --skill capture-triage -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nicepkg/ai-workflow capture-triage --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nicepkg/ai-workflow.git skills-src && mkdir -p .agents/skills && cp -r skills-src/workflows/video-creator-workflow/.claude/skills/capture-triage .agents/skills/capture-triage && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "capture-triage" agent skill from https://github.com/nicepkg/ai-workflow/tree/main/workflows/video-creator-workflow/.claude/skills/capture-triage into .agents/skills/capture-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "capture-triage", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nicepkg/ai-workflow --skill capture-triage -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nicepkg/ai-workflow capture-triage --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nicepkg/ai-workflow.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/workflows/video-creator-workflow/.claude/skills/capture-triage .cursor/skills/capture-triage && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "capture-triage" agent skill from https://github.com/nicepkg/ai-workflow/tree/main/workflows/video-creator-workflow/.claude/skills/capture-triage into .cursor/skills/capture-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "capture-triage", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/nicepkg/ai-workflow.git --path workflows/video-creator-workflow/.claude/skills/capture-triage--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add nicepkg/ai-workflow --skill capture-triage -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nicepkg/ai-workflow capture-triage --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nicepkg/ai-workflow.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/workflows/video-creator-workflow/.claude/skills/capture-triage .gemini/skills/capture-triage && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "capture-triage" agent skill from https://github.com/nicepkg/ai-workflow/tree/main/workflows/video-creator-workflow/.claude/skills/capture-triage into .gemini/skills/capture-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "capture-triage", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install nicepkg/ai-workflow capture-triageInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add nicepkg/ai-workflow --skill capture-triage -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nicepkg/ai-workflow.git skills-src && mkdir -p .github/skills && cp -r skills-src/workflows/video-creator-workflow/.claude/skills/capture-triage .github/skills/capture-triage && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "capture-triage" agent skill from https://github.com/nicepkg/ai-workflow/tree/main/workflows/video-creator-workflow/.claude/skills/capture-triage into .github/skills/capture-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "capture-triage", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nicepkg/ai-workflow --skill capture-triage -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nicepkg/ai-workflow capture-triage --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nicepkg/ai-workflow.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/workflows/video-creator-workflow/.claude/skills/capture-triage .opencode/skills/capture-triage && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "capture-triage" agent skill from https://github.com/nicepkg/ai-workflow/tree/main/workflows/video-creator-workflow/.claude/skills/capture-triage into .opencode/skills/capture-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "capture-triage", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
capture-triageProcesses Drafts Pro captures from the Inbox folder. An agent skill from nicepkg/ai-workflow.
Capture Triage is an agent skill from nicepkg/ai-workflow. Processes Drafts Pro captures from the Inbox folder. Classifies by intent, shows preview for approval, routes to Ready as tasks. Use when triaging captures, processing mobile notes, or as part of daily review. Triggers on "triage captures", "process captures", "check my captures".
Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including scripts, reference files and assets (for example `docs/GUIDE.md` and `docs/ROADMAP.md`).
It sits in Productivity & Automation, covering Email management and Time tracking and reporting. The repository describes itself as: 🚀 170+ pre-built skills for Claude Code, Cursor, Codex & 14+ AI tools. Stop re-teaching your AI the same things. One command → instant domain expertise. Marketing, SEO, Trading… The licence is MIT.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit d167b41. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadGlobGrepEditWriteAskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/, which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
x.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Capture Triage loads about 3k tokens when it runs. Until then it costs about 74 tokens; SKILL.md has 1,063 words of instructions outside code blocks.
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.
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); the scripts in this folder are not scanned.
The full file from nicepkg/ai-workflow at commit d167b41, republished under its MIT licence (© nicepkg). 1,063 words, ~2,956 tokens.
.claude/skills/capture-triage/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.Turns mobile captures into actionable tasks in your Ready queue. Everything captured has intent - this skill makes it explicit so task-clarity-scanner can decide what's important.
Ed - capturing quick thoughts in Drafts Pro throughout the day.
Everything captured has intent. Route to Ready, let task-clarity-scanner decide what moves to Someday/Maybe.
No passive filing. Every capture becomes a decision point.
Inbox: /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/Inbox/
Processed: /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/Inbox/Processed/
Daily note: /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/YYYY-MM-DD.md
Projects: /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/PROJECT - *.md
Contacts: /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/CONTACT - *.md| Term | What It Means |
|---|---|
| Inbox folder | /Zettelkasten/Inbox/ - where Drafts Pro sends mobile notes |
| Captures section | ## Captures in daily note - links to docs created today |
| Ready destination | ## Ready section in daily note - where triaged tasks go |
Remember: This skill reads from the Inbox FOLDER and routes to the Ready SECTION. Tasks go to Ready section only - Captures section is for document links.
Important: Only check files directly in Inbox/, NOT subdirectories.
ls /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/Inbox/*.md 2>/dev/nullIf no files found: Report "No captures waiting" and stop. If files found: Continue to Step 2.
Pull active project names from mission-context skill AND:
Glob: /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/PROJECT - *.mdBuild a list of project names for matching.
This step can run in background. Read and classify all captures before surfacing to user.
For each .md file in Inbox:
Surface to user only after ALL files are read and classified.
For x-bookmark files (filename starts with x-):
tweet_url from YAML frontmatterFor other captures with URLs:
url:, source_url:, or link: in frontmatter[text](url) in bodyIf capture content looks like a summary (has structure, headers, quotes sources):
[PROCESSED]Signals of processed content:
Priority Rule: Inline hints override auto-detection. Check for these FIRST:
IDEA: or Idea: → IDEAResearch: → RESEARCH (triggers swarm option)for [Project Name] → PROJECT_UPDATETask: or TODO: → TASKAuto-Detection (if no inline hint):
| Signal | Classification |
|---|---|
| Starts with verb (call, email, buy, check, send, schedule) | TASK |
Contains Research: hint or explicit question needing investigation | RESEARCH |
| "What if..." or speculative language | IDEA |
| Mentions active project name | PROJECT_UPDATE |
| Person's name + action context | CONTACT |
| Links, articles, saved content, observations | REFERENCE |
Two-Step Pattern: Show preview table first, then ask decision in a separate message. Let user absorb the information before asking what to do.
Show what you found. Let user absorb the information first:
## Capture Triage Preview
Found [N] captures. Here's how I've classified them:
| # | File | Preview | Classification | Suggested Routing |
|---|------|---------|----------------|-------------------|
| 1 | note1.md | "Call dentist..." | TASK | Ready: Call dentist (MM-DD) |
| 2 | note2.md | "What if we..." | IDEA | Ready: Consider: [idea] (MM-DD) |
| 3 | summary.md | [PROCESSED] "Article about..." | REFERENCE | Ready: Review: [title] (MM-DD) |
| 4 | question.md | "Research: how do..." | RESEARCH | Spawn research-swarm? |Pause here. Let the user see and absorb the table before asking for a decision.
After showing the table, ask ONE question using AskUserQuestion:
How would you like to proceed?
1. **Approve all** - Route everything as shown
2. **Go one-by-one** - Review each item individually
3. **Modify** - Change specific classifications before routing
4. **Skip all** - Don't process any captures right nowKey points:
After approval, route each capture:
| Classification | Destination | Format |
|---|---|---|
| TASK | Ready | - [ ] [action] (MM-DD) |
| IDEA | Ready | - [ ] Consider: [idea] (MM-DD) |
| REFERENCE | Ready | - [ ] Review: [linked title](URL) - brief context (MM-DD) |
| RESEARCH | If approved: spawn agent | See Step 7 |
| PROJECT_UPDATE | Project file | Timestamped append to ## Context Gathered |
| CONTACT | Create note + Ready | - [ ] Follow up with [Name] (MM-DD) |
IMPORTANT: Review tasks MUST include links.
For REFERENCE items, always include the source link so Ed can find it:
[Title](https://x.com/author/status/ID)[Article Title](URL)[[Document Name]][Video Title](URL)If a capture has no URL but references external content, note this: (source needed)
Edit Instructions:
For each item routed to Ready:
/Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/YYYY-MM-DD.md## Ready section## Captures - that section is for document links onlyExample Edit operation:
old_string: "## Ready\n- [ ] existing task"
new_string: "## Ready\n- [ ] existing task\n- [ ] [new task from capture] (01-06)"If creating PROJECT or CONTACT files: Those files get created separately, and a
LINK to them goes in Ready as a task (e.g., - [ ] [[PROJECT - Name]] - brief desc).
Only spawn research-swarm if:
Research: inline hint AND user confirmedFor each approved RESEARCH item:
Task(
description="Research: [Topic]",
prompt="Research question: [Full capture content]
Use research-swarm pattern to investigate. Save findings to Zettelkasten.
When complete, add review task to Ready: '- [ ] Review: [[Research - Topic]] (MM-DD)'",
subagent_type="research-swarm",
run_in_background=true
)Add placeholder to daily note:
- [RESEARCH] [Topic] - swarm running in backgroundWhen a capture mentions a person with action context:
CONTACT - [Name].md exists## Interactions sectionContact Note Template:
---
type: contact
created: YYYY-MM-DD
source: capture-triage
---
# [Person Name]
## Context
[Original capture content]
## Interactions
- YYYY-MM-DD: Initial capture - [summary]
## Follow-up
[Any implied next steps]After routing each capture:
mv "[Inbox file]" "[Processed folder]"Move files to Inbox/Processed/ as safety net (preserves originals).
## Capture Triage - YYYY-MM-DD HH:MM
**Processed:** N items | **Research spawned:** M (if any)
### Routed to Ready
- [N] tasks
- [N] ideas (Consider:)
- [N] references (Review:)
### Research Running
- [Topic] - spawned at HH:MM
### Actions Taken
- Moved N files to Inbox/Processed/
- Created CONTACT - [Name].md (if any)
- Updated PROJECT - [Name].md (if any)Inbox folder contains 4 files:
1. "Call dentist Monday about cleaning"
2. "What if we did a 5-day hook challenge?"
3. [PROCESSED] "Summary of Karpathy video - 6 paradigm shifts..."
4. "Research: how do successful coaches use AI?"Skill shows:
## Capture Triage Preview
| # | Capture | Classification | Suggested Action |
|---|---------|----------------|------------------|
| 1 | "Call dentist..." | TASK | → Ready: "Call dentist Monday (01-05)" |
| 2 | "What if we..." | IDEA | → Ready: "Consider: 5-day hook challenge (01-05)" |
| 3 | [PROCESSED] "Summary of Karpathy..." | REFERENCE | → Ready: "Review: [Karpathy video](URL) - 6 paradigm shifts (01-05)" |
| 4 | "Research: how do coaches..." | RESEARCH | → Spawn research-swarm? |
Approve all, modify, or skip items?User approves all, including research swarm for #4.
Result:
## Ready section| Version | Date | Changes |
|---|---|---|
| 1.0 | 2025-01-05 | Initial build as inbox-triage |
| 2.0 | 2025-01-05 | Renamed to capture-triage, added dry run, AskUserQuestion flow, all routes to Ready |
| 2.1 | 2026-01-06 | Renamed folder Captures→Inbox, split Step 5 into two-step preview, explicit Ready section routing, background OK for classification |
| 2.2 | 2026-01-12 | Added requirement: Review tasks MUST include source links (URL or wikilink). Added Step 3b to extract URLs from frontmatter (especially x-bookmark tweet_url) |
© nicepkg, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 6 other files (scripts, references, assets) in workflows/video-creator-workflow/.claude/skills/capture-triage of nicepkg/ai-workflow.
Open the folder on GitHubat commit d167b41
Capture Triage 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Capture Triage this skillnicepkg/ai-workflow | 285 | — | ~3k | Automated safety check: Pass | MIT | |
| Process Inboxtelegramdesktop/tdesktop | 33k | 2 repos | ~4.5k | Automated safety check: Pass | GPL-3.0 | |
| Continuetelegramdesktop/tdesktop | 33k | 2 repos | ~9.4k | Automated safety check: Pass | GPL-3.0 | |
| Garden Inboxpaperclipai/paperclip | 98k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Career-Ops Gmail Lead Plugincareer-ops-hq/career-ops | 74k | — | ~233 | Automated safety check: Notes | MIT | |
| Skill CompassEvol-ai/SkillCompass | 216 | 1 repos | ~3.1k | Automated safety check: Pass | MIT |
telegramdesktop/tdesktop
Process the local ignored ai-tdesktop inbox into durable, independently testable Telegram Desktop task records while task execution worktrees remain active.
telegramdesktop/tdesktop
Continue autonomous Telegram Desktop development from the shared ai-tdesktop repository.
paperclipai/paperclip
Scan a Paperclip user's Mine inbox, classify reversible archive candidates, request checkbox confirmation, and archive only accepted selections.
career-ops-hq/career-ops
Pulls job leads from a Gmail label into the career-ops pipeline, extracting job URLs from DMARC-passing emails and de-duplicating against existing leads.
Evol-ai/SkillCompass
Evaluate skill quality, find the weakest dimension, and apply directed improvements.
Atomic-Mail/atomic-mail-agentic
Read and write email through the Atomic Mail from an AI agent.
nicepkg/ai-workflow
Transform legacy codebases into AI-ready projects with Claude Code configurations.
nicepkg/ai-workflow
Writing coach that extracts educational content from your daily experiences and turns it into publish-ready newsletter drafts.
nicepkg/ai-workflow
Content web architecture framework. An agent skill from nicepkg/ai-workflow.
nicepkg/ai-workflow
Create complete Claude Code workflow directories with curated skills.
nicepkg/ai-workflow
Video/audio/image processing with FFmpeg and ImageMagick. An agent skill from nicepkg/ai-workflow.
nicepkg/ai-workflow
Plans, creates, and optimizes digital marketing campaigns including content strategy, social media, email marketing, SEO, and AI visibility (GEO).
Categories
Processes Drafts Pro captures from the Inbox folder. An agent skill from nicepkg/ai-workflow. Capture Triage is an agent skill from nicepkg/ai-workflow. Processes Drafts Pro captures from the Inbox folder.
Capture Triage fits situations like: triaging captures; processing mobile notes; as part of daily review; triage captures.
Run `npx skills add nicepkg/ai-workflow --skill capture-triage -a claude-code`. Or copy the skill folder (workflows/video-creator-workflow/.claude/skills/capture-triage in nicepkg/ai-workflow) into .claude/skills/capture-triage in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nicepkg/ai-workflow --skill capture-triage -a codex`. Or copy the skill folder (workflows/video-creator-workflow/.claude/skills/capture-triage in nicepkg/ai-workflow) into .agents/skills/capture-triage in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nicepkg/ai-workflow --skill capture-triage -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/capture-triage, .gemini/skills/capture-triage, .github/skills/capture-triage and .opencode/skills/capture-triage in your project.
SKILL.md names no scripts, command-line tools or credentials: Capture Triage is instructions for the agent only. Its frontmatter pre-approves these tools: Read, Glob, Grep, Edit, Write, AskUserQuestion.
SKILL.md names 1 domain. In commands or code: x.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Capture Triage is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Capture Triage: Process Inbox (telegramdesktop/tdesktop, 33k stars), Continue (telegramdesktop/tdesktop, 33k stars), Garden Inbox (paperclipai/paperclip, 98k stars) and Career-Ops Gmail Lead Plugin (career-ops-hq/career-ops, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
nicepkg (a GitHub organization) maintains it in nicepkg/ai-workflow, which has 285 GitHub stars. The repository holds 61 skills in this directory. The repository was last updated on January 20, 2026.
Source: nicepkg/ai-workflow on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.