speckit-baseline.agent

Create baseline documentation for the project, establishing context for all future specs.

SKILL.md

GitHub

Speckit Baseline.Agent 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:

  1. Establishing a comprehensive baseline specification of the project
  2. 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

  1. Run the script .specify/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.

  2. 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/file to 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
  3. Generate baseline-spec.md:

    Load .specify/extensions/workflows/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:

    • 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
  4. Generate current-state.md:

    Load .specify/extensions/workflows/baseline/current-state-template.md for 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
  5. 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