Agent skill
youtube-history-markdown-triage
Given pasted Markdown of YouTube watch history, triage which videos are worth distilling for this AI-assisted software development vault, check whether they are already captured in raw/, and propose the top priorities.
Install this agent skill to your Project
npx add-skill https://github.com/dudarev/ai-assisted-software-development/tree/main/.agents/skills/youtube-history-markdown-triage
SKILL.md
YouTube History (Markdown) Triage
When to use
Use this skill when the user asks to analyze their YouTube watch history and they paste Markdown (instead of relying on Chrome/AppleScript extraction).
Inputs
Required:
history_markdown: user-pasted Markdown containing YouTube URLs (optionally as[Title](URL)links)
Optional:
priority_count: how many top picks to recommend (default: 10)include_shorts:true|false(default:false)focus: 1-sentence focus (default: “AI-assisted software development”)
Outputs
- A ranked list of candidate videos (top
priority_count) with short reasons. - A “captured vs not captured” check against
raw/for those candidates. - A question asking which videos to capture/distill next.
Procedure
1) Normalize, dedupe, and hard-skip obvious off-topic items
Take the user’s pasted Markdown and run the helper script to:
- extract YouTube video URLs + IDs
- dedupe by video ID
- detect whether each ID is already present in
raw/(best-effort) - hard-skip obvious off-topic topics (defaults: physics/math, politics/war, sports/fitness, cars, entertainment), configurable via
.agents/skills/youtube-history-markdown-triage/filters.json
Run (paste the user’s Markdown into the heredoc):
python3 .agents/skills/youtube-history-markdown-triage/scripts/check_youtube_history_md.py --raw-dir raw --out /tmp/youtube_history_triage.md <<'MD'
<PASTE USER MARKDOWN HERE>
MD
If the pasted history is large, prefer writing output to a file via --out ... to avoid truncation.
If the user wants to include shorts, add --include-shorts. Otherwise default behavior is to ignore shorts.
If you want to see everything (no filtering), add --no-hard-skip.
If you want machine-readable output, add --format json (e.g. --out /tmp/youtube_history_triage.json).
2) Triage for relevance (human judgment)
Using titles + your knowledge of this vault’s focus, classify into:
suggest: clearly relevant to AI-assisted software developmentmaybe: adjacent / uncertainskip: unrelated (entertainment, general news without a clear work tie-in, etc.)
Heuristics for suggest:
- coding agents, agent workflows, evals, benchmarking pitfalls
- prompting patterns for software work, specs, tests, refactors, reviews
- developer tooling, IDE workflows, CI/testing, code search, architecture
- org/process changes driven by AI (roles, reviews, quality bars) with concrete detail
Avoid over-weighting hypey titles; prefer topics that plausibly add durable, reusable ideas to the vault.
3) Propose top priorities
Present a ranked top list with:
- title (as given)
- URL
- why it’s high leverage for this vault (1–2 sentences)
- whether it’s already captured in
raw/(from the script output)
4) Ask for approval before capturing/distilling
Ask the user which items (by number) to capture and/or distill next. Do not capture or distill without explicit approval.
5) Capture approved (raw) items
For each approved URL not already captured in raw/:
./scripts/ytraw "<youtube_url>"
If YouTube access is blocked in this environment, ask the user to run ./scripts/ytraw locally and share the resulting raw file path(s).
6) Distill
Use the make-distilled skill on newly captured raw file(s), and ensure each raw file has distilled_refs in front matter (not in the body).
Guardrails
- Never capture/distill without user approval.
- If the pasted Markdown is incomplete or ambiguous, say so and ask for a better export.
- Do not include private/sensitive items in any published note.
Compounding improvement (lightweight)
After you show the triage, ask 1–2 quick questions:
- “Any false hard-skips (something excluded that you’d want to keep)?”
- “Any new hard-skip categories/keywords you want as defaults?”
If the user gives concrete keywords/categories, update .agents/skills/youtube-history-markdown-triage/filters.json in a small, reviewable diff.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
weekly-youtube-picks
Create or update the weekly YouTube picks note in notes/ — mining distilled notes for insights, sanitizing video titles, writing tight editorial copy, and linking to published notes.
make-distilled
Transform raw captured content into distilled knowledge by extracting topics (outline), summary, key points, principles, patterns, entities, and quotes, storing the result in the distilled/ directory.
get-web-page-raw
Capture a web page as raw material (extracted text/Markdown) with metadata, storing it in the raw/ directory for later distillation.
youtube-search
Search YouTube for recent videos using the python youtube_search library, especially when you need last-7-days results or want to filter by publish time without the YouTube Data API.
plan-incremental-commits
Review a mixed working tree and produce (and optionally execute) a small, logically grouped sequence of incremental git commits.
raw-undistilled-triage
Identify raw notes in this vault that do not have corresponding distilled notes yet (based on wikilinks and front matter), and report broken raw↔distilled references.
Didn't find tool you were looking for?