@clipboard-health/ai-rules 2.29.7 → 2.29.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: humanize-prose
|
|
3
|
+
description: Strip AI writing tells from prose you draft or clean: PR descriptions, Slack messages, docs, emails, commit messages. Cuts hedging, throat-clearing, marketing adjectives, bullet bloat, connective filler, and em-dashes. Use whenever the user asks to "humanize" text, "remove the AI slop" from writing, "make this not sound AI-generated", "deslop this PR description", or runs /humanize-prose. Also applies implicitly: any prose you draft for the user must already satisfy these rules.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Humanize prose
|
|
7
|
+
|
|
8
|
+
Strip AI writing tells out of prose, whether cleaning existing text or generating it. Edit in place, change as little as possible, preserve meaning. When a change would alter meaning, or you cannot tell which of two conflicting statements is correct, leave it and flag it.
|
|
9
|
+
|
|
10
|
+
Applies to PR descriptions, Slack messages, docs, and emails.
|
|
11
|
+
|
|
12
|
+
Cut:
|
|
13
|
+
|
|
14
|
+
- Throat-clearing openers: "In this PR, I've...", "This change introduces...", "I wanted to...".
|
|
15
|
+
- Hedging filler: "it's worth noting", "it's important to", "generally speaking", "as you may know".
|
|
16
|
+
- Marketing adjectives and trendy intensifiers: robust, seamless, comprehensive, powerful, leverage, streamline, delve, load-bearing.
|
|
17
|
+
- Rule-of-three padding and restating the obvious.
|
|
18
|
+
- Connective tissue that links sentences without adding content: "That said", "With that in mind", "To that end", "As such", "Moreover", "Furthermore", "Additionally", "It follows that". Drop the phrase or replace it with a full stop.
|
|
19
|
+
- Duplicated information: a point already made earlier in different words, a closing line that repeats the opening, a sentence that restates its own heading. Keep it once.
|
|
20
|
+
- Contradictory information: two statements in the same text that conflict (a number, a claim, or a recommendation stated one way then another). Keep the version that is correct and flag the contradiction; do not silently pick one if you cannot tell which is right.
|
|
21
|
+
- Bullet bloat where two sentences of prose are tighter; bold-everything formatting.
|
|
22
|
+
- Summary-of-the-summary closers: "In conclusion...", "Overall, this...".
|
|
23
|
+
- Em-dashes and double hyphens (use a comma, colon, or full stop instead).
|
|
24
|
+
|
|
25
|
+
Keep it concrete: what changed, why, what to check. Match the channel (a PR body is not a Slack one-liner).
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
slop: In this PR, I've made some changes to refactor the billing service. It's
|
|
29
|
+
worth noting this is a fairly comprehensive update that should make the
|
|
30
|
+
code more robust and maintainable.
|
|
31
|
+
clean: Refactors the billing service: extracts charge calculation into
|
|
32
|
+
ChargeCalculator and removes the duplicated rounding logic.
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Commit messages still follow Conventional Commits 1.0.
|
|
36
|
+
|
|
37
|
+
## Output
|
|
38
|
+
|
|
39
|
+
Make edits silently, without narrating each change. End with a 1-3 sentence summary of what categories you cut and anything you left in place and flagged (a contradiction you could not resolve). Nothing else.
|
package/skills/simplify/SKILL.md
CHANGED
|
@@ -34,6 +34,9 @@ Review the same changes for hacky patterns:
|
|
|
34
34
|
6. **Unnecessary JSX nesting**: wrapper Boxes/elements that add no layout value — check if inner component props (flexShrink, alignItems, etc.) already provide the needed behavior
|
|
35
35
|
7. **Nested conditionals**: ternary chains (`a ? x : b ? y : ...`), nested if/else, or nested switch 3+ levels deep — flatten with early returns, guard clauses, a lookup table, or an if/else-if cascade
|
|
36
36
|
8. **Unnecessary comments**: comments explaining WHAT the code does (well-named identifiers already do that), narrating the change, or referencing the task/caller — delete; keep only non-obvious WHY (hidden constraints, subtle invariants, workarounds)
|
|
37
|
+
9. **Defensive code on trusted inputs**: null/empty/type guards on inputs already guaranteed upstream (a validated DTO, the type system, a controller that already checked), optional chaining where the types guarantee presence, fallbacks that mask bugs (`?? ''`, `|| []`, `?? 0` on values that should never be absent), and try/catch that only logs and rethrows or guards an impossible state. Leave guards at genuine trust boundaries (raw request bodies, webhook payloads, third-party responses) and any error handling around real I/O, network, parsing, or payments — removing those changes behavior
|
|
38
|
+
10. **Type escapes**: `as any`, `: any`, `as unknown as X`, gratuitous non-null `!`, `@ts-ignore`/`@ts-expect-error` added to dodge a type error — replace with the real type when it is determinable from the call site, the imported type, or the shape in use; if it is not, leave it and flag it rather than deleting it (breaks the build) or swapping in a TODO (more clutter)
|
|
39
|
+
11. **Leftover debug statements**: stray `console.log` or debug logging added during development
|
|
37
40
|
|
|
38
41
|
### Agent 3: Efficiency Review
|
|
39
42
|
|