ikatkov
- 18 skills
- 0 followers
- 14 hours ago last updated
- ▌ Grill Me · ikatkovInterview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".
- ▌ Yt Dlp · ikatkov bundleDownload videos from YouTube, Instagram Reels, Tiktok, Twitter, and thousands of other sites using yt-dlp. Supports format selection, quality control, metadata embedding, and cookie authentication. Use when the user provides a video URL and wants to download it, extract audio (MP3), download subtitles, or select video quality. Triggers on phrases like "download video", "yt-dlp", "YouTube", "instagram reel", "instagram reels", "tiktok", "extract audio". Do not use for Instagram post/gallery URLs matching instagram.com/p/{code}/; route those to the instagram-gallery-download skill.
- ▌ Review Pr · ikatkov bundleRun an exact-HEAD GitHub PR review loop: trigger CodeRabbit if it is missing, wait without LLM polling, collect every review surface and unresolved thread, fix the findings that fall inside the PR's stated scope, decline the ones that don't, verify required checks, and return a machine-readable verdict. Use for bot-review requests, review cleanup, or GitHub review handling on the current branch PR.
- ▌ LLM Council · ikatkovRun any question, idea, or decision through a council of 5 AI advisors who independently analyze it, peer-review each other anonymously, and synthesize a final verdict. Based on Karpathy's LLM Council methodology. MANDATORY TRIGGERS: 'council this', 'run the council', 'war room this', 'pressure-test this', 'stress-test this', 'debate this'. STRONG TRIGGERS (use when combined with a real decision or tradeoff): 'should I X or Y', 'which option', 'what would you do', 'is this the right move', 'validate this', 'get multiple perspectives', 'I can't decide', 'I'm torn between'. Do NOT trigger on simple yes/no questions, factual lookups, or casual 'should I' without a meaningful tradeoff (e.g. 'should I use markdown' is not a council question). DO trigger when the user presents a genuine decision with stakes, multiple options, and context that suggests they want it pressure-tested from multiple angles.
- ▌ Generate Map · ikatkov bundleTurn free-form text mentioning geographical landmarks (parks, restaurants, museums, viewpoints, monuments, neighborhoods, trails, etc.) into a rich GeoJSON FeatureCollection and a clickable geojson.io URL the user can open to see all the places on a map. Use this skill whenever the user pastes a list, itinerary, travel guide, blog excerpt, recommendation thread, or any text that names multiple real-world places and wants to "see them on a map", "make a map", "plot these", "get a map link", "geojson", "geojson.io", or anything similar — even if they don't explicitly use the word "map". Also use it when the user provides a single curated trip and wants a shareable visualization.
- ▌ Media Archiver · ikatkov bundleConverts a web page into an offline-ready video gallery, downloading assets and linking local media.
- ▌ Obsidian Inbox · ikatkovProcess an unsorted raw markdown note dropped in /Users/ikatkov/Obsidian/Default/inbox/ — classify it (movie / book / idea / poses / travel / new category), reformat per the matching per-folder conventions, rename and prefix images for vault-wide uniqueness, then file it into the correct subfolder. Use when the user says "sort my inbox", "process the new note in inbox", "file this", or drops a raw note + URL/screenshots in /Users/ikatkov/Obsidian/Default/inbox/ and asks to clean it up.
- ▌ Video Feed Ocr · ikatkov bundleExtract visible text from local video files by sampling frames and running OCR via a local multimodal LLM. Use when requests involve reading on-screen text, burned-in subtitles, slides, code snippets, captions, signs, or UI text from mp4/mov/mkv/webm recordings, reels, screen captures, or video feeds.
- ▌ Customize Devbox · ikatkov bundleCustomize an Ubuntu host through SSH or a Docker Sandbox through sbx.
- ▌ Obsidian Markdown · ikatkov bundleCreate and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax. Use when working with .md files in Obsidian, or when the user mentions wikilinks, callouts, frontmatter, tags, embeds, or Obsidian notes.
- ▌ Gemini Unwatermark · ikatkov bundleRemove visible Gemini image watermarks from local image files. Use when the user wants an agent to clean one or more local Gemini-generated images and save de-watermarked output files.
- ▌ Long Term Campaigns · ikatkov bundlePersist, schedule, resume, and hand off monitoring or ownership campaigns that outlive one agent session or disposable workspace. Use when work must be checked repeatedly over days, when creating a new long-term campaign, when transferring ongoing work to a future agent, or when producing a delayed evidence-based report.
- ▌ Ticket And Pr Prose · ikatkovWrite a Linear ticket or a pull request description in the standalone, progressive-disclosure prose style: a fixed 'Why this matters (plain language) / Where this fits / What we're building (or What this changes)' spine sliding into engineering detail, with the flow shown as mermaid diagrams (before + after when behavior changes). Use when asked to create/write/rewrite a ticket or a PR description, write up a change so a non-engineering audience can follow it, or make a PR reviewable by someone with no context. Triggers: 'create a linear ticket', 'write this up as a ticket', 'write the PR description', 'fill in the PR body', 'make this PR reviewable', 'ticket for non-eng audience'.
- ▌ Conventional Commits · ikatkovWhen writing a git commit message. When task completes and changes need committing. When project uses semantic-release, commitizen, git-cliff. When choosing between feat/fix/chore/docs types. When indicating breaking changes. When generating changelogs from commit history.
- ▌ Parakeet Mlx Transcribe · ikatkov bundleTranscribe local audio and video media into text/subtitles using the parakeet-mlx CLI. Use only on macOS hosts where parakeet-mlx is installed and available on PATH. Use when requests mention transcription, subtitles, captions, timestamps, SRT/VTT/JSON output, or converting spoken content from files such as mp3, wav, m4a, mp4, mov, or mkv. Do not use on non-macOS systems or when parakeet-mlx is unavailable.
- ▌ Ian Xiaohei Illustrations · ikatkov bundleGenerate Ian-style English article illustrations. Use for user requests that need weird, clean, hand-drawn body images, article illustrations, shot lists, or edit/remove-title tasks for English articles, posts, blogs, Notion docs, workflows, methods, structures, states, metaphors, or viewpoints. Default to the Xiaohei IP, pure white hand-drawn look, sparse red/orange/blue annotations, and a clean but imaginative visual style. Do not use for generic illustration, PPT, commercial brand art, children's cartoons, or non-Xiaohei image requests unless the user explicitly asks for Ian/Xiaohei style.
- ▌ Instagram Gallery Download · ikatkov bundleDownload Instagram post/carousel media from URLs matching instagram.com/p/<code>/ using gallery-dl. Use only when the user provides a post URL in /p/ form and asks to download that media with metadata/tags. Do not use for instagram.com/reel/<code>/ or instagram.com/reels/<code>/; use the yt-dlp skill for those.
- ▌ Local Visual Reasoning Scorer · ikatkov bundleRun local multimodal visual reasoning, OCR and image scoring with local LLM models. Use only on macOS hosts where a local OpenAI-compatible visual LLM endpoint is already running and reachable. Use for image to text (OCR), ranking image candidates, selecting best frames/crops, detecting blurry or cut-off diagrams, and local-only visual QA workflows. Do not use on non-macOS systems or when the local visual LLM endpoint is unavailable.