skills/woostack-dream/SKILL.md
Use to curate the .woostack/ knowledge store. Reflects over the static memory store + docs (no session mining), then proposes a gated changeset that merges duplicate notes, replaces stale/contradicted ones, drops dead/orphaned notes, resolves conflicts, surfaces consolidated insights, and recommends evidence-guarded documentation edits. Nothing mutates before explicit approval; ends on a summary + iterate loop. Local-only memory (no commit); doc edits land in the working tree. Never commits or merges. Invoke via /woostack-dream [instructions].
npx skillsauth add howarewoo/woo-stack woostack-dreamInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
woostack-dream reflects over the static memory store and documentation (deterministic and repeatable) to clean and align knowledge, and it never reflects over session transcripts or the live conversation. It is a standalone maintenance command and is not part of the woostack-build phase. Instead, it serves as the agentic synthesis and apply layer on top of the mechanical lint checks provided by doctor.sh.
/woostack-dream [instructions]
instructions argument steers the synthesis focus (for example, "focus on API conventions; ignore one-off gotchas"), which is applied throughout the reflection process.If the .woostack/memory/ directory exists, run doctor.sh and capture its warnings (overlap clusters, stale provenance, orphaned scope, dead notes, missing provenance, and non-glob trivia). Next, read .woostack/memory/MEMORY.md and the body of every note. Regardless of the store structure, always read the flat .woostack/memory.md file if present. Enumerate the documentation surface by executing git ls-files '*.md' to gather only tracked markdown files, excluding gitignored memory and any node_modules directories. Exclude any files under .woostack/{specs,plans,fixes}/*.md from the promotion-target set, as they are provenance inputs rather than targets for documentation updates. Read the recent git log and the specification, plan, or fix that a note's source: field points to, using this context to ground judgments of whether a note is stale or current. Honor any optional instructions steering argument provided. For further details on the store structure, cross-link the memory contract in ../woostack-init/references/memory.md.
Produce a changeset of discrete, labeled operations. The changeset must explicitly enumerate the following operations:
[[wikilinks]] are rewritten to target the survivor by leveraging graph.sh --backlinks to identify and update references.source: provenance information.doctor.sh. When a confident decision cannot be made, flag the conflict for the user instead of guessing.source: must be derived from the contributing notes and never fabricated. All new notes must pass the memory contract's section 7 distillation gate, which rejects new notes by default unless they represent generalized, high-value knowledge.This synthesis pass is idempotent and does not mutate any files.
Present the complete changeset in the conversation transcript as a before-and-after diff or description. The presentation must follow these strict rules:
At this gate, no changes from the current synthesis pass have been applied yet. The tool requires explicit, unambiguous user approval before proceeding; silence or ambiguous confirmation does not constitute approval, honoring the project's overall approval-gate discipline. For large changesets, the tool can offer a woostack-visualize render tailored to an engineer audience as a reading aid, but the actual changeset remains in the conversation for approval rather than being moved to a separate artifact.
Upon receiving explicit user approval, perform the following actions:
build-index.sh to regenerate the MEMORY.md index file. Finally, re-run doctor.sh to confirm a clean state, reporting any residual warnings (especially unresolved [[wikilinks]]).Report a clear summary of what changed (including notes merged, replaced, dropped, or added, conflicts resolved, and documentation edits applied). Invite the user to suggest change requests or adjustments. If a change request is received, return to Phase 2 to re-synthesize from the current store state, then proceed through Phases 3 and 4 to present the updated changeset and re-summarize. When complete, the memory changes remain local-only (uncommitted). For the working-tree documentation edits, offer to hand off the changes to woostack-commit. Do not commit, push, or merge these changes during this command.
The tool degrades gracefully depending on the environment:
.woostack/memory.md file exists, fall back to curating the flat file using bullet-level deduplication, replacement, and dropping, skipping the scope, indexing, and doctor.sh machinery..woostack/ directory exists, stop immediately; there is nothing to curate, and the tool must not scaffold a new store (defer to /woostack-init).../woostack-init/references/memory.md. Perform recall and lint checks by hand, and never fail silently.skills/woostack-init/scripts/; do not add new scripts or modify the memory contract.development
woostack's canonical test-driven-development home and on-demand test-adder. The single source for the TDD kernel — Red→Green→Refactor, test-first, cover happy/error/edge/success+failure, framework-aware, no-runner→concrete verification — that woostack-plan, woostack-execute, woostack-debug, and bootstrap patterns.md §7 should link to instead of restating. Also the 14th public command: /woostack-tdd <target> adds appropriate tests to an existing code block, PR, spec, or plan — one verb, target-routed (code→colocated *.test files, PR→tests for the gh pr diff surface, spec→strengthen §7 acceptance criteria, plan→fill failing-test steps) — with a characterization carve-out for existing code (new code is red-first; existing code pins current behavior). Writes tests to the working tree and hands to woostack-commit; never commits, merges, or authors status:/branch:; owns no approval gate.
development
Use to resolve small technical issues (bugs, hotfixes, refactors) through a unified execution loop — diagnose root cause with woostack-debug, author a fix plan under .woostack/fixes/, harden, get explicit user approval, then delegate execution to woostack-execute (TDD per task, task review, commit via woostack-commit, distill).
development
Use to execute an approved woostack plan UNATTENDED overnight — one autonomous run with no user input after launch that drives every increment to a reviewed stack, swapping woostack-execute's stop-and-ask gates for resolve-or-log-and-continue (woostack-debug on stuck verifications; bounded auto-address on a blocking review; halt-the-track on anything unsafe or ambiguous), honoring optional `## Track:` grouping in the plan (independent, fault-isolated tracks run sequentially), and writing a morning report under .woostack/overnight/ for a human to test in the morning. It is the third choice at woostack-build's execution-handoff gate (Go / Hand off / Run overnight); also usable standalone via /woostack-execute-overnight <plan-path> [--inline|--subagent]. One plan per spec, multiple PRs per plan. Never merges; never relaxes safety for autonomy.
testing
Use to show the derived woostack feature board — for every spec in .woostack/specs/ and fix in .woostack/fixes/, its reconciled phase, plan progress, increment-PR state, owner, age, and the single next action, plus flags for any drift between the authored status field and the artifacts on disk. Read-only; never fetches, commits, or pushes. Use for /woostack-status, "what's in flight", or "what should I do next".