req-change-workflow

Standardize requirement/feature changes in an existing codebase (especially Chrome extensions) by turning "改需求/需求变更/调整交互/改功能/重构流程" into a repeatable loop: clarify acceptance criteria, confirm current behavior from code, assess impact/risk, design the new logic, implement with small diffs, run a fixed regression checklist, and update docs/decision log. Use when the user feels the change process is chaotic, when edits tend to sprawl across files, or when changes touch manifest/service worker/OAuth/storage/UI and need reliable verification + rollback planning.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "req-change-workflow" with this command: npx skills add yunshu0909/yunshu_skillshub/yunshu0909-yunshu-skillshub-req-change-workflow

Req Change Workflow

Overview

Use a lightweight, repeatable workflow to modify an existing requirement without scope creep or “边改边炸”. Produce clear artifacts at each gate so the user can approve before the implementation starts.

Workflow (gated loop)

Follow the steps in order. Do not implement code changes until the user approves Step 4.

Step 0: Set the plan (optional but recommended)

  • Use update_plan to create 5–7 short steps: clarify → baseline → impact → design → implement → validate → document.
  • Keep exactly one step in_progress at a time and advance as you finish.

Step 1: Clarify the change (lock scope first)

Ask the user for the minimal inputs, then rewrite them into a clear “change brief”:

  • Target (1 sentence): what outcome changes.
  • Out of scope (1 sentence): explicitly what must NOT change.
  • Acceptance criteria (3–6 bullets): observable behaviors that can be verified.
  • “Must keep” constraints: compatibility, performance, security, no new dependencies, no network, etc.
  • Rollback expectation: can we revert by reverting a diff, or does it require data migration/backfill?

Use the template in references/change-brief-template.md.

Step 2: Confirm current behavior from code (baseline)

Do not trust memory or assumptions. Locate the real entrypoints + current data flow and summarize it in 5–10 lines:

  • UI entrypoints (e.g., sidepanel/, options/) and where user actions are wired.
  • Background orchestration (e.g., service_worker.js).
  • Core modules (e.g., src/core/...) and storage (src/core/local/...).
  • Config/permissions changes (e.g., manifest.json).

Use scripts/impact_scan.sh to quickly find likely files, then read only the necessary ones.

Output artifact: “Current behavior summary” + a short file list (with why each file matters).

Step 3: Impact + risk assessment (change budget)

Before proposing a new design, list:

  • Files/modules that must change and why.
  • Risks: auth/session, storage migration, concurrency, caching, permission scopes, UX regressions.
  • Testing checkpoints: what to verify manually (use references/regression-checklist.md).
  • Rollback plan: what is safe to revert; what needs cleanup.

If changes touch manifest.json or service_worker.js, require a manual reload step in the validation plan (Chrome extensions cache aggressively).

Output artifact: “Impact & risk list” + “Rollback plan (1–3 bullets)”.

Step 4: Propose the new design (get approval)

Describe the new behavior using:

  • New flow (bullet sequence) including edge cases.
  • State model: key states, transitions, and failure recovery.
  • Change boundaries: what stays unchanged.
  • Observability: logs/events/UI hints for debugging.

Then ask the user to approve:

  • The acceptance criteria (Step 1) as final.
  • The file list (Step 2/3) as the change budget.
  • The proposed design (this step).

Do not start editing code until the user says “同意/OK/按这个做”.

Step 5: Implement with minimal, localized diffs

Implementation rules:

  • Prefer root-cause fixes over patches, but keep diffs small and focused.
  • Avoid scattering logic across multiple entrypoints; centralize in one module when possible.
  • Keep ES module imports explicit; avoid implicit globals.
  • Add short JSDoc for exported functions when introducing new exports.
  • User-visible logs: actionable Chinese messages (explain what to do next).

If the change involves async flows/cross-module calls/fallbacks, add Chinese comments explaining assumptions and failure handling.

Step 6: Validate (fixed regression loop)

  • Run the manual pages referenced in references/regression-checklist.md.
  • If manifest.json or service_worker.js changed: reload the extension before retesting.
  • Record what you tested and the observed outcome (even if it is manual).

Step 7: Maintain (docs + decision log)

  • Update project docs or inline notes for future maintainers.
  • Add a short “Decision log” entry: why this design, what alternatives were rejected, and how to roll back.

Use the template in references/decision-log-template.md.

Resources

scripts/

  • scripts/impact_scan.sh: fast file candidate scan via rg for keywords + common extension entrypoints.

references/

  • references/change-brief-template.md: input template to lock scope + acceptance criteria.
  • references/regression-checklist.md: manual regression checklist for this repo’s Chrome extension.
  • references/decision-log-template.md: lightweight decision record template.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

github-repo-search

No summary provided by upstream source.

Repository SourceNeeds Review
General

weekly-report

No summary provided by upstream source.

Repository SourceNeeds Review
General

writing-assistant

No summary provided by upstream source.

Repository SourceNeeds Review
General

prd-doc-writer

No summary provided by upstream source.

Repository SourceNeeds Review