.claude/skills/speckit-baseline/SKILL.md
Create baseline documentation for the project, establishing context for all future specs.
npx skillsauth add pradeepmouli/lspeasy speckit-baselineInstall 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.
The user input to you can be provided directly by the agent or as a command argument - you MUST consider it before proceeding with the prompt (if not empty).
User input:
$ARGUMENTS
The baseline workflow creates foundational documentation by:
This provides essential context for you (the AI agent) when working on future tasks.
Run the script .specify/extensions/workflows/scripts/bash/create-baseline.sh --json from repo root and parse its JSON output for BASELINE_SPEC, CURRENT_STATE, BASELINE_COMMIT, and HAS_EXISTING_SPECS. All file paths must be absolute.
Note: The script only accepts the --json flag and ignores $ARGUMENTS.
IMPORTANT You must only ever run this script once. The JSON is provided in the terminal as output - always refer to it to get the actual content you're looking for.
Analyze the Project:
a. If HAS_EXISTING_SPECS is "true":
git show BASELINE_COMMIT:path/to/file to examine files at that pointb. If HAS_EXISTING_SPECS is "false":
Generate baseline-spec.md:
Load .specify/extensions/workflows/templates/baseline/baseline-spec-template.md to understand the structure.
Then comprehensively analyze the codebase (at the baseline commit if applicable) and fill in BASELINE_SPEC with:
Be thorough - examine:
Generate current-state.md:
Load .specify/extensions/workflows/templates/baseline/current-state-template.md for structure.
Scan the specs directory and enumerate all changes by type:
specs/###-* directories with descriptionsspecs/###-*/modifications/ subdirectoriesspecs/bugfix/ entriesspecs/refactor/ entriesspecs/hotfix/ entriesspecs/deprecate/ entriesFor unspecified changes (if HAS_EXISTING_SPECS is true):
Calculate statistics:
Report completion:
Baseline documentation created
**Location**: specs/history/
**Baseline Spec**: [BASELINE_SPEC path]
**Current State**: [CURRENT_STATE path]
{{If HAS_EXISTING_SPECS is true:}}
**Baseline Commit**: [BASELINE_COMMIT]
Note: Baseline represents project state before first spec-kit usage
{{end if}}
**What Was Documented:**
**Baseline Specification**:
- Project structure: [X] components identified
- Technology stack: [Languages/Frameworks]
- Core features: [X] primary features documented
- Architecture: [Brief architecture summary]
**Current State**:
- Features: [X] implemented
- Modifications: [X] tracked
- Bugfixes: [X] fixed
- Other workflows: [X] total
{{If unspecified changes found}}
- Unspecified: [X] commits without specs
{{end if}}
**Using This Context:**
The baseline documentation will help me (your AI assistant) understand:
- What the project does and how it's structured
- What has been built and modified
- Where technical debt exists
- What patterns and conventions to follow
This context will improve my suggestions for all future work.
**Next Steps:**
1. Review the generated documentation for accuracy
2. Make any corrections or additions to baseline-spec.md
3. Use this context when creating new specs with other workflows
4. Periodically update current-state.md as new specs are completed
Before finishing:
tools
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.