ワンクリックで
source-product-specs-from-code
Synchronize PRD with implemented codebase changes. Usage /groundwork:source-product-specs-from-code
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Synchronize PRD with implemented codebase changes. Usage /groundwork:source-product-specs-from-code
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
This skill should be used when the user wants to switch between projects in a monorepo - lists projects from .groundwork.yml and sets the active project
Generate implementation tasks from architecture document. Usage /groundwork:create-tasks
Create detailed product requirements document (PRD) for a feature. Usage /groundwork:design-product
Create design system with foundations, brand identity, and UX patterns. Usage /groundwork:ux-design
Build a feature from description with worktree isolation and TDD. Usage /groundwork:build-unplanned "Add user login"
Verify alignment between code and specs. Usage /groundwork:check-specs-alignment
| name | source-product-specs-from-code |
| description | Synchronize PRD with implemented codebase changes. Usage /groundwork:source-product-specs-from-code |
| argument-hint | [files...] |
| allowed-tools | ["Read","Edit","Write","Bash","Glob","Grep","Skill"] |
| disable-model-invocation | true |
Keeps {{specs_dir}}/product_specs.md synchronized with product decisions made during sessions.
Your current effort level is {{effort_level}}.
Skip this step silently if effort is high, xhigh, or max (the scale is low < medium < high < xhigh < max, so xhigh and max are already above high) AND you are Sonnet or Opus.
If effort is low or medium (i.e. below high), you MUST show the recommendation prompt — regardless of model.
If you are not Sonnet or Opus, you MUST show the recommendation prompt - regardless of effort level.
Otherwise → use AskUserQuestion:
{
"questions": [{
"question": "Do you want to switch? Session change detection and EARS requirement update quality benefits from consistent reasoning.\n\nTo switch: cancel, run `/effort high` (and `/model sonnet` if on Haiku), then re-invoke this skill.",
"header": "Recommended: Sonnet or Opus at high effort",
"options": [
{ "label": "Continue" },
{ "label": "Cancel — I'll switch first" }
],
"multiSelect": false
}]
}
If the user selects "Cancel — I'll switch first": output the switching commands above and stop. Do not proceed with the skill.
Before loading specs, ensure project context is resolved:
.groundwork.yml exist at the repo root?
{{project_name}} non-empty?
Skill(skill="groundwork:select-project") to select a project, then restart this skill.{{project_name}}, specs at {{specs_dir}}/..groundwork.yml).AskUserQuestion:
"You're working from
<cwd>(inside [cwd-project]), but the selected Groundwork project is [selected-project] ([selected-project-path]/). What would you like to do?"
- "Switch to [cwd-project]"
- "Stay with [selected-project]" If the user switches, invoke
Skill(skill="groundwork:select-project").
{{specs_dir}}/ paths will resolve to the correct location.{{specs_dir}}/product_specs.md{{specs_dir}}/product_specs/ (content split across files)Detection: Check for single file first (takes precedence), then directory.
This skill should activate when:
/groundwork:source-product-specs-from-codeReview the current session for:
New Requirements:
Requirement Changes:
Scope Changes:
New Edge Cases:
| Category | Signal | Single file section | Directory mode file |
|---|---|---|---|
| New feature | Discussion of new capability | §3 Feature List (new subsection) | 03-features/<feature-code>.md (new file) |
| New requirement | "System should..." statements | §3.X EARS Requirements | 03-features/<feature-code>.md (existing file) |
| Requirement change | Modifying existing behavior | §3.X EARS Requirements (edit) | 03-features/<feature-code>.md (edit) |
| NFR change | Performance, security, scale discussion | §2 Non-functional | 02-non-functional.md |
| Scope change | "Out of scope" or "must have for launch" | §3.X In/Out of scope | 03-features/<feature-code>.md (edit) |
| Open question | Unresolved product decision | §5 Open Questions | 05-open-questions.md |
| Question resolved | Answer to existing OQ | §5 Open Questions (remove) | 05-open-questions.md (remove) |
For each detected change, propose a specific update:
## Proposed PRD Updates
### 1. New Requirement
**Trigger:** You discussed that artists should be warned before their quota expires.
**Proposed addition to §3.3 Monetization:**
- `PRD-MON-REQ-005` When artist quota falls below 10% remaining then the system shall send a warning notification via email.
---
### 2. Requirement Modification
**Trigger:** Changed impersonation lockout from N to 5 attempts.
**Current:**
- `PRD-IMP-REQ-008` When impersonation attempts exceed N per day by same user then the system shall lock account pending admin review.
**Proposed:**
- `PRD-IMP-REQ-008` When impersonation attempts exceed 5 per day by same user then the system shall lock account pending admin review.
---
### 3. New Open Question
**Trigger:** Unresolved discussion about handling rate limits.
**Proposed addition to §5:**
- `OQ-008` How should the system handle rate-limited users - queue requests or reject immediately?
---
### 4. Scope Change
**Trigger:** Multi-artist collaborative models deferred to v2.
**Proposed update to §3.1 Out of scope:**
Add: "Multi-artist collaborative models (deferred to v2)"
---
Approve these updates? (yes/no/modify)
On approval:
{{specs_dir}}/product_specs.md.md files from {{specs_dir}}/product_specs/{{specs_dir}}/product_specs.md directly{{specs_dir}}/product_specs/03-features/<feature-code>.md{{specs_dir}}/product_specs/05-open-questions.md{{specs_dir}}/product_specs/02-non-functional.mdImportant:
Skip this step if the PRD is already in directory mode.
After applying changes to the single-file PRD, check whether it should be split:
wc -l {{specs_dir}}/product_specs.md### \d+\.\d+ headings in the fileIf lines >= 500 OR features >= 15:
Skill(skill="groundwork:split-specs") — this runs automatically with no user input needed.{{specs_dir}}/product_specs/."If neither threshold is crossed, continue silently.
All requirements must follow EARS syntax:
| Pattern | Template |
|---|---|
| Event-Driven | When <trigger> then the system shall <response> |
| State-Driven | While <state> the system shall <behavior> |
| Unwanted | If <condition> then the system shall <mitigation> |
| Optional | Where <feature enabled> the system shall <behavior> |
Strong signals (likely PRD change):
Weak signals (maybe PRD change):
Focus on strong signals. For weak signals, ask: "Should this be captured as a product requirement, or is it an implementation/design detail?"
At session end, provide summary:
## PRD Sync Summary
**Session Date:** [date]
### Changes Detected:
1. [Change 1] → New requirement PRD-XXX-REQ-NNN
2. [Change 2] → Modified PRD-YYY-REQ-NNN
3. [Change 3] → Added open question OQ-NNN
4. [Change 4] → No PRD impact (implementation detail)
### PRD Document:
- [X] Updated with approved changes
- [ ] No changes needed
- [ ] Changes pending user review
### Requirement IDs Added/Modified:
- PRD-XXX-REQ-NNN (new)
- PRD-YYY-REQ-NNN (modified)
### Open Items:
- [Any unresolved product questions from session]
This skill works in concert with:
/groundwork:design-product - For deliberate, interactive requirement creation/groundwork:source-architecture-from-code - PRD changes may trigger architecture updatesWhen both /groundwork:source-product-specs-from-code and /groundwork:source-architecture-from-code run:
/groundwork:source-product-specs-from-code first (product drives architecture)/groundwork:source-architecture-from-code with awareness of PRD changes