Skip to content

Guide · Agent skill

How to use the Source-Driven Development agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The source-driven-development skill is an agent skill that makes an AI coding agent check official documentation before it writes framework-specific code, instead of relying on memory. It is aimed at developers working with libraries and frameworks where APIs change between versions, such as React, Django, or Next.js. After following this guide you will know what the skill does, how to install it, how to trigger it with plain requests, and what it needs to run.

Source-Driven Developmentaddyosmani/agent-skills · MIT

Quick start

  1. 1Download the ZIP. Get the source-driven-development ZIP from this page and unzip it. It contains SKILL.md.
  2. 2Place the folder. Move the folder into ~/.claude/skills/ for personal use or into a project's .claude/skills/ folder for one repository.
  3. 3Or upload in the Claude apps. In the Claude apps, go to Settings → Capabilities → Skills and upload the ZIP.
  4. 4Make sure a dependency file exists. Confirm your project has package.json, requirements.txt, go.mod, Cargo.toml, or a similar file so versions can be detected.
  5. 5Make a framework request. Ask for code in plain language, such as asking for the current documented approach to a feature in your framework.
  6. 6Check the citations. Open the source URLs the agent gives and confirm each framework-specific decision matches the documentation.

What does the skill make the agent do?

With the skill installed, the agent stops writing framework-specific code from memory. The skill describes a four-step process: DETECT the stack, FETCH the relevant official documentation, IMPLEMENT by following the documented patterns, and CITE the sources.

During detection, the agent reads your project's dependency file to find exact library versions. During fetching, it retrieves the specific documentation page for the feature being built, not the homepage or the full docs. If the docs show a newer approach or deprecate an older one, the agent uses the current pattern and notes the change.

  • DETECT: read package.json, composer.json, requirements.txt or pyproject.toml, go.mod, Cargo.toml, or Gemfile to identify versions.
  • FETCH: open the official documentation page for the feature.
  • IMPLEMENT: use the API signatures and patterns from the docs.
  • CITE: add source URLs in code comments and in the agent's replies.

Install the skill from the ZIP

Download the ZIP for this skill from this page, then unzip it. The skill is delivered as a folder containing SKILL.md. Place that folder in one of two locations, depending on how you want to use it.

For a personal install available across your projects, put it in ~/.claude/skills/. For a single project, put it in the project's .claude/skills/ folder so it applies only to that repository.

You can also upload the ZIP in the Claude apps under Settings → Capabilities → Skills.

  • Personal install: ~/.claude/skills/source-driven-development/
  • Project install: .claude/skills/source-driven-development/ inside your project
  • Claude apps: Settings → Capabilities → Skills, then upload the ZIP
~/.claude/skills/source-driven-development/SKILL.md

How do you trigger the skill with natural requests?

You do not need a special command. The skill's description tells the agent when to use it, so ask for verified or current code in ordinary language. The skill is triggered by requests such as wanting to verify an approach against the official docs, wanting authoritative source-cited code, or building with a framework where correctness matters.

Naming the framework and the feature helps the agent fetch the right page. Asking for "correct" or "documented" implementation also signals that you want the verification process.

  • "Using the official docs, add a login form to this Next.js app."
  • "Write the Django view for uploads and cite the docs you used."
  • "Verify the current useActionState pattern before you implement this form."
  • "Make this React data fetching code follow the current documented approach."

What does the output look like?

When the skill is working, the agent states the stack it found before fetching anything. For example, it lists the framework and library versions it read from your dependency file. If a documented pattern conflicts with existing project code, the agent shows the options and asks which one you prefer instead of quietly choosing one.

Each framework-specific decision comes with a full URL, often a deep link with an anchor. If the agent cannot find documentation for a pattern, it labels that pattern as unverified so you know to check it before production use.

  • A stack summary listing the detected versions and where they came from.
  • Source URLs in code comments, such as a react.dev link above a hook call.
  • Explicit conflict notices when docs and existing code disagree.
  • UNVERIFIED labels for anything the docs did not cover.
// React 19 form handling with useActionState // Source: https://react.dev/reference/react/useActionState#usage

What does the skill need to run?

The skill needs the agent to be able to fetch web pages, meaning network access to official documentation sites. It also needs a project with a dependency file such as package.json, requirements.txt, go.mod, or Cargo.toml so the agent can detect versions. If versions are missing or unclear, the skill tells the agent to ask you rather than guess.

This skill does not run scripts. It does use the network, because fetching documentation is its core step. Environments without web access cannot use it for verification.

  • Web access to official documentation sites.
  • A project with a dependency file for version detection.
  • Scripts: none.
  • Network: yes, to fetch documentation pages.

Safety notes on fetched content

The skill treats fetched documentation as untrusted data. It extracts API definitions, usage examples, deprecation warnings, and version-specific guidance. It ignores directives aimed at the model rather than the framework, along with ads and unrelated calls to action.

The skill also says retrieved content must not expand the task or trigger unrelated tool use. It does not hardcode outbound endpoints such as telemetry or analytics from fetched examples into generated code without first showing them to you, even when the docs mark them as required. Review any network calls the agent proposes.

  • Only API signatures, examples, deprecations, and version guidance are extracted.
  • Model-targeted instructions in fetched pages are skipped.
  • Outbound endpoints from doc examples are surfaced to you, not silently added.

What people use it for

  • Building a React form that uses the current documented form handling pattern.
  • Creating Django boilerplate that will be copied across several apps, with each pattern cited.
  • Checking whether an existing Next.js feature uses a deprecated API and proposing the documented replacement.
  • Reviewing framework code in a pull request and linking the official page behind each pattern.

Frequently asked questions

How do I install the source-driven-development skill?

Download the ZIP from this page and unzip it. Put the folder in ~/.claude/skills/ for personal use or in a project's .claude/skills/ folder for one project. You can also upload the ZIP in the Claude apps under Settings → Capabilities → Skills.

What does the source-driven-development skill require?

It requires the ability to fetch web pages, meaning network access to official documentation sites. It also needs a project with a dependency file such as package.json, requirements.txt, go.mod, or Cargo.toml so versions can be detected.

Is the source-driven-development skill free?

The skill is published under the MIT licence, as stated on this page. This page does not list pricing for the Claude apps or other tools you may use alongside it.

Does this skill run scripts on my machine?

No. The skill does not run scripts. It does use the network to fetch documentation pages, so the agent needs web access to use it.

Why won't the skill work offline?

The skill depends on fetching official documentation pages to verify patterns. Without web access it cannot check against the docs, so it is not suited to offline environments.

When should I skip this skill?

Skip it for simple edits such as renaming variables or fixing typos, since these do not depend on library versions. Also skip it for quick throwaway tasks where speed matters more than verification, because the fetch steps add delay.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use this skill if you build with fast-changing frameworks like React, Django, or Next.js and want code with traceable, checkable source links, especially for boilerplate that will be copied across a project. Pick something else for simple edits, quick throwaway work, or environments without web access, since the skill's fetch steps add delay and cannot run offline.

Download the skill