legibility-check
Legibility-check validates the structural integrity of maintainer documentation by ensuring standards files contain required metadata with current review dates, architecture manifest paths exist, and plan documents have proper status fields without incomplete tasks. Run this skill after editing any file in .agents/docs/standards/, .agents/docs/plans/, .agents/docs/architecture/, or AGENTS.md to catch metadata staleness, missing paths, and plan drift before CI validation.
git clone --depth 1 https://github.com/liaohch3/claude-tap /tmp/legibility-check && cp -r /tmp/legibility-check/.agents/skills/legibility-check ~/.claude/skills/legibility-checkSKILL.md
# Legibility Check Run deterministic checks for maintainer docs that mirror what CI enforces via `.github/workflows/legibility.yml`. Catching these locally saves a round-trip to CI. ## What it checks 1. **Standards freshness** — every `.agents/docs/standards/*.md` must have frontmatter with `owner`, `last_reviewed` (ISO date), and `source_of_truth`. Files reviewed more than 60 days ago produce a warning. 2. **Architecture manifest** — every path listed in `.agents/docs/architecture/manifest.yaml` under `expected_paths:` must exist in the repo. 3. **Plan state drift** — every `.agents/docs/plans/**/*.md` must have a `status` frontmatter field (`active`, `completed`, or `cancelled`). Completed plans must not contain unchecked `- [ ]` checkboxes (outside fenced code blocks). ## Run ```bash uv run python scripts/check_legibility.py ``` Options: - `--freshness-days N` — change the staleness threshold (default: 60) - `--strict-freshness` — promote stale warnings to failures - `--repo-root PATH` — override repo root (default: cwd) ## Fixing common failures | Failure | Fix | |---------|-----| | `missing frontmatter key 'X'` | Add the missing key to the YAML frontmatter block at the top of the file | | `last_reviewed must be ISO date` | Use `YYYY-MM-DD` format | | `last_reviewed ... is stale` | Update `last_reviewed` to today's date after reviewing the content | | `expected path missing: X` | Either create the file or remove the stale entry from `manifest.yaml` | | `status must be one of [...]` | Add `status: active` (or `completed`/`cancelled`) to plan frontmatter | | `completed plan still contains unchecked TODO` | Check off remaining items or change status back to `active` | ## After fixing Re-run the check to confirm all issues are resolved before committing: ```bash uv run python scripts/check_legibility.py && echo "All clear" ```
Generate demo assets (GIF/MP4) from real tmux E2E runs and viewer screenshots using asciinema and Playwright
Test JS logic embedded in HTML using two-layer strategy - Python unit tests + Playwright browser integration tests
Record browser test videos with Playwright for PR review and bug fix verification
Full pre-PR merge-readiness check. Run this before opening or merging a pull request — it validates local gates (lint, format, tests), CI status, screenshot evidence, and PR metadata in one pass. Also useful for reviewing an existing PR's readiness.
Push to GitHub and optionally bump version to trigger PyPI release
Validate screenshot and viewer HTML quality for PR evidence. Run this after adding or modifying images under .agents/evidence/pr/ or .agents/recordings/, or after generating a new viewer HTML file. Combines image quality checks (resolution, blankness, file size) with Playwright-based viewer rendering verification.
Fill missing i18n translations in the viewer source JSON. Run this after adding or modifying English or Chinese UI strings in claude_tap/viewer_i18n.json — it auto-translates to ja, ko, fr, ar, de, ru via OpenRouter.