Chapter 24 · Notion Spec To Implementation
Subchapter 24.5
reference/spec-parsing.mdMarkdown7 KBView on GitHub
Before parsing, locate the spec page:
1. Search for spec:
Notion:notion-search
query: "[Feature Name] spec" or "[Feature Name] specification"
2. Handle results:
- If found → use page URL/ID
- If multiple → ask user which one
- If not found → ask user for URL/ID
Example:
Notion:notion-search
query: "User Profile API spec"
query_type: "internal"After finding the spec, fetch it with Notion:notion-fetch:
Notion:notion-fetch
id: "spec-page-id-from-search"# Feature Spec
## Overview
[Feature description]
## Requirements
### Functional
- REQ-1: [Requirement]
- REQ-2: [Requirement]
### Non-Functional
- PERF-1: [Performance requirement]
- SEC-1: [Security requirement]
## Acceptance Criteria
- AC-1: [Criterion]
- AC-2: [Criterion]Extract:
# Feature Spec
## User Stories
### As a [user type]
I want [goal]
So that [benefit]
**Acceptance Criteria**:
- [Criterion]
- [Criterion]Extract:
# Technical Design
## Problem Statement
[Problem description]
## Proposed Solution
[Solution approach]
## Architecture
[Architecture details]
## Implementation Plan
[Implementation approach]Extract:
# PRD: [Feature]
## Goals
[Business goals]
## User Needs
[User problems being solved]
## Features
[Feature list]
## Success Metrics
[How to measure success]Extract:
Look for:
Group requirements by:
Functional: What the system does
Non-Functional: How the system performs
Constraints: Limitations
Identify priority indicators:
Map to implementation phases based on priority.
When requirement is ambiguous:
## Clarifications Needed
### [Requirement ID/Description]
**Current text**: "[Ambiguous requirement]"
**Question**: [What needs clarification]
**Impact**: [Why this matters for implementation]
**Assumed for now**: [Working assumption if any]Create clarification task or add comment to spec.
When critical info is missing:
## Missing Information
- **[Topic]**: Spec doesn't specify [what's missing]
- **Impact**: Blocks [affected tasks]
- **Action**: Need to [how to resolve]When requirements conflict:
## Conflicting Requirements
**Conflict**: REQ-1 says [X] but REQ-5 says [Y]
**Impact**: [Implementation impact]
**Resolution needed**: [Decision needed]Direct acceptance criteria:
## Acceptance Criteria
- User can log in with email and password
- System sends confirmation email
- Session expires after 24 hoursConvert to checklist:
Derive from requirements:
Requirement: "Users can upload files up to 100MB"
Implied acceptance criteria:
- [ ] Files up to 100MB upload successfully
- [ ] Files over 100MB are rejected with error message
- [ ] Progress indicator shows during upload
- [ ] Upload can be cancelledEnsure criteria are testable:
❌ Not testable: “System is fast” ✓ Testable: “Page loads in < 2 seconds”
❌ Not testable: “Users like the interface” ✓ Testable: “90% of test users complete task successfully”
Extract:
Note:
Look for:
From spec, identify:
Identify:
Note:
What’s explicitly included:
What’s explicitly excluded:
What’s assumed:
Extract risk information:
Note any mitigation approaches mentioned in spec.
Evaluate spec completeness:
✓ Good spec:
⚠️ Incomplete spec:
Document gaps and create clarification tasks.
Before creating implementation plan:
☐ All functional requirements identified ☐ Non-functional requirements noted ☐ Acceptance criteria extracted ☐ Dependencies identified ☐ Risks noted ☐ Ambiguities documented ☐ Technical approach understood ☐ Scope is clear ☐ Priorities are defined