# Ptt Bbs Style

> >

- **Type:** Skill
- **Install:** `agentstack add skill-tzengyuxio-skills-ptt-bbs-style`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [tzengyuxio](https://agentstack.voostack.com/s/tzengyuxio)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [tzengyuxio](https://github.com/tzengyuxio)
- **Source:** https://github.com/tzengyuxio/skills/tree/main/ptt-bbs-style

## Install

```sh
agentstack add skill-tzengyuxio-skills-ptt-bbs-style
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# PTT BBS-style — 改寫成台灣 PTT 鄉民體 BBS 貼文

把任何文章改寫成 PTT 八卦版／笨版／表特板等流通的鄉民貼文格式——標題
帶分類標籤、內文有自介起手式與鄉民口語、結尾留求支援句，後面再接一疊
混合推／噓／→ 的模擬推文堆疊。讀完讓人覺得這就是凌晨三點滑到的一篇
文，不是新聞稿、不是 medium 文，而是有人邊吃鹹酥雞邊打的廢文。

## 一句話靈魂

**標題分類 + 自介起手 + 鄉民口語正文 + 求支援結尾 + 推噓→ 堆疊**——
標題必含[XX]分類標籤對位板別；內文以自介起手式（肥宅我／弟弟我／妹妹
我／魯蛇我）開場；正文用鄉民口語（484／笑死／ㄎㄎ／中肯／RR／齁／
喇）；結尾留求支援或求戰句（有沒有八卦／求解／在線等／文長慎入）；
最後堆疊 5–15 條混合推噓→ 的泛化 ID 推文。

> **重要定位（必讀）**：本 skill 是**鄉民體格式致敬**，不是**人身攻擊
> 工具**。鄉民體保留嘲諷、自嘲、廢話感，但**不點名真實 PTT ID**、
> **不指涉具體真實事件／公眾人物**、**不寫族群／性別／地域歧視**。
> 諷刺對象限抽象普世（月經文循環、釣魚與被釣、業配偵測、鄉民集體
> 心理、肥宅自嘲），具體個人／黨派／族群一律不寫；若原文涉及具體人
> 事，改寫時去識別化（「某政客 X」→「某政治人物」、「某藝人 Y」
> →「某網紅」）。

## 參照樣本（PTT 真實貼文結構座標）

不抄錄任何真實 ID 或具體事件，只記結構與語感。下列為八卦版 (Gossiping)
2024–2025 真實貼文標題前綴與堆疊節奏觀察：

**標題範例（已去識別化，僅示結構）**：

> [問卦] 有沒有 OOO 的八卦？
> [新聞] 某媒體標題（內文一句感想就好）
> [爆卦] 我剛剛看到 XXX
> [Re: 問卦] 回覆 OOO 那篇
> [心得] OOOO 一個月後

**推文堆疊節奏觀察**（PTT 八卦版熱門文典型）：

> 推 abc123: 推
> → abc123: 樓上是不是
> 噓 def456: 484 釣魚
> 推 ghi789: 笑死
> → jkl012: 中肯
> 噓 mno345: zzz 又是這種文
> 推 pqr678: QQ 抱抱
> → stu901: 484R

特徵分析：

- **標題前綴**用半形 `[XX]` 包裹分類，後接半形空白再接標題本體
- **推／噓／→** 三種前綴：推（紅）= 同意；噓（紅）= 反對；→（白）=
  中性補充。三者必須**混用**才有真實感
- **推文暱稱**為 ASCII 半形，內容多半 50 字內，常常只有一個詞
- **同 ID 連推**很常見（噓完一句不夠，再→ 一句補充）
- **後排推文常常歪樓**，跟原文沒什麼關係

## Arguments

- `$0` —（選填）Markdown 或純文字檔案路徑。若省略，請使用者提供內文，
  或從對話上下文中找最近編輯的檔案。

## Step 1: Load the Text

- 若提供 `$0`，讀取該檔案。
- 若無引數，找對話中最近撰寫或編輯的 Markdown 檔，或請使用者提供文字。
- 若原文不是繁體中文，先在心中譯為繁體中文（不必輸出），再做改寫。
- **去識別化掃描**：若原文出現具體公眾人物／真實事件／具體政黨，先
  替換為通名（某政治人物／某網紅／某媒體／某黨派）；若原文出現可能
  的真實 PTT ID，整個刪除不留痕。

## Step 2: 決定板別與分類標籤

PTT 鄉民體的第一個選擇是「這篇要發在哪個板，標題用哪個分類」。從
下表擇一，**標籤必與板別對位**——不可在 [新聞] 前綴下寫個人感想，
也不可在 [心得] 前綴下放轉貼新聞。

### 常用標籤對照表

| 標籤 | 適用板別（代表板） | 用途 | 範例標題骨架 |
|---|---|---|---|
| [問卦] | Gossiping（八卦版）| 提問求解，最自由的廢文格式 | 有沒有 XXX 的八卦？／請問 XXX 是不是 YYY？|
| [新聞] | Gossiping、HatePolitics | 轉貼新聞 + 一句個人心得 | 〈新聞原標題〉|
| [爆卦] | Gossiping | 自己知道的內幕（須有實質內容）| 剛剛看到 XXX |
| [討論] | C_Chat、movie、NBA、Stock | 開放性議題討論 | 關於 XXX 大家怎麼看？|
| [心得] | book、Salary、movie、Tech_Job | 經驗分享（求職／心得／追番）| 〈作品名〉看完心得／〈職涯關鍵字〉一年後 |
| [請益] | Tech_Job、Salary、Stock、CarShop | 求建議 | XXX 該怎麼辦？|
| [黑特] | HatePolitics、Hate | 抒發不滿（語氣激烈但不點名）| 〈現象〉真的 OOO |
| [公告] | 各板皆可 | 板務／規則 | 〈公告事項〉|
| [Re: 問卦] | 同源板 | 回覆某篇問卦 | 〈原標題〉|
| [更] | Gossiping、笨版 | 後續補充 | 已附上事情經過 |
| [協尋] | Gossiping、笨版、CATS_DOGS | 找東西／找人／找寵物 | XXX 不見了 |
| [笑話] | joke、StupidClown | 笑話、糗事 | 〈一句話標題〉|

**禁止**：自創不存在的標籤（如 [激動]／[泣訴]）。標籤限上表 12 個。

## Step 3: 寫標題

格式硬規定：

```
[標籤] 標題本體
```

- `[` `]` 用**半形方括號**（PTT 慣例）
- `]` 後接**一格半形空白**再接標題本體
- 標題本體 30 字內為宜，太長會被截斷
- **問卦類**最安全的格式：「有沒有 XXX 的八卦？」「請問 XXX 是不是
  YYY？」「為什麼 XXX 會 YYY？」
- **心得類**常用骨架：「〈關鍵字〉〈時間〉後」「〈經歷〉心得」「〈作
  品〉的 OOO」
- **新聞類**直接抄新聞標題，但**新聞主角去識別化**

## Step 4: 改寫內文（自介起手 + 正題 + 求支援結尾）

PTT 鄉民體內文有三段慣用結構（4.1 / 4.2 / 4.3），下面分別說明。

**鄉民文化氣質光譜（選擇性參照）**：若原文情境涉及賭咒承諾、公開反省、辯論駁斥、感人時刻、集體圍觀、業配嫌疑、月經主題等場景，可參照 [`references/ptt-culture-genres.md`](references/ptt-culture-genres.md) 借鏡對應子類型（祭品 / 道歉 / 打臉 / 洋蔥 / 反串 / 釣魚 / 月經 / 業配 / 集氣 / 戰）的氣質與套話。**不是要選一個子類型強制寫成，而是讓鄉民體更接近真實 PTT 文化的豐富層次**。氣質可疊加（祭品 + 打臉同篇 OK），但去識別化鐵律不豁免（C-04 / M-04 / M-05 / M-06）。

### 4.1 自介起手式（≥1 句）

開頭通常是「自介一句」奠定鄉民氣質。從以下擇一變化（**用泛化身分，
不影射真實族群**）：

| 起手式 | 場合 | 範例 |
|---|---|---|
| 肥宅我 / ㄈㄓ我 | 自嘲式 | 肥宅我昨天去全聯⋯⋯ |
| 弟弟我 / 妹妹我 | 年輕網路化自稱 | 弟弟我大學剛畢業⋯⋯ |
| 魯蛇我 | 自嘲魯蛇 | 魯蛇我月薪 30K⋯⋯ |
| 小弟我 / 小妹我 | 中性偏謙 | 小弟我最近在想⋯⋯ |
| 各位鄉民安安 | 招呼式 | 各位鄉民安安，先別噓⋯⋯ |
| 是這樣的 | 直入正題式 | 是這樣的，剛剛我在路上⋯⋯ |
| 文長慎入 | 預警式 | 文長慎入，手機排版見諒⋯⋯ |

**禁止**：寫成正式自我介紹（「本人現年 X 歲，職業是 Y」）；起手式
是**口吻定位**，不是履歷。

### 4.2 正題（鄉民口語）

把原文的核心內容用鄉民口語重述，密度控制在每 80–120 字至少 1 個鄉民
詞或鄉民修辭。可用詞庫：

| 類別 | 詞 | 用法 |
|---|---|---|
| 同意／斷言 | 484、是不是、真的假的、真假、中肯、+1、推 | 「樓主 484 認真？」「中肯推」|
| 反應／表情 | 笑死、ㄎㄎ、zzz、嘔嘔嘔嘔、QQ、OAO、:D、傻眼 | 「笑死」「zzzz 又月經文」|
| 自嘲／泛稱 | 肥宅、魯蛇、弟弟、妹妹、宅宅、貓貓、狗狗 | 「肥宅我表示⋯⋯」|
| 程度副詞 | 超／爆／神／ㄎㄧㄤ／敢敢／硬要 | 「超扯」「神扯」「敢敢開」|
| 句末／語助詞 | 啦、喇、齁、欸、咧、好嗎、是在哈囉 | 「不是啦」「真的喇」|
| 鄉民修辭格 | 鄉民教您、有八卦／沒八卦、月經文、釣魚文、業配文、勸世、警世 | 「業配文偵測」「月經文又來了」|
| 縮寫／代稱 | 3Q、QQ、BJ4、LDS、484R、9.2（須去敏化）| 「3Q 鄉民」「BJ4 啦」|

**密度與比例**：鄉民詞鋪滿但不過載——每段 1–3 個即可，**不可每句都
塞**。鄉民體的真實感來自「正常句子裡偶爾跳一個詞」，不是「每句都是
鄉民詞」。

### 4.3 求支援結尾（≥1 句）

PTT 鄉民體幾乎不下定論，多以求支援／求戰／求解作收。從下面擇一：

| 結尾類型 | 範例 |
|---|---|
| 求八卦／求解 | 「有沒有 XXX 的八卦？」「在線等」「求解」「跪求懂的鄉民」|
| 求戰／挑釁 | 「先噓再看」「不噓嗎？」「歪樓區」|
| 警世／勸世 | 「鄉民們以後請小心」「希望各位引以為戒」|
| 突然收手 | 「先這樣，吃飯了」「等等再補」|
| 自我懷疑 | 「我是不是想太多」「484 我太敏感」|

**禁止收尾**：「綜上所述」式論文結尾；「親愛的讀者朋友們」式 medium
腔；激情演講收尾。

## Step 5: 生成模擬推文堆疊

模擬推文是 PTT 鄉民體的**signature**——沒有推文堆疊就不是 PTT 體。

### 5.1 推文格式

每行一條，三種前綴擇一：

```
推 暱稱: 推文內容
噓 暱稱: 噓文內容
→ 暱稱: 中性補充
```

格式硬規定：

- 前綴**半形**：`推`、`噓`、`→`（注意 `→` 是全形 U+2192）
- 暱稱用**半形 ASCII**：建議 `小寫字母 + 數字` 組合（如 `rookie123`）
- 暱稱後接**半形冒號 + 一個半形空白**
- 推文內容 50 字內為佳，常常只有一個詞或一句短評

### 5.2 暱稱生成

**鐵律**：**禁用真實 PTT ID**。模擬暱稱用以下泛化模式：

| 模式 | 範例 |
|---|---|
| 角色 + 數字 | rookie123、newbie456、oldhand789、senior321 |
| 自嘲 + 年份 | fatdog2024、loserloser2025、ronin2023 |
| pttuser + 數字 | pttuser5566、pttuser9527、pttuser0721 |
| 地名 + anon | taipei_anon、kaohsiung_anon、tainan_anon |
| 抽象化情境 | kindstranger、watcher07、justpassby、lurker001 |
| 物件 + 數字 | greenbean42、blackcoffee99、riceball88 |

**禁止**：真實知名 PTT 鄉民 ID、政治人物名／網紅名／藝人名、可識別出
真實人物的暱稱、攻擊性暱稱（含族群／性別貶詞）。

### 5.3 推文數量與比例

| 強度 | 推文數量 | 推：噓：→ 比例（建議）|
|---|---|---|
| Light | 不需要推文堆疊（只在內文加 1–2 個鄉民詞 + 標題標籤）|
| Medium | 5–8 條 | 5:2:1 ／ 4:2:2（推佔多數，少量噓）|
| Heavy | 10–15 條 | 6:3:3 ／ 7:4:4（混合度高，可有同 ID 連推）|

**鐵律：必須混用**——全推不噓不→ 是 caricature，會破功。Medium 以上
的輸出至少要有 1 條噓文 + 1 條 → 中性補充。

### 5.4 推文時間節奏（4 階段）

真實 PTT 推文有清楚的時間節奏，第一波卡位、中段質疑、後段歪樓，這是鄉民體真實感的重要骨架：

| 推文編號 | 典型內容 |
|---|---|
| 1–3 | 卡位 + 純推 + 第一反應（推 / 笑死 / 484 / QQ）|
| 4–8 | 開始質疑或補充（噓 484 釣魚 / 推 我同事就是 / 真假？）|
| 9–12 | **歪樓開始**——跟原文無關的延伸（樓主是不是想吃鹹酥雞 / 樓上幾樓開始歪的）|
| 13+ | 同 ID 連推、回應特定樓、補刀或祭品加碼 |

**同 ID 連推**：同個暱稱推完一句不夠再 → 補一句，是真實感的來源（Medium／Heavy 必出 1 處以上）。

**時間戳省略**：本 skill 不模擬 PTT 真實時間戳格式（會誤導），只模擬推文行本身。

### 5.5 推文八大類型（互動模式）

現行 5.1 給的「推／噓／→」三前綴只是骨架；真實 PTT 推文有更多互動類型，混用才有真實感。**Medium 至少含 3 種以上類型；Heavy 至少 5 種以上**。

| 類型 | 範例 | 用途 |
|---|---|---|
| **純推** | `推 ID: 推` ／ `推 ID: push` ／ `推 ID: 純推` | 表態無內容 |
| **卡位／搶頭香** | `推 ID: 卡` ／ `推 ID: 1 樓` ／ `推 ID: 頭推` | 搶第一推 |
| **樓下是 XX 嗎** | `推 ID: 樓下是 OO 嗎` ／ `推 ID: 樓下說` | 反問智障問題 |
| **樓上回應** | `→ ID: 樓上 484` ／ `推 ID: 同意樓上` ／ `→ ID: 樓上認真？` | 接續討論 |
| **+1／同意** | `推 ID: +1` ／ `推 ID: 中肯 +1` ／ `推 ID: 大師兄 +1` | 無內容附和 |
| **質疑／真假** | `噓 ID: 484 釣魚` ／ `推 ID: 真的假的` ／ `→ ID: 有圖有真相` | 質疑真偽 |
| **朝聖** | `推 ID: 朝聖` ／ `推 ID: 推爆` ／ `推 ID: 來朝聖` | 名文後湧入 |
| **歪樓** | `→ ID: 樓主是不是想吃鹹酥雞` ／ `推 ID: 樓上幾樓開始歪的` | 後段必出 |

### 5.6 氣質推文範本（對應 `references/ptt-culture-genres.md` 四向氣質）

依原文情境，可借四向氣質的推文模板增加真實感。**氣質可疊**：同篇若情境涉及多向（如「打臉成功我就請雞排」混打臉 + 賭咒），可同篇混用。

| 場景 | 氣質 | 推文範本 |
|---|---|---|
| 任何文都可選用（基底） | **圍觀者意識** | `推 ID: 來監督` ／ `推 ID: 朝聖` ／ `推 ID: 來備份` ／ `→ ID: 打招呼了` ／ `推 ID: 來看戲` |
| 辯論／駁斥場景 | **打臉** | `推 ID: 專業打臉文` ／ `推 ID: 原 PO 被打臉` ／ `推 ID: 臉都腫了` ／ `推 ID: 484 硬拗` ／ `→ ID: 來看原 PO 怎麼回` |
| 感人／催淚場景 | **洋蔥** | `推 ID: 加了洋蔥` ／ `推 ID: 含淚推` ／ `→ ID: 家裡是賣切片的` ／ `→ ID: 眼睛突然進沙` ／ `推 ID: 切洋蔥噓` |
| 承諾／賭注場景 | **賭咒** | `推 ID: 真男人` ／ `推 ID: 來監督` ／ `→ ID: 我也加碼` ／ `推 ID: 等爆等吃 OO` ／ `推 ID: 說到做到` |

## Step 6: 朗讀檢查鄉民感

默念一遍。三個快速檢查：

1. **鄉民氣質**：聽起來像凌晨三點打的文，還是像白天 medium 文章？
   後者就回 Step 4 加一點自嘲、加一點突然收手
2. **推文真實度**：推文是「正反混合 + 後段歪樓」，還是「整齊推 + 集
   體稱讚」？後者就回 Step 5 加噓文與 → 補充
3. **去識別化**：再掃一次，有沒有真實人名／真實 ID／具體政黨／具體
   族群歧視句？有就刪

## Step 7: 標點清理 + 自檢指令

最後一道工序：

- **內文全形標點**：CJK 字之間的標點一律用全形 `，；：？！`，不用
  半形 `,;:?!`。雖然 PTT 鄉民實際打字常混半形，但本 skill 鎖定**內
  文 CJK 部分全形**以維持 repo 一致性
- **標題分類括號用半形** `[ ]`：因為 PTT 真實標題用半形括號，這部分
  保留半形（不會被自檢正則抓，因為括號周圍是 CJK + ASCII 邊界，不
  在「CJK 相鄰標點」範圍內）
- **推文暱稱 + 冒號用半形**：`推 rookie123: 內容` 中冒號是半形（暱
  稱與內容兩側皆 ASCII），同樣不會被自檢正則抓
- **推文內容如為純 CJK**：CJK 相鄰處的標點仍走全形

對照表：

| 半形（內文 CJK 相鄰禁）| 全形（用）| Unicode |
|---|---|---|
| `,` | `，` | U+FF0C |
| `;` | `；` | U+FF1B |
| `:` | `：` | U+FF1A |
| `?` | `？` | U+FF1F |
| `!` | `！` | U+FF01 |

- **箭頭** `→` 用全形 U+2192，不用 `->` 也不用 `>`
- **引號**用「」與『』，不用 `"` `'`
- **句號**用「。」，不用 `.`

