gsd-ingest-docs

Featured

Bootstrap or merge a .planning/ setup from existing ADRs, PRDs, SPECs, and docs in a repo.

AI & Automation 7,258 stars 494 forks Updated today MIT

Install

View on GitHub

Quality Score: 92/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
88
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

<objective> Build the full `.planning/` setup (or merge into an existing one) from multiple pre-existing planning documents — ADRs, PRDs, SPECs, DOCs — in one pass. - **Net-new bootstrap** (`--mode new`, default when `.planning/` is absent): produces PROJECT.md + REQUIREMENTS.md + ROADMAP.md + STATE.md from synthesized doc content, delegating final generation to `gsd-roadmapper`. - **Merge into existing** (`--mode merge`, default when `.planning/` is present): appends phases and requirements derived from the ingested docs; hard-blocks any contradiction with existing locked decisions. Auto-synthesizes most conflicts using the precedence rule `ADR > SPEC > PRD > DOC` (overridable via manifest). Surfaces unresolved cases in `.planning/INGEST-CONFLICTS.md` with three buckets: auto-resolved, competing-variants, unresolved-blockers. The BLOCKER gate from the shared conflict engine prevents any destination file from being written when unresolved contradictions exist. **Inputs:** directory-convention discovery (`docs/adr/`, `docs/prd/`, `docs/specs/`, `docs/rfc/`, root-level `{ADR,PRD,SPEC,RFC}-*.md`), or an explicit `--manifest <file>` YAML listing `{path, type, precedence?}` per doc. **v1 constraints:** hard cap of 50 docs per invocation; `--resolve interactive` is reserved for a future release. </objective> <execution_context> @~/.claude/gsd-core/workflows/ingest-docs.md @~/.claude/gsd-core/references/ui-brand.md @~/.claude/gsd-core/references/gate-prompts.md @~/.claude/gsd-c...

Details

Author
open-gsd
Repository
open-gsd/gsd-core
Created
2 months ago
Last Updated
today
Language
JavaScript
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category