Reslop
Rewrite docstrings and comments by reading the actual implementation, call sites, and tests — produce grounded, factual prose instead of deleting slop. Sibling of /techne:deslop. Use when the user wants to replace overhyped or hallucinated documentation with accurate one- or two-line descriptions derived from what the code actually does.From its SKILL.md
npx -y skills add ajbarea/techne --skill reslopAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.1 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
Reslop
Generative sibling of /techne:deslop. Where /techne:deslop deletes low-value prose, /techne:reslop rewrites it — grounded in the code, not in marketing instincts. On a path-scoped /techne:deslop <path> run, deslop auto-routes claim-bearing docstrings here; on a bare whole-repo sweep it lists them for you to run this directly.
Repo context
cat .claude/skill-context.md 2>/dev/null || echo "(no .claude/skill-context.md — rewrites will use conservative defaults for grounding numeric claims)"
The injected ## slop_ground_truth section (if present) names the files or docs that ground quantitative claims for this repo. Never introduce a numeric claim that can't trace to one of those sources.
Hard rules
- Never invent behavior. If the code doesn't show it, don't claim it. No "thread-safe" unless the code actually synchronizes. No "idempotent" unless it demonstrably is. No "future-proof" ever.
- Never invent performance claims. Rewrites must not introduce numeric speedups, throughput figures, latency bounds, or scale claims unless they are cited in the repo's
slop_ground_truth(per injected context). If the original prose said "10× faster" and you can't find a measurement that supports it, strike the claim — don't rephrase it. The "Unsupported quantitative / comparative claims" section of${CLAUDE_PLUGIN_ROOT}/_shared/hate-words.mdis the pattern list. - No hate-words. See
${CLAUDE_PLUGIN_ROOT}/_shared/hate-words.md— the rewrite must not reintroduce slop you came to fix. - Don't restate the signature. Type annotations already tell the reader the types. Docstring prose is for purpose and non-obvious constraints.
- Prefer shorter. One sentence beats three. If nothing needs saying, say nothing — hand the target back to
/techne:deslopto delete outright. - Match surrounding style. If the module's other docstrings are one-liners, yours is too. If they use Google-style
Args:/Returns:, match that — only if the arguments genuinely need explanation beyond their types.
Workflow
-
Scope. Default to the file(s) the user named, or pending-change files if they said "rewrite the docstrings in my changes". Never touch files outside scope.
-
For each target (function, class, module docstring):
Readthe implementation in full.Grepfor call sites inside the repo to see how it's actually used.- Check the adjacent test file for invariants the tests enforce.
- Draft a docstring grounded in those three sources — no extra sources.
-
Fan out only when scope is large. If the target list spans >5 files, dispatch parallel
Exploresubagents — one per file. Brief each with the hard rules, the hate-words glossary, and the three read sources. Each subagent returns proposed rewrites as old→new diffs. Main agent consolidates. -
Present. Group diffs by file, ask
apply all / apply selected / skip?. On--applyor clearly "just do it", write directly withEdit.
What triggers a rewrite
- Docstrings that trip the hate-word glossary.
- Docstrings that only restate the signature or repeat type annotations.
- Comments narrating WHAT a line does when the name already says.
- Module docstrings talking about "phases", "best practices", or AI-assistant audiences.
- Anything the user points at explicitly.
What to leave alone
- Accurate docstrings under ~2 lines that don't use hate-words.
- Load-bearing WHY comments (same Keep list as
/techne:deslop). - Generated/stub files (
*.pyi, protobuf output). - Tests — their names are the documentation; don't over-describe.
- License headers, SPDX identifiers, shebangs.
Output format
<package>/simulation_runner.py:120 _load_strategy
old: """Robust strategy loader that elegantly handles all edge cases
and seamlessly integrates with the federated simulation pipeline.
Under the hood it imports the strategy module and instantiates it."""
new: """Import a simulation strategy by name; raise ValueError if unknown."""
why: original used marketing prose ("robust", "elegantly", "seamlessly") and restated mechanism the function body already shows.
Include the why: line only when the edit is borderline — skip it for obvious cuts.
When to hand off to /techne:deslop
If the "fix" is just deleting the docstring entirely (because nothing about the function needs explaining and the name is clear), say so and let /techne:deslop handle it. Don't invent a rewrite to fill the slot.
Why this skill is quiet
Output is the diffs. Don't narrate "I read the code and realized…" — show old → new, one why: line when borderline, nothing else.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.