verify-install
Skill7 starsChanged 2 months agoMITView on GitHub
Run the AKSK install lanes in isolated Docker sandboxes and prove they land a valid kit. Covers fresh npx, local-path mount, clone-and-copy fallback (no-npx), -a/-g/--all scoping, and tool-lane skip vs global-npm cases.
- Installs packages
2 other projects use a version of this.
Adopted by
Most recently taken up by
- unzooai/unzooai-skillstheir own version, first seen Nov 8, 2026
- charleslucas/poe_mcp_suitetheir own version, first seen Nov 1, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- charleslucas/poe_mcp_suite★ 9same name
- unzooai/unzooai-skills★ 0same name
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 repository8 other files it gives its agents.
- .agents/AGENTS.mdAGENTS.md
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- aksk-bootstrapSkill
- aksk-initSkill
- docs-lintSkill
- learning-distillSkill
- task-closeoutSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 0 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 14
Use it after touching README.md, INSTALL.md, .claude-plugin/plugin.json, .agents/skills/* (especially aksk-bootstrap/scripts/*), or …
- Very specific: line 21
No credential or network assumptions beyond pulling node:24 and the one npm i -g inside the fresh container for the global lane.
- Very specific: line 67
Run the lane under test (see table).
- Very specific: line 69
Run node .agents/skills/aksk-bootstrap/scripts/check_peer_tools.mjs openspec openwiki, then both lanes sequentially — node …
- Very specific: line 81
All writes happen inside the ephemeral container's /tmp/target.
- Very specific: line 82
Keep docker invocations to node:24 only — no devcontainer or Dockerfile is required (this repo ships none).
- Very specific: line 83
When contributing, reference the skill in task-closeout validation.txt (e.g.
≈ “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
Verify Install (Docker Sandbox)
Goal
Prove every supported AKSK install lane still lands a valid kit when run from a clean machine. This is maintainer-only (metadata.internal: true) — it is not shipped to consumers, does not modify openspec/ itself, and never calls openwiki --update.
Use it after touching README.md, INSTALL.md, .claude-plugin/plugin.json, .agents/skills/* (especially aksk-bootstrap/scripts/*), or scripts/check-*.
Prerequisites
dockeravailable and runnable (docker version).node:24image reachable (pulls automatically on first run).- Host kit checkout at repo root (mounted read-only as
/kit:ro). - No credential or network assumptions beyond pulling
node:24and the onenpm i -ginside the fresh container for the global lane.
What it proves
- Discovery finds the 5 consumer skills (
aksk-bootstrap,aksk-init,learning-distill,task-closeout,docs-lint) via.claude-plugin/plugin.jsonand that each carries itsscripts/*.mjs+references/. - Agent-assisted
npx skills add <kit>from the target repo works, and thatnpx skills add .does not (it reinstalls into the kit itself). npxis required; nogit clone --depth 1 && cp -rfallback (INSTRUCT prints prerequisite).- Scope is
~/.agents/skills(universal) + self-reported host via-g -a <self-reported>;-g→ only~/.agents/skills,--allwide is negative case. - Tool lane: fresh has no
openspec/openwiki→bootstrap-global.mjsrunsnpm i -gandbootstrap-repo.mjsscaffolds repo (caret fromreferences/versions.json); present → skips; openwiki two-track:openwiki integrations install <self-reported>when that host is supported elsenpx skills add -g+npx add-mcp. - Final tree passes
bash /kit/scripts/check-agents-structure.sh .agentsand the per-targetAGENTS.mdbaseline is present.
Quick use
# all scenarios (fresh global lane + skipped global lane)
bash .agents/skills/verify-install/scripts/run.sh
# only a subset — pass scenarios by name (substring match)
bash .agents/skills/verify-install/scripts/run.sh fresh
bash .agents/skills/verify-install/scripts/run.sh fresh-skip
bash .agents/skills/verify-install/scripts/run.sh scoping
bash .agents/skills/verify-install/scripts/run.sh local-path
bash .agents/skills/verify-install/scripts/run.sh user-scope
# keep containers for inspection (default: --rm)
bash .agents/skills/verify-install/scripts/run.sh --keep
# verbose bootstrap (set -x per scenario)
bash .agents/skills/verify-install/scripts/run.sh -vScenarios
| # | Name | How it exercises the README/INSTALL prompt | Success signal |
| 1 | fresh | npx --yes skills add -g,codex /kit -y --copy from blank node:24 (which openspec → not found) | Found 5 under ~/.agents/skills + ~/.codex/skills, bootstrap-global.mjs does npm i -g, then bootstrap-repo.mjs seeds AGENTS.md/openspec/ |
| 2 | fresh-skip | same as 1 but openspec/openwiki already on PATH → global lane skipped | global lane logs skipping user-scope install, then the repo lane still seeds AGENTS.md + openspec/ |
| 3 | user-scope | npx --yes skills add -g /kit → only ~/.agents/skills | ~/.agents/skills/*/SKILL.md present, ~/.codex/skills not written |
| 4 | local-path | npx skills add /kit vs npx skills add . — probes cwd bug | /kit -l → Found 4; npx skills add . from target without kit path → not equivalent (documents that <path-to-kit> must be used when a checkout is present) |
| 5 | scoping | -g / -g -a codex / -g --all | universal-only vs host mirror vs wide 56 |
Procedure (what run.sh does)
For each requested scenario the script does, inside the container:
mkdir -p /tmp/target && cd /tmp/target && git init -q && git config user.email/name.- Run the lane under test (see table). Report
Found X skills. - Manual Skill initialization per
INSTALL.md(idempotent):cp -r /kit/.agents/skills/task-closeout/bootstrap/sessions/README.md→.agents/sessions/README.mdwhen missing,printf "sessions/*\n!sessions/README.md\n" > .agents/.gitignorewhen missing,learning-distill/bootstrap/{AGENTS.md,playbooks/README.md,sessions/README.md}when missing. - Run
node .agents/skills/aksk-bootstrap/scripts/check_peer_tools.mjs openspec openwiki, then both lanes sequentially —node .agents/skills/aksk-bootstrap/scripts/bootstrap-global.mjs /tmp/target(fresh → doesnpm i -g; skip → does not), thennode .agents/skills/aksk-init/scripts/bootstrap-repo.mjs /tmp/target. - Validate:
bash /kit/scripts/check-agents-structure.sh .agents(exit 0),test -f .agents/skills/aksk-bootstrap/scripts/bootstrap-global.mjs,test -f .agents/skills/aksk-init/scripts/bootstrap-repo.mjs,test -f AGENTS.md(AKSK:AGENTS-BASELINE),git status --shortshows only untracked (nogit add). - Print per-scenario
PASS/FAILand, on failure, keep enough output to reproduce locally with the printeddocker run …one-liner.
Output
- Each scenario prints
--- SCENARIO: <name> ---and ends withPASS <name>orFAIL <name>. - Final summary:
X/Y passed.
Constraints
- The skill is a test harness — it must not
git add,git commit,npm i -gon the host, or modifyopenspec/or the kit's own.agents/. - All writes happen inside the ephemeral container's
/tmp/target; mount the kit as:roso it cannot be mutated. - Keep docker invocations to
node:24only — no devcontainer or Dockerfile is required (this repo ships none). - When contributing, reference the skill in task-closeout
validation.txt(e.g.bash .agents/skills/verify-install/scripts/run.sh fresh) rather than pasting long container logs.
Maintainer notes
skills-lock.jsonis gitignored (and should not exist in the kit checkout) — if it does,npx skills add <local-path> -lwill reportFound 1(filtersisInstalledProjectSkillagainst the source lock) instead of 4;run.shwarns when/kit/skills-lock.jsonis present.- Remote
npx skills add Hypercubed/Agent-Knowledge-Starter-Kitfetches frommain(oldscaffold/...) untildevelopis merged — this harness tests the local mount pathnpx skills add /kitto avoid that lag.
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.

