Run the skill
The skill is a folder you give an agent so it keeps the Gap Last method. Get the folder into a skills directory, then ask it to reconstruct. The CLI in this repo checks a reconstruction file. It does not invent a cause.
Filling a file by hand is the template. That is writing the reconstruction, not installing the skill.
Download the ZIP
Unpack it. Move the gaplast folder (the one that contains SKILL.md) into a skills directory.
On claude.ai, skip unpacking. Upload the ZIP under Settings, Customize, Skills.
Clone the repo
git clone https://github.com/Catalyst-Forge-LLC/gap-last.git
Copy skills/gaplast/ from the clone into a skills directory.
Install from npm
The ZIP or the clone is the way to get the skill today. After a real publish:
pnpm add -D gaplast
Copy node_modules/gaplast/skills/gaplast/ into a skills directory.
Skills directories
- Claude Code, every project:
~/.claude/skills/gaplast/ - Claude Code, one repo:
.claude/skills/gaplast/ - Cursor:
.cursor/skills/gaplast/or~/.cursor/skills/gaplast/
The folder you drop in must be named gaplast and must contain SKILL.md.
What you say
- Run Gap Last on this claim.
/fullon this packet./boundonly. Do not invent a cause./reopenwith this new trace.- Who caused it? (The skill reconstructs first.)
What it does not run on
A proof you can actually write. A controlled experiment you can actually run. A statistics problem whose bottleneck is sampling. Time-limited action against an opponent. That last one is OODA's job. Say so and stop.
CLI
From a clone of this repo:
pnpm install
pnpm gaplast validate path/to/reconstruction.json
pnpm gaplast path/to/reconstruction.json
A raw packet that is not a reconstruction gets a thin open bound and no hypotheses. No cause is invented.