mattpocock/skills

GitHub ↗ · How this check works

Per-setup public labels: Linux / Haiku: Not tested · Linux / Luna: Works

Static status badge · SVG · read-only JSON. Embed with ![Coldpass status](https://coldpass.dev/badge/mattpocock--skills.svg).

agent-harness

Works on Linux with Luna

README claims checked out on 1 recorded setup. Other recorded outcomes appear below.

Answers apply to each recorded setup, revision and operation. Earlier observations remain in Run details.

Tested on Linux
PlatformHaikuLuna
Linuxnot testedyes

Linux / Haiku 5.5: not tested · Oct 23, 2026 · 5beb35b040e3 · claude-code / 2.1.300 (Claude Code)
Recorded operation: npx skills@latest list

Linux / Luna: yes · Oct 23, 2026 · 5beb35b040e3 · codex / codex-cli 0.163.0
Recorded operation: npx --yes skills@latest add mattpocock/skills --skill=teach --agent=codex --yes

Does what it says
1 of 1 claims checked out
  • The skills.sh install copies editable skills for the selected agent.: Real input produced the expected result: Installation complete

    Source: A plugin updates itself. [skills.sh](https://skills.sh/mattpocock/skills) copies editable files into your project, and you update them by hand. Pick one per agent, because installing both gives you every skill twice.

    Input: teach skill for Codex

    Expected: Installation complete

    Command: npx --yes skills@latest add mattpocock/skills --skill=teach --agent=codex --yes

    Observed: Installation complete [?25h │ ◇ Installed 38 skills ─────────────────────────────────────────────────────╮ │ │ │ │ │ Mattpocock Skills │ │ ✓ ./.agents/skills/ask-matt │ │ universal: Amp, Antigravity, Antigravity CLI, Cline, Codex +19 more │ │ symlinked: Claude Code, Eve │ │ skipped: AiderDesk

MCP
No
Local or hosted
local
Local: runs on your machine
Needs keys or browser
None seen
Maintained
Maintained
actively maintained: last commit 4 days ago; 229 commits and 73 merged PRs in 90 days; 184 open issues, 17 open PRs; latest release 2026-10-04

Last commit Oct 22, 2026

Setup time
16 min 24 s
16 min 24 s to a working result
Issue
none found in confirmed setups
Examples
1 of 1 ran as expected
  • Install the teach skill for Codex via the documented skills.sh command.: command completed successfully

    Source: README.md, Installation (30-second setup), Any other agent, or editable files

    Input: teach skill for Codex

    Expected: Installation completes

    Command: npx --yes skills@latest add mattpocock/skills --skill=teach --agent=codex --yes

    Observed: setup-pre-commit │ │ universal: Amp, Antigravity, Antigravity CLI, Cline, Codex +19 more │ │ symlinked: Claude Code, Eve │ │ skipped: AiderDesk, AstrBot, Autohand Code CLI, Augment, IBM Bob +48 │ │ more (project directory not found) │ │ │ ├───────────────────────────────────────────────────────────────────────────╯ │ └ Done! Review skills before use; they run with full agent permissions.

Evidence
README behavior checked
Agent interfaces
CLI
CLI

Observed interfaces were exercised by the checker. Documentation alone does not confirm compatibility.

Tested with
Codex / Luna
  • Linux: Codex / Luna · agent codex-cli 0.163.0 · Checked operation passed · Oct 23, 2026 on 5beb35b040e3

Each entry describes its recorded operation and source revision. Other agent clients were not tested.

Safety
No unexpected network or file activity found in these checks

No problems traced to this repository code in these checks; a short run cannot prove safety. 14 listed items (named-host connections, static matches, dependency advisories) are below and do not change this verdict.

OSV reports a known vulnerability in this dependency version. js-yaml 7 findings.

Full event, path and process lists for each observed setup:

Run details

Haiku 5.5

Native agent · Not tested

Operation / attempted scope npx skills@latest list

Agent-reported scope: Install the skills from mattpocock/skills with the README's npx installer, then list the installed skills (including tdd) and run the repo's documented check scripts.

Run details
run
mattpocock--skills-claude-haiku-5-5-1792784516919706921
date
Oct 23, 2026
time to working
not recorded
product hosting / execution
Local command in the guest
recorded operation scope
product operation
model
claude-haiku-5-5
agent / version
claude-code / 2.1.300 (Claude Code)
platform
linux
reported cost
$0.020341
Recorded source
https://github.com/mattpocock/skills
Backend
hyperv
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "5beb35b040e3de97e54fa9e386d7e42d15c295c2", "url": "https://github.com/mattpocock/skills"}
Test version
readme-bdc1b9b3c0d2673aef87e076d14084a8123ddcf09d520c1ee2e364a37c3f4bb9
revision
5beb35b040e3de97e54fa9e386d7e42d15c295c2
Whose fault: not assigned · pending

The saved checks do not fully confirm documented product behavior.

Recorded blocker / warning

Step: npx skills@latest list

The saved checks do not fully confirm documented product behavior.

Safety: Review signals: 7 known vulnerability.

Review signals: 7 known vulnerability.

OSV reports a known vulnerability in this dependency version. js-yaml 7 findings.

OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.

A short run cannot establish that code is safe.

Connections show IP addresses; proxies can hide the final hostname.

Tracing covers dispatched commands and their children, not the whole OS; guest root can interfere with tracing.

Full safety evidence →

Answers recorded for this run
  • The documented npx installer adds the skills to the project, and they can be listed back: Real input produced the expected result: tdd

    Source: npx skills@latest add mattpocock/skills -a <agent> # cursor, opencode, devin, windsurf, amp, pi; omit -a to choose

    Input: skills list in the project where skills add ran

    Expected: installed skill list includes tdd

    Command: npx skills@latest list

    Observed: tdd  ./.claude/skills/tdd  Agents: Claude Code Source: mattpocock/skills teach  ./.claude/skills/teach  Agents: Claude Code Source: mattpocock/skills to-questionnaire  ./.claude/skills/to-questionnaire  Agents: Claude Code Source: mattpocock/skills to-spec  ./.claude/skill

  • The tdd skill is installed and can be slotted into a project: Real input produced the expected result: tdd

    Source: I've built a **[`/tdd`](./skills/engineering/tdd/SKILL.md) skill** you can slot into any project.

    Input: skills list in the project where skills add ran

    Expected: installed skill list includes tdd

    Command: npx skills@latest list

    Observed: tdd  ./.claude/skills/tdd  Agents: Claude Code Source: mattpocock/skills teach  ./.claude/skills/teach  Agents: Claude Code Source: mattpocock/skills to-questionnaire  ./.claude/skills/to-questionnaire  Agents: Claude Code Source: mattpocock/skills to-spec  ./.claude/skill

Examples

  • Repo check that the plugin version is in sync with package.json: command completed successfully

    Source: package.json scripts.check-plugin-version

    Input: --check

    Expected: plugin.json version is 1.3.1 (already in sync)

    Command: npm run check-plugin-version

    Observed: > [email protected] check-plugin-version > node scripts/sync-plugin-version.mjs --check plugin.json version is 1.3.1 (already in sync)

  • Lists every SKILL.md in the repo (dev-only listing script): command completed successfully

    Source: scripts/list-skills.sh

    Input: no arguments

    Expected: prints skill paths including skills/engineering/tdd/SKILL.md

    Command: bash scripts/list-skills.sh

    Observed: -deep-modules/SKILL.md skills/in-progress/writing-beats/SKILL.md skills/in-progress/writing-fragments/SKILL.md skills/in-progress/writing-shape/SKILL.md skills/misc/git-guardrails-claude-code/SKILL.md skills/misc/migrate-to-shoehorn/SKILL.md skills/misc/scaffold-exercises/SKILL.md skills/misc/setup-pre-commit/SKILL.md skills/productivity/grill-me/SKILL.md skills/productivity/grilling/SKILL.md skills/productivity/handoff/SKILL.md skills/productivity/teach/SKILL.md skills/productivity/to-questionnaire/SKILL.md skills/productivity/wait-what/SKILL.md skills/productivity/writing-for-agents/SKILL.md

Local or hosted: local

Suggested next step (agent-reported): None required for this product. Optional: the skills CLI should document its Node >= 22.20 requirement in the README install section, since the README does not mention it.

What the agent did

Install the skills from mattpocock/skills with the README's npx installer, then list the installed skills (including tdd) and run the repo's documented check scripts.

cd <guest-path> && pwd && ls -la && git status 2>&1 | head -3; id -u; python3 --version; cat /etc/os-release | head -2; ls /inputs 2>&1; ls <guest-path> 2>&1
cd <guest-path> && find . -maxdepth 2 -not -path './.git/*' | head -100; echo ---; cat README.md 2>/dev/null | head -200
cd <guest-path> && sed -n 200,400p README.md; echo ---PKG; cat package.json; echo ---SCRIPTS; ls scripts; cat scripts/list-skills.sh | head -40; echo; ls .coldpass
cd <guest-path> && ls -la .coldpass; grep -n -i "script\|npm\|npx\|test\|link-skills\|list-skills\|cron\|webhook\|--once" README.md | head -60; echo ---; cat scripts/link-skills.sh | head -60; echo ---; wc -l <guest-path>; head -60 <guest-path>
cd <guest-path> && (git init -q 2>&1; git remote add origin https://github.com/mattpocock/skills 2>&1; git fetch --depth 1 origin 5beb35b040e3de97e54fa9e386d7e42d15c295c2 2>&1; git reset --mixed FETCH_HEAD 2>&1; git log --oneline -1 2>&1; git status --short | head -5); echo ---; which node npm npx git curl; node --version 2>&1; npm --version 2>&1; echo "proxy=$HTTPS_PROXY $HTTP_PROXY"
sudo -n true && echo SUDO_OK; apt-cache policy nodejs 2>/dev/null | head -3; curl -sI https://registry.npmjs.org/ 2>&1 | head -1; curl -sI https://github.com 2>&1 | head -1
(sudo -n apt-get update -qq 2>&1 | tail -3; sudo -n DEBIAN_FRONTEND=noninteractive apt-get install -y -qq nodejs npm 2>&1 | tail -5); node --version; npm --version
cd /tmp && export NODE_USE_ENV_PROXY=1 && timeout 240 npx --yes skills@latest --help 2>&1 | tail -60; echo EXIT=$?
cd /tmp && export NODE_USE_ENV_PROXY=1 && curl -fsSL https://nodejs.org/dist/latest-v22.x/SHASUMS256.txt -o /tmp/shasums.txt && NODEF=$(grep -o 'node-v22\.[0-9.]*-linux-x64\.tar\.xz' /tmp/shasums.txt | sort -V | tail -1) && echo $NODEF && curl -fsSL https://nodejs.org/dist/latest-v22.x/$NODEF -o /tmp/$NODEF && mkdir -p /tmp/node22 && tar -xJf /tmp/$NODEF -C /tmp/node22 --strip-components=1 && /tmp/node22/bin/node --version && /tmp/node22/bin/npm --version
export PATH=/tmp/node22/bin:$PATH NODE_USE_ENV_PROXY=1 && cd /tmp && node --version && timeout 240 npx --yes skills@latest --help 2>&1 | tail -60; echo EXIT=$?
export PATH=/tmp/node22/bin:$PATH NODE_USE_ENV_PROXY=1 DISABLE_TELEMETRY=1 DO_NOT_TRACK=1 && mkdir -p /tmp/skills-trial && cd /tmp/skills-trial && timeout 280 npx --yes skills@latest add mattpocock/skills -a claude-code -y 2>&1 | sed 's/\x1b\[[0-9;]*m//g' | tail -60; echo EXIT=${PIPESTATUS[0]}
export PATH=/tmp/node22/bin:$PATH NODE_USE_ENV_PROXY=1 DISABLE_TELEMETRY=1 DO_NOT_TRACK=1 && cd /tmp/skills-trial && timeout 200 npx --yes skills@latest list 2>&1 | sed 's/\x1b\[[0-9;]*m//g' | head -30; echo; ls .claude/skills | wc -l; ls .claude/skills | head -50; echo; cat .claude/skills/tdd/SKILL.md | head -12
cd <guest-path> && sudo -n ln -sf /tmp/node22/bin/node /usr/local/bin/node && sudo -n ln -sf /tmp/node22/bin/npm /usr/local/bin/npm && sudo -n ln -sf /tmp/node22/bin/npx /usr/local/bin/npx && which node npm npx && node --version; echo ---; grep -n -i "npm\|node\|check-plugin\|scripts/\|test" CLAUDE.md .github/workflows/* | head -30; echo ---; grep -rn -i "cron\|schedule\|webhook\|--once\|setInterval" --include=*.md --include=*.sh --include=*.mjs --include=*.json . 2>/dev/null | grep -v node_modules | grep -v CHANGELOG | head -15
cd <guest-path> && cat .gitignore; echo ---; timeout 280 npm ci 2>&1 | tail -5; echo EXIT=$?; timeout 120 npm run check-plugin-version 2>&1 | tail -8; echo EXIT=${PIPESTATUS[0]}
cd <guest-path> && grep -n -F "npx skills@latest add mattpocock/skills -a <agent>  # cursor, opencode, devin, windsurf, amp, pi; omit -a to choose" README.md; grep -n -F "you can slot into any project." README.md; grep -n -F "Use it as soon as" README.md | head -1; mkdir -p .coldpass && ls -la .coldpass
cd <guest-path> && cat > probe.json <<'EOF'
{"kind":"cli","argv":["npx","skills@latest","list"],"cwd":"/tmp/skills-trial","env":{"NODE_USE_ENV_PROXY":"1","DISABLE_TELEMETRY":"1","DO_NOT_TRACK":"1"},"expected_text":"tdd"}
EOF
cat > claims.json <<'EOF'
[
 {"kind":"claim","claim":"The documented npx installer adds the skills to the project, and they can be listed back","source":"npx skills@latest add mattpocock/skills -a <agent>  # cursor, opencode, devin, windsurf, amp, pi; omit -a to choose","input":"skills list in the project where skills add ran","expected":"installed skill list includes tdd","probe_kind":"cli","argv":["npx","skills@latest","list"],"cwd":"/tmp/skills-trial","env":{"NODE_USE_ENV_PROXY":"1","DISABLE_TELEMETRY":"1","DO_NOT_TRACK":"1"},"expected_text":"tdd"},
 {"kind":"claim","claim":"The tdd skill is installed and can be slotted into a project","source":"I've built a **[`/tdd`](./skills/engineering/tdd/SKILL.md) skill** you can slot into any project.","input":"skills list in the project where skills add ran","expected":"installed skill list includes tdd","probe_kind":"cli","argv":["npx","skills@latest","list"],"cwd":"/tmp/skills-trial","env":{"NODE_USE_ENV_PROXY":"1","DISABLE_TELEMETRY":"1","DO_NOT_TRACK":"1"},"expected_text":"tdd"}
]
EOF
cat > examples.json <<'EOF'
[
 {"kind":"example","claim":"Repo check that the plugin version is in sync with package.json","source":"package.json scripts.check-plugin-version","input":"--check","expected":"plugin.json version is 1.3.1 (already in sync)","argv":["npm","run","check-plugin-version"],"cwd":"<guest-path>","env":{},"expected_text":"already in sync"},
 {"kind":"example","claim":"Lists every SKILL.md in the repo (dev-only listing script)","source":"scripts/list-skills.sh","input":"no arguments","expected":"prints skill paths including skills/engineering/tdd/SKILL.md","argv":["bash","scripts/list-skills.sh"],"cwd":"<guest-path>","env":{},"expected_text":"skills/engineering/tdd/SKILL.md"}
]
EOF
cat > cycles.json <<'EOF'
{"detected":false,"reason":"Entry points inspected: README.md, package.json scripts (check-plugin-version, version), scripts/list-skills.sh, scripts/link-skills.sh, CLAUDE.md, .github/workflows (release.yml/triage-label.yml/needs-info.yml are GitHub CI triggers, not product cycles). The product is a set of Markdown agent skills with no cron, loop, webhook, --once or --now entry point. Schedules appear only as advice to the agent inside skills such as chief-of-staff and loop-me, so there is no product-run cycle to trigger.","checks":[]}
EOF
for f in probe.json claims.json examples.json cycles.json; do python3 -I -m json.tool $f >/dev/null && echo "$f ok"; done
cd <guest-path> && <env-var>=<guest-path> timeout 900 python3 -I <guest-path> --validate --replay 2>&1 | tail -80; echo EXIT=${PIPESTATUS[0]}
cd <guest-path> && cat > report.json <<'EOF'
{"outcome":"working","fault_owner":null,"operation":"Install the skills from mattpocock/skills with the README's npx installer, then list the installed skills (including tdd) and run the repo's documented check scripts.","operation_scope":"Linux Ubuntu 24.04 guest, Node.js >= 22.20 (the skills CLI refuses Node 18), network access to GitHub and npm. Installs into a scratch project at /tmp/skills-trial (outside the checkout) for the claude-code agent. Not exercised: the Claude Code plugin install, scripts/link-skills.sh (dev-only, writes to ~/.claude), and any agent actually loading a skill.","steps":["git init; git remote add origin https://github.com/mattpocock/skills; git fetch --depth 1 origin 5beb35b040e3de97e54fa9e386d7e42d15c295c2; git reset --mixed FETCH_HEAD","sudo apt-get install -y nodejs npm (gave Node v18.19.1, too old for the skills CLI)","curl node-v22.23.4-linux-x64.tar.xz from nodejs.org into /tmp/node22; symlinked node/npm/npx into /usr/local/bin","npx --yes skills@latest --help (from /tmp)","npx --yes skills@latest add mattpocock/skills -a claude-code -y (run in /tmp/skills-trial, DISABLE_TELEMETRY=1 DO_NOT_TRACK=1)","npx skills@latest list (in /tmp/skills-trial): 38 skills, including tdd","npm ci (in checkout, per release.yml)","npm run check-plugin-version: plugin.json version is 1.3.1 (already in sync)","bash scripts/list-skills.sh: lists SKILL.md paths including skills/engineering/tdd/SKILL.md","python3 -I <guest-path> --validate --replay: valid, no problems, replay PASS"],"deviations":["Ubuntu's apt nodejs (v18.19.1) is below the skills CLI requirement (node >= 22.20); npx skills failed with a SyntaxError on styleText. Substituted a user-local Node 22.23.4 tarball from nodejs.org and linked it into /usr/local/bin.","The README's installer was run non-interactively with -a claude-code -y (the README's interactive prompt cannot run in this guest).","Replay details report working:false and evidence_strength partly_checked: the replayed operation is a read-back of the installed skill list, not a fresh install or an agent loading a skill. The claims themselves were judged yes.","Telemetry declined via DISABLE_TELEMETRY=1 and DO_NOT_TRACK=1."],"stuck_step":null,"main_blocker":null,"plain_failure":null,"suggested_fix":"None required for this product. Optional: the skills CLI should document its Node >= 22.20 requirement in the README install section, since the README does not mention it."}
EOF
python3 -I -m json.tool report.json >/dev/null && echo report ok; ls -la; cd <guest-path> && <env-var>=<guest-path> timeout 900 python3 -I <guest-path> --validate --replay 2>&1 | python3 -c "import sys,json; d=json.loads(sys.stdin.read()); print('valid',d['valid'],'problems',d['problems'],'replay',d['replay']['status'])"
Earlier attempts (1)

Luna

Native agent · Checked operation passed

Checked operation npx --yes skills@latest add mattpocock/skills --skill=teach --agent=codex --yes

Agent-reported scope: Install a documented skills.sh skill into the project

Run details
run
mattpocock--skills-gpt-6-luna-1792785874620899102
date
Oct 23, 2026
time to working
983.8s
product hosting / execution
Local command in the guest
recorded operation scope
product operation
model
gpt-6-luna
agent / version
codex / codex-cli 0.163.0
platform
linux
reported cost
not reported (not assumed free)
Recorded source
https://github.com/mattpocock/skills
Backend
hyperv
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "5beb35b040e3de97e54fa9e386d7e42d15c295c2", "url": "https://github.com/mattpocock/skills"}
Test version
readme-f72312298d35d84837d4fc5f6f22b138d54d456600b5ed431e36e8f5db931dbf
revision
5beb35b040e3de97e54fa9e386d7e42d15c295c2
Whose fault: not assigned · resolved

Safety: Review signals: 7 known vulnerability.

Review signals: 7 known vulnerability.

OSV reports a known vulnerability in this dependency version. js-yaml 7 findings.

OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.

A short run cannot establish that code is safe.

Connections show IP addresses; proxies can hide the final hostname.

Tracing covers dispatched commands and their children, not the whole OS; guest root can interfere with tracing.

Full safety evidence →

Answers recorded for this run
  • The skills.sh install copies editable skills for the selected agent.: Real input produced the expected result: Installation complete

    Source: A plugin updates itself. [skills.sh](https://skills.sh/mattpocock/skills) copies editable files into your project, and you update them by hand. Pick one per agent, because installing both gives you every skill twice.

    Input: teach skill for Codex

    Expected: Installation complete

    Command: npx --yes skills@latest add mattpocock/skills --skill=teach --agent=codex --yes

    Observed: Installation complete [?25h │ ◇ Installed 38 skills ─────────────────────────────────────────────────────╮ │ │ │ │ │ Mattpocock Skills │ │ ✓ ./.agents/skills/ask-matt │ │ universal: Amp, Antigravity, Antigravity CLI, Cline, Codex +19 more │ │ symlinked: Claude Code, Eve │ │ skipped: AiderDesk

Examples

  • Install the teach skill for Codex via the documented skills.sh command.: command completed successfully

    Source: README.md, Installation (30-second setup), Any other agent, or editable files

    Input: teach skill for Codex

    Expected: Installation completes

    Command: npx --yes skills@latest add mattpocock/skills --skill=teach --agent=codex --yes

    Observed: setup-pre-commit │ │ universal: Amp, Antigravity, Antigravity CLI, Cline, Codex +19 more │ │ symlinked: Claude Code, Eve │ │ skipped: AiderDesk, AstrBot, Autohand Code CLI, Augment, IBM Bob +48 │ │ more (project directory not found) │ │ │ ├───────────────────────────────────────────────────────────────────────────╯ │ └ Done! Review skills before use; they run with full agent permissions.

Local or hosted: local

What the agent did

Install a documented skills.sh skill into the project

pwd; rg --files -g 'README*' -g 'AGENTS.md' -g 'package.json' -g 'pyproject.toml' -g 'Makefile' -g '.github/workflows/**' | head -80; id -u; python3 --version; vault-search 'mattpocock skills repo setup install README MCP operation' 2>&1 | head -80; ls -la <host-path> ~/.agents/skills/i-have-adhd/SKILL.md ~/.agents/skills/ponytail/SKILL.md ~/.agents/skills/p3-mode/SKILL.md 2>&1
find . -maxdepth 3 -type f | sort | head -100; sed -n '1,240p' README.md; git status --short --branch 2>&1; git log -1 --oneline 2>&1
cat package.json; find skills -mindepth 3 -maxdepth 3 -name SKILL.md | head -20; find . -name AGENTS.md -o -name 'CLAUDE.md' | head; ls -ld node_modules 2>/dev/null || true; git --version; node --version 2>&1; npm --version 2>&1
cat AGENTS.md; git init; git remote add origin https://github.com/mattpocock/skills; git fetch --depth 1 origin 5beb35b040e3de97e54fa9e386d7e42d15c295c2; git reset --mixed FETCH_HEAD
cat .agents/install-block.md; sed -n '1,240p' skills/engineering/setup-matt-pocock-skills/SKILL.md; cat .claude-plugin/plugin.json; python3 - <<'PY'
from pathlib import Path
p=Path('README.md').read_text()
for line in p.splitlines():
 if 'skills@latest add' in line or 'Run `/setup-matt' in line or '3. Bam' in line: print(repr(line))
PY
sudo -n apt-get update && sudo -n apt-get install -y nodejs npm
node --version; npm --version; NODE_USE_ENV_PROXY=1 npx --yes skills@latest add mattpocock/skills --skill=teach --agent=codex --yes
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -n -E bash -; sudo -n apt-get install -y nodejs; node --version; npm --version
mkdir -p .coldpass; cd /tmp && NODE_USE_ENV_PROXY=1 npx --yes skills@latest add mattpocock/skills --skill=teach --agent=codex --yes
find . -maxdepth 3 -type f -path '*/.agents/skills/*/SKILL.md' | head; python3 - <<'PY'
import json, pathlib
p=pathlib.Path('.coldpass'); p.mkdir(exist_ok=True)
probe={"kind":"cli","argv":["npx","--yes","skills@latest","add","mattpocock/skills","--skill=teach","--agent=codex","--yes"],"cwd":"/tmp","env":{"NODE_USE_ENV_PROXY":"1"},"expected_text":"Installation complete"}
claims=[{"kind":"claim","claim":"The skills.sh install copies editable skills for the selected agent.","source":"`skills.sh` (https://skills.sh/mattpocock/skills) copies editable files into your project, and you update them by hand.","input":"teach skill for Codex","expected":"Installation complete","probe_kind":"cli","argv":probe['argv'],"cwd":"/tmp","env":{"NODE_USE_ENV_PROXY":"1"},"expected_text":"Installation complete"}]
examples=[{"kind":"example","claim":"Install the teach skill for Codex via the documented skills.sh command.","source":"README.md, Installation (30-second setup), Any other agent, or editable files","input":"teach skill for Codex","expected":"Installation completes","argv":probe['argv'],"cwd":"/tmp","env":{"NODE_USE_ENV_PROXY":"1"},"expected_text":"Installation complete"}]
(p/'probe.json').write_text(json.dumps(probe,indent=2)+'\n')
(p/'claims.json').write_text(json.dumps(claims,indent=2)+'\n')
(p/'examples.json').write_text(json.dumps(examples,indent=2)+'\n')
(p/'cycles.json').write_text(json.dumps({"detected":False,"reason":"Inspected README and package.json entry points; this repository distributes prompt-invoked skills and has no product scheduler or recurring cycle entry point.","checks":[]},indent=2)+'\n')
PY
<env-var>=<guest-path> python3 -I <guest-path> --validate --replay
python3 - <<'PY'
import json,pathlib
p=pathlib.Path('.coldpass/claims.json'); c=json.loads(p.read_text()); c[0]['source']='`skills.sh` (https://skills.sh/mattpocock/skills) copies editable files into your project, and you update them by hand. Pick one per agent, because installing both gives you every skill twice.'; p.write_text(json.dumps(c,indent=2)+'\n')
PY
<env-var>=<guest-path> python3 -I <guest-path> --validate --replay
python3 - <<'PY'
import json
c=json.load(open('.coldpass/claims.json')); print(repr(c[0]['source'])); print(repr(open('README.md').read().splitlines()[11]))
PY
nl -ba README.md | head -40
python3 - <<'PY'
import json,pathlib
p=pathlib.Path('.coldpass/claims.json'); c=json.loads(p.read_text()); c[0]['source']='A plugin updates itself. [skills.sh](https://skills.sh/mattpocock/skills) copies editable files into your project, and you update them by hand. Pick one per agent, because installing both gives you every skill twice.'; p.write_text(json.dumps(c,indent=2)+'\n')
PY
<env-var>=<guest-path> python3 -I <guest-path> --validate --replay
python3 - <<'PY'
import json,pathlib
p=pathlib.Path('.coldpass/report.json')
r={"outcome":"working","fault_owner":None,"operation":"Install a documented skills.sh skill into the project","operation_scope":"Selected the teach skill for Codex with Node.js 22 and npx; installer completed successfully.","steps":["Read README.md and checked out pinned commit 5beb35b040e3de97e54fa9e386d7e42d15c295c2.","Installed Node.js 22 after the installer revealed that skills@latest requires Node >=22.20.0.","Ran the README skills.sh add command for the teach skill and Codex; installation completed.","Validated and replayed probe, README claim, example, and cycle assessment successfully."],"deviations":["Initial distro Node.js 18 failed the installer requirement; upgraded to Node.js 22.","The README setup skill requires interactive user choices, so its configuration flow was inspected but not invoked."],"stuck_step":None,"main_blocker":None,"plain_failure":None,"suggested_fix":None}
p.write_text(json.dumps(r,indent=2)+'\n')
PY
cat .coldpass/report.json; git rev-parse HEAD