Spec to Implementation
Convert a Notion spec into linked implementation plans, tasks, and ongoing status updates.
Quick start
- Locate the spec with
Notion:notion-search, then fetch it withNotion:notion-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
- Use one literal search query per
Notion: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: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 Codex prompts for it.
- Restart Codex or the current 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:notion-search); if multiple hits, ask the user which to use. - Fetch the page (
Notion: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:notion-search→Notion: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).