source-driven-development

Grounds every implementation decision in official documentation. Use when you want authoritative, source-cited code free from outdated patterns. Use when building with any framework or library where correctness matters.

Install

Hot:36

Download and extract to your skills directory

Copy command and send to AI Agent for auto-install:

Download and install this skill https://openskills.cc/api/download?slug=addyosmani-skills-source-driven-development&locale=en&source=copy

Source-Driven Development Skill Explained

Skill Overview

Source-Driven Development is a skill that ensures framework code decisions are based on official documentation. Through a complete process of detecting versions, obtaining authoritative documentation, following documented patterns, and adding reference links, it helps developers write verifiable code that conforms to the latest best practices.

Applicable Scenarios

  • Framework-Specific Feature Development: When you need to implement functionality involving framework-specific APIs—such as form handling, route configuration, state management, or authentication—the skill automatically detects the framework version used by the project and obtains the correct usage patterns from the official documentation, avoiding deprecated APIs.
  • Code Quality Improvements and Refactoring: When reviewing existing code or addressing technical debt, the skill can identify outdated framework usage, provide the current version’s officially recommended implementation, and attach verifiable documentation sources to each change.
  • Best-Practice Template Creation: When you need to create reusable code templates for a team, the skill ensures that every pattern is backed by official documentation, preventing outdated or incorrect patterns from being propagated throughout the project as templates.
  • Core Features

  • Automatic Version Detection and Documentation Retrieval: The skill automatically identifies the exact versions of frameworks and libraries from project dependency files such as package.json, requirements.txt, and go.mod, then directly retrieves the corresponding official documentation pages to ensure that the implementation fully matches the versions actually used by the project.
  • Authoritative Source Citations: The skill adds complete official documentation links for each framework-specific code decision, prioritizing deep links with anchors—such as /useActionState#usage—so that you can quickly verify the correctness of each API usage. It also supports citing browser compatibility data.
  • Conflict Identification and Verification: When official documentation conflicts with existing code patterns—for example, when React 19 recommends useActionState while the code uses useState—the skill clearly identifies the differences, provides both modern and traditional options, and explicitly marks content as “Unverified” when no official documentation support can be found.
  • Frequently Asked Questions

    What is Source-Driven Development, and why is it needed?

    Source-Driven Development is a development methodology that ensures all framework-specific code decisions are based on official documentation. Knowledge in AI training data can become outdated, APIs can change, and best practices can evolve—relying on memory or online tutorials may introduce deprecated patterns. By directly citing authoritative sources, Source-Driven Development provides verifiable and reliable implementations.

    How does it automatically detect the framework and version used by a project?

    The skill reads the project’s dependency files to identify exact versions: Node/React projects use package.json, Python projects use requirements.txt or pyproject.toml, Go projects use go.mod, and PHP projects use composer.json, among others. After identifying the versions, the skill clearly states the detected framework stack—such as “React 19.1.0, Vite 6.2.0, Tailwind CSS 4.0.3”—and retrieves the official documentation for those versions.

    Why not use Stack Overflow or blog tutorials as code sources?

    Stack Overflow and blog tutorials may reflect outdated practices or solutions for specific versions, whereas official documentation is an authoritative source published directly by framework maintainers and kept synchronized with current versions. The skill prioritizes sources according to the following hierarchy: official documentation > official blogs/release notes > web standards references (MDN, web.dev) > browser compatibility resources (caniuse.com).

    How do you add correct official documentation citations to code?

    The skill uses complete URLs and prioritizes deep links with anchors—for example, https://react.dev/reference/react/useActionState#usage instead of https://react.dev/reference/react/useActionState. For non-obvious decisions, it cites the relevant section in code comments and includes browser/runtime support data. If no documentation support can be found, it explicitly marks the content as “Unverified.”

    In what scenarios is Source-Driven Development applicable?

    Applicable scenarios include writing code that must follow the framework’s current best practices; building template code or patterns that will be copied throughout a project; implementing features where the framework-recommended approach is critical, such as forms, routing, data fetching, state management, and authentication; reviewing or improving code that uses framework-specific patterns; and any situation where you are about to write framework-specific code from memory.

    How are conflicts between official documents handled?

    When official documents conflict—for example, when a migration guide contradicts an API reference—the skill points out the differences to the user and verifies which pattern actually applies to the detected version. When the documentation conflicts with existing code, the skill provides options: use the modern pattern that conforms to the current documentation, or match the existing code for consistency, and then asks which approach you prefer.

    What common code problems can Source-Driven Development help avoid?

    By directly verifying official documentation, it can help avoid using deprecated APIs, writing code based on outdated training data, version-mismatch issues that may arise from relying on Stack Overflow answers, continuing to use old patterns after a framework update, and implementing solutions based on intuition without verifiable sources. Every decision is supported by a traceable authoritative source.

    How do you ensure that code follows best practices for the current framework version?

    The skill detects the exact version from dependency files rather than guessing, then directly retrieves the official documentation pages for that version. During implementation, it uses the API signatures shown in the documentation instead of relying on memory; adopts new approaches when the documentation presents them; avoids older patterns when the documentation deprecates them; and marks content as unverified when the documentation does not cover it. Every nontrivial decision includes a complete documentation source link.