Ingest
Skill 0SxD/github-curator-v01/github-curator-v0.1.0/skills/ingest
npx -y skills add 0SxD/github-curator-v01 --skill ingestAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 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.
What its author says it does
Copied from the file, not written here
Use this skill when absorbing an external project bundle, prompt pack, agent packet, or skill folder into a curated repository, especially when the source needs to be evaluated for publish-readiness before it lands in the canonical tree. Triggers: any request to ingest a packet, absorb a folder, evaluate a prompt pack against a rubric, route a third-party skill through gates, or convert a NotebookLM source bundle into a SKILL.md-conformant skill. The skill runs an interrogation loop with the human if the source is incomplete, never assumes missing fields, and produces a quarantine-or-promote verdict at the end. Do NOT use this skill for editing skills already in the canonical tree (use github-curator), for evaluating finished artifacts ready to publish (use publish-readiness-rubric), or for arbitrary file ingestion unrelated to the Agent Skills format.
The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
9.8 KB, ~2.1k tokens by cl100k_base, as published. Nobody here has run it
ingest
The absorption skill. Takes a packet from outside the repo, routes it
through the four-gate publish-readiness pattern, and emits either a
promotion to the canonical skills/ tree or a quarantine record with
the specific failed gates listed.
Why this skill exists
Bundles arrive in many shapes: a prompt pack from another agent, a
NotebookLM source bundle, a folder dragged out of a Claude project, a
zip downloaded from a colleague's GitHub release. The Agent Skills
specification at https://agentskills.io/specification defines a single
canonical shape: a folder named after the skill, containing
SKILL.md with valid YAML frontmatter, plus optional references/,
scripts/, assets/. Anything that does not match the spec must be
either repaired into spec conformance or quarantined.
The Zero Assumption Mandate from system_directive_protocol Section 3 forbids the agent from inferring missing frontmatter, padding short descriptions, or guessing at host compatibility. When information is missing, this skill asks the human, using the Socratic Method (max 3 load-bearing questions per turn).
When to use
Load this skill when any of the following is true:
- The user has dropped a folder, zip, or markdown file into the working directory and asked the agent to absorb it.
- The user has named a packet by URL or local path and asked for it
to be added to
skills/. - The user has asked the agent to evaluate whether a third-party skill is publish-ready before it is checked in.
- The user is migrating a NotebookLM-shaped source bundle into the Agent Skills format.
Do not load this skill for editing existing canonical skills (load
github-curator), for the final publish-readiness check on a
finished artifact (load publish-readiness-rubric), or for arbitrary
file ingestion such as importing data files for analysis.
The loop
DETECT -> NORMALIZE -> INTERROGATE -> SCORE -> ROUTE
Each step writes to the file system. None of the steps mutate the
canonical skills/ tree until ROUTE returns PROMOTE.
DETECT (active sensing)
- Locate the source. If it is a zip, unpack to a working directory
under
/tmp/ingest/<timestamp>/. - Catalogue every file. Compute sha256 per file. Save the catalogue
to
/tmp/ingest/<timestamp>/manifest.json. - Identify the packet shape:
- Spec-conformant: a folder containing
SKILL.mdwith valid frontmatter. - Spec-adjacent: a folder containing markdown files but missing frontmatter, or with frontmatter that does not validate.
- Spec-foreign: a folder of mixed content (PDFs, prompts in plain text, scattered markdown, JSON files, no clear skill structure).
- Spec-conformant: a folder containing
The shape determines the NORMALIZE strategy.
NORMALIZE (reasoning)
For spec-conformant packets, NORMALIZE is a no-op. Proceed to INTERROGATE only if the human has flagged a known issue.
For spec-adjacent packets:
- Propose the missing frontmatter fields.
- The agent does not write proposed values silently. The proposed values become the first round of interrogation questions.
For spec-foreign packets:
- Identify the candidate skill or skills hidden in the bundle. A
prompt pack with 12 prompts produces 12 candidate skills. A
NotebookLM bundle with 5 markdown files plus 3 PDFs produces a
structured proposal: which markdown becomes a
SKILL.md, which becomereferences/, which PDFs become assets. - The proposal is a write-list. It is not executed until INTERROGATE returns answers.
INTERROGATE (Socratic Method, max 3 load-bearing questions per turn)
For each missing or ambiguous field, the skill asks the human a load-bearing question. Each question must close a specific gap that would otherwise force an assumption. The total per turn is capped at 3, in line with system_directive_protocol's Socratic interaction rule.
Common interrogation patterns:
- Missing
name: "The folder is calledX. The Agent Skills spec requiresnameto equal the parent directory name, lowercase hyphenated, ≤64 chars. Confirmname: X, or supply a different name and rename the folder?" - Short
description: "The current description is N chars. The spec requires 1 to 1024 chars and recommends covering both what the skill does and when to use it. Add a 'when to use' clause, or approve the current text?" - Missing
license: "The license field is empty. Recommended values:Apache-2.0(this repo's default) orMIT. Confirm Apache-2.0?" - Missing
compatibility: "The compatibility field is empty. Recommend listing at least 3 host environments. Confirm 'Claude Code, Cursor, NotebookLM (via packet zip)'?" - Spec-foreign content: "The bundle contains 3 PDFs. The Agent Skills
spec recommends
assets/for binary attachments. Move them toassets/, or strip them?"
If the human supplies an answer, the value is locked into the proposal and the next round of interrogation runs. If the human declines to answer or marks the field "leave empty", the gap is recorded in the quarantine record.
SCORE (boolean-atomic rubric)
Once interrogation is complete, run the
publish-readiness-rubric skill against the proposed packet. The
rubric returns a 15-row matrix per the same schema used by
github-curator's self-verification. The rubric is not part of this
skill; it is a sibling, loaded on demand.
The rubric output is binary per row. Aggregate verdict:
- All Essential rows TRUE and no Pitfall rows TRUE: PROMOTE.
- Any Essential row FALSE: QUARANTINE.
- Any Pitfall row TRUE: QUARANTINE.
- Important rows FALSE: PROMOTE-WITH-WARNING (human confirms).
ROUTE (artifact generation)
PROMOTE:
- Move the working directory contents to
skills/<n>/in the canonical tree. - Append a row to
registry.yaml. - Update
CHANGELOG.md[Unreleased]with an Added entry. - Run
skills/github-curator/scripts/verify-self.sh. The matrix must PASS before the change is committable.
QUARANTINE:
- Move the working directory to
quarantine/<timestamp>-<n>/. - Write
quarantine/<timestamp>-<n>/QUARANTINE.mdcontaining the rubric output, the failed rows, the interrogation transcript, and the human's decisions. - Do not modify the canonical tree.
- Surface the quarantine record to the human with a numbered list of remediation steps. The human decides whether to repair and retry, or to discard.
PROMOTE-WITH-WARNING:
- Same as PROMOTE, but
CHANGELOG.mdentry includes the warning list. - Surface the warnings to the human in the turn summary.
The interrogation rule (Zero Assumption)
If the agent ever finds itself filling in a field on the human's behalf without an explicit answer, the skill has failed. The agent must STOP and ask. This is verbatim from system_directive_protocol Axiom 1: "Never provide unverified or incorrect assumptions. If uncertain, STOP and ask."
Common failure modes to catch:
- The agent guesses the
descriptiontext from the file contents. Wrong: the description is a contract with future agents about when to load the skill, and only the human knows the intended trigger surface. - The agent infers compatibility from the presence of
.cursor/or.claude/markers. Wrong: presence of an artifact is not consent to declare host compatibility. - The agent picks a license because the source repo had one. Partially correct: only PROMOTE if the upstream license is preserved unmodified per Apache 2.0 Section 4 (or the source's equivalent). The human confirms the relicensing posture.
Reference docs
Loaded on demand, not at activation:
references/packet-shapes.mdthe three packet shapes (conformant, adjacent, foreign) with detection rules and examples.references/notebooklm-migration.mdthe specific procedure for converting a NotebookLM source bundle (manifest plus sources) into Agent Skills format.references/quarantine-procedure.mdthe QUARANTINE.md template and the remediation playbook.references/socratic-question-bank.mdthe load-bearing question patterns for each common ambiguity (name, description, license, compatibility, content shape, IP posture).
Composition with other skills
publish-readiness-rubricis loaded at SCORE. Always.github-curatoris loaded after PROMOTE to register the new skill in the tree and run the self-verification matrix.session-dispatchis loaded when the bundle is large enough that the ingest exceeds a single chat session's context budget. The dispatcher writes a HANDOFF document and the human resumes in a fresh session.
Provenance
This SKILL.md was authored 2026-04-26 by 0SxD. The ingest pattern composes the Zero Assumption Mandate (system_directive_protocol Section 3), the Socratic Method (system_directive_protocol interaction rule), the four-gate publish-readiness pattern (pre_submit_gate v1.0 authored by 0SxD), and the open Agent Skills specification (https://agentskills.io/specification).
END_INGEST_SKILL