Skip to content

[Extension]: Add Ripple #3354

Description

@chordpli

Extension ID

ripple

Extension Name

Ripple

Version

1.1.0

Description

Detect side effects that tests can't catch after implementation (surface hidden ripple effects across 9 analysis categories)

Author

chordpli

Repository URL

https://github.com/chordpli/spec-kit-ripple

Download URL

https://github.com/chordpli/spec-kit-ripple/archive/refs/tags/v1.1.0.zip

License

MIT

Homepage (optional)

https://github.com/chordpli/spec-kit-ripple

Documentation URL (optional)

https://github.com/chordpli/spec-kit-ripple#readme

Changelog URL (optional)

https://github.com/chordpli/spec-kit-ripple/blob/main/CHANGELOG.md

Required Spec Kit Version

=0.2.0

Required Tools (optional)

- git — required (baseline detection and diff analysis)

Number of Commands

3

Number of Hooks (optional)

1

Tags

side-effects, post-implementation, analysis, quality, risk-detection

Key Features

  • Delta-anchored side-effect detection across 9 categories — every finding causally linked to a specific diff hunk with before/after behavior
  • Blast-radius tracing into unmodified dependent code, including non-code dependents (persisted data, caches, rolling-deploy version skew)
  • Interactive per-finding resolution with tradeoff options; fix plans recorded for /speckit.implement to apply
  • Post-fix verification that detects fix-induced side effects, with a convergence verdict for the fix loop
  • after_implement hook, incremental --diff scans, severity filters, cross-platform (bash/PowerShell)

Testing Checklist

  • Extension installs successfully via download URL
  • All commands execute without errors
  • Documentation is complete and accurate
  • No security vulnerabilities identified
  • Tested on at least one real project

Submission Requirements

  • Valid extension.yml manifest included
  • README.md with installation and usage instructions
  • LICENSE file included
  • GitHub release created with version tag
  • All command files exist and are properly formatted
  • Extension ID follows naming conventions (lowercase-with-hyphens)

Testing Details

Tested on:

  • macOS 14 (arm64), Specify CLI 0.6.2, Python 3.11

Installation verification (v1.1.0):

  1. Fresh Spec Kit project (specify init --ai claude --script sh)
  2. Installed via the release download URL: specify extension add ripple --from https://github.com/chordpli/spec-kit-ripple/archive/refs/tags/v1.1.0.zip
  3. Verified: extension enabled, 3 commands registered with descriptions, after_implement hook active; clean reinstall after specify extension remove ripple

Test scenarios (real project): [[Ripple(https://github.com/chordpli/spec-kit-ripple)]
a working Python task manager (JSON persistence, CLI, unittest suite) inside the Spec Kit project; feature branch 001-task-priorities with spec/plan/tasks artifacts and an uncommitted implementation — the exact post-/speckit.implement state.

  1. /speckit.ripple.scan — detected 2 genuine side effects that the fully green test suite missed, each reproduced at runtime: a CRITICAL Data Flow break (tasks persisted by the previous version crash list/report with KeyError: 'priority') and a WARNING Interface Contract shift (pending() reordering silently broke the documented FIFO contract of the untouched report.py); zero false positives across the other categories
  2. /speckit.ripple.resolve — walked both findings one at a time, recorded decisions, wrote fix plans to ripple-fixes.md; statuses → RESOLUTION_PLANNED
  3. Applied the fix plans — test suite green (12 tests), legacy-data regression test added
  4. /speckit.ripple.check — both findings verified RESOLVED with runtime evidence, fix-induced analysis ran (0 new findings), emitted "CONVERGED — no findings awaiting action"; the previously-crashing legacy data file now loads cleanly end-to-end

All three commands completed without errors.

Example Usage

# Install
specify extension add ripple --from https://github.com/chordpli/spec-kit-ripple/archive/refs/tags/v1.1.0.zip

# After /speckit.implement completes (or answer "y" at the after_implement hook prompt)
/speckit.ripple.scan                 # analyze the implementation diff for side effects → ripple-report.md
/speckit.ripple.scan critical        # large change sets: critical findings only
/speckit.ripple.resolve              # decide a fix strategy finding-by-finding → ripple-fixes.md

# Apply the recorded fix plans
/speckit.implement specs/{feature}/ripple-fixes.md

/speckit.ripple.check                # verify fixes, detect fix-induced side effects → convergence verdict
​

Proposed Catalog Entry

{
  "name": "Ripple",
  "id": "ripple",
  "description": "Detect side effects that tests can't catch after implementation — surface hidden ripple effects across 9 analysis categories",
  "author": "chordpli",
  "version": "1.1.0",
  "download_url": "https://github.com/chordpli/spec-kit-ripple/archive/refs/tags/v1.1.0.zip",
  "repository": "https://github.com/chordpli/spec-kit-ripple",
  "homepage": "https://github.com/chordpli/spec-kit-ripple",
  "documentation": "https://github.com/chordpli/spec-kit-ripple/blob/main/README.md",
  "changelog": "https://github.com/chordpli/spec-kit-ripple/blob/main/CHANGELOG.md",
  "license": "MIT",
  "category": "code",
  "effect": "read-write",
  "requires": {
    "speckit_version": ">=0.2.0"
  },
  "provides": {
    "commands": 3,
    "hooks": 1
  },
  "tags": [
    "side-effects",
    "post-implementation",
    "analysis",
    "quality",
    "risk-detection"
  ],
  "verified": false,
  "downloads": 0,
  "stars": 0,
  "created_at": "2026-07-06T00:00:00Z",
  "updated_at": "2026-07-06T00:00:00Z"
}

Additional Context

Ripple complements the existing review-oriented extensions rather than overlapping them: review inspects the quality of the changed code and staff-review judges shipping readiness, while Ripple analyzes what the change did to unmodified code — every finding is delta-anchored to a specific diff hunk with before/after behavior and a traced blast radius. Running them together covers both "what's wrong with my change" and "what my change broke elsewhere" (see the Complementary Perspectives section in the README).

It also pairs with blueprint (same author, already in the catalog): blueprint provides pre-implementation code literacy, Ripple provides post-implementation impact analysis, and Ripple reads blueprint.md as optional context when that extension is installed.

v1.1.0 hardened the git baseline handling (auto-detected base branch, working-tree diffs, SHA-anchored incremental scans), unified the finding-status lifecycle across the three commands, and added cross-platform (bash/PowerShell) prerequisite scripts — see the CHANGELOG for details.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions