Skip to main content

Power (standard-driven programming capabilities)

Overview​

Power is a concept proposed by Kiro to measure the ability of AI tools to understand complex specifications and generate code that conforms to the specifications. In the context of Spec-Driven Development, Power refers to the ability of AI to convert unstructured requirements descriptions into structured technical specifications and ultimately generate executable code.

Core concept: Power = specification understanding ability Γ— code generation ability Γ— constraint compliance ability


Definition of Power​

1. Basic concepts​

Power is the core capability indicator of AI programming tools:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ The composition of Power β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚ β”‚Spec Understanding (Spec Understanding) β”‚ β”‚
β”‚ β”‚ Understand natural language requirements β†’ Structured specifications β”‚ β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚ ↓ β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚ β”‚Spec Generation β”‚ β”‚
β”‚ β”‚ Generate API, data model, and UI specifications β”‚ β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚ ↓ β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚ β”‚ Code Implementation β”‚ β”‚
β”‚ β”‚ Generate code that meets the requirements according to specifications β”‚ β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚ ↓ β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚ β”‚ Constraint Adherence β”‚ β”‚
β”‚ β”‚ Follow coding standards, technical constraints, and business rules β”‚ β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

2. Dimensions of Power​

DimensionsDescriptionEvaluation Criteria
UnderstandingAbility to understand complex requirementsAbility to accurately extract key information
StructuredThe ability to generate structured specificationsWhether the specifications are complete and consistent
AchievabilityThe ability to generate executable codeWhether the code is available and correct
ComplianceAbility to follow constraintsWhether compliance with specification requirements
ConsistencyStability of multiple outputsWhether similar results are obtained with the same input

Level of Power​

Level 0: No standard ability​

feature:
- Unable to understand structured requirements
- Can only handle simple commands
- Generating code requires a lot of manual modification

Example:
Input: "Write a login"
Output: [Basic code, but missing types, validation, error handling]

Level 1: Basic specification understanding​

feature:
- Ability to understand simple structured requirements
- Able to generate basic code framework
- Need to manually add details

Example:
Input: "Use React + TypeScript to write login, including email and password"
Output: [Typed component, but may be missing validation logic]

Level 2: Intermediate normative ability​

feature:
- Ability to understand multi-level specifications
- Ability to generate complete API specifications
- The code is basically usable, with minor adjustments required

Example:
Input: "User login function, requires verification, error handling, JWT"
Output: [Complete login process, including front and back ends]

Level 3: Advanced specification capabilities​

feature:
- Ability to understand complex business specifications
- Able to generate front-end and back-end joint debugging code
- Contains tests and documentation

Example:
Input: "Complete user authentication system (registration, login, logout, permissions)"
Output: [Full stack code + API documentation + test cases]

Level 4: Expert level specification ability​

feature:
- Ability to understand enterprise-level specifications
- Automatically handle edge cases and exceptions
- Generate production-grade code

Example:
Input: "E-commerce order system (including payment, inventory, logistics, refund)"
Output: [microservice architecture + database design + complete implementation]

Power’s assessment​

1. Evaluation dimensions​

## Power Evaluation Card

### Requirements understanding
- [ ] can identify core functions
- [ ] Ability to identify non-functional requirements (performance, security)
- [ ] Able to identify dependencies and constraints
- [ ] can identify boundary conditions

### Specification generation
- [ ] API specification completeness
- [ ] Data model rationality
- [ ] Error handling override
- [ ] Verify that the rules are complete

### Code quality
- [ ] Grammatical correctness
- [ ] type safety
- [ ] Code readability
- [ ] Best practices to follow

### Constraint compliance
- [ ] Technology stack constraints
- [ ] Coding specification constraints
- [ ] Business rule constraints
- [ ] Performance constraints

2. Scoring Criteria​

ScoreDescription
0-20Almost impossible to understand the specification
20-40Able to understand simple specifications, code needs to be modified a lot
40-60Can understand medium specifications, the code needs minor modifications
60-80Can understand complex specifications and the code is basically usable
80-100Fully understand the specification and generate production-grade code

3. Automated assessment​

# Power evaluation script example
def evaluate_power(ai_tool, test_cases):
scores = []
for case in test_cases:
# Generate specification
spec = ai_tool.generate_spec(case.requirement)

# Generate code
code = ai_tool.generate_code(spec)

# Evaluate
score = {
"spec_completeness": check_spec_completeness(spec, case),
"code_correctness": check_code_correctness(code),
"constraint_adherence": check_constraints(code, case.constraints),
"test_pass_rate": run_tests(code, case.tests)
}

scores.append(score)

return aggregate_scores(scores)

How Power is reflected in different tools​

1. Cursor Composer​

Composer features of Cursor:

Features:
β”œβ”€β”€ Automatically plan task steps
β”œβ”€β”€Cross-file code generation
β”œβ”€β”€ Contextual awareness
└── Iterative optimization

Power Level: Level 2-3

2. Claude Code​

Claude Code’s Plan Mode:

