executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
iterate-post-launchClose the feedback loop on a live app: read production signals, rank the top issues, fix, verify live, repeat. Use when "post-launch polish", "fix the top production issues", "iterate on feedback", or "what should I fix next after launch?".
Independent GitHub snapshot · Automated classification · Original documentation governs
Degree of freedom: MIXED. Triage and sprint plan [HIGH freedom];
signal pulls, confirmation-before-edit, and live verify
[LOW freedom — run exactly].
You shipped. That is the beginning, not the end. Real users hit real paths you did not test. Sentry, Supabase logs, and the live UI tell you exactly what to fix next — if you know how to read them. This skill turns those signals into a ranked, actionable improvement plan and then implements it.
Plan → Signal → Triage → Fix → Verify. Do not guess what to improve. Let production data point to the highest-impact work first.
Before ANY browser action, read protocol-browser-anti-stall.
Observe: Sentry
TypeErroron/checkout2.4k events / 14d; advisor missing index onorders(user_id); live empty cart has no message. Interpret: checkout crash blocks paying users — outranks the index and the empty state. Classify: Critical = crash fix; High = index; Medium = empty-cart copy. Present that sprint; do not start a homepage rewrite. Verify: headed-s=post-launchreplay of checkout → 2xx; thensentry:update_issueresolved.
workflow-fix-and-shipRead the stack before pulling any signals:
package.json → framework, Sentry SDK, Supabase client version
.env.local → SENTRY_ORG, SENTRY_PROJECT, SUPABASE_PROJECT_ID (name only)
README → any known issues the team is tracking
Confirm available MCPs: sentry, supabase,
firecrawl, playwright.
Run all signal sources in parallel, then synthesise.
Look up the tool schemas first.
sentry:search_issues
{
"organizationSlug": "<ORG>",
"query": "unresolved issues last 14 days sorted by frequency",
"projectSlugOrId": "<PROJECT>",
"regionUrl": "<REGION_URL>",
"limit": 25
}
For each top-5 issue, get root-cause analysis:
sentry:analyze_issue_with_seer
{
"organizationSlug": "<ORG>",
"issueId": "<ISSUE_ID>",
"regionUrl": "<REGION_URL>"
}
Record per issue: title, frequency (events/users), first/last seen, component.
supabase:query_logs
{
"sql": "select timestamp, event_message, log_attributes['request.method'] as method, log_attributes['request.path'] as path, log_attributes['response.status_code'] as status_code from logs where source = 'edge_logs' order by timestamp desc limit 100"
}
supabase:query_logs
{
"sql": "select timestamp, event_message, log_attributes['parsed.error_severity'] as error_severity from logs where source = 'postgres_logs' order by timestamp desc limit 100"
}
supabase:get_advisors
{
"type": "security"
}
supabase:get_advisors
{
"type": "performance"
}
query_logs (read-only ClickHouse SQL over one logs table, filtered by
source) replaces get_logs on current servers. It reads the last 24 hours
unless you pass iso_timestamp_start / iso_timestamp_end.
Flag:
Navigate the app's 3–5 most-used flows as a real user. Look for:
PW="npx --yes @playwright/cli@latest"
$PW -s=post-launch open --headed "<app-url>" # then `goto` each primary page
$PW -s=post-launch console # capture errors
$PW -s=post-launch requests # capture 4xx/5xx
$PW -s=post-launch screenshot --filename ".playwright-mcp/post-launch-<page>.png"
For each signal category that surfaced issues:
firecrawl:firecrawl_search
{
"query": "<framework> <issue-type> fix best practices <current year>",
"limit": 3,
"sources": [{ "type": "web" }]
}
Build an improvement backlog. For each finding:
| Field | What to fill |
|---|---|
| Source | Sentry / Supabase logs / Advisor / Live walkthrough |
| Finding | One sentence describing what is wrong |
| Affected users | High (blocks most users) / Medium (hits some) / Low (edge case) |
| Effort | S (< 1 h) / M (half day) / L (multi-day, consider splitting) |
| Priority | Critical / High / Medium / Low |
Priority mapping:
Sort the backlog: Critical first, then by impact ÷ effort (quick wins above hard ones).
For the top 5–10 items, map each to specific code:
Improvement: [title]
Root cause: [1 sentence]
Fix: [file path + what to change]
Verify: [how to confirm it is fixed]
Risk: [low / medium — explain if medium+]
Present the plan to the user. Get confirmation before making changes.
Work through the approved list one by one, following
workflow-coding-discipline principles:
ReadLints). Fix introduced errors.apply_migration for DDL, execute_sql for data fixessupabase/migrations/information_schema / pg_indexes / pg_policiesAfter each fix, drive the specific flow that was broken:
$PW -s=post-launch goto "<affected-page>"
$PW -s=post-launch snapshot # confirm page renders correctly
# … reproduce the original scenario as a real user …
$PW -s=post-launch console # green (no new errors)
$PW -s=post-launch requests # 2xx where it was failing
$PW -s=post-launch screenshot --filename ".playwright-mcp/fixed-<flow>.png"
For Supabase fixes, re-run the failing query with execute_sql and confirm
the performance improvement or policy correction.
For Sentry issues: mark as resolved only after live verification confirms the fix, not before:
sentry:update_issue
{
"organizationSlug": "<ORG>",
"issueId": "<ISSUE_ID>",
"status": "resolved",
"regionUrl": "<REGION_URL>"
}
update_issue needs the Triage skill on the Sentry MCP connection; if the tool
is missing, resolve the issue in the Sentry UI instead.
## Post-Launch Improvement Report — [App] — [Date]
### Signal sources checked
- Sentry: [issue count, date range]
- Supabase logs: [service, date range]
- Supabase advisors: [ERROR count / WARN count]
- Live walkthrough: [pages tested]
### Improvements implemented
| # | Source | Finding | Fix (file) | Verified |
|---|--------|---------|-----------|---------|
| 1 | Sentry | [error] | [file:line] | ✅ |
### Deferred (needs more investigation or is out of scope)
| # | Finding | Why deferred | Recommendation |
|---|---------|-------------|----------------|
### Remaining Sentry noise
- [issues that are known / won't-fix / need tracking ticket]
### Before / after summary
- Errors resolved: [count]
- Queries improved: [count, estimated ms saved]
- UX issues fixed: [count]
audit-analytics — prove the funnel events this loop iterates on actually firetest-red-team / deploy-verify / debug-sentry-monitor / test-playwright