Deslop
Remove words and structure the current task does not need. Keep its behavior and
safeguards.
Set Scope
Read the root AGENTS.md, the nearest scoped AGENTS.md, and the code, tests,
or docs that own the behavior. State what must remain true before changing it.
Treat the user's target as the boundary. Fix affected callers, tests, examples,
and docs, but do not turn a focused simplification into a repository-wide
cleanup.
Remove Slop
Look for complexity that has no current use or requirement:
- jargon, vague or inflated prose, and unfamiliar words where common words are
exact;
- wrappers that only rename or forward arguments;
- generic managers, services, registries, factories, and configuration layers
that serve one known case;
- options, extension points, fallbacks, compatibility paths, and abstractions
justified only by a possible future need;
- duplicate names, types, state, validation, comments, or documentation;
- helpers that hide a short operation or split one concern across many files;
- broad error handling, retries, or logging that obscures the real owner;
- plans, TODOs, and transitional code whose work is complete.
Prefer familiar domain names, short sentences, active voice, small functions and
modules, plain objects, and simple types. Prefer deleting a concept over renaming
it when nothing still needs it.
Preserve Necessary Structure
Do not remove structure that enforces behavior. Keep:
- stored IDs, links, ownership, history, evidence, and source relationships;
- permission, privacy, validation, identity, idempotency, transaction, and
concurrency boundaries;
- stable public or saved contracts unless the task includes a safe migration;
- domain terms that are more exact than a simpler-sounding substitute;
- tests for required behavior and comments that explain a non-obvious rule or
owner;
- accessibility, logs, traces, failure reporting, and operational safeguards
that have a current use.
Do not call code overengineered merely because it has layers. Show which layer,
option, or concept is unused, duplicated, or owned elsewhere. When evidence is
weak, leave the design alone or present the tradeoff instead of guessing.
Follow Peated Policies
Peated's policies still apply. Read those relevant to the target:
- Policy scope: Keep durable rules with a clear
concern and an enforceable owner.
- Agent design: Use ordinary code for
fixed rules. Keep model workflows small, bounded, checked, and measurable.
- Background work: Persist durable
state first. Make retries bounded, owned, and safe to repeat.
- Code comments: Explain non-obvious
rules and tradeoffs. Remove narration and completed transition notes.
- Data and permissions: Validate
every boundary and keep identity, ownership, authority, and retry state
explicit.
- Database correctness: Preserve
identity and relationships. Use constraints, locks, versions, and
transactions for concurrent writes.
- Error handling: Let unexpected errors
reach their owner. Catch only to recover, translate, or clean up.
- Interfaces: Expose the smallest useful
action. Do not add wrappers or broad dependency objects without real
behavior.
- Logs and traces: Record stable events
and safe context once at the boundary that owns the failure.
- Naming: Use one Peated domain name for one
concept. Treat generic architecture words as warning signs.
- Sensitive data: Keep credentials,
private content, direct identifiers, and unrestricted payloads out of logs,
tools, models, and errors.
Use the relevant development testing guide too. Backend tests are
integration-first, frontend tests cover behavior rather than appearance, and
live model checks stay separate from deterministic tests.
For customer-facing Peated copy, also follow skills/peated-writing/SKILL.md.
Finish
Search for every affected use. Remove code and prose made obsolete by the
change. Preserve compatibility only when a current caller, saved value, or
published contract requires it.
Run focused tests, typechecks, lint, and formatting. Use manual QA where those
checks cannot prove behavior. Report what became simpler, what behavior stayed
the same, and any check that could not run.
Finish when the target has fewer unnecessary words, concepts, or paths, every
remaining abstraction has a current reason, and required checks pass.
1---2name: deslop3description: Simplifies existing Peated code, docs, prompts, plans, or explanations without changing required behavior. Use when asked to deslop, simplify, remove jargon, trim, or reduce overengineering. Do not use for unrelated feature work or broad cleanup.4---56# Deslop78Remove words and structure the current task does not need. Keep its behavior and9safeguards.1011## Set Scope1213Read the root `AGENTS.md`, the nearest scoped `AGENTS.md`, and the code, tests,14or docs that own the behavior. State what must remain true before changing it.1516Treat the user's target as the boundary. Fix affected callers, tests, examples,17and docs, but do not turn a focused simplification into a repository-wide18cleanup.1920## Remove Slop2122Look for complexity that has no current use or requirement:2324- jargon, vague or inflated prose, and unfamiliar words where common words are25 exact;26- wrappers that only rename or forward arguments;27- generic managers, services, registries, factories, and configuration layers28 that serve one known case;29- options, extension points, fallbacks, compatibility paths, and abstractions30 justified only by a possible future need;31- duplicate names, types, state, validation, comments, or documentation;32- helpers that hide a short operation or split one concern across many files;33- broad error handling, retries, or logging that obscures the real owner;34- plans, TODOs, and transitional code whose work is complete.3536Prefer familiar domain names, short sentences, active voice, small functions and37modules, plain objects, and simple types. Prefer deleting a concept over renaming38it when nothing still needs it.3940## Preserve Necessary Structure4142Do not remove structure that enforces behavior. Keep:4344- stored IDs, links, ownership, history, evidence, and source relationships;45- permission, privacy, validation, identity, idempotency, transaction, and46 concurrency boundaries;47- stable public or saved contracts unless the task includes a safe migration;48- domain terms that are more exact than a simpler-sounding substitute;49- tests for required behavior and comments that explain a non-obvious rule or50 owner;51- accessibility, logs, traces, failure reporting, and operational safeguards52 that have a current use.5354Do not call code overengineered merely because it has layers. Show which layer,55option, or concept is unused, duplicated, or owned elsewhere. When evidence is56weak, leave the design alone or present the tradeoff instead of guessing.5758## Follow Peated Policies5960Peated's policies still apply. Read those relevant to the target:6162- [Policy scope](../../docs/policies/README.md): Keep durable rules with a clear63 concern and an enforceable owner.64- [Agent design](../../docs/policies/agent-design.md): Use ordinary code for65 fixed rules. Keep model workflows small, bounded, checked, and measurable.66- [Background work](../../docs/policies/background-work.md): Persist durable67 state first. Make retries bounded, owned, and safe to repeat.68- [Code comments](../../docs/policies/code-comments.md): Explain non-obvious69 rules and tradeoffs. Remove narration and completed transition notes.70- [Data and permissions](../../docs/policies/data-and-permissions.md): Validate71 every boundary and keep identity, ownership, authority, and retry state72 explicit.73- [Database correctness](../../docs/policies/database-correctness.md): Preserve74 identity and relationships. Use constraints, locks, versions, and75 transactions for concurrent writes.76- [Error handling](../../docs/policies/error-handling.md): Let unexpected errors77 reach their owner. Catch only to recover, translate, or clean up.78- [Interfaces](../../docs/policies/interfaces.md): Expose the smallest useful79 action. Do not add wrappers or broad dependency objects without real80 behavior.81- [Logs and traces](../../docs/policies/logs-and-traces.md): Record stable events82 and safe context once at the boundary that owns the failure.83- [Naming](../../docs/policies/naming.md): Use one Peated domain name for one84 concept. Treat generic architecture words as warning signs.85- [Sensitive data](../../docs/policies/sensitive-data.md): Keep credentials,86 private content, direct identifiers, and unrestricted payloads out of logs,87 tools, models, and errors.8889Use the relevant development testing guide too. Backend tests are90integration-first, frontend tests cover behavior rather than appearance, and91live model checks stay separate from deterministic tests.9293For customer-facing Peated copy, also follow `skills/peated-writing/SKILL.md`.9495## Finish9697Search for every affected use. Remove code and prose made obsolete by the98change. Preserve compatibility only when a current caller, saved value, or99published contract requires it.100101Run focused tests, typechecks, lint, and formatting. Use manual QA where those102checks cannot prove behavior. Report what became simpler, what behavior stayed103the same, and any check that could not run.104105Finish when the target has fewer unnecessary words, concepts, or paths, every106remaining abstraction has a current reason, and required checks pass.