examples / example-06-blast-radius-upgrade.md
examples / example-06-blast-radius-upgrade.md
A developer wants to upgrade a package (e.g., React from 18 to 19) but needs to understand what else might break. The team has a large codebase with many consumers of the updated package.
This maps to the Blast Radius skill and the Refactoring playbook. The real pstack pattern is: answer "what else could this small change break?" with a safety fact proven by running code, not by assertion.
Step 1: Get the Blast Radius skill
{ "tool": "get_skill", "parameters": { "name": "blast-radius", "mode": "full" } }
Step 2: Get the relevant principles
Step 3: Route to a playbook for large changes
Step 4: Get the Skill Graph to find related skills
pstack-mcp returns:
The model produces a phased migration plan with a "blast radius" report showing exactly which files, imports, and patterns need updating — not a guess, but a traced analysis.
A developer wants to upgrade a package (e.g., React from 18 to 19) but needs to understand what else might break. The team has a large codebase with many consumers of the updated package.
This maps to the Blast Radius skill and the Refactoring playbook. The real pstack pattern is: answer "what else could this small change break?" with a safety fact proven by running code, not by assertion.
Step 1: Get the Blast Radius skill
{ "tool": "get_skill", "parameters": { "name": "blast-radius", "mode": "full" } }
Step 2: Get the relevant principles
Step 3: Route to a playbook for large changes
Step 4: Get the Skill Graph to find related skills
pstack-mcp returns:
The model produces a phased migration plan with a "blast radius" report showing exactly which files, imports, and patterns need updating — not a guess, but a traced analysis.
{
"tool": "get_principles",
"parameters": {
"names": ["separate-before-serializing-shared-state", "migrate-callers-then-delete-legacy-apis"],
"mode": "full"
}
}
{
"tool": "playbook-route",
"parameters": {
"task": "Upgrade React from 18 to 19 across a large codebase. Analyze the blast radius: which files import React directly, which use React APIs, and which might break. Plan the migration in phases.",
"limit": 2
}
}
{
"tool": "skill-graph",
"parameters": {
"skill_name": "blast-radius"
}
}
{
"tool": "get_principles",
"parameters": {
"names": ["separate-before-serializing-shared-state", "migrate-callers-then-delete-legacy-apis"],
"mode": "full"
}
}
{
"tool": "playbook-route",
"parameters": {
"task": "Upgrade React from 18 to 19 across a large codebase. Analyze the blast radius: which files import React directly, which use React APIs, and which might break. Plan the migration in phases.",
"limit": 2
}
}
{
"tool": "skill-graph",
"parameters": {
"skill_name": "blast-radius"
}
}