home / skills / mduongvandinh / skills-java-spring / java-spring-skills
This skill helps you align Spring Boot implementations with OpenSpec specifications, ensuring spec-driven development from proposal to archive.
npx playbooks add skill mduongvandinh/skills-java-spring --skill java-spring-skillsReview the files below or copy the command above to add this skill to your agents.
---
name: spring-openspec
version: 1.0.0
description: |
Spec-First Development with OpenSpec for Spring Boot.
Align on specifications before implementation begins.
triggers:
- "new feature"
- "spec first"
- "openspec"
- "specification"
- "proposal"
---
# OpenSpec - Spec-Driven Development
## Workflow
```
┌──────────────────────────────────────────────────────────────┐
│ OPENSPEC WORKFLOW │
│ │
│ ┌──────────┐ ┌──────────┐ ┌───────────┐ ┌────────┐│
│ │ PROPOSAL │───→│ REVIEW │───→│ IMPLEMENT │───→│ARCHIVE ││
│ │ │ │ │ │ │ │ ││
│ │ Draft │ │ Align │ │ Code │ │ Merge ││
│ │ Specs │ │ Together │ │ Tasks │ │ Specs ││
│ └──────────┘ └──────────┘ └───────────┘ └────────┘│
└──────────────────────────────────────────────────────────────┘
```
## Directory Structure
```
openspec/
├── AGENTS.md # Instructions for AI assistants
├── specs/ # Authoritative specifications
│ ├── auth/
│ ├── user/
│ └── order/
└── changes/ # Proposed modifications
└── feature-xxx/
├── proposal.md
├── tasks.md
└── spec-delta.md
```
## Commands
| Command | Description |
|---------|-------------|
| `/openspec-proposal <name>` | Create new proposal |
| `/openspec-review` | Review and align |
| `/openspec-implement <name>` | Implement from spec |
| `/openspec-archive <name>` | Archive completed feature |
## Proposal Template
```markdown
# Proposal: Feature Name
## Objective
What we want to achieve.
## Scope
- Item 1
- Item 2
## Out of Scope
- Not included
## Success Criteria
- Criterion 1
- Criterion 2
## Dependencies
- Dependency 1
```
## Spec Template
```markdown
# Feature Specification
## API Endpoint
POST /api/v1/resource
...
## Business Rules
1. Rule 1
2. Rule 2
## Data Model
@Entity...
## Sequence Diagram
Client -> Controller -> Service -> Repository
```
## Reference in Code
```java
/**
* Service description.
*
* @spec openspec/specs/feature/spec-name.md
*/
@Service
public class MyService {
// Implementation
}
```
This skill enables spec-first development for Spring Boot projects using the OpenSpec workflow. It helps teams draft, review, implement, and archive authoritative specs before writing code. The skill maps specs to code artifacts and provides commands to create proposals, run reviews, implement features, and archive completed specs.
The skill organizes specifications in an openspec directory with authoritative specs and proposed changes. It provides CLI-like commands to create proposals, trigger reviews, scaffold implementation tasks, and archive merged specs. During implementation the skill links code to spec files via annotations and generates task lists from spec deltas to keep implementation aligned with agreed requirements.
How are specs linked to code?
Annotate services or controllers with a @spec reference path to the spec file so implementations remain traceable to the authoritative spec.
What commands does the skill expose?
It provides commands to create a proposal, run a review, implement a spec, and archive completed features (e.g., /openspec-proposal, /openspec-review, /openspec-implement, /openspec-archive).
Where should I store proposed changes?
Keep proposed work under openspec/changes/<feature>/<proposal files> until reviewed and merged into openspec/specs for the authoritative version.