Simplifies bloated products, offerings, documents, plans, and flows through purpose-locked subtraction. Use when asked to cut scope, remove bloat, create a kill list, decide what to keep or remove, or improve something by subtraction. Do not use for code-only refactors, optimizing individual flow steps, release prioritization, or evaluating one proposed addition.
Resources
1Install
npx skillscat add edmundmiller/dotfiles/via-negativa Install via the SkillsCat registry.
Here's a thinking process: 1. **Analyze the Request:** - **Goal:** Write a 2-3 sentence plain-text summary in English - **Subject:** An AI agent skill (via-negativa) for simplifying bloated products/offerings/docs/flows via purpose-locked subtraction - **Key points to cover:** what it does, what problem it solves, when to use it - **Constraints:** - Objective, factual tone - No marketing language, superlatives, calls to action - Natural prose, no keywords stuffing, no bullet points, no headings, no markdown - No wrapping in quotes - At most 60 words - **Output:** ONLY the summary text 2.
Via Negativa
Remove what does not serve one explicit purpose. Make the result simpler without weakening required outcomes or constraints.
Workflow
Lock one purpose. Write one sentence:
This exists to help [specific beneficiary] achieve [single outcome].
Infer it from supplied context when confidence is high and label the inference. Otherwise ask one focused question. If the sentence contains independent jobs, select one scope or split the artifact before continuing.
Separate constraints. List non-negotiable safety, legal, accessibility, reliability, contractual, and compatibility obligations. Constraints are not extra purposes.
Inventory the whole thing. Enumerate every feature, section, field, step, claim, option, dependency, or commitment in scope. Inspect the actual artifact when available; do not judge from a summary if the source can be read.
Classify every element.
- KEEP: directly enables the purpose or satisfies a constraint.
- CUT: does neither. “Nice to have,” sunk cost, ownership, and political attachment do not qualify an element to stay.
- RISKY CUT: appears unnecessary, but removal has a credible failure mode. State that downside, then resolve it to KEEP or CUT. Never leave “maybe” as the decision.
Execute the subtraction. When the user requested edits, remove the decided cuts from the source artifact. Otherwise provide a concrete cut plan or stripped version. Keep uncertain execution reversible with a flag, staged rollout, archive, or rollback point; reversibility does not replace the keep-or-cut decision.
Recheck the result. Confirm the stripped artifact still achieves the purpose and honors every constraint. Only propose an addition if subtraction exposed a purpose-critical gap that cannot be closed by retaining or reshaping an existing element.
Decision rules
- Judge contribution to the purpose, not effort already spent.
- Preserve evidence and provenance needed to trust the result.
- Do not equate fewer words, screens, or features with success; the purpose and constraints are the test.
- Do not invent user evidence, dependencies, or removal risk. Mark assumptions and evidence gaps.
- Prefer reshaping over adding when an existing element can do the job more simply.
- Route code-only cleanup to a code simplification workflow; route sequence-level friction, release ordering, or addition review to their task-specific workflows.
Output
Return:
Purpose: the one-sentence purpose and constraints.
Decision table:
Element Purpose/constraint contribution Removal downside Decision Reason Cuts: ordered by impact, with reversible execution where useful.
Stripped result: the edited artifact, concise rewrite, or exact target state.
Verification: evidence that the result still performs its one job and honors constraints.
Example
For a PRD whose purpose is “help support leads find unassigned critical tickets before SLA breach”:
- Keep severity rules, ownership state, SLA timing, and alert acceptance criteria.
- Cut broad analytics, team biography, and unrelated dashboard customization.
- Treat per-channel alert settings as a risky cut: name the failure caused by one default channel, then choose keep or cut.
- Return the stripped PRD and verify every remaining requirement traces to the purpose or a constraint.
Source
Distilled from George Nurijanian’s public description of purpose-locked subtraction. This is an independent implementation; it does not reproduce the private PM OS skill.