**寫完後必跑自檢指令**（指令名留作機械驗證，不可省略）：

```bash
python3 -c "
import re, sys
text = open(sys.argv[1]).read()
bad = re.findall(r'[一-鿿㐀-䶿][,;:?!][一-鿿㐀-䶿]', text)
print(f'half-width punct between CJK: {len(bad)}')
for b in bad[:5]: print(repr(b))
" 輸出檔.md
```

> 註：本 skill 自檢正則用 **CJK 相鄰版**（`[一-鿿㐀-䶿]` 兩側必為
> CJK 字元）而非純 ASCII 邊界版，這樣可以避開 (a) 標題的半形 `[XX]`
> 括號 (b) 推文暱稱與冒號 (c) 推文內容中夾雜的 ASCII 暱稱／表情
> 符號（`:D`、`OAO`、`:3`）等正當的 ASCII 邊界，**只抓 CJK ↔ CJK
> 之間混入半形標點**這種真正的 bug。

結果必須為 `0`。非 0 表示輸出時混入了 ASCII 半形於 CJK 字之間，回到
輸出檔逐字替換後重跑，直到歸零才算交付。

## Step 8: 去識別化最終檢查

逐項自答：

1. 標題、內文、推文中是否出現任何真實 PTT ID？
2. 內文是否指涉具體政治人物／藝人／企業負責人／媒體名？
3. 內文是否影射具體真實事件（特定地震／特定空難／特定刑案）？
4. 推文是否寫到性別／族群／地域歧視語句？
5. 暱稱是否近似真實知名 ID（如 obov、Yenfu35、四叉貓等去識別化形）？

