Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from bundle
Facilitate a Value Management style interrogation of a plan, design, problem, or product decision. Use when the user wants a deeper successor to grill-me - on
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
references/software-adaptation.md
1# Software Adaptation23How VM phases land as engineering artifacts. Use this when the problem is code-shaped.45## Phase -> artifact mapping67| VM phase | Engineering artifact |8|---|---|9| Frame | One-paragraph problem statement + linked issue/PR |10| Information | Inspection notes: file paths, line refs, log excerpts, telemetry queries, prior ADRs |11| Function analysis | Function map (verb+noun) tied to user roles and components |12| Creative | Options list including: no-build, config-only, UI-only, contract-only (backend), instrumentation-first, manual/operational, full build |13| Evaluation | Options Matrix with software criteria (see `evaluation-matrix.md`) |14| Development | PRD or ADR with diagrams + interface sketches |15| Risk | Risk register with detection + mitigation + owner (see `risk-register.md`) |16| Recommendation | ADR-style recommendation: status, context, decision, consequences, alternatives |17| Implementation slice | Issue list, each with: scope, exit criteria, observability, rollback, dependencies |18| Feedback / POE | Post-release check: telemetry diff vs predicted value, lessons captured into ADR |1920## Information sources to inspect before asking2122- Repo: directory layout, package boundaries, existing patterns nearby.23- Recent PRs touching the area; their reviews and rejected approaches.24- ADRs in `docs/adr/` (or equivalent).25- Issue tracker for the same surface - find prior attempts that failed.26- Logs / telemetry / traces - actual failure modes and frequencies.27- Tests - what's currently considered correct.28- Configuration / feature flags - capability already present but unused.2930Cite exact paths and line numbers when you bring evidence to the user.3132## Proactive discovery for software3334Before asking a design or product question, make a small local investigation first. The goal is not exhaustive research; it is to avoid asking the user for facts the repository can already answer.3536Default sequence:37381. Search names and concepts with `rg`.392. Read the nearest implementation and public API/index files.403. Check tests for the current behavioral contract.414. Check recent issues/PRs/docs if the task mentions them.425. Only then ask the user for intent or trade-off decisions.4344Question shape:4546```47Evidence: `path/to/file.ts:42` already routes X through Y, and `path/to/test.ts:18` treats Z as required.48Question: Should the value boundary be "preserve Z while changing Y", or is Z now negotiable?49Recommended: preserve Z unless the current task explicitly de-scopes it.50```5152Do not ask:5354- "Where is this implemented?"55- "Does the app already support this?"56- "What tests cover this?"57- "What does production currently do?"5859Inspect those first. Ask only what cannot be inferred: desired outcome, acceptable risk, priority, taste, rollout appetite, or whether a current behavior is intentional.6061## Default creative options for software6263When generating alternatives, deliberately include each of these:6465- **No-build** - accept the status-quo with measurement.66- **Config-only** - flip a flag, change a threshold, adjust a quota.67- **Manual / operational** - a human runs the process for two weeks; we measure pain.68- **Comms-only** - change documentation, error message, runbook.69- **Instrumentation-first** - add telemetry; decide later.70- **Contract-only** - change the API/event shape; let consumers adapt.71- **UI-only** - surface the existing capability; no backend change.72- **Backend-only** - fix the data model; UI catches up later.73- **Lean build** - minimum diff that delivers basic function.74- **Full build** - comprehensive solution.7576Drop the ones that obviously don't fit, but force yourself to consider each.7778## Software-specific evaluation criteria7980(See `evaluation-matrix.md` for full template.)8182The criteria most teams under-weight:8384- **Reversibility** - config flips beat schema changes beat data migrations beat contract breaks.85- **Time to feedback** - a 1-day option that teaches > a 6-week option that delivers.86- **Operational burden** - a feature that needs a daily human action will rot.8788## ADR template (compact)8990```91# ADR-NNNN: <title>9293Status: Proposed | Accepted | Superseded by ADR-NNNN94Date: YYYY-MM-DD9596## Context97<problem, constraints, evidence (cite paths/links)>9899## Decision100<chosen option, in 2-4 sentences>101102## Alternatives considered103- <option B>: rejected because <reason>104- <option C>: rejected because <reason>105106## Consequences107- Positive: <what we gain>108- Negative / accepted risks: <what we lose, with detection signals>109- Reversal cost: <how to undo>110```111112## PRD template (compact)113114```115# <Feature>116117## Outcome (not feature)118<one measurable sentence>119120## Functions delivered (verb + noun)121- Basic: ...122- Secondary: ...123- Explicitly NOT delivered: ...124125## Users / stakeholders126<roles, with the one whose buy-in is decisive marked>127128## Acceptance criteria129- ...130131## Out of scope132- ...133134## Rollout / rollback135- Flag, stages, kill switch, on-call playbook entry.136137## Observability138- Metric, log, alert, dashboard link.139```140141## Issue slice template142143```144Title: <verb + noun, basic function level>145Scope: <single PR-sized, <=2 days>146Exit criteria: <how reviewer/QA confirms>147Observability: <what telemetry proves it works in prod>148Rollback: <flag/revert path>149Depends on: <issue IDs>150Risk pointer: <R<n> from register>151```152153## Review checklist (post-implementation)154155- Every retained component maps to a basic or required function.156- Every public surface has at least one test.157- Every new failure mode has a metric or log.158- Rollback path is documented and rehearsed in writing.159- Cost surprises (tokens, egress, log volume) are bounded.160- ADR is updated; PRD is closed; issues link to the ADR.161