byimbad0202· 7 skills
台灣正式文件撰寫助手 — 涵蓋政府公文、政府非公文文件、法律文件、人民對政府文書四類中文正式文件的撰寫(不含學術論文、商業文書、私人書信等,見下方排除清單)。 根據使用者意圖自動判斷文件類別,載入對應的撰寫規範與格式指引。
$npx -y skills add imbad0202/tw-formal-writing --skill tw-formal-writingInstalls into the current project.
Run `npx skills use "https://github.com/imbad0202/tw-formal-writing" --skill "imbad0202/tw-formal-writing"` and follow the generated skill instructions now. Read its complete output, redirecting it to a temporary file first if necessary. Resolve relative paths from the supporting-files directory it provides.
Use the skills in "https://github.com/imbad0202/tw-formal-writing" that are relevant to the current task. Run `npx skills add "https://github.com/imbad0202/tw-formal-writing"` and select the relevant skills, then follow their instructions.
| 1 | **[English](README_EN.md)** | 中文 |
| 2 | |
| 3 | # 台灣正式文件撰寫 AI Skill |
| 4 | |
| 5 | [](https://github.com/Imbad0202/tw-formal-writing/releases) |
| 6 | [](LICENSE) |
| 7 | [](https://buymeacoffee.com/crucify020v) |
| 8 | |
| 9 | ## 為什麼公文寫作很重要? |
| 10 | |
| 11 | 公文不只是形式。一份寫對的公文,能讓案子順利推動;一份寫錯的公文,輕則退件重寫、延誤時效,重則造成法律爭議或機關間的誤解。 |
| 12 | |
| 13 | **公務員面臨的現實:** |
| 14 | - 新進人員沒受過完整公文訓練,邊寫邊猜、邊被退件邊學 |
| 15 | - 引敘語「奉/准/據」、稱謂語「鈞/貴/大」、期望語「請鑒核/請查照」搞不清楚,用錯就是失禮 |
| 16 | - 簽辦方式(先簽後稿、簽稿併陳、以稿代簽)選錯,整個流程要重來 |
| 17 | - 已廢除的贅詞(為要、為荷、鑒核示遵)還在用,被長官圈起來退回 |
| 18 | |
| 19 | **一般民眾面臨的現實:** |
| 20 | - 想向政府陳情、申請、訴願,但完全不知道格式怎麼寫 |
| 21 | - 需要寄存證信函給房東,但不確定法律用語對不對 |
| 22 | - 訴願書有 30 天法定期限,寫錯格式被退件就來不及了 |
| 23 | |
| 24 | **這個 Skill 解決什麼問題:** |
| 25 | - 匯入你慣用的 AI 工具(ChatGPT、Claude、Gemini),用口語描述情境,AI 就能產出符合《文書處理手冊》及《公文程式條例》規範的正式文件 |
| 26 | - 自動選用正確的用語、格式、簽辦方式 |
| 27 | - 產出後自動執行品質檢核,攔截常見錯誤 |
| 28 | - 已寫好的公文也能貼入請 AI 幫你檢查修改 |
| 29 | |
| 30 | ## 涵蓋範圍 |
| 31 | |
| 32 | | 類別 | 文件類型 | |
| 33 | |-----|--------| |
| 34 | | 政府公文 | 簽、函、書函、令、呈、咨、公告、箋函、便簽 | |
| 35 | | 政府其他文件 | 會議紀錄、開會通知單、新聞稿、施政報告、聘函、獎狀 | |
| 36 | | 法律文件 | 存證信函、合約書、律師函、備忘錄(MOU)、聲明書、切結書、委託書 | |
| 37 | | 人民對政府 | 陳情書、申請書、訴願書、異議書 | |
| 38 | |
| 39 | ## 三個版本 |
| 40 | |
| 41 | | 檔案 | 大小 | 適用場景 | |
| 42 | |-----|-----|--------| |
| 43 | | `LITE.md` | ~2K 中文字 | ChatGPT GPTs Instructions(有字數限制) | |
| 44 | | `STANDALONE.md` | ~28K 字元 | 檔案上傳(完整版,含品質檢核) | |
| 45 | | `SKILL.md` + `references/` | 多檔案 | Claude Code 等支援多檔案的工具 | |
| 46 | | `skill.zip`([Releases](https://github.com/Imbad0202/tw-formal-writing/releases) 附件) | 打包 | claude.ai / cowork 等可上傳 skill 包者 | |
| 47 | |
| 48 | > **跨 vendor 入口**:根目錄的 `AGENTS.md` / `GEMINI.md`(指向 `STANDALONE.md` 完整單檔)供 Codex / Gemini 等 CLI 直接讀取;`.claude-plugin/plugin.json` 供 Claude Code 以 plugin 載入。一份內容、多種入口。 |
| 49 | |
| 50 | > **給貢獻者**:`references/` 是規範的單一真實來源。`STANDALONE.md` 由 `scripts/build.py` 自動生成,**請勿手動編輯**——改規範請改 `references/` 後跑 `python3 scripts/build.py` 重新生成。`LITE.md` 是手動維護的有損壓縮版,但 `scripts/check_consistency.py` 會檢查它沒漏掉關鍵規則錨點。發布用的 `skill.zip` 由 `python3 scripts/package.py` 以純 Python 打包(`SKILL.md` + `references/` + `examples/` + `LICENSE`,頂層資料夾 `tw-formal-writing/`);`--check` 只驗清單不寫檔、`--release` 打包後自動建 GitHub Release。CI 會 gate 這幾項(含打包清單齊全)。 |
| 51 | |
| 52 | ## 匯入方式 |
| 53 | |
| 54 | ### ChatGPT GPTs |
| 55 | |
| 56 | **方法 A(推薦):上傳完整版** |
| 57 | 1. 前往 [ChatGPT](https://chat.openai.com) → My GPTs → Create a GPT |
| 58 | 2. 在 Configure → Knowledge 上傳 `STANDALONE.md` |
| 59 | 3. Instructions 欄位貼入: |
| 60 | ``` |
| 61 | 你是台灣正式文件撰寫專家。請依照 Knowledge 中的 STANDALONE.md 規範, |
| 62 | 協助使用者撰寫公文及正式文件。先判斷文件類別,再依對應規範撰寫。 |
| 63 | 產出後執行品質檢核。 |
| 64 | ``` |
| 65 | |
| 66 | **方法 B:直接貼入精簡版** |
| 67 | 1. 前往 My GPTs → Create a GPT |
| 68 | 2. 將 `LITE.md` 的全部內容貼入 Instructions 欄位 |
| 69 | |
| 70 | ### ChatGPT Projects |
| 71 | |
| 72 | 1. 前往 ChatGPT → Projects → 新建或選擇 Project |
| 73 | 2. 在 Project 設定中,上傳 `STANDALONE.md` 作為 Project Files |
| 74 | 3. 開始對話即可使用 |
| 75 | |
| 76 | ### Claude (claude.ai) |
| 77 | |
| 78 | 1. 前往 [Claude](https://claude.ai) → Projects → 新建 Project |
| 79 | 2. 在 Project Knowledge 上傳 `STANDALONE.md` |
| 80 | 3. 在該 Project 中開始對話 |
| 81 | |
| 82 | ### Claude Code |
| 83 | |
| 84 | ```bash |
| 85 | # 方法 A:全域安裝(所有專案可用) |
| 86 | mkdir -p ~/.claude/skills |
| 87 | git clone https://github.com/Imbad0202/tw-formal-writing.git ~/.claude/skills/tw-formal-writing |
| 88 | |
| 89 | # 方法 B:專案內安裝 |
| 90 | mkdir -p .claude/skills |
| 91 | git clone https://github.com/Imbad0202/tw-formal-writing.git .claude/skills/tw-formal-writing |
| 92 | ``` |
| 93 | |
| 94 | 亦可作為 Claude Code plugin 載入(repo 含 `.claude-plugin/plugin.json`)。 |
| 95 | |
| 96 | ### claude.ai / cowork |
| 97 | |
| 98 | 至 [Releases](https://github.com/Imbad0202/tw-formal-writing/releases) 下載 `tw-formal-writing-skill-vX.Y.Z.zip`,於 claude.ai 或 cowork 上傳載入。 |
| 99 | |
| 100 | ### Codex / Gemini 等 CLI |
| 101 | |
| 102 | ```bash |
| 103 | git clone https://github.com/Imbad0202/tw-formal-writing.git |
| 104 | ``` |
| 105 | clone 後於工作目錄即可使用:根目錄的 `AGENTS.md`(Codex 等)/ `GEMINI.md`(Gemini CLI)皆指向 `STANDALONE.md` 完整單檔,agent 會自動讀取。 |
| 106 | |
| 107 | ### Gemini Gems |
| 108 | |
| 109 | 1. 前往 [Gemini](https://gemini.google.com) → Gems → 新建 Gem |
| 110 | 2. 將 `STANDALONE.md` 的全部內容貼入指示欄位(~26K 字元,Gems 上限 ~30K 字元,放得下但接近上限) |
| 111 | |
| 112 | ## 注意事項 |
| 113 | |
| 114 | > **依[行政院及所屬機關(構)使用生成式 AI 參考指引](https://www.ey.gov.tw/Page/448DE008087A1971/40c1a925-121d-4b6b-8f40-7e9e1a5401f2),機密文書應由承辦人親自撰寫,禁止使用生成式 AI 輔助。使用本工具時,請勿輸入涉及機密、未經機關同意公開之資訊,或與案件無關的個資。若屬人民對政府文書,僅提供該程序必要的最小識別與聯絡資訊;除非相關法規、機關表單或案件流程明文要求,避免輸入身分證字號、證件影本等高敏感資料。** |
| 115 | |
| 116 | ## 使用範例 |
| 117 | |
| 118 | 貼入或上傳完成後,直接跟 AI 說: |
| 119 | |
| 120 | - 「我是衛生局的承辦人,需要發函通知各醫療院所下個月要交傳染病統計表」 |
| 121 | - 「幫我寫一份簽呈給局長,報告今年度預算執行情形」 |
| 122 | - 「我要公告裁罰違規食品業者的結果」 |
| 123 | - 「我想寄存證信函催房東退還押金」 |
| 124 | - 「幫我寫陳情書向市政府反映噪音問題」 |
| 125 | |
| 126 | AI 會自動判斷文件類別、確認必要資訊、產 |