Lessons from Building Claude Code: How Anthropic Uses Skills

This is a summary of Thariq’s thread on X about how Anthropic uses Skills in Claude Code internally. All credit goes to the original author.


What Are Skills?

Skills are one of Claude Code’s most popular extension points. A common misconception is that they’re “just markdown files” — in reality, skills are folders that can include scripts, assets, data, and configuration options (including dynamic hooks). The best skills leverage this folder structure creatively.

9 Types of Skills

After cataloging hundreds of internal skills, Anthropic found they cluster into recurring categories:

  1. Library & API Reference — How to correctly use a library, CLI, or SDK. Include code snippets and gotchas. (e.g., internal billing library edge cases, design system guidance)

  2. Product Verification — Test and verify code using tools like Playwright or tmux. Worth investing serious engineering time here. Techniques include recording video of Claude’s output and enforcing programmatic assertions at each step.

  3. Data Fetching & Analysis — Connect to data/monitoring stacks with credentials, dashboard IDs, and common query workflows. (e.g., funnel queries, Grafana lookups)

  4. Business Process & Team Automation — Automate repetitive workflows into single commands. Saving previous results in log files helps the model stay consistent across runs. (e.g., standup posts, ticket creation, weekly recaps)

  5. Code Scaffolding & Templates — Generate framework boilerplate, especially useful when scaffolding has natural-language requirements beyond pure code.

  6. Code Quality & Review — Enforce org code standards. Can include deterministic scripts and run automatically via hooks or GitHub Actions. (e.g., adversarial review that spawns a subagent to critique code)

  7. CI/CD & Deployment — Fetch, push, deploy. (e.g., babysit-pr: monitor PR → retry flaky CI → resolve conflicts → auto-merge)

  8. Runbooks — Take a symptom (alert, error signature), walk through investigation, produce a structured report.

  9. Infrastructure Operations — Routine maintenance with guardrails for destructive actions. (e.g., orphaned resource cleanup, dependency approval workflows)

Tips for Writing Good Skills

Distributing Skills

Two main approaches:

  1. Check into your repo (under .claude/skills/) — works well for smaller teams
  2. Internal plugin marketplace — scales better as skills multiply, since each checked-in skill adds to model context

For marketplaces: let skills emerge organically. Upload to a sandbox folder, share via Slack, and move to the marketplace once they gain traction. Curation before release is important — it’s easy to create bad or redundant skills.

Skills can reference other skills by name for composition, though formal dependency management isn’t built in yet.

Measuring Skills

Use a PreToolUse hook to log skill usage across the org. This reveals which skills are popular and which are under-triggering relative to expectations.

Key Takeaway

Skills are still early. Most of Anthropic’s best skills started as a few lines and a single gotcha, then improved over time as Claude hit new edge cases. The best way to learn is to start building and iterating.

Try It: A Skill That Reviews Your Skills

Want to put these principles into practice? I created a Claude Code skill that audits your team’s skills marketplace against the best practices above — checking description quality, gotchas coverage, folder structure, redundancy, and more. It produces a structured report with actionable recommendations.

View the review-skills-marketplace skill


Original thread: Thariq (@trq212) on X