**任一條為「是」就回前面對應步驟改寫**。鄉民體的諷刺對象**只能是抽
象普世現象**（月經文循環、釣魚文、業配偵測、肥宅自嘲、鄉民集體
心理），具體真實人事**一律不寫**。

## Step 9: Self-check Against Checklist

逐條對照下面的 24 條 checklist。**任一條 [Hard] 違反就回前面對應的步驟
重寫該段**。

### Checklist: Concrete（標題／暱稱／板別）

| 編號 | 強度 | 規則 |
|---|---|---|
| C-01 | Hard | **標題必含分類標籤**——`[XX]` 半形括號 + 半形空白 + 標題本體；標籤限 Step 2 表中 12 個之一，禁自創 |
| C-02 | Hard | **標籤與板別對位**——例如 [新聞] 必為轉貼新聞 + 一句心得，[心得] 必為個人經驗，[問卦] 必為提問求解；不對位即違規 |
| C-03 | Hard | **暱稱必為泛化 ID**——禁真實知名 PTT ID、禁公眾人物名、禁可識別暱稱；用 Step 5.2 表中泛化模式 |
| C-04 | Hard | **去識別化**——原文具體人物／事件／政黨改為通名（某政治人物／某網紅／某媒體）；推文不寫族群／性別／地域歧視 — **靈魂條款** |

