.github/skills/speckit-refine-update/SKILL.md
Update an existing spec.md in-place based on new requirements or feedback
npx skillsauth add pradeepmouli/lspeasy speckit-refine-updateInstall 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.
Update an existing specification in-place without creating a new feature branch. Use this when requirements change, feedback arrives, or you need to iterate on an existing spec.
$ARGUMENTS
You MUST consider the user input before proceeding (if not empty). The user input describes what to change in the existing specification.
.specify/ directory###-feature-name or YYYYMMDD-HHMMSS-feature-name)specs/*/spec.md/speckit.specify firstLocate the spec: Find the current feature's spec.md:
specs/{branch-name}/spec.mdspecs/*/spec.mdRead current artifacts: Load the following files from the feature directory:
spec.md (the specification to refine)plan.md, tasks.md, research.md, data-model.md, contracts/Understand the change request: Analyze the user's input to determine:
Apply the update: Modify spec.md in-place:
~~removed~~ with a brief reason rather than deleting**Status** field to Refined and add a refinement note:
**Refined**: [DATE] — [Brief description of what changed]
Mark downstream artifacts as stale: After updating spec.md, check which downstream artifacts exist and append a staleness warning to each:
plan.md exists, prepend:
> ⚠️ **STALE**: spec.md was refined on [DATE]. Run `/speckit.refine.propagate` to update this plan.
tasks.md exists, prepend the same warningReport: Output a summary:
/speckit.refine.propagate to cascade changes, or /speckit.refine.diff to preview impact firsttools
Use for ANY rename, file-move, or move-symbol refactor — especially rename-heavy work across multiple files. Claude Code's built-in LSP tool is READ-ONLY (find references, but no rename / file-move / move-symbol). Hand-editing those refactors silently misses re-exports, aliased imports, type-only imports, and {@link} doc references. This skill drives a real language server via the `lspeasy` CLI to apply a correct WorkspaceEdit that catches every reference. Trigger when the user asks to rename a function/class/variable/type project-wide, move a file and fix its importers, or pull a symbol out into another module.
tools
Documentation site for lspeasy Use when: You are building a browser-based LSP client, a WebSocket-backed language....
tools
Documentation site for lspeasy Use when: You are implementing a custom client layer and need the same validation....
tools
Use when working with lspeasy (client, core, server). Covers: lsp, language-server-protocol, lsp-client, language-client, jsonrpc, transport, lsp-server, language-server.