speckit-baseline
Speckit Baseline Skill
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
What This Does
The baseline workflow creates foundational documentation by:
- Establishing a comprehensive baseline specification of the project
- Creating a change tracking document for all subsequent modifications
This provides essential context for you (the AI agent) when working on future tasks.
Your Task
-
Run the script
.specify/scripts/bash/create-baseline.sh --jsonfrom 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--jsonflag 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":
- The baseline commit represents the project state BEFORE spec-kit was used
- Use
git show BASELINE_COMMIT:path/to/fileto examine files at that point - Analyze that historical state to document what existed before specs
b. If HAS_EXISTING_SPECS is "false":
- Analyze the current project state
- This is a fresh baseline for future work
-
Generate baseline-spec.md:
Load
.specify/extensions/workflows/baseline/baseline-spec-template.mdto understand the structure.Then comprehensively analyze the codebase (at the baseline commit if applicable) and fill in BASELINE_SPEC with:
- Executive Summary: High-level overview of project purpose
- Project Structure: Directory layout and key components
- Architecture: System design, technology stack, patterns
- Core Functionality: Primary features and user workflows
- Data Model: Core entities and their relationships
- External Dependencies: Third-party libraries and external services
- Build and Deployment: Build process, testing strategy, deployment
- Configuration: Environment variables, feature flags
- Known Issues: Current limitations and technical debt
- Future Considerations: Planned improvements and scalability concerns
Be thorough - examine:
- Package files (package.json, requirements.txt, pom.xml, etc.)
- Build configurations (webpack, vite, Makefile, etc.)
- Source code structure and key modules
- README, documentation files
- Configuration files
- Database schemas or migrations
- API routes/endpoints
- Test files to understand tested functionality
-
Generate current-state.md:
Load
.specify/extensions/workflows/baseline/current-state-template.mdfor structure.Scan the specs directory and enumerate all changes by type:
- Features: List all
specs/###-*directories with descriptions - Modifications: Find
specs/###-*/modifications/subdirectories - Bugfixes: List
specs/bugfix/entries - Refactors: List
specs/refactor/entries - Hotfixes: List
specs/hotfix/entries - Deprecations: List
specs/deprecate/entries
For unspecified changes (if HAS_EXISTING_SPECS is true):
- Compare commits from BASELINE_COMMIT to HEAD
- Identify commits not associated with spec directories
Calculate statistics:
- Counts for each workflow type
- Total commits, files changed, lines added/removed
- Specification coverage percentage
- Features: List all
-
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
Important Notes
- Do not create a git branch - This is a documentation task
- Be comprehensive - The baseline is foundational context for all future work
- Analyze deeply - Don't just list files, understand what they do
- Track everything - In current-state.md, account for all changes
- Update timestamps - Replace {{DATE}} placeholders with actual dates
- Link to sources - Reference specific files and line numbers where relevant
Quality Checks
Before finishing:
- baseline-spec.md covers all major aspects of the project
- Technology stack is accurately documented
- Core features are clearly described
- current-state.md accounts for all spec directories
- Statistics are calculated and included
- Both files use the provided template structure
- All placeholders are replaced with actual content