Extending Claude Code β Tools for Its Blind Spots
π The gaps, and why they matter
Claude Code is excellent at the things it was built for: reading code, editing files, running commands, and reasoning over text. But it is blind or weak at five jobs out of the box β and each one has a fix I actually run day to day:
- Video β it canβt watch a video or render one.
- Design β it produces generic βAI slopβ frontends unless given a design brain.
- Memory β every session forgets; nothing compounds.
- Research β the built-in web tools are shallow or flaky for deep, structured work.
- Token usage β verbose output and bloated context burn money and context window.
The pattern that fixes all five is the same: agent skills and small tools that plug a capability into the harness. This article walks the five gaps and names the specific tools I use to close them. The exhaustive install/usage detail lives in the companion dossier; this is the narrative version, centered on what earns a slot in my workflow.
π¬ Video β from blind to watching and rendering
Claude has no eyes and no render engine natively. Two tools cover the two directions.
Watching: Claude Video
I use it to understand video β paste a YouTube URL or a local file plus a question, and Claude actually sees the frames and reads the transcript before answering. I lean on it to analyze other peopleβs content, pull the substance out of a long video faster than 2Γ playback, and grab YouTube transcripts that then feed the vault.
It ships as the /watch skill (bradautomates/claude-video, MIT): yt-dlp checks captions first, ffmpeg extracts frames only as needed, a Whisper fallback covers caption-less videos, and every frame is Read back as an image. The clever part is the --detail dial (transcript β efficient β balanced β token-burner) plus a dedup pass that drops near-identical frames β so a 30-minute clip doesnβt blow the context budget. Itβs the inverse of Video Use (which edits and reads transcript-not-frames).
Rendering: HyperFrames
For the output side I use HyperFrames β generating and editing video, cutting, adding effects, all in my own brand. Because compositions are just HTML + CSS + GSAP, my visual identity lives in stylesheets and templates I control, so every render comes out on-brand instead of template-generic.
HyperFrames (heygen-com/hyperframes, Apache 2.0) is agent-first: it registers as slash commands (/hyperframes, /gsap, /hyperframes-media, β¦), renders deterministically, and β unlike Remotion β carries an OSI license with no per-render fees or seat caps. Needs Node β₯ 22 + FFmpeg; install with npx skills add heygen-com/hyperframes.
The video pair: Claude Video is my input (watch/understand), HyperFrames is my output (generate/edit on-brand).
π¨ Design β giving the agent a design brain
Ask Claude Code for a page and you get the same hero-section, rounded-cards, purple-gradient look as everyone else β the tell-tale AI slop. Three skills give it an actual design brain, split cleanly across the workflow: who itβs for β design it β strip the AI tells.
Audience & value: UX RULER
I use UX RULER to design UX/UI for the right target group β it forces the βwho is this for, and what measurable value does it give themβ thinking before jumping into features, then writes that reasoning into the repo as product memory. Its 7-stage process (Mission β Audience β User β Need β Infrastructure β Product β Value) and its 4 decision layers (Usefulness, Ergonomics, Attractiveness, Identity) keep design tied to research, not intuition (making-mike/uxruler).
Generation & audit: UI UX Pro Max
I use it for UX audits β checking an interface against a coherent, project-appropriate design system rather than a generic one β and as a design-system base I then tweak with Tailwind + React. Its v2.0 Design System Generator runs five parallel searches (161 product categories, 67 styles, 161 palettes, 24 landing patterns, 57 font pairings) and outputs a full spec with per-industry anti-patterns (e.g. βno AI purple gradientsβ for banking) plus an a11y/responsiveness checklist that doubles as a built-in design review (nextlevelbuilder/ui-ux-pro-max-skill).
Guardrail: Impeccable
I use Impeccable to keep UX/UI free of AI slop β itβs the design-language guardrail. It extends Anthropicβs frontend-design skill with 7 domain reference files (typography, OKLCH color, spatial, motion, interaction, responsive, ux-writing), a 23-command vocabulary under /impeccable, and β the killer feature β 27 deterministic anti-pattern rules that run with no LLM and no API key (npx impeccable detect src/). It explicitly hunts the tells: overused fonts (Inter, system defaults), gray text on colored backgrounds, pure black/gray, nested cards, bounce easing (pbakaus/impeccable, Apache 2.0).
The design chain: UX RULER (discovery) β UI UX Pro Max (generation + audit) β Impeccable (language + anti-slop guardrail). See the hub AI UX Design Tools for the wider landscape.
π§ Memory β beating session amnesia
Claude forgets at the end of every session. Two layers give it durable memory.
The plain-text second brain (LLM Wiki pattern)
A repo like this one is my memory. I also apply the same LLM Wiki concept inside agentic systems: knowledge lives as an interlinked markdown wiki the agent owns and maintains, so context compounds across sessions instead of rotting in chat history.
The methodology is Andrej Karpathyβs LLM Wiki β the opposite of RAG. Instead of re-discovering everything per query, the LLM incrementally builds and maintains a persistent, interlinked wiki: a new source is read, integrated into 10β15 pages, summaries revised, contradictions flagged. Three layers β raw sources (immutable) β wiki (LLM-owned markdown) β schema (a CLAUDE.md telling it the conventions) β with ingest / query / lint operations and an index.md + log.md that work to ~hundreds of pages without embeddings. It works because the boring part of a knowledge base is bookkeeping, and LLMs donβt get bored: maintenance cost β ~0.
Building an AI Second Brain operationalizes it on Claude + Obsidian: the Local REST API plugin, an MCP wire-up (claude mcp add-json obsidian-vault β¦), a self-interview into a root CLAUDE.md, per-project Inputs/Process/Outputs/Feedback folders, saved markdown skills, read-only live-data MCP servers, and a daily autopilot. The one rule you never break: keys, not prompts β enforce access at the permission level, never with words in a prompt. This vault, Brain, is a built-out version of exactly this β and because itβs just text, itβs portable across models. Packaged version of the loop: OpenKB.
The grounded synthesis layer: NotebookLM-py
I just started using NotebookLM-py β itβs a nice alternative for pulling YouTube transcripts, and it puts most of NotebookLMβs options inside Claude Code. Itβs an unofficial Python API + CLI + MCP + agent skill for Google NotebookLM (teng-lin/notebooklm-py); it drives NotebookLM as a zero-token, grounded synthesis + memory layer β Gemini does the server-side reasoning, your agent orchestrates. The recipe worth stealing: distill Deep Research β bake into a SKILL.md the agent loads at startup (build once, reuse with zero runtime tokens), or run a βMaster Brainβ notebook as cross-session memory queried from CLAUDE.md. Caveat: undocumented endpoints, use at your own risk. Install uv tool install "notebooklm-py[browser]" then notebooklm login. (Self-hosted alternative: Open Notebook.)
π Research β deeper and more reliable than the built-ins
The built-in web tools are shallow and sometimes broken. My research stack has three legs.
The scraper fallback: Firecrawl
When Claude Codeβs built-in web scraper doesnβt work, Firecrawl is my fallback β it turns any page into clean, LLM-ready Markdown, handling JS rendering, pagination, anti-bot friction and boilerplate. Modes: scrape / crawl / map / search / extract. pip install firecrawl-py, works as an agent tool / MCP server, and this repo already ships a Firecrawl skill (mendableai/firecrawl). Itβs the complement to Perplexity: Perplexity answers questions with citations; Firecrawl hands over the full source content.
Grounded deep research (to test): NotebookLM-py
I havenβt done it yet, but NotebookLM-py should also work for deep research β its built-in web/Drive research agents have fast/deep modes with auto-import, and the distillβSKILL.md recipe turns a one-time deep dive into a reusable, zero-token capability. On my list to validate.
Structured, parallel deep research: the agent-swarm research skill
A skill I found online, now adapted in this repo for an LLM Wiki like this one β the Deep-Research-skills suite (upstream Weizhena/Deep-Research-skills, MIT), running as .claude/skills/research + research-deep and dispatched to the web-search-agent. It runs an agent-swarm deep research β one independent web-search agent per item, in parallel batches β and wires the output straight into the vault:
/research <topic>builds an outline (outline.yamlitems + execution config,fields.yamlfield definitions) from model knowledge + a background web-search supplement, confirmed interactively./research-deepfans out: batch bybatch_size, each agent handlesitems_per_agentitems, writes validated JSON perfields.yaml(uncertain values marked,validate_json.pygate), with resume support./research-reportpromotes only the finalreport.mdintocontent/_raw/inbox/for ingest to classify β working files stay outside the published site.
That βdeep research β structured records β report β ingest β interlinked notesβ loop is the LLM-Wiki adaptation. Related concept: Swarm Research β Orchestrating Coding Agents.
πͺ Token usage β spending less mouth, and less brain-food
Verbose output and bloated context cost money and burn the window. I use one tool here and have catalogued the rest.
Output compression: Caveman
Iβve used Caveman (JuliusBrussee/caveman, MIT) β it makes the agent drop articles, filler and pleasantries, cutting ~65% of output tokens with 100% technical accuracy. Levels stick per session: lite β full β ultra β wenyan. My honest caveat: in full mode it sometimes produces descriptions that are completely incomprehensible, especially in Polish. So itβs genuinely useful for trimming output, but Iβd default to lite and drop to normal mode for anything that must read clearly. Key limitation from the README: it only compresses output/visible tokens β thinking/reasoning tokens are untouched. It shrinks the mouth, not the brain. Pair it with Headroom to compress the input side.
The rest of the toolkit (catalogued, not yet tested by me)
From Token Optimization for Claude Code β tools that cut usage 40β98%:
- Headroom β compresses everything the agent reads (tool outputs, logs, RAG, files, history): 60β95% fewer tokens. The input-side complement to Caveman.
- Ponytail β YAGNI-first minimal code: β54% LOC, β22% tokens.
- Graphify β code/docs β queryable knowledge graph: 71Γ token reduction.
- Codebase Memory MCP β persistent repo knowledge graph: ~99% fewer tokens on navigation.
- Camofox Browser β pages as accessibility tree not raw HTML: ~90% cut on web work.
- Patterns behind the numbers: Progressive Disclosure, HOMER β Structured Agent Memory, SkillWeaver β Compositional Skill Routing.
π§© At a glance
| Gap | Tool | What it fixes | How I use it |
|---|---|---|---|
| Video | Claude Video | Canβt watch video | Understand/analyze video, grab YT transcripts |
| Video | HyperFrames | Canβt render video | Generate/edit on-brand video |
| Design | UX RULER | Feature-jumping, no audience | Design for the right target group |
| Design | UI UX Pro Max | Generic UI, no system | UX audits + design-system base |
| Design | Impeccable | AI-slop aesthetic | Keep UX/UI free of AI slop |
| Memory | LLM Knowledge Bases / Building an AI Second Brain / Brain | Session amnesia | This repo as memory; same concept in agent systems |
| Memory | NotebookLM-py | No grounded synthesis layer | YT transcripts + NotebookLM in Claude Code |
| Research | Firecrawl | Built-in scraper flaky | Fallback scraper β clean Markdown |
| Research | NotebookLM-py | Shallow deep research | Deep research (to test) |
| Research | Deep-Research-skills (agent swarm) | No structured parallel research | Deep research wired to the wiki |
| Token | Caveman | Verbose output | Output compression (caveat: full unreadable, esp. PL) |
| Token | Headroom et al. | Bloated context | Catalogued, not yet tested |
π Summary
The through-line: Claude Code is a great harness with holes, and skills are the plugs. Video (watch + render), design (audience β generation β anti-slop), memory (plain-text LLM Wiki + grounded NotebookLM), research (clean scraping + parallel agent-swarm), and token usage (output + context compression) are the five holes I hit most β and every plug above is either an agent skill or a small tool the harness can drive. The meta-lesson is Harness Engineering: pick the gap, add the skill, and the agent gets a capability it didnβt have an hour ago.
π Further reading
- Companion dossier (exhaustive install/usage detail):
_outputs/answers/2026-07-12_claude-code-tools-i-use-by-operation.md - Agent Skills Β· Awesome Agent Skills Β· Building Claude Skills Guide β the skill ecosystem
- Harness Engineering Β· Context Engineering Β· Progressive Disclosure β why plugging gaps this way works
- Token Optimization for Claude Code Β· AI UX Design Tools β topic hubs this article draws on
- Deep-Research-skills β the agent-swarm research suite wired into this vault
- Machine Setup Manifest β how these tools get installed across my machines
Template: knowledge_note_info