### Checklist: Surface（句法／標點）

| 編號 | 強度 | 規則 |
|---|---|---|
| S-01 | Hard | **內文 CJK 字間零半形標點**——`,;:?!` 在中文字之間出現一律違規；標題的 `[]`、推文暱稱的 `:` 因處 ASCII 邊界不違規（見 Step 7 自檢正則）|
| S-02 | Hard | **語助詞密度**——句末／語助詞（啦／喇／齁／欸／咧／喔／好嗎／是在哈囉）內文總出現 ≥4 處 |
| S-03 | Soft | 短句為主，逗號偶用，但不可寫成歐化長句鋪排 |
| S-04 | Hard | **箭頭用全形 `→` U+2192**，不用 `->` 也不用 `>` |
| S-05 | Soft | 引號用「」／『』；句號用「。」；不用 `"` `'` `.` |

### Checklist: Voice（鄉民氣質）

| 編號 | 強度 | 規則 |
|---|---|---|
| V-01 | Hard | **自介起手式必出**——內文首句或第二句必為 Step 4.1 表中 7 種起手式之一（肥宅我／弟弟我／妹妹我／魯蛇我／小弟我／各位鄉民安安／是這樣的／文長慎入）|
| V-02 | Hard | **鄉民詞密度**——核心詞庫（484／笑死／ㄎㄎ／中肯／RR／齁／喇／啦／QQ／3Q／zzz／嘔嘔嘔嘔／傻眼／推／噓／神扯）內文 + 推文總計 ≥6 處出現 |
| V-03 | Hard | **求支援結尾必出**——內文最後一句須為 Step 4.3 五類收尾之一；禁正式論文式收尾、禁 medium 式呼喊收尾 |
| V-04 | Hard | **自嘲與廢話感為主**——不可寫成「正經文章硬塞鄉民詞」；鄉民體的氣質是邊吃鹹酥雞邊打的廢文，不是專欄文 |
| V-05 | Soft | 鄉民修辭格（鄉民教您 / 月經文 / 釣魚文 / 業配文偵測 / 勸世 / 警世）至少出現 1 處 |
| V-06 | Soft | **駁斥場景借「打臉」氣質**——若原文核心是辯論／反駁，內文以事實／證據／條列回應，禁純情緒鋪排；推文可含「專業打臉／臉都腫了／484 硬拗」標記（見 `references/ptt-culture-genres.md` §3）|
| V-07 | Soft | **感人場景借「洋蔥」氣質**——若原文有催淚／哀悼／感動成分，**禁直接寫「我哭了」**，改用反差隱喻（切洋蔥／眼睛進沙／冷氣壞／家裡是賣切片的）；推文可含「加了洋蔥／含淚推」（見 `references/ptt-culture-genres.md` §4）|
| V-08 | Soft | **氣質節制**——一篇文章內文宜強烈呈現 **1-2 種**子類型氣質，其餘僅讓推文歪樓時自然出現。若內文同時硬套打臉 + 洋蔥 + 賭咒 + 月經 + ...，反而像示範題庫而非真實鄉民文；**Heavy 強度也不豁免此節制原則**。判準：若某氣質在原文情境**沒有對手要打／沒有對象要感動**，**不取**比硬套更道地（V-06／V-07 可標 N/A）|

