Help us improve
Share bugs, ideas, or general feedback.
From gaac
Splits large markdown files (>1000 lines) and validates internal links. Includes scripts for splitting, link validation, and moving documents with automatic link updates.
npx claudepluginhub sihaoliu/gaac --plugin gaacHow this skill is triggered — by the user, by Claude, or both
Slash command
/gaac:docs-refactorThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill handles document management for GAAC workflows:
Splits large markdown documents into smaller organized files by level 2 sections using npx @kayvan/markdown-tree-parser. Useful for managing large docs; activates on 'perform shard document'.
Splits large markdown documents into smaller files based on level 2 sections using npx @kayvan/markdown-tree-parser. Handles source verification, destination setup, shard execution, output verification, and original file cleanup.
Splits single-file architecture.md into directory-based format (e.g., executive-summary.md, decisions/DR-001.md) for better organization. Auto-triggers on >500 lines or 10 DRs.
Share bugs, ideas, or general feedback.
This skill handles document management for GAAC workflows:
| Size | Status | Action |
|---|---|---|
| < 1000 lines | Good | No action needed |
| 1000-1500 lines | Warning | Consider splitting |
| > 1500 lines | Required | Must split |
Check sizes of all markdown documents in the docs folder:
bash "${CLAUDE_PLUGIN_ROOT}/skills/docs-refactor/scripts/check-doc-sizes.sh"
Split a large document into multiple smaller documents:
bash "${CLAUDE_PLUGIN_ROOT}/skills/docs-refactor/scripts/split-document.sh" \
--input ./docs/draft/impl-large-feature.md \
--max-lines 1000
Validate all internal links in documentation:
bash "${CLAUDE_PLUGIN_ROOT}/skills/docs-refactor/scripts/validate-links.sh"
Move or rename a markdown document while updating all links that point to it:
bash "${CLAUDE_PLUGIN_ROOT}/skills/docs-refactor/scripts/move-doc.sh" \
--from ./docs/old-name.md \
--to ./docs/new-name.md
# Preview changes without modifying files
bash "${CLAUDE_PLUGIN_ROOT}/skills/docs-refactor/scripts/move-doc.sh" \
--from ./docs/draft/feature.md \
--to ./docs/architecture/feature-arch.md \
--dry-run
Features:
gaac.docs_paths for links to the old documentNote: Only updates links in markdown files within the configured docs paths. Links in code comments or other file types are not updated.
When splitting impl-feature.md:
impl-feature-overview.md - Introduction and overviewimpl-feature-part1.md - First major sectionimpl-feature-part2.md - Second major sectionOr by topic:
impl-feature-api.md - API-related implementationimpl-feature-data.md - Data layer implementationimpl-feature-ui.md - UI implementationAt the end of a split document:
---
**Next:** [Part 2: Data Layer](./impl-feature-part2.md)
**Related:**
- [Architecture Overview](../architecture/arch-feature.md)
- [API Reference](./impl-feature-api.md)
At the start of a continuation:
> **Continued from:** [Part 1: Overview](./impl-feature-part1.md)
---
[text](./relative/path.md) - Relative path links[text](./path.md#section-id) - Links with section anchors[text](#local-section) - In-document section links| Issue | Resolution |
|---|---|
| Broken file link | Update path or create missing file |
| Broken section link | Update anchor or add section heading |
| Orphan document | Add links from related documents |
After generating arch-*.md and impl-*.md:
split-document.shvalidate-links.shBefore creating issues:
| File | Purpose |
|---|---|
SKILL.md | This documentation |
scripts/check-doc-sizes.sh | Report document sizes |
scripts/split-document.sh | Split large documents |
scripts/validate-links.sh | Validate markdown links |
scripts/move-doc.sh | Move/rename documents with link updates |