update-requirements
Scannednpx machina-cli add skill datamaker-kr/synapse-claude-marketplace/update-requirements --openclawUpdate Requirements
Skill Info
Part of the spec-manager agent. This skill updates requirements and cascades changes through specs and plans.
Input
The user provides a change description as arguments: $ARGUMENTS
The change description is a natural language instruction describing what to add, remove, or modify in the requirements.
Examples:
/update-requirements Third requirements should be removed/update-requirements Add new requirements. API docs should be updated./update-requirements Change FR-2 acceptance criteria to include error handling/update-requirements Performance requirement should be <200ms instead of <500ms
If no arguments are provided, ask the user what changes they want to make.
Process
Step 1: Identify Target Spec Set
- List all
*/requirements.mdfiles inspecs/directory - If only one spec set exists, use it automatically
- If multiple exist, ask the user which one to update
- Read all three files for the selected slug:
specs/{slug}/requirements.mdspecs/{slug}/specs.mdspecs/{slug}/plans.md
Step 2: Analyze the Change Request
Parse the user's natural language instruction to determine:
- Change type: Add / Remove / Modify
- Target section: Which part of requirements is affected (functional, non-functional, constraints, goals, etc.)
- Specific items: Which FR-X, NFR, or section to change
- Scope of impact: How this change ripples through specs and plans
Present a brief summary of understood changes to confirm with the user before applying:
Understood changes:
- [Add/Remove/Modify]: {description}
- Affected sections: {list}
- Impact: {brief impact assessment}
Proceed with these changes?
Step 3: Update Requirements
Apply changes to specs/{slug}/requirements.md:
- Adding: Insert new FR-X entries with proper numbering, or add to the relevant section
- Removing: Remove the specified requirement and renumber remaining ones
- Modifying: Update the specified content in place
- Update the metadata:
- Add
> Updated: {YYYY-MM-DD}(or update existing) - Keep Status as-is or change to "Updated" if it was "Final"
- Add
Step 4: Update Specs
Read current specs/{slug}/specs.md and apply cascading changes:
-
If specs were already generated (status is not "Pending"):
- Identify which TS-X entries are affected by the requirement change
- For added requirements: generate new TS-X entries following the existing format
- For removed requirements: remove corresponding TS-X entries and related sections (data models, API endpoints, etc.)
- For modified requirements: update affected TS-X entries and downstream sections
- Re-check architecture, data models, API design, and error handling for consistency
- Add entry to Clarification Log:
| N | Requirement update: {brief description} | Applied via /update-requirements | {date} |- Update
> Updated: {YYYY-MM-DD}
-
If specs are still "Pending": Update status to note requirements have changed, no further action needed
Step 5: Update Plans
Read current specs/{slug}/plans.md and apply cascading changes:
-
If plans were already generated (status is not "Pending"):
- Identify which implementation steps are affected
- For added requirements: add new implementation steps in the appropriate order
- For removed requirements: remove corresponding steps, update step numbering, and clean up dependency references
- For modified requirements: update affected steps
- Update:
- Implementation Steps (add/remove/modify)
- Task Breakdown checklist
- File Change Summary table
- Dependencies Between Steps
- Testing Strategy (if test coverage changes)
- Progress Tracking table (preserve status of unaffected completed steps)
- Acceptance Criteria Checklist
- Update
> Updated: {YYYY-MM-DD}
-
If plans are still "Pending": Update status to note specs have changed, no further action needed
Step 6: Report Changes
Display a summary of all changes made:
Requirements updated for: "{Original Task Title}"
Changes applied:
Requirements (specs/{slug}/requirements.md):
- {change description}
Specs (specs/{slug}/specs.md):
- {change description, or "No changes needed (still pending)"}
Plans (specs/{slug}/plans.md):
- {change description, or "No changes needed (still pending)"}
Change impact:
- {N} requirements affected
- {X} specs updated
- {Y} plan steps updated
Handling Edge Cases
Conflicting changes
If the requested change conflicts with existing requirements:
- Identify the conflict
- Present both sides to the user
- Ask which takes priority
- Apply the resolution
Completed implementation steps
If some plan steps are already marked as "Completed":
- Do NOT change completed steps unless the change directly invalidates them
- If a completed step is invalidated, warn the user explicitly:
Warning: Step {N} was already completed but is affected by this change. The implementation may need to be revised. Please review. - Add a note in the Progress Tracking table
Ambiguous instructions
If the change description is ambiguous:
- Ask the user for clarification before making any changes
- Never guess which requirement to modify
Important
- Always read all three files before making changes
- Confirm understood changes with the user before applying
- Preserve content that is not affected by the change
- Maintain proper numbering (FR-X, TS-X, Step N) after additions/removals
- Keep the Clarification Log updated in specs
- Never silently drop requirements or specs - always report what was removed
- Preserve completed step progress in plans unless explicitly invalidated
Source
git clone https://github.com/datamaker-kr/synapse-claude-marketplace/blob/main/plugins/sdd-helper/skills/update-requirements/SKILL.mdView on GitHub Overview
Part of the spec-manager agent, this skill updates requirements and cascades changes through specs and plans. It accepts natural language change descriptions to modify the full spec chain, enabling add, remove, or modify operations with cascading impact on specs.md and plans.md.
How This Skill Works
Technically, it parses the user’s natural language instruction to classify the change type, target section, and items. It then locates the correct spec set by listing specs/*/requirements.md, applies changes to specs/{slug}/requirements.md, and cascades updates to specs.md and plans.md, including metadata and logs.
When to Use It
- Add new requirements to the product or system (FR/NF/constraints).
- Remove existing requirements that are no longer valid.
- Modify acceptance criteria to tighten or loosen expectations.
- Update performance or reliability constraints (e.g., latency, uptime).
- Synchronize changes across specs and implementation plans after stakeholder review.
Quick Start
- Step 1: Identify the target spec set by listing specs/*/requirements.md.
- Step 2: Provide a natural language change description to /update-requirements.
- Step 3: Review the confirmation, then the tool applies changes to requirements.md and cascades to specs.md and plans.md.
Best Practices
- Confirm the exact change with a brief summary before applying.
- Ensure numbering in requirements.md is preserved after edits.
- Update the metadata with Updated date and status if needed.
- Review cascading effects in specs.md (TS-X entries) and plans.md (implementation steps).
- Add a Clarification Log entry for traceability.
Example Use Cases
- - /update-requirements Third requirements should be removed
- - /update-requirements Add new requirements. API docs should be updated.
- - /update-requirements Change FR-2 acceptance criteria to include error handling
- - /update-requirements Performance requirement should be <200ms instead of <500ms
- - /update-requirements Remove deprecated data-model dependency