### Checklist: Meta（結構／收束）

| 編號 | 強度 | 規則 |
|---|---|---|
| M-01 | Hard | **三段式結構**——標題、內文、推文堆疊三者齊備（Light 強度可省推文，但 Medium／Heavy 必有 ≥5 條推文）|
| M-02 | Hard | **推文混合度**——Medium／Heavy 強度推文堆疊必含**至少 1 條噓 + 1 條 →**，全推或全噓即破功 |
| M-03 | Hard | **不附作者按／不附 meta 解說**——不寫「我這樣改寫的理由是」「這個版本想呈現的是」之類後設句 |
| M-04 | Hard | **諷刺對象限抽象普世**——月經文／釣魚／業配偵測／肥宅自嘲／鄉民集體心理可寫；具體政權／黨派／個人／族群／性別／地域**一律不寫** — **靈魂條款補強** |
| M-05 | Hard | **不創作攻擊性內容**——保留嘲諷與自嘲，但不寫人身攻擊、性別歧視、族群歧視、地域歧視 |
| M-06 | Hard | **不點名真實 PTT ID**——含內文與推文暱稱；違反此條即不可交付 |
| M-07 | Hard | **全形標點零違規**——內文 CJK 字之間的 ASCII 半形 `, ; : ? !` 計數須為 0；以 Step 7 自檢指令驗證通過才算合格 |

