source
Skill0 starsChanged 3 months agoMITView on GitHub
Maintain SOURCE.md as the persistent project record. Use for /source init (bootstrap), /source check (read-only health report), or /source refresh (reconcile from repo). Optional flags --agents or --claude.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- flowing-abyss/obsidian-vault-skillstheir own version, first seen Sep 19, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- flowing-abyss/obsidian-vault-skills★ 9same name
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.
In this repository3 other files it gives its agents.
- AGENTS.mdAGENTS.md
- skills/source/templates/AGENTS.mdAGENTS.md
- skills/source/templates/CLAUDE.mdCLAUDE.md
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. About 0 are common, 8 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 44
Use system/context signals from the current session — not install path, not chat history:
- Distinctive: line 54
All templates live in templates/.
- Distinctive: line 64
No flag on init → detect running tool (see table above).
- Distinctive: line 65
No flag on refresh → detect running tool.
- Very specific: line 66
Check without flags → report SOURCE only unless --agents / --claude limits guidance checks.
- Very specific: line 80
Read README.md, dependency manifests, Makefile, CI configs, top-level layout, key scripts
- Distinctive: line 81
When conversation context is empty or minimal, treat this step as primary
- Very specific: line 82
Do not invent facts; use <!-- TODO: confirm --> when uncertain
- Distinctive: line 83
Do not overwrite non-empty values
- Very specific: line 108
If SOURCE.md is missing → tell the user to run /source init first.
- Very specific: line 111
Update factual fields (Stack, Commands, Repository layout) only when SOURCE is empty, contains <!-- TODO: confirm -->, or repo evidence …
- Very specific: line 112
When ambiguous, add <!-- stale: … --> rather than overwriting
- Distinctive: line 114
Remove completed Deferred items only when repo or conversation evidence clearly shows completion
- Very specific: line 118
If markers absent → insert template block after ## Boundaries.
- Distinctive: line 119
Never remove project-specific additions
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Source
SOURCE.md is the persistent project record — stack, architecture, decisions, deferrals, focus. Chats are temporary; SOURCE.md is not. Any agent in any chat reads it first and updates it when project truth changes.
| File | Role |
SOURCE.md | Required — whole project on disk |
AGENTS.md | Agent workflow; enforces SOURCE-first behavior |
CLAUDE.md | Claude Code guidance; imports SOURCE via @SOURCE.md |
Guidance files and tools
| Scope | Guidance file | Tools |
agents | AGENTS.md | Cursor, Codex, Amp, Cline, Windsurf, Antigravity, and similar |
claude | CLAUDE.md | Claude Code only |
Commands
SOURCE.md is always in scope. Guidance file scope is controlled by flags or detection (init and refresh only).
| Invocation | Action |
/source init | Bootstrap — create or update SOURCE + detected guidance file |
/source init --agents | Bootstrap — SOURCE + AGENTS.md |
/source init --claude | Bootstrap — SOURCE + CLAUDE.md |
/source check | Read-only health report — no file writes |
/source check --agents | Check SOURCE + AGENTS Boundaries only |
/source check --claude | Check SOURCE + CLAUDE Boundaries only |
/source refresh | Reconcile SOURCE (and guidance sync per scope) from repo evidence |
/source refresh --agents | Refresh SOURCE + sync AGENTS.md |
/source refresh --claude | Refresh SOURCE + sync CLAUDE.md |
For both guidance files, run init --agents and init --claude separately.
Detect running tool (init without flags)
Use system/context signals from the current session — not install path, not chat history:
| Running in | Guidance scope |
| Claude Code | claude |
| Cursor, Codex, Amp, Cline, Windsurf, Antigravity, or similar | agents |
| Unknown | agents |
Templates
All templates live in templates/.
Workflow
- Confirm target directory — workspace root unless the user specifies another path.
- Determine command —
init,check, orrefresh. - Determine guidance scope (init and refresh only)
--agentsor--claude→ use that scope.- No flag on init → detect running tool (see table above).
- No flag on refresh → detect running tool.
- Check without flags → report SOURCE only unless
--agents/--claudelimits guidance checks.
- Resolve filenames — prefer
SOURCE.md,AGENTS.md,CLAUDE.md. Treat lowercase variants as the same file.
init — bootstrap
- SOURCE.md
- Missing → create from templates/SOURCE.md only. Do not prepend anything else.
- Exists → never erase project content from
## Overviewdownward.- Marker — if
source:marker is absent, add<!-- source: source-of-truth marker -->as the first line. - Normalize header — between
# Sourceand## Overview, keep exactly one intro paragraph (from template). Remove duplicate source-of-truth intros from older runs. - Sections — append template sections not already present; do not overwrite non-empty values.
- Marker — if
- Bootstrap from repository — fill empty table cells and placeholders only:
- Read
README.md, dependency manifests,Makefile, CI configs, top-level layout, key scripts - When conversation context is empty or minimal, treat this step as primary
- Do not invent facts; use
<!-- TODO: confirm -->when uncertain - Do not overwrite non-empty values
- Read
- Merge durable project knowledge — from the current conversation, append where missing: Decisions, Deferred, Architecture; rewrite Current focus only when focus clearly shifted. Skip if no conversation context.
- AGENTS.md (when guidance scope is
agents) — create from template if missing; prepend pointer if marker absent; sync default Boundaries block from template (marker rules below). - CLAUDE.md (when guidance scope is
claude) — create from template if missing; prepend pointer if marker absent; sync default Boundaries block from template. - Summarize init — scope, one-line status per file touched, gaps needing input (≤5 lines). If the other guidance file does not exist, note: run
/source init --[other]if this repo is also used with that tool.
check — read-only health report
Do not create, edit, or delete any file.
- Read SOURCE.md,
README.md, dependency manifests, CI configs, top-level directory layout, and guidance files in scope. - Report to the user in three groups:
- OK — sections that match the repo or need no action
- Stale — SOURCE claims X, repo shows Y (cite paths)
- Missing — template sections absent, marker missing, duplicate header intros, Boundaries block behind template, empty critical cells with repo data available
- End with:
Run /source refresh to reconcile.Do not fix anything.
refresh — reconcile
If SOURCE.md is missing → tell the user to run /source init first; stop.
- SOURCE.md — apply init steps 5–7, plus conservative reconciliation:
- Update factual fields (Stack, Commands, Repository layout) only when SOURCE is empty, contains
<!-- TODO: confirm -->, or repo evidence clearly contradicts SOURCE - When ambiguous, add
<!-- stale: … -->rather than overwriting - Normalize header (one intro between
# Sourceand## Overview) - Remove completed Deferred items only when repo or conversation evidence clearly shows completion
- Update factual fields (Stack, Commands, Repository layout) only when SOURCE is empty, contains
- AGENTS.md / CLAUDE.md (per guidance scope) — sync default Boundaries from template:
- Replace block between
<!-- source: boundaries-default -->and<!-- /source: boundaries-default -->(markers inclusive) - If markers absent → insert template block after
## Boundaries; preserve<!-- Project-specific additions below -->and content after it - Never remove project-specific additions
- Replace block between
- Summarize refresh — what changed, what remains stale or needs manual input (≤5 lines). Suggest
/source checkto verify.
Boundaries sync (init and refresh)
Extract the marked block from templates/AGENTS.md or templates/CLAUDE.md. Never overwrite content after <!-- Project-specific additions below -->.
Separation
Project facts live in SOURCE.md only. Guidance files enforce read/update behavior; do not duplicate facts.
Ongoing use
During normal work, agents update SOURCE.md when project truth changes — without waiting for /source init. Agent behavior → edit AGENTS.md or CLAUDE.md. Project facts → edit SOURCE.md.
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.

