Use when requirements change mid-sprint, scope needs adjusting, or a significant pivot is needed. Generates a Sprint Change Proposal that documents what changed, impact analysis, and updates all affected documents. Also triggers on 'change request', 'scope change', 'pivot', 'requirements changed', 'correct course', or 'mid-sprint change'.
From pmnpx claudepluginhub etusdigital/etus-plugins --plugin pmThis skill uses the workspace's default tool permissions.
knowledge/template.mdSearches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides agent creation for Claude Code plugins with file templates, frontmatter specs (name, description, model), triggering examples, system prompts, and best practices.
Reference: .claude/skills/orchestrator/dependency-graph.yaml
BLOCKS (at least one must exist — cannot correct course if nothing exists):
docs/ets/projects/{project-slug}/planning/prd.md, docs/ets/projects/{project-slug}/planning/user-stories.md, docs/ets/projects/{project-slug}/implementation/implementation-plan.mdENRICHES (read if available to assess impact):
docs/ets/projects/{project-slug}/planning/prd.md — Feature definitions (PRD-F-#)docs/ets/projects/{project-slug}/planning/user-stories.md — Acceptance criteria (US-#)docs/ets/projects/{project-slug}/planning/ost.md — Opportunity rankingdocs/ets/projects/{project-slug}/architecture/tech-spec.md — NFRs and ADRsdocs/ets/projects/{project-slug}/architecture/architecture-diagram.md — System structuredocs/ets/projects/{project-slug}/implementation/implementation-plan.md — Tasks (impl-#)docs/ets/projects/{project-slug}/state/execution-status.yaml — Optional execution projectiondocs/ets/projects/{project-slug}/state/execution-sync.yaml — Optional adapter sync state, projections, and conflictsdocs/ets/.memory/linear-mapping.md — Human-readable Linear issue mappingsResolution protocol:
docs/ets/projects/{project-slug}/ for all existing documentsstate/execution-sync.yaml first, then .memory/linear-mapping.md, for execution adapter integration statusMANDATORY: This skill MUST write its artifact to disk before declaring complete.
mkdir -p if neededIf the Write fails: Report the error to the user. Do NOT proceed.
This skill follows the ETUS interaction standard. Your role is a change navigator — stay factual, analyze impact objectively, and help the user make informed decisions about how to adapt.
One question per message — Ask one question, wait for the answer, then ask the next. Change management requires careful understanding — don't rush through the interview. Use the AskUserQuestion tool when available for structured choices.
3-4 suggestions for choices — When the user needs to choose a direction (e.g., impact scope, recommended approach), present 3-4 concrete options with a brief description of each. Highlight your recommendation.
Present impact analysis before proposing changes — Before suggesting any document updates, present the full impact analysis and let the user understand the scope of change.
Section-by-section approval — Present each impact area one at a time. Ask "Does this assessment look right? Anything I'm missing?" before moving to the next.
Track outstanding questions — If something cannot be answered now, classify it:
Multiple handoff options — At completion, present 3-4 next steps as options.
Resume existing work — Before starting, check if a change proposal already exists for this topic at the expected path. If it does, ask the user: "I found an existing change proposal at [path]. Should I continue from where it left off, or start fresh?" If resuming, read the document, summarize the current state, and continue from outstanding gaps.
Assess if full process is needed — If the user's change description is clear and specific with obvious impact scope, don't force the full interview. Confirm understanding briefly and offer to skip directly to impact analysis. Only run the full interactive process when there's genuine ambiguity to resolve.
Navigate mid-sprint or mid-project changes with a structured Sprint Change Proposal. When requirements change, scope shifts, or a pivot is needed, this skill analyzes the impact across all existing ETUS documents, generates a formal change proposal, and — if approved — updates the affected documents. This prevents ad-hoc changes that create inconsistencies between documents and ensures traceability is maintained.
Load context in this order of priority:
[change description], use it as the initial change context.docs/ets/projects/{project-slug}/ recursively for all existing documents. Build a map of what exists and what IDs are in use.docs/ets/projects/{project-slug}/state/execution-sync.yaml for sync state and docs/ets/.memory/linear-mapping.md for readable mappings.This interview is short — 3 focused questions asked one at a time.
Ask alone, one message:
"What changed? Describe the change, new requirement, or problem that triggered this."
Wait for the answer. Extract: change description, trigger source (stakeholder request, technical discovery, market shift, etc.), urgency.
If $ARGUMENTS was provided and is sufficiently detailed, confirm understanding instead of asking:
"I understand the change is: [summary]. Is that correct, or should I adjust?"
Ask alone, one message:
"How critical is this change? (A) Must change now — blocks current sprint (B) Should change soon — affects next sprint (C) Can wait — backlog for future"
Wait for the answer. This determines urgency and recommended approach.
After reading existing documents, propose 2-3 impact assessments based on what you found:
"Based on the existing documents, I see the following potential impact areas: (A) [assessment 1 — e.g., 'Affects PRD-F-3 and its 4 user stories, plus 6 impl tasks'] (B) [assessment 2 — e.g., 'Broader: also requires architecture changes to support new auth flow'] (C) [assessment 3 — e.g., 'Contained: only affects implementation timeline, no design changes']
Which assessment matches your understanding? Or describe a different scope."
After the interview, perform automatic impact analysis by reading each existing document.
For each document found in docs/ets/projects/{project-slug}/, check if the change affects it:
| Document | Check |
|---|---|
| prd.md | Does a PRD-F-# need to change? New feature? Remove feature? |
| user-stories.md | Do US-# acceptance criteria change? New stories needed? |
| ost.md | Does the opportunity ranking change? |
| tech-spec.md | Do NFRs or ADRs change? |
| architecture-diagram.md | Does the architecture change? |
| implementation-plan.md | Do impl-# tasks change? New tasks? Remove tasks? |
| state/execution-status.yaml | Does the current execution projection need re-planning? |
| api-spec.md | Do API endpoints change? |
| database-spec.md | Does the schema change? |
| data-dictionary.md | Do dict.* or ev.* definitions change? |
For each affected document:
Present the impact analysis as a table and ask the user: "Does this impact assessment look right? Any areas I'm missing or over-estimating?"
The generated Sprint Change Proposal is saved to:
docs/ets/projects/{project-slug}/implementation/change-proposal-{slug}.md
Where {slug} is a kebab-case version of the change description (e.g., change-proposal-add-2fa-requirement.md).
knowledge/template.md for the Sprint Change Proposal template and structure.Before marking this document as COMPLETE:
If any check fails → mark document as DRAFT with <!-- STATUS: DRAFT --> at top.
After saving and validating, display:
change-proposal-{slug}.md saved to `docs/ets/projects/{project-slug}/implementation/change-proposal-{slug}.md`
Status: [COMPLETE | DRAFT]
Documents affected: [count] | IDs impacted: [list key IDs]
Criticality: [Must/Should/Can wait]
Recommended approach: [Direct adjustment / Rollback to phase / Re-plan sprint / Accept as tech debt]
Then present these options using AskUserQuestion (or as a numbered list if AskUserQuestion is unavailable):
Wait for the user to choose before taking any action. Do not auto-proceed.
$ARGUMENTS (optional), existing documents in docs/ets/projects/{project-slug}/docs/ets/projects/{project-slug}/implementation/ — create if missingdocs/ets/projects/{project-slug}/implementation/change-proposal-{slug}.md using the Write tool"Change proposal saved to
docs/ets/projects/{project-slug}/implementation/change-proposal-{slug}.md. The spec reviewer approved it. Please review and let me know if you want any changes before we proceed." Wait for the user's response. If they request changes, make them and re-run the spec review. Only proceed after user approval.
docs/ets/.memory/decisions.md with the change decisionstate/execution-sync.yaml indicates adapter-backed execution:
state/execution-sync.yamlAfter user approves change-proposal:
Extract affected IDs — List all IDs mentioned in the change (removed PRD-F-#, changed US-#, reversed NG-#, modified EDGE-#, etc.)
Grep project docs — Search all project documents for these IDs:
For each affected ID:
Search docs/ets/projects/{project-slug}/ recursively
Record: file path, line number, surrounding context
List affected documents — Present to user:
The following documents reference affected IDs:
- user-stories.md (line 45): references PRD-F-3
- impl-plan.md (line 120): references US-8
- release-plan.md (line 30): references PRD-F-3
Generate proposed diffs — For each affected document:
Present before/after — Show each proposed change to user for approval (one doc at a time)
Apply approved changes — Edit the documents
Update state files — Update:
Flag external issues — If execution adapter is enabled, list which external issues (Linear, etc.) need manual updates
| Error | Severity | Recovery | Fallback |
|---|---|---|---|
| No existing documents found | Critical | Halt — nothing to change | Guide user to /start-project or /plan |
| Change description too vague | Medium | Ask for clarification with examples | Proceed with broad impact analysis |
| Document read fails | Medium | Skip that document, note in proposal | Proceed with available documents |
| Execution adapter unavailable | Low | Skip external sync, note in proposal | Manual external update by user |
| Output validation fails | High | Mark as DRAFT | Proceed with DRAFT status |
This skill supports iterative quality improvement when invoked by the orchestrator or user.
| Condition | Action | Document Status |
|---|---|---|
| Completeness >= 90% | Exit loop | COMPLETE |
| Improvement < 5% between iterations | Exit loop (diminishing returns) | DRAFT + notes |
| Max 3 iterations reached | Exit loop | DRAFT + iteration log |
--quality-loop on any skill invocation--no-quality-loop to disable (generates once, validates once)