mirror of
https://github.com/prdlk/dotfiles.git
synced 2026-11-03 11:37:36 +00:00
gitconfig: name/email from chezmoi data, gh credential helper by PATH lookup (portable to darwin). claude: no credentials, history, projects, sessions, or plugin caches. ssh config as private_ (0600). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
70 lines
2.1 KiB
Markdown
70 lines
2.1 KiB
Markdown
# Skill validation cases
|
|
|
|
These cases match the MVP-row assertions in the Turnstile Spin PRD. Run them after editing this skill to confirm an agent loading it can still execute the wizard end-to-end.
|
|
|
|
## Test 1 — Health check parses cleanly
|
|
|
|
Given a deployed Worker, the agent should be able to parse `/health` without ambiguity.
|
|
|
|
```sh
|
|
curl -sf "${WORKER_URL}/health" | jq -e '.ok == true and (.version | type) == "string"'
|
|
```
|
|
|
|
Expected exit code: 0.
|
|
|
|
## Test 2 — Dummy siteverify returns a structured error
|
|
|
|
The wizard's Step 7b sends a deliberately-invalid token. The Worker must return `success: false`, a non-empty `error-codes` array, and a `_worker` block — not a bare 500.
|
|
|
|
```sh
|
|
curl -s -X POST "${WORKER_URL}/" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"token":"XXXX.DUMMY.TOKEN.XXXX"}' | \
|
|
jq -e '.success == false and (.["error-codes"] | length) > 0 and (._worker | type) == "object"'
|
|
```
|
|
|
|
Expected exit code: 0.
|
|
|
|
## Test 3 — Hostname configuration
|
|
|
|
```sh
|
|
npx wrangler turnstile widget show "${WIDGET_ID}" | \
|
|
jq -e '.result.domains | contains(["example.com"])'
|
|
```
|
|
|
|
Expected exit code: 0.
|
|
|
|
## Test 4 — Telemetry marker is in every written snippet
|
|
|
|
After the wizard completes, grep the written files:
|
|
|
|
```sh
|
|
rg -l 'data-action="turnstile-spin-v1"' <(echo "$WRITTEN_FILES")
|
|
```
|
|
|
|
Expected: every written file matches. If a snippet was written without the marker, the wizard skipped Step 6 (or the agent edited the template). Re-run.
|
|
|
|
## Test 5 — Skill persists to the right location
|
|
|
|
After Step 8:
|
|
|
|
```sh
|
|
test -f .claude/skills/turnstile-spin/SKILL.md \
|
|
|| test -f .cursor/rules/turnstile-spin.md \
|
|
|| test -f .codex/skills/turnstile-spin/SKILL.md \
|
|
|| test -f .opencode/skills/turnstile-spin/SKILL.md \
|
|
|| test -f .github/copilot/skills/turnstile-spin.md \
|
|
|| test -f .windsurf/rules/turnstile-spin.md
|
|
```
|
|
|
|
Expected exit code: 0.
|
|
|
|
## Running all cases
|
|
|
|
```sh
|
|
WORKER_URL=https://your-worker.workers.dev WIDGET_ID=0x4AAAAAAA... \
|
|
bash tests/run-all.sh
|
|
```
|
|
|
|
(`run-all.sh` is not bundled with this skill; the cases above are intended to be wired into the consuming agent's own test harness, or run by hand after a deploy.)
|