# Koanify

> >

- **Type:** Skill
- **Install:** `agentstack add skill-tzengyuxio-skills-koanify`
- **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/koanify

## Install

```sh
agentstack add skill-tzengyuxio-skills-koanify
```

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

## About

# Koanify — 改寫成敘事禪宗公案

把任何文章改寫成「敘事故事型禪宗公案」——讀完讓人停一下、不知道要說什麼，
但又像被輕輕點了一下。

風格參照：白隱禪師「是這樣嗎？」(Reps & Senzaki *101 Zen Stories* #3)、
《五燈會元》卷六「婆子燒庵」、《無門關》第 14 則「南泉斬貓」、
《景德傳燈錄》「香嚴擊竹」。

## 一句話靈魂

**留白八式擇一，結尾戛然而止**——若收尾不是 Step 5 八式之一，就不是敘事
公案。其餘 20 條 checklist 都在服務這一條。

## Arguments

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

## Step 1: Load the Text

- 若提供 `$0`，讀取該檔案。
- 若無引數，找對話中最近撰寫或編輯的 Markdown 檔，或請使用者提供文字。
- 若原文不是繁體中文，先在心中譯為繁體中文(不必輸出)，再做改寫。

## Step 2: Read Source and Extract One Tension

公案不是把原文壓縮，而是**抽出一個核心張力，重新講一個故事**。

讀完原文後，用一句話自答：

> 這篇文章的「**問**」是什麼？它的「**應**」在哪裡？

可能的張力來源：得失、名實、求道、家庭、生死、慈悲、執著、無常、時與機、
對與錯。原文若是議論文 / 學術論文 / 新聞，**先抽出核心張力，再為它設計一
個故事場景**——不要把論點直接「翻譯」成古文對話。

若原文太長(超過 1500 字)，只取一個主題改寫，不要硬塞所有內容。

## Step 3: Decide Modern → Eternal Theme Mapping

若原文涉及現代生活(科技、職場、政治、消費)，**把主題抽象化**為前現代
等價物：

| 現代主題 | 前現代等價 |
|---|---|
| 網路成癮 / 滑手機 | 對名相的執著、流連市集 |
| 職場霸凌 | 眾僧逼問一僧 |
| 加班趕工 | 工匠趕工雕像 / 抄寫者趕經 |
| 演算法推薦 | 卜筮、術士的指引 |
| 氣候變遷 | 山川之變 / 旱澇之異 |
| 通訊科技 | 信差、烽火、書簡 |

**例外**：若使用者明確要求保留某一個關鍵現代詞作為刻意的時代錯位，可以
保留 **1–2 個**(這是 V-04 的 Soft 規則)。

## Step 4: Choose Character Configuration

從六種配置中**挑一種**。**預設避開「師-徒」**——師徒問答太過套路，容易
寫得像教學設計而非公案。

| 配置 | 張力來源 | 範例 |
|---|---|---|
| 師-徒 | 悟與未悟的階差 | 龍潭德山、潙山香嚴 |
| 僧-僧 | 同行間的勘驗 | 趙州勘賣茶婆子(僧-俗婦) |
| 僧-俗(婦人) | 道學 vs 慈悲 | 婆子燒庵 |
| 僧-動物 | 萬物與佛性 | 百丈野狐 |
| 僧-自然 / 物 | 物理事件做悟的隱喻 | 香嚴擊竹、龍潭吹燭 |
| 僧-親人 | 血親揭穿表演性 | 鄧隱峰妹妹一推 |

**角色取無名**(「一位老婦人」「一個樵夫」「山中的僧人」)優於虛構姓名
(「方禪師」「李道人」)。歷史名(白隱、趙州、南泉)只能用於明確的歷史
公案改寫，不可用在原創。

## Step 5: Choose Closure (留白八式)

從以下八式中**選一個主要手法 + 最多一個輔助手法**。在筆記裡明確寫下：
「主留白 = X，輔留白 = Y。」後續寫作必須圍繞它設計收尾。

| 編號 | 名稱 | 機制 | 公案範例 |
|---|---|---|---|
| 1 | **重複句** | 同一句話首尾呼應 | 是這樣嗎？(白隱) |
| 2 | **無聲動作** | 身體姿勢取代語言 | 趙州脫履安頭(南泉斬貓) |
| 3 | **答非所問** | 字面與問題完全錯位 | 庭前柏樹子、麻三斤 |
| 4 | **棒喝** | 突發動作中止對話 | 俱胝斷指、德山棒 |
| 5 | **笑** | 不是嘲諷，是了然 | 拈花微笑 |
| 6 | **走** | 主角離場、不解釋 | 趙州「便去」 |
| 7 | **場景轉移** | 鏡頭從人切到物/自然 | 香嚴擊竹後「動容揚古路」 |
| 8 | **第三方裁決** | 旁人(婆子、童子)下判 | 婆子燒庵、鄧隱峰妹妹推之 |

## Step 6: First Draft

寫一稿。原則：

- 語感：**白話偏雅**——可有少數虛詞(曰/云/乃/遂/既而/嘗)，但不通篇文言
- 句長：多數單句 ≤20 字
- 對話 ≤ 50%、敘述 ≥ 50%
- 篇幅：原文短(_koan.md`，保留原檔
2. **貼文輸入**：直接輸出公案
3. **不附說明、不附評論、不附「我的改寫思路」**
4. 若使用者明確要求，可額外輸出**改寫筆記**(列出 Step 3–5 的選擇)，
   但**主輸出永遠是公案本身**

---

## Anti-patterns(常見失敗模式)

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

1. **過度說教**——結尾下結論、加註解。「這個故事告訴我們⋯⋯」是禪宗最大的禁忌
2. **過度堆砌文言**——像在仿《古文觀止》而非公案。白話偏雅就好
3. **留住現代專名**——「賈伯斯問老僧」會讓整篇崩潰
4. **機鋒勉強**——故意答非所問但答得不好，讀起來像強裝深奧
5. **三段結構僵化**——每則都「事起 / 對峙 / 留白」同一節奏，變成 AI 模板
6. **留白不到位**——以為刪掉解釋就是留白。真正的留白是把鏡頭轉到一個無關但
   有形的物上(芝麻落地、燭被吹熄、鞋安頭上)
7. **缺乏具身性**——只有對話沒有動作 / 沒有場景 / 沒有物件。公案是身體的事
8. **角色臉譜化**——老僧永遠慈祥、弟子永遠困惑。讓**禪師可以不慈祥**(婆子
   暴怒燒庵、俱胝斷指、南泉斬貓)
9. **結尾過度填充**——對話收束後又加多段場景描述，把餘韻填滿了。**回答完後最
   多再給一拍**(一個短句、一個物、一個畫面定格)，然後停。讀者需要的是迴聲，
   不是收尾。場景描述本身也要扼要——一個動作、一個物件、一個畫面就夠，不要
   把整個情境攤開
10. **半形標點混入** — 輸出時把 `,;:?!` 打成 ASCII 半形而非全形 `，；：？！`。
    常見原因是 IME 切換失誤或從英文 prompt 複製字串。寫完務必跑 Step 9 自檢
    指令，計數歸零才算交付(違反 M-06)

---

## Core Example: 木匠雕神像

源文(現代軼事)：一名工程師接到三日交專案的死線，連夜加班寫出醜陋程式
碼，事後重構，最後產品被取消。下方為改寫成功的版本，讀進去能感受到 21
條 checklist 在做什麼。

> 山下村中，有個年輕木匠，受託在三日內為祠堂雕一尊神像。
>
> 他在燈下日夜不寐，刀痕急亂。第三日交出時，木屑滿地，神像的眉眼處有刀偏的一道。村人接過，眾目相視。
>
> 木匠回到工坊，把神像借回，夜夜重雕，半月而成。再送至祠堂時，廟祝接過，放在桌上，看了一眼，只說：「祠堂前日已拆。」
>
> 木匠抱著神像，沿原路走回村口。路邊一個老婦人正在曬芝麻，抬頭看了他一眼。
>
> 木匠在路邊坐下，把神像放在身旁。
>
> 風吹過，芝麻一粒一粒落到地上。

**達標清單**
- C-02 ✓：無現代專名(木匠、祠堂、神像皆前現代)
- C-04 ✓：出現「老婦人」配置(僧-俗變體：工匠 - 村人 - 老婦人)
- C-05 ✓：時代主題(加班 / 趕工)抽象成永恆主題(急於求成 / 名譽 / 失落)
- S-01 ✓：約 220 字
- S-02 ✓：敘述為主(對話只有「祠堂前日已拆」一句)
- S-03 ✓：**主留白 = 場景轉移**(從工坊轉到路邊曬芝麻)；**輔留白 = 無聲
  動作**(老婦人看了一眼、木匠坐下、芝麻一粒一粒落)
- S-04 ✓：「努力 - 重做 - 落空 - 路邊」四段不對稱結構，非機械三段
- S-05 ✓：結尾**沒有結論**——「風吹過，芝麻一粒一粒落到地上」是純粹場景
- V-02 ✓：無心理描述(沒寫「他感到絕望」)
- V-05 ✓：無第一人稱
- M-01 ✓：無評論段
- M-02 ✓：老婦人不安慰、不開示——**只是看了他一眼**(反慈祥)

**對照結論**：好的敘事公案不是把訓誨包在故事外殼裡，而是**讓事件本身承擔
語言無法承擔的東西**——「芝麻一粒一粒落到地上」沒有意義，但讀完整篇，你
會知道。

---

## Scope Boundary

| 想做的事 | 用哪個 skill |
|---|---|
| 把文章改寫為敘事公案(本 skill 目標) | **koanify** |
| 去除 AI 文風 / 降低 AI 感 | `humanize` |
| 去除翻譯腔 / 去歐化 | `dewesternise` |
| 改寫為文言文(無公案體裁) | `wenyan-guwen` / `wenyan-hanwei` 等 |
| 改寫為民國公文體 | `roc-bureaucratese-classic` |
| 寫機鋒問答型公案(趙州狗子體) | (尚未製作；本 skill 不適用) |
| 把公案還原為現代敘事(逆操作) | (尚未製作) |

如果使用者要的是**短促兩三句的機鋒型公案**(「狗子有佛性也無？」「無！」)，
告訴使用者本 skill 是**敘事型**，問是否仍要用本 skill 改寫(會產出 150–400
字的故事，而非機鋒短答)。

## Important Notes

- 本 skill 是**體裁轉換工具**，不是內容生成器。原文的核心張力必須被保留，
  只是用敘事公案的形式重新承載
- **不要增加**原文沒有的核心命題或議題
- **不要把禪師寫成 AI 慈祥老人**——禪宗故事裡禪師會冷酷、會暴躁、會不答、
  會表演；這正是公案的張力
- **保留鋒利的細節**(物件、聲音、姿勢)，不要磨平成抽象的「他若有所思」
- 清單並非窮盡一切，使用判斷力標記其他感覺不對的句子

## 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-koanify
- 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%.