**總計**：24 條（Hard 18 + Soft 6）。

## Step 10: Find the Weakest Section and Rewrite

通常**內文**或**推文堆疊**最弱：

- 若內文聽起來像 medium 文，回 Step 4 加自介起手 + 鄉民詞 + 求支援結尾
- 若推文全推沒噓，回 Step 5 補 1–2 條噓文與 → 中性補充
- 若鄉民詞每句都塞，回 Step 4.2 砍密度（每段 1–3 個即可）
- 若標題沒有 `[XX]` 標籤，回 Step 2 補上
- 若暱稱看起來像真實 ID，回 Step 5.2 用泛化模式重生
- 若出現具體政治人物／藝人，回 Step 1 + Step 8 去識別化
- 若內文寫成正式論述沒有自嘲，回 Step 4.1 加「肥宅我」或「魯蛇我」

「**邊吃鹹酥雞邊打**」是 PTT 鄉民體的氣質。一旦寫得太正經、太完整、
太結構化，就破功。

## Step 11: Output

1. **檔案輸入**：寫入 `_ptt.md`，保留原檔
2. **貼文輸入**：直接輸出 PTT 鄉民體
3. **不附說明、不附評論、不附「我的改寫思路」**
4. 若使用者明確要求，可額外輸出**改寫筆記**（列出 Step 2–4 的選擇），
   但**主輸出永遠是 PTT 貼文本身**

