Source-First Research¶
Load this before generating or editing skill content about a library, protocol, product, or format.
Skill pages are published as both MCP resources and human-readable HTML. Claims need labeled links to official documentation, with source code as the fallback when the docs do not settle the mechanic.
Research Order¶
- Official documentation for the feature, API, or format under edit. Prefer the current stable docs for the version the skill targets.
- Source code only when documentation is missing, internally contradictory, version-gated, or too thin to explain the mechanic.
- Do not fill gaps from model memory, unofficial blogs, or issue comments unless those are the project's designated source of truth.
A skill that restates training knowledge without citations is not a technical reference.
What Counts As Official Documentation¶
Treat these as first-class when they are published by the project or standards body:
- Product documentation sites and API references
- Language or protocol specifications (PEPs, RFCs, OpenAPI, Agent Skills, MCP)
- Man pages and CLI
--helpthat the project documents as canonical - Versioned
llms.txtor docs indexes published by the project
Do not treat as official unless the project points to them:
- Third-party tutorials and comparison posts
- Unreviewed GitHub discussions
- Copied snippets from other skills in this repository (those may be stale)
Locating Documentation¶
Work from the project's own indexes before searching the web at large.
| Locator | Why it is first |
|---|---|
Docs home / /docs |
Stable, versioned narrative and API pages |
Project llms.txt |
Machine-oriented map of official pages |
| PyPI project URLs | "Documentation" and "Homepage" on the package page |
| Spec repositories | Normative field names and schemas |
In-repo docs/ on the tagged release |
Matches the installed version |
Record the page you used. Later skill edits should be able to re-open the same URL.
When To Read Source¶
Open source after the official page is located, and only for the unresolved mechanic:
- Behavior the docs describe as undefined, experimental, or "see implementation"
- Deprecation or replacement not yet reflected on the landing page
- Exact default values, error types, or CLI flags missing from the reference
- Provider or plugin wiring that the docs summarize but do not specify
Prefer a tagged release that matches the skill's version floor over an unreleased default branch.
Read the implementation of the documented symbol, not an adjacent example app, unless the project documents that example as canonical.
Locating Source¶
| Locator | Typical use |
|---|---|
| "Edit this page" / source link on the docs page | Jump to the file that backs the article |
| GitHub (or Forgejo) repository linked from docs or PyPI | Library, CLI, or spec implementation |
| Package source on PyPI | Confirm the installed distribution |
| Generated API docs that link to source | Class and function-level mechanics |
Cite a permalink (tag or commit) when the line number matters. Default-branch links rot.
Citation On The Page¶
This repository renders the same Markdown as HTML and as MCP resources. Link quality is part of the research contract. Follow the same rules as Zensical documentation authoring:
- Never leave a bare URL in prose or list items.
- Use in-place Markdown links with meaningful labels.
- Group related official links in an info admonition so the HTML page remains scannable.
- If a claim is supported only by source, say so next to the link.
!!! info "Primary sources"
- [FastAPI lifespan events](https://fastapi.tiangolo.com/advanced/events/)
- [Starlette lifespan](https://www.starlette.io/lifespan/)
When the docs are insufficient, add a second group for source:
!!! note "Implementation fallback"
- [`FastAPI.router.lifespan_context` in FastAPI](https://github.com/fastapi/fastapi/blob/master/fastapi/applications.py)
Completeness¶
A research pass is complete when:
- The official page for the feature is identified (or documented as absent).
- Any source fallback names the file or symbol that settles the mechanic.
- The skill page being edited links those sources; it does not paraphrase them without a path back.
- Version constraints that change the advice are stated next to the claim.
If neither docs nor source can be located, do not invent the mechanic. Leave the gap explicit.
Common Documentation And Source Roots¶
Use these as starting indexes for domains this library already covers. They are entry points, not a substitute for the feature-level page.
Agent Skills
Python language and stdlib
Packaging and tooling
Web and settings