archive-grounding
Skill444 starsChanged 7 months agoMITView on GitHub
Unpack a ZIP archive, inventory its files, run the corresponding child grounding skill for each supported child file, and then write a real archive-level grounded.md.
In this repository15 other files it gives its agents.
- audio_structuringSkill
- document-groundingSkill
- grounded-research-litSkill
- grounded-reviewSkill
- grounded-summarySkill
- input-routerSkill
- meeting-audio-groundingSkill
- meeting-groundingSkill
- meeting-video-groundingSkill
- one-reportSkill
- pptx-groundingSkill
- remote-inputSkill
- report-exportSkill
- skill-evolveSkill
- table-groundingSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
16 rules. About 0 are common, 13 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈13
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
run the corresponding child skill for each supported child file,
- Distinctive: line 60
When using this skill, you must follow this workflow:
- Distinctive: line 77
After the archive bundle is generated, read:
- Very specific: line 90
Use the recommended child output path recorded in routed_items.json when present.
- Distinctive: line 97
Do not pretend that a child file was fully grounded merely because it was detected, inventoried, or assigned a route.
- Very specific: line 99
Only after the supported child files have been processed (or explicit failures have been recorded) may you write the archive-level …
- Very specific: line 101
Do not create a placeholder grounded.md.
- Distinctive: line 105
only the archive bundle skeleton exists,
- Distinctive: line 217
After the child files have been processed and the child bundles exist, the agent should write a stable archive grounding note such as:
- Distinctive: line 243
Do not treat the absence of a file type as a risk by default.
- Distinctive: line 247
if the archive simply does not contain PPTX files, do not mark that as a missing item
- Distinctive: line 248
if the archive simply does not contain audio or video files, do not mark that as a missing item
- Distinctive: line 249
if the archive simply does not contain tables, do not mark that as a missing item
- Distinctive: line 266
every supported child file was either actually processed by its corresponding child skill or recorded with a concrete failure reason
- Distinctive: line 283
If a supported child file cannot be processed successfully, record that explicitly.
- Distinctive: line 293
Do not hide child-processing failures behind a fake “archive success”.
≈ “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
Archive Grounding
This skill handles ZIP archives as container inputs in the any-input -> grounding -> downstream research / summary / report pipeline.
Its job is not to directly pretend that the whole archive has already been deeply grounded after unpacking. Its job is to:
- unpack the archive,
- build a stable archive bundle,
- identify supported child files,
- run the corresponding child skill for each supported child file,
- collect those child bundles under the current archive bundle's
child_outputs/directory, - and only then write a real archive-level
grounded.md.
Position in the pipeline
This skill is for archives that package together multiple materials, such as:
- project material bundles
- meeting material bundles
- report + slides + tables + audio/video attachments
- mixed research input packages
This skill is not a replacement for the child grounding skills themselves.
document-groundingstill handles document contenttable-groundingstill handles spreadsheets / CSV tablespptx-groundingstill handles PowerPoint decksmeeting-audio-groundinghandles meeting audio inputsmeeting-video-groundinghandles meeting videosaudio_structuringremains the atomic audio transcription backend reused by the higher-level audio/video meeting entry skills
This skill acts as an orchestrator over packaged files.
Supported child file routing
The first version should route supported child files using a simple extension-based mapping:
.pdf,.docx,.md,.txt->document-grounding.xlsx,.csv->table-grounding.pptx->pptx-grounding.mp3,.wav,.m4a->meeting-audio-grounding.mp4,.mov,.mkv->meeting-video-grounding
Unsupported files may be recorded and skipped, but they must not be silently treated as grounded.
Required Workflow
When using this skill, you must follow this workflow:
First run the existing script entrypoint:
bash .cursor/skills/archive-grounding/scripts/run.sh <input_zip> <output_root>The script generates an archive bundle skeleton and inventory files such as:
extracted.mdextracted_meta.jsonmanifest.jsonrouted_items.jsonunpacked/child_outputs/
After the archive bundle is generated, read:
extracted.mdextracted_meta.jsonmanifest.jsonrouted_items.json
- Then enumerate the supported child files in the archive.
- For each supported child file, you must actually run the corresponding child skill. Do not stop after inventory / route planning.
- For child files inside the archive, all downstream child grounding outputs must be written inside the current archive bundle's
child_outputs/directory, not into the global grounding root. - Use the recommended child output path recorded in
routed_items.jsonwhen present. A child file is only considered completed if one of the following is true:
- its corresponding child bundle was actually generated under
child_outputs/, or - a concrete failure reason is explicitly recorded.
- its corresponding child bundle was actually generated under
- Do not pretend that a child file was fully grounded merely because it was detected, inventoried, or assigned a route.
- Only after the supported child files have been processed (or explicit failures have been recorded) may you write the archive-level
grounded.md. - Do not create a placeholder
grounded.md. - The task is not complete if:
- only the archive bundle skeleton exists,
manifest.json/routed_items.jsonexist but no child skills were actually run,- child bundles were written to the global grounding root instead of this archive bundle's
child_outputs/, or - archive-level
grounded.mdwas written before the child processing step was completed.
Input
bash .cursor/skills/archive-grounding/scripts/run.sh <input_zip> <output_root>Arguments
input_zip: path to a.ziparchiveoutput_root: parent directory under which the archive bundle should be created
Example:
bash .cursor/skills/archive-grounding/scripts/run.sh \
/path/to/materials.zip \
data/grounded_notesThis will create something like:
/data/grounded_notes/archive-materials/Output bundle contract
The script should create:
<archive_bundle>/
├─ extracted.md
├─ extracted_meta.json
├─ manifest.json
├─ routed_items.json
├─ unpacked/
├─ child_outputs/
└─ grounded.md # written later by the agent, not by the scriptFile roles
extracted.md
Human-readable archive overview for the agent.
It should include:
- archive overview
- detected file inventory summary
- supported vs skipped items
- routed child skills
- the rule that child outputs must live under
child_outputs/
extracted_meta.json
Global archive metadata, such as:
- source archive path
- archive id
- total file count
- supported file count
- skipped file count
- unpack directory
- generation timestamp
manifest.json
Machine-readable file inventory for unpacked contents.
Each item should include:
- relative path
- file name
- extension
- size
- detected type
- supported / unsupported
- skip reason if any
routed_items.json
Machine-readable routing plan for supported child files.
Each routed item should include:
- source relative path
- detected type
- routed skill
- status
- recommended child output path
- notes / failure reason if any
child_outputs/
Container directory for all downstream child grounding bundles generated from supported child files in this archive.
Child grounding outputs must be stored here rather than in the global grounding root.
grounded.md schema (recommended)
After the child files have been processed and the child bundles exist, the agent should write a stable archive grounding note such as:
# Archive Grounding
## 1. Archive Overview
## 2. Included Materials
## 3. Successfully Processed Child Items
## 4. Key Signals Across Materials
## 5. Skipped / Unsupported / Failed Items
## 6. Suggested Next Steps
## 7. Search KeywordsThis is an archive-level grounding note, not a polished final report.
Important rule on absent file types
Do not treat the absence of a file type as a risk by default.
Examples:
- if the archive simply does not contain PPTX files, do not mark that as a missing item
- if the archive simply does not contain audio or video files, do not mark that as a missing item
- if the archive simply does not contain tables, do not mark that as a missing item
Only report:
- actual unsupported items,
- actual skipped items,
- actual failed child processing steps,
- or actual inconsistencies between the archive contents and the generated child outputs.
Quality bar
A good result means:
- the archive bundle exists
- the file inventory is correct
- every supported child file was either actually processed by its corresponding child skill or recorded with a concrete failure reason
- child bundles are stored under this archive bundle's
child_outputs/ - the archive-level
grounded.mdis written only after child processing is complete - the final archive note is useful as a stable intermediate artifact for downstream research / summary / report
A bad result means:
- the agent only unpacked and inventoried the archive
- the agent wrote archive-level
grounded.mdwithout running the child skills - child outputs were scattered into the global grounding root
- unsupported or skipped files were silently treated as processed
- placeholder
grounded.mdwas created
Failure handling
If a supported child file cannot be processed successfully, record that explicitly.
Examples:
- child skill missing
- child script failed
- child bundle path not created
- file appears corrupted
- environment dependency missing
Do not hide child-processing failures behind a fake “archive success”.
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.