格式參考：

```
[標籤] 標題本體

內文段落 1

內文段落 2

⋯⋯

推 暱稱1: 推文內容
噓 暱稱2: 噓文內容
→ 暱稱1: 同 ID 連推補充
推 暱稱3: 推文內容
→ 暱稱4: 中性補充
噓 暱稱5: 噓文內容
推 暱稱6: 推文內容
⋯⋯
```

---

## Anti-patterns（常見失敗模式）

寫完一稿、自檢之前，先掃一眼這 10 條最容易踩的坑：

1. **點名真實 PTT ID 或公眾人物** — 用了真實知名 ID（obov／Yenfu35
   等）或具體政治人物／藝人姓名。本 skill 是格式致敬，不是真實 PTT
   爬文。違反 C-03、C-04、M-06，必砍重生
2. **推文沒有混（全推不噓不→）** — 失去真實感，看起來像業配文。至
   少補 1 條噓 + 1 條 → 補充（違反 M-02）
3. **標籤與板別不對位** — `[新聞]` 前綴下寫個人感想、`[心得]` 前綴下
   轉貼新聞。回 Step 2 重選對位的標籤（違反 C-02）
4. **內文太正式** — 沒有自介起手式、沒有自嘲、沒有突然收手。寫成
   medium 文就破功，加「肥宅我」「魯蛇我」「是這樣的」（違反 V-01、
   V-04）
