neo-stop-slop · diff
v1.0.0 to v1.1.0
86 added, 74 removed. Audit A to A.
---
name: neo-stop-slop
description: >
Use this skill when the user wants to polish, rewrite, shorten, or review prose so
it sounds natural rather than AI-generated. Trigger for Traditional Chinese or English
- drafts, technical docs, code comments, commit messages, PR descriptions, sales copy,
- and requests to remove AI tells, slop, fluff, or formulaic phrasing.
+ drafts, rough notes, source material, articles, technical docs, code comments, commit
+ messages, PR descriptions, sales copy, or requests to remove AI tells, slop, fluff,
+ or formulaic phrasing.
license: MIT
compatibility: Requires Node.js (ESM) to run the analyze-slop.js script.
metadata:
author: Ben Knight Dark
- version: "1.0.0"
+ version: "1.1.0"
patterns: reviewer, generator
---
# Neo Stop Slop
- `neo-stop-slop` 是一個專門設計用來消除中英文 AI 腔調(AI Tells)、贅詞及公式化囉唆結構的雙核技能。它能讓 AI 生成的文案、技術草稿、程式碼註解、Git Commit 及 PR 說明,轉換為極簡、乾淨且生動的自然語言。
+ `neo-stop-slop` is a writing skill for removing AI tells, filler, and formulaic verbosity from Chinese and English prose. It handles copy, technical drafts, code comments, Git commits, PR descriptions, and rough notes or source material that need to become clear, accurate articles.
- 本技能結合了 **Reviewer (文字診斷審查)** 與 **Generator (極簡重寫生成)** 兩大核心工作流。
+ It combines two core workflows: **Reviewer** for diagnosing text and **Generator** for rewriting it. Article Rewrite rules add source fidelity and Taiwan Traditional Chinese writing guidance where needed.
---
## Gotchas
- * **過度精簡風險**:在進行「Rewrite (重寫)」時,務必確保**沒有遺漏關鍵的技術細節或事實資訊**。去 AI 腔是指「清除贅詞與修飾架構」,而不是刪減實質內容。
- * **代碼語法與註解標記**:修剪「代碼註解」時,切勿破壞 XML 文件結構(如 C# 的 `<summary>`、`<param>`)或 JSDoc/TSDoc 的結構標記。
- * **檢測腳本執行**:使用 `analyze-slop.js` 時,一律採用**非互動模式**(傳入 `--file` 或 `--input`,配合 `--format json` 或不帶選項),避免任何 TTY 卡死。
+ * **Over-shortening risk**: When rewriting, preserve all important technical details and facts. Removing AI tells means removing filler and decorative structure, not deleting substance.
+ * **Article Rewrite fact boundary**: When handling drafts, notes, articles, or source material, use only information supplied and supported by the user. Do not add external context, data, causality, motives, impact, or unverified conclusions. Preserve uncertainty, attribution, and contradictions. See `references/article-rewrite.md` for the complete rules.
+ * **Code syntax and comment markers**: When trimming code comments, do not break XML documentation structures such as C# `<summary>` and `<param>`, or JSDoc/TSDoc markers.
+ * **Analyzer execution**: Run `analyze-slop.js` non-interactively with `--file` or `--input`, optionally using `--format json`; never invoke a TTY prompt that could hang the agent.
---
## Workflow Checklist
Progress:
- - [ ] **Step 1 — Perceive (感知環境)**:辨識輸入文字的語言(繁中/英文)與場景(文案、註解、Git Commit 或 PR 說明),確認使用者需要 `Review`(診斷)還是 `Rewrite`(重寫)。
- - [ ] **Step 2 — Reason (制定策略)**:根據語言與場景,加載相對應的參考手冊(`references/` 資源檔)。
- - [ ] **Step 3 — Act: Review (執行診斷,若適用)**:執行內建的 `scripts/analyze-slop.js` 統計贅詞並計算 Slop 密度分數。
- - [ ] **Step 4 — Act: Rewrite (執行重寫,若適用)**:對照 `references/examples.md` 的轉換標準,將文字徹底重寫為極簡且充滿力量的直白文句。
- - [ ] **Step 5 — Verify (結果驗證)**:再次對重寫後的文字執行 `analyze-slop.js`,確保 Slop 密度降至 A+ 級(< 0.5%)。
+ - [ ] **Step 1 — Perceive**: Identify the language, content context, and output goal. Route the request to `Review`, general `Rewrite`, or `Article Rewrite`.
+ - [ ] **Step 2 — Reason**: Load only the `references/` resources relevant to the context. Article Rewrite must load `article-rewrite.md`.
+ - [ ] **Step 3 — Act: Review**: Run `analyze-slop.js` only when the user asks for an AI-tell diagnosis.
+ - [ ] **Step 4 — Act: Rewrite**: Remove information-free filler, formulaic structures, and vague wording. In Article Rewrite mode, reorder the supplied information without deleting facts for brevity.
+ - [ ] **Step 5 — Verify**: Check style, source fidelity, output format, and technical markers according to the selected mode. Treat analyzer scores as diagnostic signals, not hard gates for every mode.
---
## Detailed Guidelines
- ### Step 1 — Perceive (感知環境)
- 仔細分析使用者的請求與文本:
- 1. **語言檢索**:辨識主要語言是 **繁體中文 (Taiwan)** 還是 **英文**。
- 2. **場景分類**:
- * *一般文案/草稿*:加載 `phrases-zh.md`/`phrases-en.md` 與 `structures.md`。
- * *開發者文字 (註解/Commit/PR)*:加載 `dev-slop.md`。
- 3. **模式選擇**:
- * 使用者問「這段文字有 AI 腔嗎?」或「幫我做文字審查」:進入 **Review 模式**。
- * 使用者直接說「幫我重寫這段話」或「把 AI 腔消掉」:進入 **Rewrite 模式**。
+ ### Step 1 — Perceive
+ Analyze the user's request and text carefully:
+ 1. **Detect the language**: Determine whether the primary language is **Taiwan Traditional Chinese** or **English**.
+ 2. **Classify the context**:
+ * *General copy or drafts*: Load `phrases-zh.md` or `phrases-en.md`, plus `structures.md`.
+ * *Developer text (comments, commits, or PRs)*: Load `dev-slop.md`.
+ * *Article Rewrite (rough notes, source material, news, or technical content)*: Load `article-rewrite.md` and prioritize source fidelity and natural narrative flow.
+ 3. **Choose the mode**:
+ * If the user asks whether text contains AI tells or asks for a text review, use **Review mode**.
+ * If the user directly asks to rewrite text or remove AI tells, use **Rewrite mode**.
+ * If the user asks to organize drafts, notes, articles, or source material into a complete article, use **Article Rewrite mode**.
---
### Step 2 — Reason & Load References
- 動態加載該技能目錄下的專用知識庫。請根據 Step 1 的感知結果載入以下相對應的路徑:
- * **英文通用**:`references/phrases-en.md`
- * **中文通用**:`references/phrases-zh.md`
- * **公式化結構**:`references/structures.md`
- * **開發者專項**:`references/dev-slop.md`
- * **Before/After 對照組**:`references/examples.md`
+ Load the skill's focused reference material dynamically. Based on Step 1, load the applicable paths:
+ * **General English**: `references/phrases-en.md`
+ * **General Chinese**: `references/phrases-zh.md`
+ * **Formulaic structures**: `references/structures.md`
+ * **Developer-specific guidance**: `references/dev-slop.md`
+ * **Article Rewrite guidance**: `references/article-rewrite.md`
+ * **Before/after examples**: `references/examples.md`
---
- ### Step 3 — Act: Review 模式 (診斷)
- 1. 將使用者提供的文本寫入臨時檔案,或直接作為參數傳遞給統計腳本。
- 2. 在終端非互動執行 `analyze-slop.js`:
+ ### Step 3 — Act: Review
+ 1. Write the user's text to a temporary file or pass it directly as an argument to the analyzer.
+ 2. Run `analyze-slop.js` non-interactively:
```bash
- node skills/neo-stop-slop/scripts/analyze-slop.js --input "[使用者輸入的文本內容]" --format json
+ node skills/neo-stop-slop/scripts/analyze-slop.js --input "[user input text]" --format json
```
- 3. 解析腳本產出的 JSON 數據,擷取:
- * **Slop Density Score (Slop 密度分數)**
- * **Grade (評估等級)**
- * **Violations (檢出的贅詞清單)**
- 4. 依據 Output Templates 呈現 Slop 診斷報告,列出違規行數、違規類型,並給出重構建议。
+ 3. Parse the JSON output and extract:
+ * **Slop Density Score**
+ * **Grade**
+ * **Violations**
+ 4. Use the Output Templates to present a slop diagnosis, including violation line numbers, categories, and concrete restructuring suggestions.
---
- ### Step 4 — Act: Rewrite 模式 (重寫)
- 當需要重寫文本時,請遵循以下 6 條去 Slop 鋼鐵鐵律:
- 1. **消滅清喉嚨詞 (Cut fillers)**:徹底刪去「值得注意的是」、「不容忽視」、「Here's the thing」等起手式。
- 2. **用主動代替被動 (Active voice)**:確保每個句子都有具體的主語(如「人」或「具體組件」)在執行動作。避免擬人化 ("The code wants to...")。
- 3. **打碎公式化結構 (Break formulaic setups)**:去除「不是因為 X,而是因為 Y」這類刻意轉折的二元對立;刪除「試想一下:」等自我設問。
- 4. **用具體事實代替空泛形容詞 (Be specific)**:將「大幅提升效能、解決痛點」等空話,改寫為具體成效(例如「減少 80% 記憶體開銷」)。
- 5. **縮減字數至少 30%**:AI 腔的本質是稀釋資訊。優秀的文字會以最少字數傳達最大資訊量。
- 6. **適用開發者規則 (Apply Dev Conventions)**:若處理代碼註解或 Git Commit,嚴格套用 `dev-slop.md` 的精簡規則。
+ ### Step 4 — Act: Rewrite
+ Follow these rules in general Rewrite mode; use `references/article-rewrite.md` instead for Article Rewrite:
+ 1. **Cut fillers**: Remove openers such as 「值得注意的是」, 「不容忽視」, and "Here's the thing".
+ 2. **Use active voice**: Give each sentence a concrete subject, such as a person or component, that performs the action. Avoid anthropomorphism such as "The code wants to...".
+ 3. **Break formulaic setups**: Remove binary contrasts such as 「不是因為 X,而是因為 Y」 and rhetorical prompts such as 「試想一下:」.
+ 4. **Be specific**: Replace vague claims such as 「大幅提升效能、解決痛點」 with concrete results, such as 「減少 80% 記憶體開銷」.
+ 5. **Preserve substance**: Remove information-free filler and repetition without applying a fixed word-reduction target or sacrificing facts, conditions, limitations, or technical details.
+ 6. **Apply developer conventions**: For code comments or Git commits, follow the concise-writing rules in `dev-slop.md`.
+ In Article Rewrite mode, first extract and reorder the supplied information, then output only the article body. Do not use the general Rewrite word-count target or report format.
+
---
- ### Step 5 — Verify (結果驗證)
- 1. 將重寫後的文字再次輸入檢測腳本:
+ ### Step 5 — Verify
+ 1. In general Rewrite mode, you may run the rewritten text through the analyzer again:
```bash
- node skills/neo-stop-slop/scripts/analyze-slop.js --input "[重寫後的文本]" --format json
+ node skills/neo-stop-slop/scripts/analyze-slop.js --input "[rewritten text]" --format json
```
- 2. 確認 `slopDensityScore` **小於 0.5%**(評估等級達到 **A+**)。
- 3. 向使用者呈交成果時,標明重寫前後的字數變化與 Slop 密度的巨大改善。
+ 2. Compare `slopDensityScore` with the source as a style signal. Unless the user asks otherwise, do not treat `A+` or `< 0.5%` as a hard gate.
+ 3. Do not use the analyzer to verify facts in Article Rewrite mode. Apply the fact and naturalness checks in `article-rewrite.md`, and output only the article body.
+ 4. If a general Rewrite response includes a diagnostic summary, it may report word-count and slop-density changes, but must not delete substance to improve the score.
---
## Output Templates
- ### 1. Review 診斷報告範本
- 當使用者要求「審查/診斷」文字時,請格式化輸出如下:
+ ### 1. Review Report Template
+ When the user asks for a text review or diagnosis, format the response as follows:
```markdown
- ### 🔍 AI Slop 診斷報告
+ ### 🔍 AI Slop Review
- * **文本字數**: [總字數] 字
- * **檢出 AI Tells 數量**: [檢出數] 處
- * **Slop 密度分數**: **[密度Score]%** (每百字出現 [檢出數] 次)
- * **評估等級**: **[等級]**
+ * **Word count**: [total words]
+ * **AI tell count**: [violation count]
+ * **Slop density score**: **[score]%** ([violation count] matches per 100 words)
+ * **Grade**: **[grade]**
- #### ⚠️ 檢出細節與修改建議
- | 行數 | 檢出贅詞 | 類型 | 診斷與重構建议 |
+ #### ⚠️ Violations and restructuring suggestions
+ | Line | Detected phrase | Category | Diagnosis and restructuring suggestion |
| :--- | :--- | :--- | :--- |
- | 第 X 行 | "值得注意的是" | 廢話起手式 | 刪除此段過渡句,直接陳述後續事實。 |
- | 第 Y 行 | "賦能生態系" | AI 濫用詞 | 替換為「提供技術支持」或「構建合作社群」。 |
+ | Line X | "值得注意的是" | Throat-clearing opener | Delete the transition and state the following fact directly. |
+ | Line Y | "賦能生態系" | AI slop word | Replace it with 「提供技術支持」 or 「構建合作社群」. |
- #### 📝 優化建議摘要
- 1. [針對該文章結構的第一條具體調整建議]
- 2. [針對副詞或被動語氣的第二條調整建議]
+ #### 📝 Summary of recommendations
+ 1. [A concrete recommendation about the article's structure]
+ 2. [A recommendation about adverbs or passive voice]
```
- ### 2. Rewrite 重寫成果範本
- 當使用者要求「重寫」文字時,請格式化輸出如下:
+ ### 2. General Rewrite Result Template
+ When the user asks for a general rewrite, format the response as follows. Do not use this template for Article Rewrite:
```markdown
- ### ✨ 去 AI 腔重寫成果
+ ### ✨ AI-Slop-Free Rewrite
- * **字數變化**: [原始字數] 字 ➡️ **[重寫字數] 字 (縮減 [縮減比例]%)**
- * **Slop 密度**: [原始密度]% ➡️ **0.0% (等級 A+ ✨)**
+ * **Word-count change**: [original count] ➡️ **[rewritten count]** (include the reduction percentage only when useful)
+ * **Slop density**: [original density]% ➡️ **[rewritten density]%** (diagnostic only)
---
- #### 📄 重寫後文本
- > [在此處寫入重寫後的極簡自然文本。保持排版清爽,避免任何 AI 贅字。]
+ #### 📄 Rewritten text
+ > [Insert the concise, natural rewrite here. Keep the formatting clean and avoid AI filler.]
---
- #### 💡 關鍵重構解析
- 1. **[重構點 1]**:將原始的「[Before 文字]」轉化為「[After 文字]」,去除了「[AI 腔]」並讓語氣更為[主動/直接]。
- 2. **[重構點 2]**:刪除贅言,以具體事實「[具體內容]」代替空洞的「[Before 詞彙]」。
+ #### 💡 Key restructuring notes
+ 1. **[Restructuring point 1]**: Changed 「[before text]」 to 「[after text]」, removed 「[AI tell]」, and made the tone more [active/direct].
+ 2. **[Restructuring point 2]**: Removed filler and replaced the vague 「[before wording]」 with the concrete fact 「[specific content]」.
```
+
+ ### 3. Article Rewrite output
+
+ After applying `references/article-rewrite.md`, **output only the article body**. Do not add a title unless the user explicitly requests one or the source already has one. Do not output restructuring notes, analysis, fact lists, edit summaries, check results, or additional commentary.