Edited by humans. Written by AI. How our editing works
All articles

AI Agent Skills: The Markdown Files That Teach Once

Skills are markdown files that give AI agents context on demand—solving the problem of repeating instructions without overloading context windows.

Tyler Nakamura

Written by AI. Tyler Nakamura

April 4, 20265 min read
Share:
Man with headphones pointing at brain icon connected to Python, settings, and OpenAI logos against code background with…

Photo: NeuralNine / YouTube

Here's the thing about working [with AI coding agents: they're smart, but they have terrible institutional memory. Tell Claude Code how you want your Python packages installed, and it'll do it perfectly. Start a new session five minutes later, and it's back to square one—no memory of your preferred workflow, your project structure, or that one specific way you need things done.

The traditional solution has been agents.md or claude.md files—basically instruction manuals that load with every session. But there's a problem: context windows are finite. Cram too much into that file and your AI agent starts struggling with the actual coding because it's spending mental energy parsing your novel-length setup guide.

Enter skills: markdown files that sit quietly in a .claude/skills directory until the agent actually needs them.

How Skills Actually Work

The concept is almost embarrassingly simple. A skill is a directory containing a skill.md file with three components: a name, a description, and whatever instructions you want to give.

NeuralNine demonstrates this with a Python package installation skill. The header looks like this:

---
name: Python package installation
description: Installing Python packages the right way
---

Below that, you write instructions: "Always use UV add, not pip install, to add packages. After that, always run UV Python freeze requirements.txt for compatibility reasons."

The clever part is what happens when you actually use the agent. When you tell it to "install pandas," it scans through all available skills, reading only the name and description fields. It sees "Python package installation, installing Python packages the right way" and thinks: yeah, this is relevant. Only then does it load the full skill content as context.

"What's going to happen now, and you're going to actually see this here, is the skill is loaded," NeuralNine explains in the demo. "You can see skill Python package installation was recognized as a useful skill. It was loaded, and now it does UV add pandas, same as before, and now it's going to do the pip freeze step as well, just because it's written in the skill."

This selective loading is the entire point. You're not jamming everything into one agents.md file that bloats every single interaction. You're creating a library of context that gets pulled in only when needed.

The LangChain Problem

The practical value becomes obvious when you look at fast-moving libraries. NeuralNine uses LangChain as the example—a Python library that reorganizes its API with alarming frequency. Code from a year ago uses LangGraph.prebuilt and create_react_agent. Current code uses LangChain.agents and create_agent. It's different enough that an AI agent working from training data will confidently write deprecated code.

The solution is a LangChain-docs skill that tells the agent: "LangChain changes its API very often. Code from 1 month ago might already be outdated. Always rely on the docs. Check how the thing you're trying to do is done in the latest docs today."

Without the skill, Claude Code cheerfully imports the old way. With the skill loaded, it does web searches first, checks current documentation, and writes code that actually works with the version you have installed.

Skills You Didn't Write

The other interesting angle here: you don't have to write all this yourself. Both Anthropic and OpenAI maintain skill repositories on GitHub with pre-built skills for common workflows. PDF processing, Docker commands, testing frameworks—someone's already documented the patterns.

These aren't minimal examples either. Production skills include multiple markdown files, conditional loading instructions ("if this situation, then look at forms.md"), and even executable scripts the agent can run instead of implementing everything from scratch.

There's even a skill-creator skill that lets the agent write new skills for itself. Tell it "create a skill for properly printing in Python code, always start print strings with XYZ," and it generates the skill.md file with examples of correct and incorrect usage. It's recursive and slightly unsettling, like teaching a tool to modify its own instruction manual.

When Automatic Detection Fails

The system isn't flawless. Sometimes agents don't automatically recognize which skill applies. NeuralNine shows this happening with OpenAI's models—the skill exists, but the agent doesn't load it.

The workaround is manual skill invocation: type /skills to see what's available, then explicitly call the skill with /Python-package-installation before your prompt. It's an extra step, but it forces the context you need.

There's also variation in how well different platforms handle web searches and external documentation fetches. Claude Code struggles with the LangChain docs skill in the demo—it loads the skill but doesn't fetch documentation cleanly. The same workflow in OpenCode works smoothly. These are implementation details that'll probably smooth out, but right now, they matter.

The Actual Innovation Here

What makes skills interesting isn't the markdown format—that's been around forever. It's the pattern of on-demand context loading based on semantic relevance. The agent looks at what you're asking it to do, decides which skills apply, and constructs its context window accordingly.

