Skip to content
Skills Library
Programming · Building & coding

source-driven-development

/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.

Author
jmxt3 ↗
Repository
gitscape.ai ↗
Licence
Apache-2.0
Last repository change
17.07.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
1
Scripts
0
HTML comments
0
URLs in SKILL.md
9
Deprecation

No signals detected. Repository changed on 17.07.2026, without references to retired models or APIs.

Licence

Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.

What it does and when to use it

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.

Original author description

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 it works

  1. Overview
  2. When to Use
  3. The Process
  4. GitScape-Specific Sources
  5. Anti-Patterns to Avoid
  6. Common Rationalizations
  7. Red Flags
  8. Verification
Original SKILL.md headings · 120 lines, 699 words
SKILL.md preview
---
name: source-driven-development
description: 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.
---

# Source-Driven Development

## Overview

Every framework decision and library usage should be grounded in official documentation. AI agents have training cutoffs and can produce outdated, deprecated, or hallucinated API patterns. Source-driven development means: **verify before you code, cite what you verified, and flag what you couldn't confirm.**

## When to Use

- Using any external library or framework
- Implementing a pattern that isn't already established in the codebase
- Unsure whether an API or approach is current
- Seeing a pattern that looks right but isn't confirmed in the existing codebase

## The Process

### Step 1: Identify What Needs Verification

Before writing any code that uses an external library:

1. List the specific APIs, functions, or patterns you plan to use
2. Note the version you're targeting (check `requirements.txt`, `package.json`, or `pyproject.toml`)
3. Flag anything you're not 100% confident is current

### Step 2: Verify in Official Sources

**Priority order for sources:**
1. **Official docs** — the library's own documentation site
2. **Official GitHub** — the library's `README.md`, `CHANGELOG.md`, or `examples/`
3. **Release notes** — for the specific version in use
4. **Existing codebase** — how the library is already used in this project

**Never use as authoritative sources:**
- Stack Overflow answers (can be outdated)
- Blog posts (may target a different version)
- Your own training knowledge without verification
- ChatGPT or other AI outputs as a source of truth

### Step 3: Cite Your Sources

When writing code that uses verified patterns, leave a reference comment for future maintainers:

```python
# FastAPI dependency injection pattern
# Source: https://fastapi.tiangolo.com/tutorial/dependencies/
async def get_db() -> AsyncGenerator[AsyncSession, None]:
    async with AsyncSessionLocal() as session:
        yield session
```

```typescript
// React Query v5 data fetching
// Source: https://tanstack.com/query/v5/docs/framework/react/guides/queries
const { data, isLoading } = useQuery({
  queryKey: ['skills', repoId],
  queryFn: () => fetchSkills(repoId),
});
```

### Step 4: Flag What You Couldn't Verify

If you're using a pattern you cannot confirm is current, say so explicitly:

```python
# NOTE: Verify this middleware pattern against the current FastAPI docs.
# Used based on prior codebase patterns — may have changed in recent versions.
app.add_middleware(GZipMiddleware, minimum_size=1000)
```

And note it in the PR description or task update.

## GitScape-Specific Sources

For the GitScape stack, always verify against:

| Technology | Official Source |
|---|---|
| FastAPI | https://fastapi.tiangolo.com/ |
| Google Gen AI SDK (Python) | https://googleapis.github.io/python-genai/ |
| Google Cloud Run | https://cloud.google.com/run/docs |
| GitHub API (PyGithub) | https://pygithub.readthedocs.io/ |
| React / TypeScript | https://react.dev/ |
| Vite | https://vitejs.dev/ |
| Cloud Build | https://cloud.google.com/build/docs |

Check the version in `api/requirements.txt` and `web/package.json` before citing docs for a specific version.

## Anti-Patterns to Avoid

| Anti-Pattern | Why It Fails |
|---|---|
| Using an API without checking the version | Libraries break across major versions |
| Copying a pattern from memory | Training data may lag 12-24 months behind current releases |
| "This looks right" as verification | Looks right ≠ is right |
| Citing an AI as a source | AI outputs require human-verified sources, not circular citation |

## Common Rationalizations

| Rationalization | Reality |
|---|---|
| "I know this library well" | APIs change. Verify. The minute spent checking prevents the hour debugging. |
| "I'll verify later" | You won't. And by then the wrong pattern is baked in. |
| "The existing code uses this pattern" | Great — that's evidence. Check if the existing usage is from a current dependency version. |

## Red Flags

- Library usage with no reference to a source
- Patterns that differ from every other usage in the codebase without explanation
- Using a deprecated API (check for deprecation warnings in docs)
- Citing a blog post or Stack Overflow answer as the source

## Verification

After writing code that uses external libraries:

- [ ] Every external API usage is confirmed in official docs or the existing codebase
- [ ] The docs version matches the version in `requirements.txt` / `package.json`
- [ ] Unverified patterns are explicitly flagged with a `# NOTE: verify` comment
- [ ] No deprecated APIs are used (or if used, the deprecation is documented)

Versions

RepositoryScoreLicence
This page · jmxt3/gitscape.ai100Apache-2.0
lucasouzadev/agent-kit-skill100MIT
FrancoStino/opencode-skills-collection100MIT
drvoss/everything-copilot-cli100MIT
t068580-ai/Ai-Cybersecurity100MIT
sickn33/agentic-awesome-skills100MIT
muhammadshaharyarnaeem/blackgoat-agentskills100MIT
vinvcn/addyosmani-agent-skills-zh100MIT
addyosmani/agent-skills100MIT

Database snapshot: 13.11.2026 · package version 9b169a811e78 (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 100mukhon-source-driven-dev
    Grounds every implementation decision in official documentation. Use when you want to verify an approach against the official docs before implementing it, or when you want authoritative, source-cited code free from outdated patterns. Use when building with any framework or…
  • 100source-grounded-development-engineering
    Engineering practice: Source-grounded development — Check every framework and library decision against the official documentation for the exact version installed, so code uses APIs that actually exist and behave as written. Use in any language or framework whenever this practice…
  • 90fec-source-driven-development
    Use when frontend decisions depend on framework, library, browser, runtime, package, API, or platform behavior that may have changed, including official documentation checks, version-sensitive patterns, migration choices, or public interface assumptions; Chinese triggers include…
  • 100source-driven
    Use when writing or verifying framework-specific code, boilerplate, or a documented, correct implementation. Not for pure logic, renames, or when the caller explicitly wants speed over verification.
  • 90verify-sources
    Confirm claims at the primary source — fetch the official docs, spec, or source directly. TRIGGER when: researching a library, API, framework, or architecture/design decision; or acting on a documentation claim from a subagent, blog post, or other secondary source. DO NOT…
  • 90docpin
    Use when about to write or explain code that imports or calls a third-party library, or when the user asks how to use a named library/framework — resolves the version installed in the project and grounds the answer in version-matched documentation.

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.