add-source
Skill74 starsChanged 9 days agoApache-2.0View on GitHub
Add or extend a Decant source parser for another coding-agent CLI's session logs. Use when adding a new tool under src/sources/, changing how an existing parser normalizes records, or touching discovery, watch roots, or parser fixtures and goldens.
11 other projects use a version of this.
Adopted by
Most recently taken up by
- seonwooj0810/careerlooptheir own version, first seen Oct 20, 2026
- IvanWng97/pixtuoidtheir own version, first seen Oct 14, 2026
- pixtuoid/pixtuoidtheir own version, first seen Oct 13, 2026
- dipu-bd/lightnovel-crawlertheir own version, first seen Oct 8, 2026
- bruin-data/ingestrtheir own version, first seen Oct 8, 2026
- lncrawl/lightnovel-crawlertheir own version, first seen Oct 8, 2026
Other versions11 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 11
- bruin-data/ingestr★ 4ksame name
- dipu-bd/lightnovel-crawler★ 2.6ksame name
- lncrawl/lightnovel-crawler★ 2.6ksame name
- IvanWng97/pixtuoid★ 551same name
- pixtuoid/pixtuoid★ 551same name
- NVIDIA/physicsnemo-curator★ 67same name
- assaio/assaio★ 63same name
- qbeka/jev-job-search★ 5same name
- jacksoswag/ObsidAgent★ 1same name
- Miracle-Aligner/job-search-hq★ 1same name
1 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.
In this repository6 other files it gives its agents.
- AGENTS.mdAGENTS.md
- api-route-changeSkill
- contribution-triageSkill
- decant-releaseSkill
- schema-migrationSkill
- update-model-pricingSkill
The file
We split this skill into the rules it gives an agent
2 rules. 0 are common, 0 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 7 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 13
Never print, quote, or commit transcript content from ~/.claude, ~/.codex, or any other real session store.
- Very specific: line 16
Every fixture under fixtures/<tool>/ is hand-written with invented content.
“Common” is measured: kept by at least 6 in 10 of the 7 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
Add a source parser
The checklist lives in docs/adding-a-source.md. Read it in full before
editing; this skill only lists the steps that are easy to miss.
Privacy first
- Never print, quote, or commit transcript content from
~/.claude,~/.codex, or any other real session store. Inspect record shapes with aggregate counts only (types, key sets, value types). - Every fixture under
fixtures/<tool>/is hand-written with invented content. An edited real transcript is not synthetic.
Touchpoints
discover()insrc/ingest.ts(where files live, which sidecars to skip) plus a source-directory env override documented indocs/sources.md, and a row in the supported agents table inREADME.md.src/sources/<tool>.ts: pure and print-free, returns aParsedSession, turns malformed lines intounparsed_lineissues and unknown record types into oneunknown_record_typeissue per type, callslinkageIssues. Reuse the JSONL line parser, unknown-type issue builders and block factory insrc/sources/shared.ts.- The tool ID in
TOOLSinsrc/model.ts(persisted; choose it once). watchDirs()insrc/watch.ts.SESSION_SOURCES,sessionSourceLabel, andsessionSourcePredicateinsrc/source-filter.ts, thesourceenums in the API docs, the source label maps insrc/export.tsandsrc/sources/atif.ts, and the source rows insrc/doctor.ts.- The capability report from the doc, filled in for the pull request.
Tests and goldens
- Parser tests in
test/<tool>.test.ts, ingest coverage intest/ingest.test.ts, fixture paths intest/golden/meta.json, and the fixture directory in both stagers (scripts/regen-goldens.tsandtest/cli-golden.test.ts). - Regenerate goldens only after focused tests pass, then read the whole diff:
bun run scripts/regen-goldens.ts --i-reviewed-the-diff. A golden change in an existing source is a regression until explained.
Done
bun test, bunx tsc --noEmit, and bunx biome check . pass, then
just check. Use DECANT_DB=<scratch> ... --no-sync for manual runs so the
real archive is never touched.
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.