This solves a real problem with AI development workflows: the tension between giving the agent enough information to work effectively and not drowning it in irrelevant context that degrades performance. You can have dozens of skills defined—Docker workflows, API patterns, testing conventions, deployment procedures—without loading all of them into every interaction.

It's also reusable across projects. Create a skill once, copy the directory to new projects, and you've got consistent behavior without rewriting instructions. That's genuinely useful for anyone juggling multiple codebases with similar patterns.

The question is whether this pattern generalizes beyond coding agents. Could you use skills for writing assistants that need style guides? Research tools that need domain-specific context? Customer service bots that need policy documentation? The structure works; it's just a matter of whether other tools adopt it.

For now, if you're working with Claude Code or OpenAI's coding agents and you find yourself repeatedly explaining the same workflow, the answer is probably a skill. It's not revolutionary technology—it's just organized markdown files with smart loading. But sometimes that's exactly what solves the problem.

— Tyler Nakamura

From the BuzzRAG Team

AI Moves Fast. We Keep You Current.

Framework breakdowns, tool comparisons, and AI coding insights — distilled from the best tech YouTube creators. Free, weekly.

Weekly digestNo spamUnsubscribe anytime

More Like This

Bold white and blue text announcing Claude Code skills upgrade, featuring NotebookLM and Gemini 3.1 logos with a terminal…

NotebookLM + Claude: Teaching AI Agents Domain Expertise

A developer demonstrates using NotebookLM to generate Claude Code skills—custom knowledge modules that teach AI agents specific domains in minutes.

Dev Kapoor·5 months ago·6 min read
Glowing orange pixelated text reading "CLAUDE 2.1.91" with "100x UPDATE" banner on dark binary code background, featuring…

Claude Code 2.1.91: Three Updates That Actually Matter

Claude Code's latest update brings shell execution controls, 500K character handling, and session reliability fixes. Here's what changed and why it matters.

Tyler Nakamura·3 months ago·5 min read
A bearded man in a gray shirt stands against a purple-tinted background next to text reading "THE DRY RUN WORKFLOW FOR…

The Dry Run Workflow: Teaching AI Agents New Skills

A developer demonstrates how to convert one-off terminal tasks into reusable AI agent skills through manual execution—and it actually works.

Yuki Okonkwo·4 months ago·6 min read
Orange app icon with white starburst design stacked behind gray folder tabs labeled YouTube, Business, and Clients, with…

Claude's New Auto Mode Solves AI's Permission Problem

Claude Code's new Auto Mode uses a safety classifier to let AI work autonomously without constant permission prompts—or the risks of skipping them entirely.

Tyler Nakamura·4 months ago·4 min read
Man wearing blue glasses in front of analytics dashboard showing 266M views and revenue chart for YouTube Shorts earnings…

YouTube Shorts RPM: Why 2.5M Views Earned Just $178

VidIQ's data reveals YouTube Shorts earnings are wildly unpredictable—same channel, same audience, but RPMs vary 4x between videos. Here's why.

Tyler Nakamura·3 months ago·5 min read
Two app icons connected by a plus sign against a terracotta background: a black square with pixelated "CLAUDE CODE" text…

Claude Code's Ultra Plan Is Fast But Breaks Promises

Anthropic's Ultra Plan for Claude Code is 10x faster than standard planning, but testing reveals it ignores custom skills. Speed vs. functionality.

Tyler Nakamura·3 months ago·6 min read
A museum-style display featuring design tools (Figma, Stitch, Gamma) with a glowing red artist's palette as the centerpiece…

Anthropic's Claude Design Tool: What Actually Changed

Anthropic released Claude Design for UI prototyping. We tested it to see if it escapes the 'vibe-coded' look that plagues AI-generated interfaces.

Marcus Chen-Ramirez·3 months ago·5 min read
Man in beanie holding AI compute invoice totaling $287.43, with "Beat 20 People" text overlay on black background

The Karpathy Loop: When AI Runs 700 Experiments Overnight

Andre Karpathy's AI agent ran 700 experiments while he slept, found bugs he missed, and cut training time 11%. Here's what that means for everyone else.

Tyler Nakamura·3 months ago·7 min read

RAG·vector embedding

2026-04-15
1,385 tokens1536-dimmodel text-embedding-3-small

This article is indexed as a 1536-dimensional vector for semantic retrieval. Crawlers that parse structured data can use the embedded payload below.