Help us improve
Share bugs, ideas, or general feedback.
From hotl
Reviews docs, specs, notes, or non-HOTL documents. Applies structural lint + AI review to HOTL design docs/workflows; generic AI rubric to markdown/text/PDFs. For ad hoc reviews outside standard flows.
npx claudepluginhub yimwoo/hotl-plugin --plugin hotlHow this skill is triggered — by the user, by Claude, or both
Slash command
/hotl:document-reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
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.
Reviews requirements and plan documents using parallel persona agents to surface role-specific issues, auto-fix quality problems, and pose strategic questions.
Reviews requirements (docs/brainstorms/) or plan (docs/plans/) documents using parallel persona agents to surface role-specific issues, auto-fix quality problems, and present strategic questions. Use with document path or auto-detect.
Reviews documentation, blog posts, READMEs, proposals, and prose for quality issues in content, style, and embedded artifacts using parallel agents.
Share bugs, ideas, or general feedback.
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 workflow | Canonical docs/plans/*-workflow.md or legacy hotl-workflow-*.md | Phase 1 (HOTL lint, hard gate) → Phase 2 (HOTL AI review) |
| HOTL design doc (marked) | A design-doc-shaped file (canonical docs/designs/*.md or legacy *-design.md / *-plan.md) whose YAML frontmatter declares design_type: (one of feature | phase | initiative | architecture | contract | reference) OR hotl_managed: true | Phase 1 (HOTL lint) → Phase 2 (HOTL AI review) |
| Generic text/markdown | Any other .md, .txt, or pasted text — including design-shaped files in docs/designs/ that lack an HOTL marker | 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. |
Phase 1.6 opt-in rule: Path alone does NOT classify a file as HOTL. A design-shaped Markdown file in docs/designs/ without an HOTL frontmatter marker (design_type: or hotl_managed: true) is treated as generic markdown — document-lint.sh will SKIP it cleanly, and this skill routes it through Phase 2's generic-rubric AI review. To opt a hand-authored design doc into HOTL strict review, add design_type: <recognized-value> or hotl_managed: true to its frontmatter.
Announce the classification: e.g., "Classified as HOTL design doc (marked via design_type) — 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 docs (canonical docs/designs/*.md, plus legacy *-design.md / *-plan.md tactical docs):
Workflow files (canonical docs/plans/*-workflow.md, plus legacy 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.