.fyi
SkillsMCPPluginsSubagents

Browse by category

DevOps & CI/CD SkillsProductivity & Workflow SkillsOther SkillsProduct & Project Management SkillsDocumentation & Knowledge SkillsCode Review & Refactor SkillsBackend & APIs SkillsAgent Meta & Communication SkillsResearch SkillsSecurity SkillsUX UI & Design SkillsTesting & QA SkillsSee all →

Every Claude Code skill, MCP server, plugin and subagent in one directory. Searchable, comparable, and one command from installed. Live stats from GitHub, npm and PyPI.

We're on Product HuntYour agent's app storeCheck it out →
Agent SkillsMCP ServersPluginsSubagentsCoding Agents
CollectionsOfficial publishersGlossaryFAQBlogSearchSavedFeedback
PrivacyTermsllms.txtSitemap

made with ♥ · © 2026 aaaa.fyi

Independent project · real data from public registries

…/agent-skills/source-driven-development
home/skills/addyosmani/agent-skills/source-driven-development
addyosmani avatar

source-driven-development

byaddyosmani· 31 skills

Installs

14k

Stars

80k

Forks

8.7k

Category

Code Review & Refactor

View on GitHub

TL;DR

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.

How to install source-driven-development?

addyosmani/agent-skills/source-driven-development
$npx -y skills add addyosmani/agent-skills --skill source-driven-development

Installs into the current project.

›Prefer a prompt? Paste this to your agent

Use this skill

Run `npx skills use "https://github.com/addyosmani/agent-skills" --skill "addyosmani/agent-skills/source-driven-development"` and follow the generated skill instructions now. Read its complete output, redirecting it to a temporary file first if necessary. Resolve relative paths from the supporting-files directory it provides.

Use the whole pack

Use the skills in "https://github.com/addyosmani/agent-skills" that are relevant to the current task. Run `npx skills add "https://github.com/addyosmani/agent-skills"` and select the relevant skills, then follow their instructions.

Files · 1

