context-surfing
Monitors context window health during large, long-running, multi-session, or explicitly…
Validates all interactive skills in this repo against the Agent Skills spec, project conventions, and structural requirements. Runs quick_validate.py, checks line limits, verifies cross-references, and tests hook scripts. Use when skills have been added or modified and you want
$ npx -y skills add pskoett/pskoett-ai-skills --skill skill-tester --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/skill-testerContext preview
The summary Claude sees to decide when to auto-load this skill.
Validates all interactive skills in this repo against the Agent Skills spec, project conventions, and structural requirements. Runs quick_validate.py, checks line limits, verifies cross-references, and tests hook scripts. Use when skills have been added or modified and you want
name: skill-tester description: "Validates all interactive skills in this repo against the Agent Skills spec, project conventions, and structural requirements. Runs quick_validate.py, checks line limits, verifies cross-references, and tests hook scripts. Use when skills have been added or modified and you want to verify everything passes before committing or submitting."
Validates all interactive (non-CI) skills in this repo. Runs the Anthropic skill-creator's `quick_validate.py` plus project-specific checks.
Run `quick_validate.py` on every skill in `skills/` (excluding `-ci` variants):
for d in skills/*/; do skill=$(basename "$d") [[ "$skill" == *-ci ]] && continue python3 .claude/skills/skill-creator/scripts/quick_validate.py "$d" done
**Pass criteria:** Exit code 0 for every skill. Frontmatter has only allowed keys (`name`, `description`, `license`, `allowed-tools`, `metadata`, `compatibility`). Name is kebab-case, max 64 chars. Description max 1024 chars, no angle brackets.
For each skill directory:
| Check | Rule | Severity | |-------|------|----------| | Name matches folder | Frontmatter `name` == directory name | Error | | Line limit | SKILL.md at or under 600 lines | Error | | No README.md | Skill folders must not contain README.md | Error | | Scripts executable | All `.sh` files in `scripts/` must have execute permission | Error | | References exist | Files referenced in SKILL.md body actually exist in `references/` (agent-performed — not covered by run-tests.sh) | Warning | | Description non-empty | Description field is present and non-empty | Error |
Validate this finite instruction-file set:
`AGENTS.md` and `CLAUDE.md` must be byte-identical. The Copilot file may use provider-specific framing but must retain the same durable principles.
Do not require instruction files to enumerate every skill. Those inventories go stale and contradict this repository's instruction-file conventions. Validate only deliberate skill references in workflow prose: when a named skill is referenced, its canonical directory must exist. The public catalog in `README.md` is maintained and validated separately from agent instructions.
For each skill with a `scripts/` directory:
# Syntax check bash -n scripts/*.sh # Verify bash shebang (either form used in this repo) head -1 scripts/*.sh | grep -qE "^#!(/bin/bash|/usr/bin/env bash)" # Verify executable test -x scripts/*.sh
For skills that exist in both `skills/` and `plugin/skills/`:
| Check | Rule | |-------|------| | Plugin frontmatter keys | Only Claude Code-specific keys (`hooks`, `user-invocable`, `argument-hint`) added beyond spec | | Content alignment | Body content matches or plugin has extracted references | | Beta markers consistent | If `skills/` copy has `[Beta]`, plugin copy should too |
After regenerating with `./scripts/sync-plugin.sh`, run:
python3 scripts/test-sync-plugin.py uv run --with jsonschema==4.25.1 --with PyYAML==6.0.3 \ python3 scripts/validate-agent-plugin.py
This validates the portable manifest against the vendored official Agent Plugins 1.0.0 schema, checks curated skill membership, rejects non-portable frontmatter, verifies canonical bytes and executable modes, and enforces release-version alignment. Use the Agent Skills reference CLI for an independent format check of generated `agent-plugin/skills/*`.
## Skill Test Results **Date:** YYYY-MM-DD **Skills tested:** N **Passed:** N **Warnings:** N **Failed:** N **Instruction files:** passed|failed ### Failures - [skill-name]: [check]: [error message] ### Warnings - [skill-name]: [check]: [warning message] ### Passed - [list of clean skills]
Invoke manually:
/skill-tester
Or run the script directly:
bash skills/skill-tester/scripts/run-tests.sh
Coverage note: `run-tests.sh` automates Checks 1-4 (minus the references-exist portion of Check 2 and provider-specific semantic comparison in Check 3). Checks 5-6 and those semantic/reference checks are performed by the agent when `/skill-tester` is invoked -- a green script run alone does not mean they passed.
A collection of skills for AI agents. Follows the Agent Skills specification and ships an Agent Plugins 1.0 portable package. This repository is my personal skill testing ground.
Monitors context window health during large, long-running, multi-session, or explicitly…
Control-plane workflow for coordinating multi-agent, multi-session project work from a single…
[Beta] CI-only eval regression runner using gh-aw (GitHub Agentic Workflows). Runs all eval…
[Beta] Creates permanent eval cases from promoted learnings and runs regression checks…
Frames coding-agent work sessions with explicit intent capture and drift monitoring. Use when…
[Beta] CI-only learning aggregation workflow using gh-aw (GitHub Agentic Workflows). Scans…