Lessons from Building Claude Code: How We Use Skills

Tuesday, March 17, 2026 AI

Scraped Article

Skills have become one of the most used extension points in Claude Code. They’re flexible, easy to make, and simple to distribute. But this flexibility also makes it hard to know what works best. What type of skills are worth making? What's the secret to writing a good skill? When do you share them with others? We've been using skills in Claude Code extensively at Anthropic with hundreds of them in active use. These are the lessons we've learned about using skills to accelerate our development. What are Skills? If you’re new to skills, I’d recommend reading our docs or watching our newest course on new Skilljar on Agent Skills, this post will assume you already have some familiarity with skills. A common misconception we hear about skills is that they are “just markdown files”, but the most interesting part of skills is that they’re not just text files. They’re folders that can include scripts, assets, data, etc. that the agent can discover, explore and manipulate. In Claude Code, skills also have a wide variety of configuration options including registering dynamic hooks. We’ve found that some of the most interesting skills in Claude Code use these configuration options and folder structure creatively. Types of Skills After cataloging all of our skills, we noticed they cluster into a few recurring categories. The best skills fit cleanly into one; the more confusing ones straddle several. This isn't a definitive list, but it is a good way to think about if you're missing any inside of your org. 1. Library & API Reference Skills that explain how to correctly use a library, CLI, or SDKs. These could be both for internal libraries or common libraries that Claude Code sometimes has trouble with. These skills often included a folder of reference code snippets and a list of gotchas for Claude to avoid when writing a script. Examples: billing-lib — your internal billing library: edge cases, footguns, etc. internal-platform-cli — every subcommand of your internal CLI wrapper with examples on when to use them frontend-design — make Claude better at your design system 2. Product Verification Skills that describe how to test or verify that your code is working. These are often paired with an external tool like playwright, tmux, etc. for doing the verification. Verification skills are extremely useful for ensuring Claude's output is correct. It can be worth having an engineer spend a week just making your verification skills excellent. Consider techniques like having Claude record a video of its output so you can see exactly what it tested, or enforcing programmatic assertions on state at each step. These are often done by including a variety of scripts in the skill. Examples: signup-flow-driver — runs through signup → email verify → onboarding in a headless browser, with hooks for asserting state at each step checkout-verifier — drives the checkout UI with Stripe test cards, verifies the invoice actually lands in the right state tmux-cli-driver — for interactive CLI testing where the thing you're verifying needs a TTY 3. Data Fetching & Analysis Skills that connect to your data and monitoring stacks. These skills might include libraries to fetch your data with credentials, specific dashboard ids, etc. as well as instructions on common workflows or ways to get data. Examples: funnel-query — "which events do I join to see signup → activation → paid" plus the table that actually has the canonical user_id cohort-compare — compare two cohorts' retention or conversion, flag statistically significant deltas, link to the segment definitions grafana — datasource UIDs, cluster names, problem → dashboard lookup table 4. Business Process & Team Automation Skills that automate repetitive workflows into one command. These skills are usually fairly simple instructions but might have more complicated dependencies on other skills or MCPs. For these skills, saving previous results in log files can help the model stay consistent and reflect on previous executions of the workflow. Examples: standup-post — aggregates your ticket tracker, GitHub activity, and prior Slack → formatted standup, delta-only create-<ticket-system>-ticket — enforces schema (valid enum values, required fields) plus post-creation workflow (ping reviewer, link in Slack) weekly-recap — merged PRs + closed tickets + deploys → formatted recap post 5. Code Scaffolding & Templates Skills that generate framework boilerplate for a specific function in codebase. You might combine these skills with scripts that can be composed. They are especially useful when your scaffolding has natural language requirements that can’t be purely covered by code. Examples: new-<framework>-workflow — scaffolds a new service/workflow/handler with your annotations new-migration — your migration file template plus common gotchas create-app — new internal app with your auth, logging, and deploy config pre-wired 6. Code Quality & Review Skills that enforce code quality inside of your org and hel