Notion Spec To Implementation
OpenAIOfficialCreated by Notion Labs, IncDistributed by OpenAI
- Skill
- Workflow
- Business and productivity
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a systematic approach to bridging the gap between high-level product specifications and technical execution. It guides the agent through locating and parsing Notion documents, creating structured implementation plans, generating granular tasks within existing databases, and maintaining ongoing progress tracking. By following defined templates and linking artifacts, it ensures that project requirements remain synchronized with development activities.
What it does
- Searches and retrieves product specifications from Notion workspaces.
- Parses requirements, constraints, and acceptance criteria from raw spec documents.
- Generates structured implementation plans using predefined templates.
- Creates linked tasks in Notion databases with appropriate metadata and sizing.
- Updates specifications to include links to implementation plans and tasks.
- Facilitates ongoing progress tracking and milestone reporting.
When to use it
- When you need to translate a new PRD or feature spec into a concrete development plan.
- When you need to break down complex features into manageable, sized tasks.
- When you want to ensure traceability between product requirements and task execution.
- When you need to maintain consistent progress updates for a project in Notion.
Advantages
- Reduces manual overhead in project planning and task creation.
- Ensures consistent documentation standards across implementation artifacts.
- Maintains clear traceability between high-level specs and granular tasks.
- Provides a repeatable process for different types of technical projects.
Usage examples
- “Find the 'User Authentication' spec in Notion and create an implementation plan for it.”
- The agent searches for the spec, parses the requirements, creates a new implementation plan page in Notion, and links it back to the original spec.
- “Break down the 'API Rate Limiting' spec into tasks in our engineering database.”
- The agent identifies the task database, creates sized tasks with acceptance criteria, and links them to the spec and the implementation plan.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/openai/notion-spec-to-implementation/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip notion-spec-to-implementation.zip -d .agents/skills
Documentation by Notion Labs, Inc
Spec to Implementation
Convert a Notion spec into linked implementation plans, tasks, and ongoing status updates.
Quick start
Locate the spec with
Notion:search, then fetch it withNotion:fetch.Parse requirements and ambiguities using
reference/spec-parsing.md.Create a plan page with
Notion:notion-create-pages(pick a template: quick vs. full).Find the task database, confirm schema, then create tasks with
Notion:notion-create-pages.Link spec ↔ plan ↔ tasks; keep status current with
Notion:notion-update-page.
Tool-call guardrails
Notion tool availability can vary by workspace. If a Notion MCP call returns
Tool <name> not found, treat that tool as unavailable for the rest of the current task. Do not retry it with different arguments or call it again later; useNotion:searchandNotion:fetchwhere sufficient.Use one literal search query per
Notion:searchcall and includefilters: {}when no narrower filter is needed. Run separate searches for alternate phrasings instead of puttingorin a single query string.Only send Notion page, database, or data-source URLs/IDs to
Notion:fetch; external connected-source search results are not fetch targets.Create plans and task pages with explicit
parentandpagesfields. For task databases, fetch first and use the returnedcollection://...data source ID.To append an implementation section to a spec, fetch the current section text first, then use
Notion:notion-update-pagewithcommand: "update_content",properties: {}, and exactold_str/new_strcontent. For property-only edits, usecommand: "update_properties"withcontent_updates: []; the current deployed schema expects both top-level fields even when one is unused.
Workflow
0) If Notion tools are unavailable, pause and ask the user to connect the Notion app:
Enable the bundled Notion app for this plugin or session.
Complete the Notion auth flow if prompted.
Start a new session if the tools still do not appear.
After the app is connected, finish your answer and tell the user to retry so they can continue with Step 1.
1) Locate and read the spec
Search first (
Notion:search); if multiple hits, ask the user which to use.Fetch the page (
Notion:fetch) and scan for requirements, acceptance criteria, constraints, and priorities. Seereference/spec-parsing.mdfor extraction patterns.Capture gaps/assumptions in a clarifications block before proceeding.
2) Choose plan depth
Simple change → use
reference/quick-implementation-plan.md.Multi-phase feature/migration → use
reference/standard-implementation-plan.md.Create the plan via
Notion:notion-create-pages, include: overview, linked spec, requirements summary, phases, dependencies/risks, and success criteria. Link back to the spec.
3) Create tasks
Find the task database (
Notion:search→Notion:fetchto confirm the data source and required properties). Patterns inreference/task-creation.md.Size tasks to 1–2 days. Use
reference/task-creation-template.mdfor content (context, objective, acceptance criteria, dependencies, resources).Set properties: title/action verb, status, priority, relations to spec + plan, due date/story points/assignee if provided.
Create pages with
Notion:notion-create-pagesusing the database’sdata_source_id.
4) Link artifacts
Plan links to spec; tasks link to both plan and spec.
Optionally update the spec with a short “Implementation” section pointing to the plan and tasks using
Notion:notion-update-page.
5) Track progress
Use the cadence in
reference/progress-tracking.md.Post updates with
reference/progress-update-template.md; close phases withreference/milestone-summary-template.md.Keep checklists and status fields in plan/tasks in sync; note blockers and decisions.
References and examples
reference/— parsing patterns, plan/task templates, progress cadence (e.g.,spec-parsing.md,standard-implementation-plan.md,task-creation.md,progress-tracking.md).examples/— end-to-end walkthroughs (e.g.,ui-component.md,api-feature.md,database-migration.md).
Files
- ATTRIBUTION.mdAdded by AutoGineer1.0 KiB
- LICENSE.txt1.0 KiB
- SKILL.md4.4 KiB
- agents/openai.yaml339 B
- assets/notion-small.svg1.5 KiB
- assets/notion.png8.3 KiB
- evaluations/README.md4.3 KiB
- evaluations/basic-spec-implementation.json2.3 KiB
- evaluations/spec-to-tasks.json2.4 KiB
- examples/api-feature.md13.7 KiB
- examples/database-migration.md2.6 KiB
- examples/ui-component.md2.1 KiB
- reference/milestone-summary-template.md455 B
- reference/progress-tracking.md8.8 KiB
- reference/progress-update-template.md419 B
- reference/quick-implementation-plan.md479 B
- reference/spec-parsing.md6.9 KiB
- reference/standard-implementation-plan.md3.2 KiB
- reference/task-creation-template.md596 B
- reference/task-creation.md7.8 KiB
reference/spec-parsing.md
Specification Parsing
Finding the Specification
Before parsing, locate the spec page:
1. Search for spec:
Notion:search
query: "[Feature Name] spec"
query_type: "internal"
filters: {}
If that misses, run a second search with:
query: "[Feature Name] specification"
query_type: "internal"
filters: {}
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:search
query: "User Profile API spec"
query_type: "internal"
filters: {}Reading Specifications
After finding the spec, fetch it with Notion:fetch:
Read the full content
Identify key sections
Extract structured information
Note ambiguities or gaps
Notion:fetch
id: "spec-page-id-from-search"Common Spec Structures
Requirements-Based Spec
# 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:
List of functional requirements
List of non-functional requirements
List of acceptance criteria
User Story Based Spec
# Feature Spec
## User Stories
### As a [user type]
I want [goal]
So that [benefit]
**Acceptance Criteria**:
- [Criterion]
- [Criterion]Extract:
User personas
Goals/capabilities needed
Acceptance criteria per story
Technical Design Doc
# Technical Design
## Problem Statement
[Problem description]
## Proposed Solution
[Solution approach]
## Architecture
[Architecture details]
## Implementation Plan
[Implementation approach]Extract:
Problem being solved
Proposed solution approach
Architectural decisions
Implementation guidance
Product Requirements Document (PRD)
# PRD: [Feature]
## Goals
[Business goals]
## User Needs
[User problems being solved]
## Features
[Feature list]
## Success Metrics
[How to measure success]Extract:
Business goals
User needs
Feature list
Success metrics
Extraction Strategies
Requirement Identification
Look for:
"Must", "Should", "Will" statements
Numbered requirements (REQ-1, etc.)
User stories (As a... I want...)
Acceptance criteria sections
Feature lists
Categorization
Group requirements by:
Functional: What the system does
User capabilities
System behaviors
Data operations
Non-Functional: How the system performs
Performance targets
Security requirements
Scalability needs
Availability requirements
Compliance requirements
Constraints: Limitations
Technical constraints
Business constraints
Timeline constraints
Priority Extraction
Identify priority indicators:
"Critical", "Must have", "P0"
"Important", "Should have", "P1"
"Nice to have", "Could have", "P2"
"Future", "Won't have", "P3"
Map to implementation phases based on priority.
Handling Ambiguity
Unclear Requirements
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.
Missing Information
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]Conflicting Requirements
When requirements conflict:
## Conflicting Requirements
**Conflict**: REQ-1 says [X] but REQ-5 says [Y]
**Impact**: [Implementation impact]
**Resolution needed**: [Decision needed]Acceptance Criteria Parsing
Explicit Criteria
Direct acceptance criteria:
## Acceptance Criteria
- User can log in with email and password
- System sends confirmation email
- Session expires after 24 hoursConvert to checklist:
[ ] User can log in with email and password
[ ] System sends confirmation email
[ ] Session expires after 24 hours
Implicit Criteria
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 cancelledTestable Criteria
Ensure 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"
Technical Detail Extraction
Architecture Information
Extract:
System components
Data models
APIs/interfaces
Integration points
Technology choices
Design Decisions
Note:
Technology selections
Architecture patterns
Trade-offs made
Rationale provided
Implementation Guidance
Look for:
Suggested approach
Code examples
Library recommendations
Best practices mentioned
Dependency Identification
External Dependencies
From spec, identify:
Third-party services required
External APIs needed
Infrastructure requirements
Tool/library dependencies
Internal Dependencies
Identify:
Other features needed first
Shared components required
Team dependencies
Data dependencies
Timeline Dependencies
Note:
Hard deadlines
Milestone dependencies
Sequencing requirements
Scope Extraction
In Scope
What's explicitly included:
Features to build
Use cases to support
Users/personas to serve
Out of Scope
What's explicitly excluded:
Features deferred
Use cases not supported
Edge cases not handled
Assumptions
What's assumed:
Environment assumptions
User assumptions
System state assumptions
Risk Identification
Extract risk information:
Technical Risks
Unproven technology
Complex integration
Performance concerns
Scalability unknowns
Business Risks
Market timing
Resource availability
Dependency on others
Mitigation Strategies
Note any mitigation approaches mentioned in spec.
Spec Quality Assessment
Evaluate spec completeness:
✓ Good spec:
Clear requirements
Explicit acceptance criteria
Priorities defined
Risks identified
Technical approach outlined
⚠️ Incomplete spec:
Vague requirements
Missing acceptance criteria
Unclear priorities
No risk analysis
Technical details absent
Document gaps and create clarification tasks.
Parsing Checklist
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
Requirements and compatibility
Written for: OpenAI Codex
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Notion Labs, Inc
- Publisher
- OpenAI (Official)
- Distributed by
- OpenAI
- Source
- openai/plugins · plugins/notion/skills/notion-spec-to-implementation · commit d420d13
- Licence
- MIT License (redistribution allowed)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Notion Labs, Inc or OpenAI.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download notion-spec-to-implementation.zip