Skip to content
Automation
Skill

/downstream-impact

Explain in plain language what a fix, feature, PR, or plan will actually change for downstream hermits and the operators chatting with them — a before/after flow plus a diagram. Use whenever the operator asks "what will really change for downstream hermits and operators", "how

From plugin
hermitd
8489 skills14 agents

Claude Code

$ npx -y skills add gtapps/hermitd --skill downstream-impact --agent claude-code

SKILL.md

downstream-impact.SKILL.md
name: downstream-impact
description: Explain in plain language what a fix, feature, PR, or plan will actually change for downstream hermits and the operators chatting with them — a before/after flow plus a diagram. Use whenever the operator asks "what will really change for downstream hermits and operators", "how does this affect operators", "will operators notice", "before and after for hermits", "what changes in the flow", "downstream impact", "show me the impact in a diagram", or types /downstream-impact [target]. Works on the current diff, a branch, a PR number, a plan file, or a change described in chat. Do NOT use for changelog-vs-code audits (/pre-release-review), docs audits (/docs-drift), or a generic diagram with no downstream-hermit angle (delta-diagrams alone).

Downstream Impact

The question behind every invocation: **if this ships, what does a hermit running on someone else's box do differently, and what does the person chatting with it notice?** Not the diff, not the architecture. The reader is the maintainer deciding whether a change is worth shipping, how to word the changelog, or how to explain it to an operator on Discord.

Read-only. Never edits, commits, or releases.

Usage

  • `/downstream-impact` — the change under discussion in this conversation; otherwise `git diff main...HEAD` plus the working tree; on a clean `main`, every plugin's `[Unreleased]` section.
  • `/downstream-impact <PR number>` — `gh pr diff <N>` and the PR body.
  • `/downstream-impact <branch>` — that branch against `main`.
  • `/downstream-impact <plan file>` — the plan's steps, before anything is built.
  • `/downstream-impact "<described change>"` — a change that exists only as an idea; label every claim as assumed.

Step 1 — Locate the touchpoints

A change reaches downstream only through a few surfaces. Read only what the diff (or plan) touches and check each surface:

  • **Operator chat**: channel notices, push notifications, `AskUserQuestion` prompts, skill text that composes messages. Does the operator see new, fewer, or differently worded messages? Is there a new thing they can ask for?
  • **Hermit flow**: hooks, heartbeat, routines, watches, watchdog, session start/close. Does the hermit wake more, less, or for a different reason? Did a step move from the model to a script, or the reverse?
  • **Upgrade path**: `templates/`, migrations, `### Upgrade Instructions`. What does `hermit-evolve` rewrite, what does the operator do by hand, what operator-edited file survives.
  • **Gates**: `min_claude_code_version`, `required_core_version`, new config keys, permission or deny rules, default on or off. Who is excluded, who has to opt in.
  • **Cost**: per-wake context, hook stdout, new always-loaded text.
  • **Reach**: `main` is staging. Installed operators see nothing until the plugin's `version` bumps; `--plugin-dir` testers and fresh installs see `main` HEAD. Say which group this reaches today.

If the change touches none of these (tests, docs, a behavior-preserving refactor), the answer is **"no visible change"** in one line, plus who could still notice (contributors, CI). Do not invent an impact to fill the template.

Step 2 — Write it

Load `delta-diagrams` before drawing. Output in this order, and keep the whole thing to one screen:

1. **Verdict, one sentence.** Who notices, and whether anyone has to do anything. 2. **Operator: before → after.** What they see in chat and what they must do. Two or three lines. 3. **Hermit: before → after.** What it does on its own, and when. Two or three lines. 4. **Diagram.** The `delta-diagrams` straight before/after flow of the operator ↔ hermit loop. Use the decision-tree shape only when the change forks (opt-in vs default, old CC vs new CC). 5. **On upgrade.** What `hermit-evolve` does and anything the operator must do by hand. "Nothing" is a valid and common answer. 6. **Not changing.** One line naming what someone might assume changed but does not.

Add a final **For the maintainer** line only when there is detail the operator-facing text had to leave out (version floors, spend, the surface that carries it).

Voice and calibration

  • Plain language an operator on Discord could read. Sections 1 through 6 carry no file paths, function names, PROP or issue IDs, slash commands, or token counts; those go in the maintainer line. Say "the hermit now compacts before it hits the ceiling", not "watchdog threshold changed".
  • Every "after" claim traces to a diff hunk or a plan step. If you cannot point at one, drop it or mark it *assumed*.
  • Downstream hermits are custom and dynamic: describe the mechanism that changes, not one install's state.
  • Never use this hermit's own session history as evidence of downstream behavior. Target users are operators who do not open feature branches.
Read more
@gtapps
Ships withhermitd

Run an always-on Claude Code agent on your own machine, for you or your team. Start and orchestrate sessions from chat in any project it can reach. Take over the same session in the Claude app or the CLI.

8489 skills14 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
84
Star history of gtapps/claude-code-hermit on GitHub, a chart by star-history.com

Other skills on hermitd.

bump-core-req

bump-core-req

Updates the minimum core version requirement for a fleet plugin in all three canonical places: `required_core_version` and…

@gtapps@gtappsInstall Skill
commit

commit

Changelog and commit — lightweight motion for day-to-day plugin dev work in the monorepo. One commit per plugin scope; CHANGELOG…

@gtapps@gtappsInstall Skill
docs-drift

docs-drift

Documentation-drift audit for the plugin monorepo. Audits either each scoped plugin's unreleased changelog claims or its latest…

@gtapps@gtappsInstall Skill
fleet-release

fleet-release

Use this skill whenever the user wants to release, ship, prep, or cut versions for two or more plugins together on the current…

@gtapps@gtappsInstall Skill
pipeline-digest

pipeline-digest

Daily release-pipeline digest with a change gate — reports which plugins are pending release, whether main's CI is green, which…

@gtapps@gtappsInstall Skill
pre-release-review

pre-release-review

Pre-release gate for the monorepo — establishes per-plugin release boundaries (each plugin's last tag → HEAD), audits every…

@gtapps@gtappsInstall Skill

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n12d209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…

@vercel-labs-2@vercel-labs-2Install Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about downstream-impact.

Which coding agents can use downstream-impact?
downstream-impact installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.