v1.60.2.0 document-release: detect in-app public docs sites (Next.js/Docusaurus/Mintlify/VitePress/Nextra), not just root .md#2326
Conversation
…t .md document-release only ever scanned root-level *.md files (README, CHANGELOG, CLAUDE.md). Plenty of projects also ship a user-facing docs site as app pages rather than markdown — Next.js App Router page.tsx/page.mdx trees, Docusaurus/Mintlify/VitePress/Nextra content trees — which live arbitrarily deep and never showed up in that scan, so the actual docs real users read were silently out of scope. Step 1 now adds a generic directory/file-extension probe for these conventions. When found, the pages feed into the Step 1.5 coverage map and the Step 2 per-file audit alongside README/ARCHITECTURE/CLAUDE.md. Since these files mix prose with JSX/component structure, edits follow the same discipline as CHANGELOG: plain copy fixes auto-update, anything touching structure or adding sections goes through AskUserQuestion. Regenerated all 8 host SKILL.md variants via `bun run gen:skill-docs --host all`. bun test (tier 1) passes; skill:check clean. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Merging to
After your PR is submitted to the merge queue, this comment will be automatically updated with its status. If the PR fails, failure details will also be posted here |
…docs-site probe /review (self + independent Claude subagent, empirically verified against mock Docusaurus/Next.js/Mintlify trees) found the previous commit's docs-site detection didn't do what its own prose claimed: - Content-listing find only matched page.tsx/page.jsx/*.mdx, never *.md — so Docusaurus/VitePress sites (which are ~100% plain .md) returned zero pages despite being named as supported. - The dir-name probe (-iname "docs") missed two of the four frameworks named in the same sentence: Mintlify (no docs/ dir at all, root-level *.mdx driven by mint.json/docs.json) and Next.js route groups (app/(docs)/... — a routing annotation, not literally "docs"). - Prune list omitted .next and .docusaurus — their own build caches leaked into results, confirmed empirically. - Two prose cross-references pointed at "Step 1.3.5", a label that doesn't correspond to any real heading or list item (the actual content was list item "3.5." under Step 1, not a numbered step). Renumbered as a plain sequential item and switched cross-references to reference-by-name instead of a number, so they can't drift again. Re-verified all three scenarios against mock repo trees after the fix (nested Docusaurus .md, Next.js docs/ + route-group, Mintlify root .mdx) — all three now return the expected pages, cache dirs correctly pruned. bun test passes, skill:check clean across all hosts. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Ran a pre-landing adversarial review on my own PR before asking for a maintainer look. Found 3 real bugs in the first commit (confirmed independently by a fresh-context Claude subagent, plus a Codex pass that unfortunately timed out):
Fixed in the follow-up commit and re-verified against mock Docusaurus/Next.js/Mintlify trees (see commit message for the exact mock-tree output). Happy to adjust scope/approach if you'd rather this land differently (e.g. narrower prose claims instead of the extra Mintlify/route-group detection branches). |
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…etection Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Summary
document-release: extends the skill's Step 1 doc-discovery to also detect an in-app public docs site — Next.js App Routerpage.tsx/page.mdx, Docusaurus/Mintlify/VitePress/Nextra content trees — since it previously only ever scanned root-level*.mdfiles and silently missed the actual public-facing docs many projects ship. Detected pages feed into the Step 1.5 coverage map and the Step 2 per-file audit, with the same copy-only-auto-update / structure-needs-a-human discipline already used for CHANGELOG.md..mdsupport (broke Docusaurus/VitePress), missing Mintlify/Next.js-route-group detection, leaking.next/.docusaurusbuild caches into results, and a stale internal cross-reference ("Step 1.3.5") that pointed at nothing. All fixed and re-verified./document-releasewriteup updated to mention the new capability.Test Coverage
Not applicable in the traditional function/branch sense — the changed files are prompt-template Markdown with embedded bash snippets, not application code. Coverage here means: does the new detection logic actually work? Verified empirically against three mock repo trees (Docusaurus with nested plain
.md, Next.js App Routerdocs/+ route-group(docs)/, Mintlify root.mdx+mint.json) — all three now return exactly the right pages, with cache/build dirs correctly excluded. See the fix commit message for the exact before/after mock-tree output.Pre-Landing Review
Self-reviewed before requesting maintainer review: 4 findings (all documentation/prompt-logic correctness, no security-relevant findings), all fixed in the second commit. Confirmed independently by a fresh-context Claude subagent (no shared context with the finder). Codex adversarial pass was attempted but timed out after 5 minutes (non-blocking).
Design Review
No frontend files changed — skipped.
Eval Results
document-release/SKILL.md.tmplis a prompt file, sobun run test:evals(Tier 2/3 — E2E + LLM-as-judge scoring of the generated SKILL.md) would normally be the relevant gate. Not run in this environment (noANTHROPIC_API_KEYconfigured for this fresh clone/fork). Tier 1 static tests (bun test) pass, andbun run skill:checkis clean for this change (one pre-existing, unrelated failure onorigin/mainitself:claude/SKILL.mdwas never generated/committed there either — not touched by this PR). Happy to run the full eval suite if a maintainer wants that signal before merge.Greptile Review
No Greptile comments.
Scope Drift
Scope Check: CLEAN. Delivered matches stated intent across all 4 commits — feature, fix-up from self-review, version bump, and doc sync.
Plan Completion
No plan file detected — this came out of an ad hoc conversation, not a written plan.
TODOS
No TODO items completed in this PR (no existing gstack TODOS.md item matched this work).
Documentation
README.md: updated the/document-releaserow in the skills table to mention the new in-app docs-site detection.docs/skills.md: updated the/document-release"technical writer mode" section with the same.Test plan
bun test(tier 1, static) — passesbun run skill:check— clean for this change's files (pre-existing unrelatedclaude/SKILL.mdgap noted above)bun run gen:skill-docs --host all— verified idempotent regen, diff limited to the edited templates + generated output + description-derivedscripts/proactive-suggestions.json🤖 Generated with Claude Code