Agent skill

convert-to-speckit

Stars 1
Forks 2

Install this agent skill to your Project

npx add-skill https://github.com/jschulte/claude-plugins/tree/main/stackshift/skills/convert-to-speckit

SKILL.md

Convert to Spec Kit Format

Skill: convert-to-speckit Purpose: Convert existing docs/reverse-engineering/ documentation into GitHub Spec Kit specifications Use Case: Repository has reverse engineering docs from StackShift Gears 1-2, but needs proper Spec Kit format


What This Skill Does

This skill reads your existing reverse engineering documentation and converts it into properly formatted GitHub Spec Kit specifications, ready for the /speckit-* workflow commands.

Prerequisites

Your repository should have:

  • docs/reverse-engineering/ directory with documentation files
  • .specify/templates/ with Spec Kit templates (will be created if missing)

Process

  1. Scan - Read all files in docs/reverse-engineering/
  2. Analyze - Identify distinct features and capabilities
  3. Extract - Pull out business logic, data models, APIs, integrations
  4. Convert - Map to GitHub Spec Kit format
  5. Create - Generate specs/F{NNN}-{feature}/spec.md files
  6. Validate - Ensure all required sections are complete

Step 1: Locate Documentation

I'll scan for reverse engineering documentation:

docs/reverse-engineering/
├── functional-specification.md
├── data-architecture.md
├── api-documentation.md
├── integration-points.md
├── business-logic.md
├── deployment-architecture.md
└── [other analysis files]

Action: Let me read all files in this directory to understand the application.


Step 2: Extract Features

From the documentation, I'll identify distinct features. Each feature becomes one specification.

Examples of features:

  • User Authentication (login, registration, password reset)
  • Product Catalog (listing, search, filtering)
  • Shopping Cart (add to cart, update, checkout)
  • Payment Processing (cards, validation, receipts)
  • Order Management (create, track, update, cancel)
  • Admin Dashboard (reporting, analytics, user management)

Question for you: After I list the features I found, you can:

  • Confirm priorities (P0 = critical, P1 = important, P2 = enhancement)
  • Add features I might have missed
  • Skip features not needed right now

Step 3: Create Specifications

For each feature, I'll create a properly formatted specification following this structure:

File: specs/F{NNN}-{feature-slug}/spec.md

markdown
# Feature Specification: {Feature Name}

**Feature Branch**: `{NNN}-{feature-slug}`
**Created**: {date}
**Status**: Draft
**Priority**: P0 | P1 | P2

## User Scenarios & Testing *(mandatory)*

### User Story 1 - {Capability} (Priority: P0/P1/P2)

As a {user type}, I need {capability} so that {benefit}.

**Why this priority**: {Business value explanation}

**Independent Test**: {How to test this in isolation}

**Acceptance Scenarios**:
1. **Given** {precondition}, **When** {action}, **Then** {outcome}
2. **Given** {precondition}, **When** {action}, **Then** {outcome}
3. **Given** {precondition}, **When** {action}, **Then** {outcome}

---

{3-5 user stories per feature}

---

### Edge Cases

- {5-10 edge cases that need handling}

## Requirements *(mandatory)*

### Functional Requirements

- **FR-001**: System MUST {requirement}
- **FR-002**: System MUST {requirement}
- **FR-003**: System SHOULD {optional requirement}

{10-15 functional requirements}

### Key Entities *(if data-related)*

- **{Entity}**: {Description}

## Success Criteria *(mandatory)*

### Measurable Outcomes

- **SC-001**: {Metric}: {Expected value}
- **SC-002**: {Performance metric}

{8-12 success criteria}

### Non-Functional Requirements

- **Performance**: {Response times, throughput}
- **Reliability**: {Uptime, error rates}
- **Security**: {Auth, encryption, protection}
- **Maintainability**: {Code quality, tests}

## Assumptions

1. {Technical assumptions}
2. {Environment assumptions}
{3-7 assumptions}

## Dependencies

- {External systems, libraries, services}

## Out of Scope

- {Things NOT in this feature}
- {Future enhancements}

## References

- {Documentation links}
- {Standards followed}

Conversion Mapping

From Reverse Engineering Docs → Spec Kit

Source Target
Capabilities, features, "what it does" User Stories
API endpoints, request/response Functional Requirements
Database tables, schemas Key Entities
Business rules, validation Acceptance Scenarios
Error conditions, limits Edge Cases
External APIs, services Dependencies
Tech stack, frameworks Implementation details (plan.md, not spec.md)

Key Principles

Spec.md describes WHAT, not HOW:

  • ✅ "System MUST authenticate users securely"
  • ❌ "System MUST use JWT with RS256 algorithm"