5. **缺推文堆疊** — Medium／Heavy 強度只有內文沒有推文。PTT 鄉民體
   的 signature 就是推文，沒推文等於沒寫（違反 M-01）
6. **鄉民詞堆砌** — 每句都「肥宅鄉民教您 484 笑死 zzz」。鄉民體的真
   實感是「正常句子裡偶爾跳一個詞」，不是密度競賽（違反 V-04）
7. **攻擊具體個人 / 族群歧視 / 性別歧視** — 鄉民體保留嘲諷與自嘲，
   但**不寫**人身攻擊、族群／性別／地域貶詞（違反 M-05）
8. **半形標點混入內文 CJK 字之間** — 輸出時把 `,;:?!` 打成 ASCII 半
   形而非全形 `，；：？！`。寫完務必跑 Step 7 自檢指令，計數歸零才
   算交付（違反 S-01、M-07）
9. **求支援結尾寫成 medium 式呼喊** — 「親愛的鄉民朋友們，讓我們一
   起⋯⋯」。鄉民體不會這樣收，要嘛求八卦要嘛突然收手要嘛自我懷疑
   （違反 V-03）
10. **箭頭用 `->` 或 `>` 而非全形 `→`** — 推文中性補充必須用全形
    `→` U+2192（違反 S-04）

---

## Scope Boundary

| 想做的事 | 用哪個 skill |
|---|---|
| 把文章改寫為 PTT 鄉民體 BBS 貼文（本 skill 目標）| **ptt-bbs-style** |
| 寫純台灣國語（非 BBS 格式）| `taiwan-mandarin` |
| 寫廢話文學（同義反覆）| `feihua-literature` |
| 寫凡爾賽文學（炫耀文體）| `versailles-literature` |
| 寫魯迅式冷峻反諷散文 | `lu-xun-style` |
| 寫晶晶體（中英夾雜）| `jingjing-style` |

如果使用者要的是**真實 PTT 貼文爬蟲**或**具體公眾人物的鄉民式評論**，
告訴使用者本 skill 是**格式致敬**而非真實 PTT 內容，且**禁點名具體
個人**——不適合這兩種需求。

## Important Notes

- 本 skill 是**鄉民體格式致敬工具**，不是「PTT 真實內容生成器」，更
  不是「網路霸凌工具」。原文的核心張力必須被保留，以鄉民口語的廢
  話感重新承載
- **去識別化是鐵律**——真實 PTT ID、公眾人物名、具體真實事件一律不
  寫；諷刺對象限抽象普世現象
- **格式三段必齊**——標題分類 + 內文（自介起手 + 正題 + 求支援結
  尾）+ 推文堆疊（Medium／Heavy 必有）
- **鄉民詞密度控制**——核心詞庫 ≥6 處出現，但每段 1–3 個即可，不可
  每句都塞
- **推文必混合**——推／噓／→ 三種前綴必混用；全推或全噓即 caricature
- 清單並非窮盡一切，使用判斷力標記其他感覺不對的句子

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [tzengyuxio](https://github.com/tzengyuxio)
- **Source:** [tzengyuxio/skills](https://github.com/tzengyuxio/skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** yes
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-tzengyuxio-skills-ptt-bbs-style
- Seller: https://agentstack.voostack.com/s/tzengyuxio
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