View on GitHub
SKILL.md
1# Source-Driven Development
2 
3## Overview
4 
5Every framework-specific code decision must be backed by official documentation. Don't implement from memory — verify, cite, and let the user see your sources. Training data goes stale, APIs get deprecated, best practices evolve. This skill ensures the user gets code they can trust because every pattern traces back to an authoritative source they can check.
6 
7## When to Use
8 
9- The user wants code that follows current best practices for a given framework
10- Building boilerplate, starter code, or patterns that will be copied across a project
11- The user explicitly asks for documented, verified, or "correct" implementation
12- Implementing features where the framework's recommended approach matters (forms, routing, data fetching, state management, auth)
13- Reviewing or improving code that uses framework-specific patterns
14- Any time you are about to write framework-specific code from memory
15 
16**When NOT to use:**
17 
18- Correctness does not depend on a specific version (renaming variables, fixing typos, moving files)
19- Pure logic that works the same across all versions (loops, conditionals, data structures)
20- The user explicitly wants speed over verification ("just do it quickly")
21 
22## The Process
23 
24```
25DETECT ──→ FETCH ──→ IMPLEMENT ──→ CITE
26 │ │ │ │
27 ▼ ▼ ▼ ▼
28 What Get the Follow the Show your
29 stack? relevant documented sources
30 docs patterns
31```
32 
33### Step 1: Detect Stack and Versions
34 
35Read the project's dependency file to identify exact versions:
36 
37```
38package.json → Node/React/Vue/Angular/Svelte
39composer.json → PHP/Symfony/Laravel
40requirements.txt / pyproject.toml → Python/Django/Flask
41go.mod → Go
42Cargo.toml → Rust
43Gemfile → Ruby/Rails
44```
45 
46State what you found explicitly:
47 
48```
49STACK DETECTED:
50- React 19.1.0 (from package.json)
51- Vite 6.2.0
52- Tailwind CSS 4.0.3
53→ Fetching official docs for the relevant patterns.
54```
55 
56If versions are missing or ambiguous, **ask the user**. Don't guess — the version determines which patterns are correct.
57 
58### Step 2: Fetch Official Documentation
59 
60Fetch the specific documentation page for the feature you're implementing. Not the homepage, not the full docs — the relevant page.
61 
62**Source hierarchy (in order of authority):**
63 
64| Priority | Source | Example |
65|----------|--------|---------|
66| 1 | Official documentation | react.dev, docs.djangoproject.com, symfony.com/doc |
67| 2 | Official blog / changelog | react.dev/blog, nextjs.org/blog |
68| 3 | Web standards references | MDN, web.dev, html.spec.whatwg.org |
69| 4 | Browser/runtime compatibility | caniuse.com, node.green |
70 
71**Not authoritative — never cite as primary sources:**
72 
73- Stack Overflow answers
74- Blog posts or tutorials (even popular ones)
75- AI-generated documentation or summaries
76- Your own training data (that is the whole point — verify it)
77 
78**Be precise with what you fetch:**
79 
80```
81BAD: Fetch the React homepage
82GOOD: Fetch react.dev/reference/react/useActionState
83 
84BAD: Search "django authentication best practices"
85GOOD: Fetch docs.djangoproject.com/en/6.0/topics/auth/
86```
87 
88After fetching, extract the key patterns and note any deprecation warnings or migration guidance.
89 
90When official sources conflict with each other (e.g. a migration guide contradicts the API reference), surface the discrepancy to the user and verify which pattern actually works against the detected version.
91 
92### Step 3: Implement Following Documented Patterns
93 
94Write code that matches what the documentation shows:
95 
96- Use the API signatures from the docs, not from memory
97- If the docs show a new way to do something, use the new way
98- If the docs deprecate a pattern, don't use the deprecated version
99- If the docs don't cover something, flag it as unverified
100 
101**When docs conflict with existing project code:**
102 
103```
104CONFLICT DETECTED:
105The existing codebase uses useState for form loading state,
106but React 19 docs recommend useActionState for this pattern.
107(Source: react.dev/reference/react/useActionState)
108 
109Options:
110A) Use the modern pattern (useActionState) — consistent with current docs
111B) Match existing code (useState) — consistent with codebase
112→ Which approach do you prefer?
113```
114 
115Surface the conflict. Don't silently pick one.
116 
117### Step 4: Cite Your Sources
118 
119Every framework-specific pattern gets a citation. The user must be able to verify every decision.
120 
121**In code comments:**
122 
123```typescript
124// React 19 form handling with useActionState
125// Source: https://react.dev/reference/react/useActionState#usage
126const [state, formAction, isPending] = useActionState(submitOrder, initialState);
127```
128 
129**In conversation:**
130 
131```
132I'm using useActionState instead of manual useState for the
133form submission state. React 19 replaced the manual
134isPending/setIsPending pattern with this hook.
135 
136Source: https://react.dev/blog/2024/12/05/react-19#actions
137"useTransition now supports async functions [...] to handle
138pending states automatically"
139```
140 
141**Citation rules:**
142 
143- Full URLs, not shortened
144- Prefer deep links with anchors where possible (e.g. `/useActionState#usage` over `/useActionState`) — anchors survive doc restructuring better than top-level pages
145- Quote the relevant passage when it supports a non-obvious decision
146- Include browser/runtime support data when recommending platform features
147- If you cannot find documentation for a pattern, say so explicitly:
148 
149```
150UNVERIFIED: I could not find official documentation for this
151pattern. This is based on training data and may be outdated.
152Verify before using in production.
153```
154 
155Honesty about what you couldn't verify is more valuable than false confidence.
156 
157## Common Rationalizations
158 
159| Rationalization | Reality |
160|---|---|
161| "I'm confident about this API" | Confidence is not evidence. Training data contains outdated patterns that look correct but break against current versions. Verify. |
162| "Fetching docs wastes tokens" | Hallucinating an API wastes more. The user debugs for an hour, then discovers the function signature changed. One fetch prevents hours of rework. |
163| "The docs won't have what I need" | If the docs don't cover it, that's valuable information — the pattern may not be officially recommended. |
164| "I'll just mention it might be outdated" | A disclaimer doesn't help. Either verify and cite, or clearly flag it as unverified. Hedging is the worst option. |
165| "This is a simple task, no need to check" | Simple tasks with wrong patterns become templates. The user copies your deprecated form handler into ten components before discovering the modern approach exists. |
166 
167## Red Flags
168 
169- Writing framework-specific code without checking the docs for that version
170- Using "I believe" or "I think" about an API instead of citing the source
171- Implementing a pattern without knowing which version it applies to
172- Citing Stack Overflow or blog posts instead of official documentation
173- Using deprecated APIs because they appear in training data
174- Not reading `package.json` / dependency files before implementing
175- Delivering code without source citations for framework-specific decisions
176- Fetching an entire docs site when only one page is relevant
177 
178## Verification
179 
180After implementing with source-driven development:
181 
182- [ ] Framework and library versions were identified from the dependency file
183- [ ] Official documentation was fetched for framework-specific patterns
184- [ ] All sources are official documentation, not blog posts or training data
185- [ ] Code follows the patterns shown in the current version's documentation
186- [ ] Non-trivial decisions include source citations with full URLs
187- [ ] No deprecated APIs are used (checked against migration guides)
188- [ ] Conflicts between docs and existing code were surfaced to the user
189- [ ] Anything that could not be verified is explicitly flagged as unverified

Security

Review

  • Gen Agent Trust Hubpass
  • Socketpass
  • Snykwarn
  • ZeroLeakswarn

Preview

addyosmani/agent-skillsaddyosmani/agent-skills

$ npx -y skills add addyosmani/agent-skills --skill source-driven-development

▸ installing to .claude/skills…

✓ source-driven-development ready

Repoaddyosmani/agent-skills
TypeSkills
CategoryCode Review & Refactor
ForDeveloper
UpdatedJul 2026
License—
First seenJul 26, 2026

Tags

Skill

Related

6 picks
Type
  1. mattpocock avatarimprove-codebase-architectureScan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.SkillsJul 2026566k189k
  2. mattpocock avatardomain-modelingBuild and sharpen a project's domain model. Use when the user wants to pin down domain terminology or a ubiquitous language, record an architectural decision,…SkillsJul 2026275k189k
  3. juliusbrussee avatarcaveman-reviewUltra-compressed code review comments. Cuts noise from PR feedback while preserving the actionable signal. Each comment is one line: location, problem, fix.SkillsJul 2026270k93k
  4. mattpocock avatarcodebase-designShared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a…SkillsJul 2026266k189k
  5. mattpocock avatarcode-reviewReview the changes since a fixed point (commit, branch, tag, or merge-base) along two axes — Standards (does the code follow this repo's documented coding…SkillsJul 2026201k189k
  6. mattpocock avatarresolving-merge-conflictsUse when you need to resolve an in-progress git merge/rebase conflict.SkillsJul 2026183k189k