Stay technology-agnostic:

  • ✅ "System MUST persist data reliably"
  • ❌ "System MUST use PostgreSQL with replication"

Focus on outcomes:

  • ✅ "System MUST respond within 200ms"
  • ❌ "System MUST cache with Redis"

Implementation details go in plan.md, which is created later via /speckit-plan.


Quality Validation

Before completing, I'll verify each spec has:

  • 3-5 user stories with clear business value
  • Each story has 3 acceptance scenarios
  • 5-10 edge cases identified
  • 10-15 functional requirements (MUST/SHOULD/MAY)
  • Key entities listed (if data-related)
  • 8-12 measurable success criteria
  • Non-functional requirements (performance, security, reliability)
  • 3-7 assumptions documented
  • Dependencies clearly listed
  • Out of scope items specified

Example: Before & After

Before (from reverse engineering docs):

API: POST /api/auth/login
- Takes email and password
- Returns JWT token
- Returns 401 if invalid
- Rate limited to 5 attempts

After (Spec Kit format):

markdown
### User Story 1 - Secure Login (Priority: P0)

As a registered user, I need to log in with email and password so that I can access my account securely.

**Why this priority**: Core authentication is critical for all user features.

**Independent Test**: Submit valid credentials, verify token returned.

**Acceptance Scenarios**:
1. **Given** valid email and password, **When** login submitted, **Then** authentication token and user profile returned
2. **Given** invalid credentials, **When** login submitted, **Then** 401 error returned without revealing which field failed
3. **Given** 5 failed attempts, **When** login submitted, **Then** 429 rate limit error returned

### Functional Requirements

- **FR-001**: System MUST accept email and password via secure HTTPS
- **FR-002**: System MUST validate email format before auth
- **FR-003**: System MUST return auth token on successful verification
- **FR-004**: System MUST return 401 for invalid credentials
- **FR-005**: System MUST rate limit to prevent brute force (5 attempts)
- **FR-006**: System MUST return 429 when rate limit exceeded

### Success Criteria

- **SC-001**: Login succeeds for valid credentials 99.9% of time
- **SC-002**: Login completes within 500ms at 95th percentile
- **SC-003**: Rate limiting activates after 5 attempts per 15 minutes

Ready to Convert!

I'm ready to help convert your reverse engineering docs to Spec Kit format.

What I need from you:

  1. Confirm: Do you have docs/reverse-engineering/ with documentation?
  2. Preferences: Any specific features to prioritize or skip?
  3. Review: After I list features found, confirm priorities (P0/P1/P2)

What I'll deliver:

  1. Analysis of all features found
  2. Priority recommendations
  3. Complete spec files in specs/F{NNN}-{feature}/spec.md format
  4. Summary table of what was created

Next steps after conversion:

  1. Review specs: Check they capture all requirements
  2. Run /speckit-plan on each spec to create implementation plans
  3. Run /speckit-tasks to generate actionable task lists
  4. Run /speckit-implement to execute the implementation

Let's begin!

I'll start by reading your docs/reverse-engineering/ directory. Please confirm you're ready, and I'll begin the conversion process.

Expand your agent's capabilities with these related and highly-rated skills.

jschulte/claude-plugins

bmad-synthesize

1 2
Explore
jschulte/claude-plugins

portable-extract

Extract tech-agnostic portable component specs from StackShift reverse-engineering docs. Generates abstract epics and component specifications for ANY BMAD project. Bridges StackShift code analysis with reusable, platform-independent component specifications.

1 2
Explore
jschulte/claude-plugins

analyze

Perform initial analysis of a codebase - detect tech stack, directory structure, and completeness. Gear 1 of the 6-gear reverse engineering pipeline. Automatically detects programming languages, frameworks, architecture patterns, and generates analysis-report.md.

1 2
Explore
jschulte/claude-plugins

modernize

Activated when a brownfield project completes Gear 6 with modernize flag enabled. Upgrades all dependencies to latest stable versions, fixes breaking changes with spec guidance, synchronizes specifications, and validates coverage. Scoped to Node.js/TypeScript projects only.

1 2
Explore
jschulte/claude-plugins

widget-migrate

End-to-end legacy widget migration pipeline. Accepts a widget ID as argument (e.g., v9.widgets.model-selector.responsive.v1, ws-hours) — auto-resolves source location, extracts business logic, generates preference catalog, maps to Iris design system, and produces BMAD-compatible specs and stories for React Router 7 + Iris + TypeScript. Run from your target repo — no need to navigate to the widget source.

1 2
Explore
jschulte/claude-plugins

implement

Use GitHub Spec Kit commands to systematically build missing features from specifications in specs/. Validates against acceptance criteria and achieves 100% spec completion. Step 6 of 6 in the reverse engineering process.

1 2
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results