# Verify

> Runtime-verify a change to a published skill in this repo by driving its script as a CLI and running its SKILL.md steps as a fresh agent. Repo-local tooling, not a published skill.

- Skill: `shawn-sandy/verify` (Agent Skill)
- Install (CLI): `npx skillmds@latest add shawn-sandy/verify`
- Raw SKILL.md: https://api.skillmd.com/api/skills/shawn-sandy/verify/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: shawn-sandy (https://skillmd.com/u/shawn-sandy)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/shawn-sandy/verify

---


Verification here means running the skill, not running `tests/validate-all.sh` (CI does that).

## Script surface

Skill scripts are stdlib Python with no build step. Drive them as a user would:

```bash
python3 skills/<name>/scripts/<script>.py --help
python3 skills/<name>/scripts/<script>.py <args>
```

Real session logs live under `~/.claude/projects/<cwd with non-alphanumerics replaced by ->*/`.
For deterministic runs, write a fixture `.jsonl` in the scratchpad: one JSON object per line with
`type` (user or assistant), `timestamp`, and `message.content` as a list of blocks (`text`,
`tool_use` with `name` and `input`, `tool_result`).

Gotchas seen: zsh expands a bare `=word` argument as a command lookup, so quote it (`'=word'`).
Default log discovery resolves the main checkout through git, so a run from inside a worktree
scans both the worktree's and the main checkout's log directories. Confirm the session count in
the header line matches a run from the main checkout.

## SKILL.md surface

Copy the skill into a throwaway project and run a fresh agent against it:

```bash
T=<scratchpad>/verify-agent; mkdir -p "$T/.claude/skills"; cp -R skills/<name> "$T/.claude/skills/"
cd "$T" && env -u CLAUDECODE -u CLAUDE_CODE_ENTRYPOINT claude -p "<ask it to run one step of the skill>" \
  --allowedTools "Skill,Read,Glob,Grep,Bash(python3 *),Bash(ls *)" --max-turns 12
```

Also run the SKILL.md's own shell commands verbatim inside a real target project and compare what
they print with what the SKILL.md says to expect.

