Assimilate repo
Skill eugenelim/agent-ready-repo/packs/catalogue-curation/.apm/skills/assimilate-repo
Use to survey a whole external repo or catalogue (local path or URL) for ingestion candidates and produce a reviewable RFC of per-candidate verdicts (assimilate, reject, or needs-new-pack), resumable across sessions and git worktrees via a ledger. Triggers on "survey this repo for skills we can adopt", "inventory this catalogue", "what can we assimilate from <repo>", "re-sync from <upstream>". Do NOT use for a single known unit (use assimilate-primitive) or to scaffold a proposed pack (use propose-catalogue-pack).From its SKILL.md
npx -y skills add eugenelim/agent-ready-repo --skill assimilate-repoAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 15 stars15 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 1 command, including `agentbundle catalogue init`.
SKILL.md
5.2 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
Skill: assimilate-repo
Survey a whole external repo or catalogue and turn it into a reviewable
RFC of per-candidate verdicts — resumable, idempotent, and safe under parallel
git worktrees. It reuses assimilate-primitive's per-unit safety + craft for
each assimilate verdict; its own job is the survey, the ledger, and the RFC.
Output rendering
Table — When presenting several items that share the same fields, render a Markdown table. Cap at ~5 columns; beyond that, switch to a per-item detail list. Right-align numeric columns. Status list — Lead each row with a status glyph — ● running, ✓ done, ○ idle, ⚠ blocked — status first, one item per line, labels aligned. Rationale / narrative — Use short ## headings and 2–3 sentence paragraphs. Don't force narrative into a table.
Procedure
- Establish the charter anchor. Read
docs/CHARTER.mdfrom the running catalogue if present; extract the mission and scope (the## Domainsection if present, else## Mission+## Scope). Show the operator a one-line summary: "Anchoring verdicts against: [catalogue-name] — [domain summary]. Override?" Accept: a path to a different CHARTER.md (the target catalogue's charter), or an inline mission statement (one phrase or sentence — the skill expands it into a working scope anchor). Ifdocs/CHARTER.mdis absent, elicit before proceeding: "What is this catalogue for? One phrase, sentence, or path to a CHARTER.md." The charter anchor governs all verdicts: a candidate is in scope if its function fits the mission; otherwisereject. Run from inside the target catalogue for correct anchoring — see workflow note below. - Fetch the source, SSRF-guarded — same allowlist as
assimilate-primitive(https/git/sshonly; rejectfile:/ftp:and private/metadata ranges). Seereferences/survey-and-ledger.md. - Open (or resume) the ledger. State lives at
~/.agentbundle/catalogue-curation/<run-id>/ledger.toml, where<run-id>is a deterministic hash of the source + a per-installation salt (no per-run stamp) — so a resumed run and a sibling worktree derive the same run-id and share one append-only ledger. A re-run skips candidates already markeddone. - Inventory candidates and assign a verdict each, iteratively (one
reviewable verdict at a time, appended to the ledger):
assimilate(names the destination pack),reject(terse reason — no verbatim source content), orneeds-new-pack. Keep the ledger's reason field bounded; it is scratch, never committed, purged on completion. - Emit an RFC capturing the inventory + verdicts — a reviewable proposal,
not a silent commit. When any
needs-new-packverdict appears, offer the hand-off topropose-catalogue-pack— describe what needs a pack and let the operator choose. Never auto-invoke it. - Incremental re-sync. Re-pointing at a source assimilated before is a
diff, not a fresh run: the durable per-source marker
(
sources/<source-hash>/last-synced.toml, dated append, exempt from the completion purge) classifies each candidateunchanged(skip) /changed/new. The git commit log is the time-of-sync record — no parallel log. Record the re-sync on the prior source-RFC via RFC-0055's forms: an Amendment if it's Open; an Erratum if Frozen + a genuine correction; a new RFC (recorded as an Erratum entry naming it on the prior) if Frozen + new candidates or reversed verdicts. Detail:references/re-sync.md.
Never do
- Write under this repo's
packages/agentbundle/**orpacks/credential-brokers/**(RFC-0059 D6) — those change only through a separate human-authored RFC. - Auto-invoke
propose-catalogue-pack— always offer with prepared context. - Commit the ledger, let it travel in an export, or record verbatim source content / rejection prose in it.
- Bypass
assimilate-primitive's per-unit safety (raw-body review, code confirm, repo lints/scanners, AST01-AST10 agentic-skills security review,safety.write_jailed) for anassimilateverdict.
Canonical workflow
Run assimilate-repo from inside the target catalogue, not from the source.
If you are starting a new or derived catalogue, use agentbundle catalogue init
(or --preset self-hosted for an enterprise-derived catalogue) first — it
establishes the catalogue scaffold and installs curation tools before you start
surveying. Running from the source catalogue anchors verdicts against the wrong
charter.
Repo-scope; not in any default profile.
What ships with it: 6 files
21.6 KB alongside SKILL.md, 4 of them executable
references/
- re-sync.md2.0 KB
- survey-and-ledger.md2.1 KB
scripts/
- ledger.pyruns7.4 KB
- ssrf_check.pyruns4.6 KB
- test_ledger.pyruns3.7 KB
- write_jail.pyruns1.9 KB