Consult the project''s trusted-sources registry before searching the web or adding a dependency/tool, and ground every shown fact in a verified origin. Use when the user asks to search/research/look something up, find docs or an API signature, choose or add a dependency/library/tool, or mentions "/sources". Reads docs/SOURCES.md, prefers its Tier-1 trusted sources, version-pins to the project stack, vets any new dependency with the both-ends advisory check, records the decision, and flags any...
Scanned 9/6/2026
Install to Claude Code
npx -y skills add gabrieldabbah/genesis --skill sources --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Sources?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/gabrieldabbah-sources)More formats (shields.io, HTML) on the badges page.
---
name: sources
description: 'Consult the project''s trusted-sources registry before searching the web or adding a dependency/tool, and ground every shown fact in a verified origin. Use when the user asks to search/research/look something up, find docs or an API signature, choose or add a dependency/library/tool, or mentions "/sources". Reads docs/SOURCES.md, prefers its Tier-1 trusted sources, version-pins to the project stack, vets any new dependency with the both-ends advisory check, records the decision, and flags anything un-corroborated as a conjecture. Never invents a citation, version, or stat; never adds an unvetted/typosquatted package.'
license: MIT
allowed-tools: WebSearch, WebFetch, Read, Edit, Bash
---
# Sources — trusted-first search & dependency vetting
## Overview
A shown fact without a verified origin does not exist; an uncorroborated claim is a conjecture, not a fact.
This skill applies that at the moment of *searching* and of *choosing dependencies*.
The registry is the project's `docs/SOURCES.md`; **read it fresh** each run — it is the source of truth for what to trust:
```bash
cat docs/SOURCES.md
sed -n '1,40p' CLAUDE.md # the stack and versions to pin to
```
**Invocation is the authorization** for the search/vetting itself. The only thing surfaced to the operator is
a genuine fork (a license conflict, a risky-but-wanted dependency, a missing trusted source for a critical
fact) — and **the operator approves the actual install or commit**, as for any change.
## A — When asked to search / research / look something up
1. **Trusted-first.** Identify the domain and go to its **Tier-1** source in `SOURCES.md` §3 before the open
web (official language/framework docs, the standard, the package's own repo, this repo's own docs).
2. **Version-pin.** Match the project's installed major version (lockfile plus `CLAUDE.md`) — docs for the
wrong version are a silent trap.
3. **Corroborate & cite.** Any Tier-2/3 finding is confirmed against a Tier-1 source before you rely on it;
cite the origin inline. **Ground every fact** — `origin(fact) = None ⇒ drop it`, never paraphrase a guess
into a claim.
4. **Conjecture-flag the rest.** Anything from an unlisted or Tier-3 source is presented as a conjecture with
its falsifier, or withheld — never asserted as fact.
5. **Compound the registry.** If you found a genuinely trustworthy source not in §3, **add it** (tier + one
line on why) so the registry grows. For Claude/Anthropic model facts, defer to the **`claude-api`** skill.
## B — When asked to add a dependency or tool
Run the `SOURCES.md` §4 **vetting checklist** — do not skip a box:
```bash
# real & canonical (not a typosquat): inspect the package's OWN registry page + linked repo
# e.g. npm view <pkg> repository.url / pip show <pkg> / cargo info <pkg> — then open the real repo
# advisory-clean, BOTH ENDS (the current version if replacing, and the target you'd add) — cmd from SOURCES.md §5:
# npm audit / pip-audit / cargo audit / govulncheck + query OSV / GitHub Advisory for exact name+version
```
- [ ] **Real & canonical** — exact name, official repo; **not** a look-alike/typosquat.
- [ ] **Maintained** — recent releases/commits, more than a lone anonymous maintainer.
- [ ] **Mature, not bleeding-edge** — a baked version (MAINTENANCE policy), never a week-old `.0`.
- [ ] **Advisory-clean (both ends)** — no known advisory, not yanked/deprecated.
- [ ] **License-compatible** with the project's license.
- [ ] **Earns its weight** — prefer the standard library or an already-present dep when it suffices.
Then: **record** it — add the row to `SOURCES.md` §4 (Approved) with the verified registry URL + today's
date (`date +%F`, never guessed), log the choice and its reason in `docs/DECISIONS.md`, and (if rejected)
add it to the §4 Rejected list so it isn't re-litigated. Propose the install command; the operator approves
the commit. A new dependency lands behind a **green `test-gate`**.
## Hard rules (stop if you catch yourself doing these)
- Citing a fact, version, statistic or API signature you did not verify against a real source. → ground it or drop it.
- Inventing a URL, citation, or release date. → the one unrecoverable error. Say "not found" instead.
- Adding a package because a search surfaced it, without the §4 checklist. → vet first; typosquats are real.
- Trusting a Tier-3 blog or Q&A as the origin of a fact. → corroborate against Tier-1, or mark it a conjecture.
- Pulling docs for the wrong major version. → pin to the project's lockfile.
- Running the actual install or commit without the operator's go, or before `test-gate` is green. → propose it.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!