leoluyi
UserMy personal collection of portable SKILL.md agent skills and tooling for Claude Code, Cursor & Codex — currently focused on Traditional Chinese (Taiwan) writing, de-AI editing, and business docs.
Categories
Indexed Skills (23)
blog-writing-zh
Write or rewrite Traditional Chinese (Taiwan) blog posts with a genuine human voice, modeled on seven studied blogs (知識倉鼠, 保哥, 高見龍, 90s.pm.investing, AI避坑情報員, Julia Evans, Simon Willison). Manual trigger only. Invoke by name for 寫部落格文章/電子報/blog post, 把筆記改寫成文章, 把 Obsidian 筆記變成 blog, 翻譯改寫外文文章/演講/討論串成中文長文, "用我的風格寫一篇 X", or 不確定該用什麼風格寫. Supports compose and rewrite modes, three technical-description modes (操作型可重現教學, 概念型 心智模型導讀, 推演型原理解說), selectable voice axes and length tiers (短打/標準/深文/工具書級), optional dual drafts, and series-splitting suggestions. Output article plus 3-5 title/subtitle candidates. Do NOT invoke for 正式公文/簽呈 (use formal-doc-structure), RFP (use rfp-writing), 白話翻譯 單一術語 (use plain-speak), or pure de-AI editing without restructuring (use humanizer-zh).
infographic-design
Design polished, professional explanatory graphics as SVG or single-file HTML. Use for infographic, 資訊圖表, 懶人包, 圖解, one-pager, visual summary, or timeline/comparison/process ("how it works") requests, including review of an existing graphic ("幫我看這張圖表哪裡可以改"). Also use for a teaching recap ("學習總結成一張圖", "visual recap of what you taught me") or a figure needed inside another document. Do NOT invoke for standalone analysis charts, dashboards / BI tooling, slide decks, plain-language term explanations (use plain-speak), dense command or syntax cheatsheets / 速查表, authoring a knowledge or technical document (use knowledge-doc-writing), or data-dense charts where numbers and precise scales are the subject. An explicit ask for infographic / 資訊圖表 / 懶人包 / one-pager qualifies even with precise data; evidence quantities inside an explanation remain in scope.
plain-speak
Translate technical jargon, code concepts, or dense engineering text into plain language a non-technical colleague or manager can follow. Use when the user asks to "explain in plain language", "白話文", "翻成人話", "用白話解釋", "explain like I'm a PM", "make this non-technical", "simplify this term", "what does this term mean", pastes technical text for a business-audience version, or asks whether an existing plain-language draft works for a non-technical reader ("這樣夠白話嗎", "幫我看非技術主管看不看得懂", "is this clear enough for a PM"). Also use mid-conversation for requests to re-explain preceding content ("上面那段用白話再講一次", "你剛剛講的我看不懂", "剛剛那幾個選項差在哪", "講人話"), including a question just put to the user. Reply in the user's language. Do NOT invoke for removing AI-isms / 潤飾語氣 (use humanizer-zh), structuring a formal business document (簽呈/會議紀錄/報告; use formal-doc-structure), or RFP / 需求規格書 / 招���規格 (use rfp-writing). This skill lowers audience complexity, not voice, structure, or document type.
humanizer-zh
Audit and rewrite finished prose to strip AI writing patterns ("AI-isms") — a language-layer cleanup pass over Traditional Chinese (Taiwan usage), English, and mixed zh/en text. Use when the user asks 「幫我把這段的 AI 味拿掉,改成人話」(zh-tw rewrite); 「先標出來就好,不用改」(zh-tw detect-only audit); "clean up the AI-isms in this draft" for English prose — blog posts, README, CONTRIBUTING, ADR, API docs, code comments; 「這份中英混雜的文件,中文那段去 AI 味,英文技術術語保留」(mixed zh/en); 「直接編輯 draft.md,把裡面的 AI 寫作模式修掉」(edit a named file in place); or 「沒什麼明顯的 AI 空話,但讀起來就是很像 AI 寫的、沒有靈魂」— a detect-only 作者隱身 audit that names what is absent rather than rewriting for voice. It removes and flags AI patterns but does not create a voice — composing a blog or rewriting a draft into a human voice is blog-writing-zh's job, not this skill's.
plan-to-goal
Turn a rough plan into a bounded, verifiable goal spec — objective, machine-checkable done-when conditions, do-not constraints, and a stop limit — that an agent can execute autonomously without drifting. Use this whenever the user has a plan (from plan mode or written by hand) and wants to run it autonomously — phrases like "turn this plan into a goal", "make this a /goal", "run this autonomously", "let it run on its own", 「把這個計畫變成可以自動跑的 goal」, 「讓它自己跑完」, 「這個 plan 還很粗,幫我補完再自動執行」, or when the user has just finished plan mode and asks what's next. Especially use it when the user admits their plan is rough, high-level, or unfinished, because the whole point is to flesh the plan out and surface its gaps BEFORE an autonomous run burns tokens on a vague target. Do NOT invoke for writing a plan from scratch (that is plan mode itself), or for a task small enough that one prompt would do — a goal spec is overhead for a one-line typo.
autopilot
Run an entire established plan to completion autonomously — orchestrate subagents, self-repair within a bounded attempt budget, pass a verification gate, then commit, push and open a ready PR without checking back in between steps. Invoke it explicitly when handing over a whole job: "run the whole plan", "take it from here and open a PR", 「照計畫跑完,不用問我」, 「全部做完再回報」. It suspends the ask-first / confirm-alignment rules for the duration of the run and batches every decision into a final report. Never fires on its own — the user must ask for it by name, because it commits and pushes without confirmation.
breakdown
Lay out every case in a decision exhaustively before evaluating any of them, decompose the open problem into the individual decisions only the user can answer, then stop and wait — and synthesize a recommendation only after they answer. Use it when the user wants the full ground laid out before a conclusion: 「先把所有情況攤開給我看」, 「不要先給結論,先列出所有選項和事實」, 「幫我拆解這個決定」, "lay out every case first", "don't recommend yet — decompose it", "what are all the options here, in full". Each case carries what is verified fact versus what is inference, uniform depth across cases, and an explicit excluded list. Do NOT invoke when the user wants one clickable decision surfaced right now (that is options), when the answer is genuinely unknown to both sides and needs joint exploration (that is discuss-with-me), or for a question with a settled answer that just needs looking up.
deck-consulting
Consult on a presentation the way a senior advisor would, one node at a time — positioning, structure, condensation, headlines, storyline, opening, closing, delivery, layout — with each node's artifact written to disk so later nodes build on earlier ones instead of restarting from the raw material.
deck-writer
Plan and write a complete presentation as slide-by-slide Markdown, including the deck brief, narrative outline, assertion-style titles, full on-slide copy, evidence, tables, chart specifications, and speaker notes. Use when the user asks to 規劃簡報內容、寫投影片文案、整理簡報大綱、把主題拆成幾頁, or turn source material into a presentation-ready content deck. Do not invoke for producing a .pptx or rendered slides, visual styling, reviewing an existing deck one issue at a time, or general long-form documents.
goal-definer
Turn a fuzzy task description into a six-element goal prompt — Outcome, Verification, Constraints, Boundaries, Iteration Policy, Blocked Stop Condition — that an AI agent can run for hours without drifting or wrapping up early. Use it when the user has a vague long-running task and no plan yet: "optimize the checkout speed", "tidy up our customer data", "rewrite our product copy", 「我想讓 agent 幫我跑一個長任務,但我還講不清楚」, 「幫我把這個任務寫成 agent 可以自己跑的目標」, "turn this into a goal I can run overnight", "make this task agent-runnable". It runs as an interview: it refuses vague success words like 更好/更完整/more polished and pushes every answer until another agent could verify completion without the user eyeballing the result. Do NOT invoke when the user already has a written plan and wants it turned into a goal (that is plan-to-goal's job), for writing the plan itself (that is plan mode), or for a task small enough that one prompt would do.
options
Re-surface whatever direction decision is currently pending as tappable multiple-choice instead of prose, then keep doing that for the rest of the session before any architecture, library, data-model, scope or sequencing call. Invoke it when tired of typing answers to open questions: 「用選項給我選,不要問答題」, 「以後有決策就給我選項」, "give me options instead of questions", "make that clickable", "stop asking me open-ended questions". Options are labelled by outcome with the trade-off named in one line, recommended one first, mutually exclusive, and combinations pre-enumerated so one click settles it. Never fires on its own — it changes how the whole session asks, so the user must ask for it by name.
taste-distiller
Mine the user's history of rejecting, rewriting and redoing AI output, and distil the implicit standards behind those rejections into a reusable Taste Profile — a 1-5 rubric in Markdown plus a JSON variant for an evaluator agent's grading prompt. Use it when the user keeps rewriting AI output and wants the standard written down: 「幫我把我改 AI 稿的標準整理成一份 rubric」, 「我每次都要重寫 AI 的東西,幫我找出我的標準」, "distil my taste into a profile", "turn my edits into a style rubric", "why do I keep rejecting this — write the rule down". It runs as an interview through rejection-grade-explain cycles and refuses abstract feedback like 「感覺怪怪的」 or 「太 AI 味」 without the specific phrase or structural choice that triggered it. Do NOT invoke to generate content in the user's style, to clean AI-isms out of a specific draft, or to define a goal for an agent run.
briefing-outline
說明提綱 (briefing outline) writing — distill detailed source material into one high-altitude overview that gives each part its purpose and essence, then points down for the detail. Source count is not the point: it works over several documents or one long report (pointing down to its sections). Use when the user wants to 整理/撰寫一份說明提綱, condense one or more sources into a navigable briefing for a 主管 or 委員會, summarise a long report into a high-altitude overview that points down for detail, or re-sync an existing 提綱 after its sources changed. Do NOT invoke to author a single formal document from scratch — 簽呈/會議紀錄/報告/專案規劃 (use formal-doc-structure), for RFP / 需求規格書 / 招標規格 (use rfp-writing), for lowering one term or passage to a non-technical audience (use plain-speak), or for pure language cleanup (use humanizer-zh). This skill sits above the source material and points down into each part.
formal-doc-structure
Draft, revise, or restructure formal internal business documents in Traditional Chinese (Taiwan corporate / financial-institution usage) — 簽呈, 會議紀錄, 評估報告, 專案規劃, 採購與廠商溝通, 對主管簡報, 驗收與交付, 跨單位協調. Picks a reader-driven structure per document type and produces a usable draft, not just advice. Manual trigger only — invoke by name when writing or fixing an internal business document, memo, report, meeting record, plan, or vendor communication. Do NOT invoke for RFP / 招標規格 / 需求規格書 (use rfp-writing), for pure language cleanup with no structural work (use humanizer-zh), or for casual chat, creative writing, marketing copy, or code comments.
knowledge-doc-writing
把自學或研究一個技術主題的成果,整理成一份包含四個清楚分離 Diátaxis 區塊的知識文件——tutorial(帶著上手)、 how-to(照著完成任務)、reference(查參數與結構)、explanation(What/Why 論述與取捨決策);用 compass 兩問把每段素材路由到對應區塊,素材撐得起才寫,撐不起的型(研究過但未實作常缺 tutorial/how-to)明列為缺口, 不捏造、不搭空殼(繁體中文為主、術語保留英文)。觸發:使用者要把對話紀錄、官方文件或原始資料、或從零研究的主題 (強制查一手來源並標 as-of 時效)消化成可長期參考的技術文件;或改寫一份既有技術文件——依意圖分流: 更新時效/併入新素材→定點修補保留原形,重整/重構→依 compass 重建四型區塊。可接在 learn-loop 之後: learn 管互動學習迴圈與親手 distillation(鐵律:distillation 是學習本身,不代寫), 本 skill 只接手 distill 完成後重新組織、補讀者上下文、套完稿檢查。不要用於:公司內部簽呈/會議紀錄/ 評估報告等行政文件(用 formal-doc-structure,即使輸入是既有文件也不因此轉入本 skill)、RFP/招標規格 (用 rfp-writing)、部落格文章(用 blog-writing-zh)、只做語言層去 AI 味不動結構(用 humanizer-zh)、 只要口頭白話解釋不產文件(用 plain-speak)、learn 的互動學習迴圈本身(用 learn-loop)。
rfp-writing
Write or review technical RFP documents from the issuer's perspective in Traditional Chinese (需求規格書 / 需求規劃書 / 招標規格), enforcing structural rules for redundancy elimination, appendix bloat, thin-section consolidation, and formal plain-language style. Manual trigger only — invoke by name when the user explicitly asks for an RFP; do not invoke for migration plans, runbooks, ADR/ARB, design docs, meeting minutes, vendor-side bid proposals (投標提案 / RFP responses), or general formal Chinese writing — those conventions conflict with RFP rules.
avoid-ai-writing-zh
Audit and rewrite content to remove AI writing patterns ("AI-isms"). Extends the English-only avoid-ai-writing with an added Traditional-Chinese (Taiwan business usage) layer, so it handles English, Traditional Chinese, and mixed zh/en text. Use when asked to "remove AI-isms," "clean up AI writing," 「去除 AI 味」or「把中文改成人話」, or as a de-AI finishing pass before shipping English/mixed software-development docs — README, CONTRIBUTING, ADR, API docs, code comments. Also runs a detect-only structure-signals audit for a draft that carries no obvious AI-isms yet still reads as AI-written — uniform rhythm, no stance, no concrete examples, 「正確但沒有靈魂」— naming what is absent rather than rewriting for voice. It removes and flags AI patterns but does not create a voice — composing a blog or rewriting a draft into a human voice is blog-writing-zh's job, not this skill's.
avoid-china-writing
Audit and rewrite Traditional Chinese to remove mainland-China (PRC / 大陸) usage and convert it to Taiwan 正體中文 conventions across four axes — 陸用語詞彙 (視頻→影片、軟件→軟體、屏幕→螢幕、網絡→網路), 互聯網/職場黑話 (賦能、抓手、對齊顆粒度、閉環、落地、賽道、內卷), 簡體字殘留 (为/发/网/软/数据 混入繁體), and 音譯與專名/語法差異 (奧巴馬→歐巴馬、悉尼→雪梨、硅谷→矽谷、通過→透過). Trigger when the user asks to 去除大陸/陸用語、改成台灣用語、正體中文在地化、抓簡體殘留、把互聯網黑話改成正常中文, or「這段有沒有大陸用詞」. Supports detect / rewrite / edit modes. Do NOT invoke for 去除 AI 味/潤飾語氣 (use humanizer-zh), 結構化商業文件 簽呈/報告 (use formal-doc-structure), RFP/需求規格書 (use rfp-writing), 白話文翻譯 (use plain-speak), casual chat, creative writing, or code comments. This skill localizes across the strait — an axis orthogonal to AI-ism cleanup.
discuss-with-me
Think through a question where neither the user nor you already knows the answer — widen the options, ground the claims, attack the load-bearing assumptions, and leave a record that says what would overturn it. Use when the user says 「陪我想一下」「我也不確定」「幫我想清楚」「我們來釐清」「這個決定我還沒想清楚」 「幫我挑戰這個想法」���這個假設站得住嗎」「壓力測試一下這個方向」「red team 我的計畫」, or "think this through with me", "poke holes in this", "stress-test this idea", "what are we assuming here", "I don't know the answer either". Also use when a discussion has been converging for a while and nobody has said what would make it wrong. Do NOT invoke when the user already has the answer and only wants it written up (use knowledge-doc-writing or formal-doc-structure), when the concept has a settled answer the user simply hasn't learned yet (teach it, or use learn-loop), for factual lookups, or for debugging and code review. The test is whether the answer is unknown to both sides, not whether the topic feels hard.
recover-deleted-claude-conversation
Recover a conversation, message, or generated artifact (docx/pdf) accidentally deleted from Claude Desktop or claude.ai, by extracting it from the Chromium blockfile cache before it's evicted. Manual trigger only — invoke by name when a Claude conversation was just deleted and needs to be pulled back out of cache; this is a race against cache eviction, so run it immediately.
learn-loop
Leo 的結構化學習迴圈(先教後考 + 來源查證),把一個新概念精煉成 Obsidian vault 的知識結晶。 僅在 Leo 明確叫用(Claude Code `/learn-loop`、Codex `$learn-loop`,或明說「跑 learn-loop 流程學 X」)時啟動; 不要因為對話中提到想了解某事就自動觸發 —— 這是刻意的、會佔用整段對話的六步互動流程。
diagram-style
替**既有的**架構圖/流程圖素材重新上樣式:筆調決定長什麼樣,顏色決定怎麼上色,結構沿用素材。 只在使用者明確要求調整既有圖表外觀時使用——例如「幫我把這張圖的樣式調一調」 「換個配色」「這幾張圖要看起來一致」「重畫成分層的樣子」,或直接點名本 skill。 素材可以是 SVG 檔、PPTX 簡報、Mermaid 原碼、或條列的節點與關係。 **不要**在使用者要求從無到有設計一張圖、或只給了主題卻沒給素材時使用—— 本 skill 不產生圖表內容,只重繪已經存在的內容。
obsidian-vault
Search, create, and manage notes in the Obsidian vault with wikilinks. Use when user wants to find, create, or organize notes in Obsidian.
Bio shown is the top-scored skill's repo description as a fallback — real GitHub bios land in a future update.