source-driven-development
Skill18 starsChanged 8 months agoMITView on GitHub
Version-aware, source-driven development — fetch official docs before writing framework code
We split this skill into the rules it gives an agent
19 rules. 0 are common, 13 are distinctive, and 6 are very specific to this project.
0
Common
Most of the 61 edited versions we read keep these.
13
Distinctive
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 40
JavaScript/TypeScript: Read package.json — extract dependencies and devDependencies
- Very specific: line 41
Java: Read pom.xml or build.gradle — extract dependency versions
- Very specific: line 42
Python: Read pyproject.toml or requirements.txt — extract pinned versions
- Very specific: line 43
Go:: Read go.mod — extract module versions
- Very specific: line 44
Rust: Read Cargo.toml — extract dependency versions
- Distinctive: line 50
If a documentation MCP server such as Context7 is available: resolve the library to its ID, query it for the specific API or pattern you …
- Very specific: line 55
If no documentation server is available: web-search {library} v{version} {api} documentation and fetch the official docs page with the …
- Distinctive: line 61
When writing framework-specific code, include a citation comment:
- Distinctive: line 82
After fetching docs, compare against what you were about to write:
- Distinctive: line 89
If a conflict is found:
- Distinctive: line 90
BLOCK: if the planned code would use a removed API
- Distinctive: line 91
WARN: if the planned code uses a deprecated but still functional API
- Distinctive: line 92
SUGGEST: if a newer pattern exists but the old one still works
- Distinctive: line 96
When multiple documentation sources conflict, use this hierarchy:
- Distinctive: line 116
After writing framework-specific code:
- Distinctive: line 118
Did you include a citation comment?: If not, add one.
- Distinctive: line 119
Does the cited URL actually contain the API you used?: Verify, don't hallucinate URLs.
- Distinctive: line 120
Does the code match the version in the manifest?: Not the latest version — the *installed* version.
- Distinctive: line 121
Were there any conflicts surfaced in Step 4?: If so, were they resolved?
“Common” is measured: kept by at least 6 in 10 of the 61 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Source-Driven Development
Version: 1.0.0 Last Updated: 2026-05-12
Overview
Source-driven development ensures that framework-specific code is written against current official documentation, not stale training data. AI models often generate code using deprecated APIs, wrong parameter orders, or patterns from older versions. Existing usage in the codebase is not verification either: the codebase may be on an older version, and a passing test proves the code runs, not that the API is current. This skill enforces a verification loop:
Detect version → Fetch current docs → Write code with citations → Surface conflictsThis skill leverages the Context7 MCP server (if available) to fetch version-specific documentation at build time.
When to Use
/temper:buildor/temper:fixwriting framework-specific code (React, Spring Boot, Express, FastAPI, etc.)- Adding or updating a dependency
- Writing code that uses a library API you haven't used recently
- Whenever the agent says "I believe the API works like..."
Skip when:
- Writing plain logic (no framework dependency)
- Writing tests for code you just read (you already have the source)
- Modifying config files with known structure
Process
Step 1: Read Manifest
Detect the project's dependencies and versions:
- JavaScript/TypeScript: Read
package.json— extractdependenciesanddevDependencies - Java: Read
pom.xmlorbuild.gradle— extract dependency versions - Python: Read
pyproject.tomlorrequirements.txt— extract pinned versions - Go: Read
go.mod— extract module versions - Rust: Read
Cargo.toml— extract dependency versions
For the specific library you're about to use, note the exact version installed.
Step 2: Fetch Current Documentation
If a documentation MCP server such as Context7 is available: resolve the library to its ID, query it for the specific API or pattern you need at the installed version, and read the returned snippets. Use the tool names the server exposes in this session rather than assuming them.
If no documentation server is available: web-search {library} v{version} {api}
documentation and fetch the official docs page with the fetch tool you have. This is
[HEURISTIC] rather than [PROVEN] — note the evidence level.
Step 3: Cite Sources
When writing framework-specific code, include a citation comment:
// Ref: React 19 useActionState — https://react.dev/reference/react/useActionState
const [state, submitAction, isPending] = useActionState(async (prevState, formData) => {
// ...
}, initialState);Or in Java:
// Ref: Spring Data JDBC 3.4 @Query — https://docs.spring.io/spring-data/jdbc/reference/repositories/query-methods.html
@Query("SELECT * FROM users WHERE email = :email")
Optional<User> findByEmail(@Param("email") String email);Citation format: {framework} v{version} {api/function} — {url}
Step 4: Surface Conflicts
After fetching docs, compare against what you were about to write:
- API signature changed? — parameters added, removed, or reordered
- Deprecated pattern? — the pattern you planned to use is now deprecated
- New recommended approach? — a better pattern exists in the current version
- Breaking change? — the version in the project has a breaking change from what training data suggests
If a conflict is found:
- BLOCK if the planned code would use a removed API
- WARN if the planned code uses a deprecated but still functional API
- SUGGEST if a newer pattern exists but the old one still works
Step 5: Authority Hierarchy
When multiple documentation sources conflict, use this hierarchy:
- Official docs (react.dev, docs.spring.io, fastapi.tiangolo.com) — highest authority
- Type definitions (DefinitelyTyped, built-in .d.ts) — mechanical truth
- Source code (GitHub repo, node_modules) — ground truth but may be internal
- Community (Stack Overflow, blog posts) — useful for patterns, not API signatures
- Training data (what the model "knows") — lowest authority, always verify
Red Flags
Watch for these signs that source-driven development would have prevented a problem:
- "Property X does not exist on type Y" — you used an API from a different version
- "Warning: X is deprecated, use Y instead" — you used training-data knowledge, not current docs
- Test passes but runtime behavior differs — API contract changed subtly between versions
- Code works locally but fails in CI — dependency version mismatch between environments
- Import not found — the module was reorganized in a newer version
Verification
After writing framework-specific code:
- Did you include a citation comment? If not, add one.
- Does the cited URL actually contain the API you used? Verify, don't hallucinate URLs.
- Does the code match the version in the manifest? Not the latest version — the installed version.
- Were there any conflicts surfaced in Step 4? If so, were they resolved?
Other versions68 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 68
- addyosmani/agent-skills★ 112ksame name
- shashankswe2020-ux/whoop-mcp★ 174same name
- tranhieutt/software_development_department★ 71same name
- drvoss/everything-copilot-cli★ 49same name
- vinvcn/addyosmani-agent-skills-zh★ 46same name
- jmxt3/gitscape.ai★ 33same name
- sampleXbro/agentsmesh★ 24same name
- jaskirat1616/grok-skills★ 22same name
- HK-hub/AgentSkills★ 6same name
- ddddjaak/ae-skills★ 4same name
58 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use constraint-driven-development, incremental-implementation and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
MrCipherSmithSkillconstraint-driven-development
Use when a project needs a persistent, measurable quality bar — starting a project without documented standards, 'set up constraints', or when coverage/perf/a11y thresholds get re-debated per-PR. Produces CONSTRAINTS.md with enforceable numbers, ratchets, and a guard against silent weakening. NOT for throwaway prototypes or a one-off CI setup.
Also in 13 projects that use this
LLl0k0laDSkillincremental-implementation
Use when implementing any feature or change that touches more than one file. Use when you're about to write a large amount of code at once, or when a task feels too big to land in one step.
Also in 36 projects that use this
barisariburnuSkillperformance-optimization
Complete performance optimization guide for Next.js applications including frontend, backend, database, caching, and general optimization strategies. Use when improving performance, reducing bundle size, optimizing queries, or implementing caching.
Also in 38 projects that use this
OpenAISkillverification-before-completion
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always
Also in 6 projects that use this
ElasticSkillaccessibility
Accessibility guidance for Kibana. Use this skill when working with or reviewing EUI components, resolving a11y-related (@elastic/eui) ESLint issues, and ensuring proper use of ARIA attributes, focus management, keyboard interactions, and accessible naming conventions.
Also in 3 projects that use this
PostHogSkillkarpathy-guidelines
Behavioral guidelines to reduce common LLM coding mistakes. Use when writing, reviewing, or refactoring code to avoid overcomplication, make surgical changes, surface assumptions, and define verifiable success criteria. Based on https://github.com/multica-ai/andrej-karpathy-skills.
Also in 3 projects that use this
In this repository5 other files it gives its agents.
- .claude/CLAUDE.mdCLAUDE.md
- context-engineeringSkill
- grill-meSkill
- teach-meSkill
- temper-coreSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

