From hotl
Reviews existing docs, specs, plans, or non-HOTL documents. HOTL design docs and workflow plans get structural lint + AI review; others get AI-only review with generic rubric.
npx claudepluginhub yimwoo/hotl-plugin --plugin hotlThis skill uses the workspace's default tool permissions.
Optional utility for ad hoc document review. Use this to review existing docs, external specs, hand-authored plans, or any non-HOTL document. HOTL documents get structural lint (hard gate) followed by AI review. Non-HOTL documents skip lint and go straight to AI review with a generic rubric.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Designs, implements, and audits WCAG 2.2 AA accessible UIs for Web (ARIA/HTML5), iOS (SwiftUI traits), and Android (Compose semantics). Audits code for compliance gaps.
Optional utility for ad hoc document review. Use this to review existing docs, external specs, hand-authored plans, or any non-HOTL document. HOTL documents get structural lint (hard gate) followed by AI review. Non-HOTL documents skip lint and go straight to AI review with a generic rubric.
Note: This skill is not required in the standard HOTL flow. Writing-plans includes a built-in self-check, and execution preflight runs structural lint automatically. Use this skill when you want to review a document outside of the normal plan-then-execute cycle.
Announce: "Running document review. Classifying input..."
Before doing anything else, classify the input into one of four categories:
| Category | Detection | Review Path |
|---|---|---|
| HOTL markdown | Filename matches docs/plans/*-design.md, docs/plans/*-plan.md, or hotl-workflow-*.md | Phase 1 (HOTL lint) → Phase 2 (HOTL AI review) |
| Generic text/markdown | Any other .md, .txt, or pasted text | Skip Phase 1 → Phase 2 (generic AI review) |
.pdf extension | If the current runtime can read/extract the content, treat as generic text and review. Otherwise, ask the user for a text, markdown, or PDF-text export. | |
| DOCX / PPTX / binary | .docx, .pptx, or other binary formats | STOP. Ask the user for a markdown, plain text, or PDF export. Do not attempt conversion. |
Announce the classification: e.g., "Classified as HOTL design doc — running lint + HOTL review." or "Classified as generic markdown — skipping lint, running generic review."
Skip this phase entirely for non-HOTL documents. If the input was classified as generic text/markdown or PDF, go directly to Phase 2 (generic AI review).
For HOTL documents only, run the deterministic lint script:
bash scripts/document-lint.sh <file>
Resolve document-lint.sh in this order:
hotl-plugin repo itself, use scripts/document-lint.sh~/.codex/hotl/scripts/document-lint.sh~/.codex/plugins/hotl-source/scripts/document-lint.sh~/.codex/plugins/cache/codex-plugins/hotl/*/scripts/document-lint.sh~/.cline/hotl/scripts/document-lint.sh~/.claude/plugins/hotl/scripts/document-lint.shDo not assume scripts/document-lint.sh exists in the repo being reviewed. The lint script lives in the HOTL install, not in arbitrary user projects.
hotl-config.shhotl-config.sh (the canonical reader for .hotl/config.yml) follows the same six-location resolution order as document-lint.sh:
hotl-plugin repo itself, use scripts/hotl-config.sh~/.codex/hotl/scripts/hotl-config.sh~/.codex/plugins/hotl-source/scripts/hotl-config.sh~/.codex/plugins/cache/codex-plugins/hotl/*/scripts/hotl-config.sh~/.cline/hotl/scripts/hotl-config.sh~/.claude/plugins/hotl/scripts/hotl-config.shDo not assume scripts/hotl-config.sh exists in the repo being reviewed. Callers that do not know their install location should invoke scripts/hotl-config-resolve.sh (a thin command proxy that locates hotl-config.sh and forwards argv).
If lint FAILS: STOP. Show all errors. The author MUST fix structural issues before AI review runs. Do not proceed.
If lint PASSES: Continue to Phase 2 (HOTL AI review).
**Design/plan docs (-design.md, -plan.md):
Workflow files (hotl-workflow-*.md):
- [ ] **Step N: ...**, though legacy ### N. headings may still appearRead the full document and evaluate using the rubric that matches the classification:
After completing the review, output exactly one of the following. Use Lint: PASSED for HOTL documents or Lint: SKIPPED (non-HOTL document) for all other inputs.
All checks satisfied. Document is ready.
REVIEW: PASS
Document: <filename>
Lint: PASSED | SKIPPED (non-HOTL document)
AI Review: No issues found.
Ready for execution.
Issues found that should be fixed. List each with a specific suggestion.
REVIEW: REVISE
Document: <filename>
Lint: PASSED | SKIPPED (non-HOTL document)
AI Review: <N> issue(s) found.
Issues:
1. [ISSUE]: <description>
Suggestion: <how to fix>
2. [ISSUE]: <description>
Suggestion: <how to fix>
Fix these issues and re-run document review.
Serious concerns that the AI cannot resolve. Human must decide whether to proceed.
REVIEW: HUMAN_OVERRIDE_REQUIRED
Document: <filename>
Lint: PASSED | SKIPPED (non-HOTL document)
AI Review: Serious concern(s) requiring human judgment.
Concerns:
1. [CONCERN]: <description>
Risk: <what could go wrong>
2. [CONCERN]: <description>
Risk: <what could go wrong>
Do not continue until a human explicitly says to override these concerns.
REVISE, the author fixes the document first.HUMAN_OVERRIDE_REQUIRED, only an explicit human decision allows execution to proceed.