Features:
β”œβ”€β”€ Deep code understanding
β”œβ”€β”€ Step-by-step implementation plan
β”œβ”€β”€ Manual confirmation mechanism
└── Detailed description

Power level: Level 3

3. GitHub Copilot Workspace​

Copilot’s Workspace:

Features:
β”œβ”€β”€ Issue β†’ Spec β†’ Code process
β”œβ”€β”€ Test generation
β”œβ”€β”€ Pull Request Description
└── Iterative improvement

Power Level: Level 2-3

Tips for improving Power​

1. Write better specifications​

Use structured format​

# ❌ Vague specifications
"Make a user management function"

# βœ… Structured specifications
## Function: User management

### need
- User list (paging, search)
- User details
- Create user
- Edit user
- Delete user (soft delete)

### Field definition
- id: UUID
- name: string, 2-50 characters
- email: email format, unique
- role: enumeration (admin, user, guest)
- status: enumeration (active, inactive)
- created_at: timestamp

### Validation rules
- name required
- email only
- role defaults to user

### API Design
GET /api/users # list
GET /api/users/:id #Details
POST /api/users # Create
PUT /api/users/:id # Update
DELETE /api/users/:id # Delete

### Technical requirements
- React + TypeScript
- RESTful API
- Using Prisma ORM

2. Use templates​

# Functional specification template

## Function Overview
[one sentence description]

## User Stories
As [role], I want [feature] for [purpose]

## Acceptance criteria
- [ ] Standard 1
- [ ] Standard 2

## Technical specifications
### Data model
### API interface
### UI specifications

## Non-functional requirements
### Performance
### Safety
### compatibility

3. Progressive specification​

First version (rough):
"User login function"

Second version (added details):
"User login, email and password need to be verified"

Third Edition (Complete Specification):
[Full functional specification with all details]

Version 4 (iterative optimization):
[Optimized version based on feedback]

4. Provide examples​

# Add example to specification

## Input example
{
"email": "user@example.com",
"password": "SecurePass123"
}

## Output example
Success (200):
{
"success": true,
"token": "eyJhbGc...",
"user": {...}
}

Failure (401):
{
"success": false,
"error": "Invalid credentials"
}

Limitations of Power​

1. Complex business logic​

Problem: AI has trouble understanding complex business rules

solve:
- Decomposed into multiple small functions
- Provide detailed rules description
- Add decision tree/flow chart

2. Tacit knowledge​

Problem: AI cannot access the team’s tacit knowledge

solve:
- Use llms.txt/CLAUDE.md
- Maintain project specification documents
- Create a library of code examples

3. Contextual restrictions​

Problem: Large project specification exceeds context window

solve:
- Module writing specifications
- Use RAG to retrieve related specifications
- Establish a hierarchy of specifications

Power and Spec-Driven Development​

relation​

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚The role of power in SDD β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ β”‚
β”‚ Spec-Driven Development Process: β”‚
β”‚ β”‚
β”‚ 1. Requirements β†’ Specifications β”‚
β”‚ └── Power determines conversion quality β”‚
β”‚ β”‚
β”‚ 2. Specification β†’ Code (Spec β†’ Code) β”‚
β”‚ └── Power determines code quality β”‚
β”‚ β”‚
β”‚ 3. Code β†’ Test (Code β†’ Test) β”‚
β”‚ └── Power affects test coverage β”‚
β”‚ β”‚
β”‚ Conclusion: The higher the Power, the higher the SDD efficiency β”‚
β”‚ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Best Practices​

  1. High Power Tools + Complete Specifications = Best Results
  2. Low Power Tools + Simple Specifications = Basic Automation
  3. High Power Tools + Simple Specifications = Over-engineering
  4. Low Power Tools + Complex Specifications = Limited Effectiveness

Development Trend of Power​

Current status (2025)​

Level 1-2: Mainstream
- Most AI coding tools are at this level
- Suitable for simple to medium complexity tasks

Level 3: Advanced
- Few tools reach
- Requires good specification writing

Level 4: Explore
- research phase
- Need stronger models and better tool support

Future Directions​

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚The future of Powerβ”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ β”‚
β”‚ Short term (1-2 years) β”‚
β”‚ β”œβ”€β”€ Better understanding of norms β”‚
β”‚ β”œβ”€β”€ More accurate code generation β”‚
β”‚ └── Stronger constraint compliance β”‚
β”‚ β”‚
β”‚ Medium term (2-3 years) β”‚
β”‚ β”œβ”€β”€ Automated specification generation β”‚
β”‚ β”œβ”€β”€ Standard version management β”‚
β”‚ └── Team collaboration support β”‚
β”‚ β”‚
β”‚ Long term (3-5 years) β”‚
β”‚ β”œβ”€β”€ Self-evolving specifications β”‚
β”‚ β”œβ”€β”€ Cross-project specification reuse β”‚
β”‚ └── Regulate market/exchange β”‚
β”‚ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Reference resources​

tool​


Document updated: December 2025