mini-taiwan-pulse: Skill for Claude Code

.claude/skills/blog-writing/SKILL.md

blog-writing is a skill for Claude Code from ianlkl11234s/mini-taiwan-pulse. It costs 169 tokens per session (2,590 once invoked), scanned A, original, MIT.

A workflow for writing and updating long-form blog posts for Mini Taiwan Pulse. It covers choosing a planned topic, gathering source posts, checking numbers, writing Markdown, and previewing the result.

In plain words
What is it for?
Use it to turn Threads posts into articles, add screenshots or interactive maps, update the sitemap and plan, and prepare a local preview.
Why use it?
It keeps article work tied to the site's plans and format rules while preserving source material and required publishing steps.

Skill for Claude Code

Written for Claude Code: installed under .claude/. Also seen: mentions subagents.

This is ianlkl11234s/mini-taiwan-pulse's own configuration. It tells Claude Code how to work on mini-taiwan-pulse itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything mini-taiwan-pulse configures →

Needs its repository: it reads a path above its own folder, which exists only inside the repository. The line is ln -s ../../node_modules .worktrees/blog-<slug>/node_modules.

Reuse

Borrowing it

Nothing to install: this file belongs to ianlkl11234s/mini-taiwan-pulse. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/ianlkl11234s/mini-taiwan-pulse/develop/.claude/skills/blog-writing/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/ianlkl11234s/mini-taiwan-pulse

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for blog-writing

README.md
[![agentmods](https://agentmods.dev/badge/skills/ianlkl11234s/mini-taiwan-pulse/blog-writing/github.svg)](https://agentmods.dev/skills/ianlkl11234s/mini-taiwan-pulse/blog-writing)
Your own site
<a href="https://agentmods.dev/skills/ianlkl11234s/mini-taiwan-pulse/blog-writing"><img src="https://agentmods.dev/badge/skills/ianlkl11234s/mini-taiwan-pulse/blog-writing/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for blog-writing

Your own site · 80×15
<a href="https://agentmods.dev/skills/ianlkl11234s/mini-taiwan-pulse/blog-writing"><img src="https://agentmods.dev/badge/skills/ianlkl11234s/mini-taiwan-pulse/blog-writing.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 169 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,590 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00169 $0.02590
Opus 5.5 $0.00068 $0.01036
Sonnet 5.5 $0.00034 $0.00518
Haiku 4.5 $0.00017 $0.00259

Measured 10d ago against content hash 99d14a8cd567, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

blog-writing scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

- 回放圖層要帶 `date=`,而且那天要有快照。正式站目前有 rail、ships 的 2026-08-06(先 `ls public/embed-snapshots/<layer>/` 並 `curl -sI` 正式站確認 200)。沒有快照就不要嵌回放圖層,改嵌靜態圖層或用截圖。
.claude/skills/blog-writing/SKILL.md · 128 lines

How it starts

The opening of the file, as written. The whole thing — 128 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Pulse 筆記寫作流程

正本文件:

本檔只寫流程與踩過的坑,不重抄上面兩份。

1. 選題

  1. 讀 article-plan.md,依「建議順序」挑一篇(使用者有指定就照指定)。
  2. 主題只有三類,依「文章在做什麼」分(src/blog/topics.ts):layers 圖層(把資料畫成地圖)、analysis 分析與模擬(用資料問問題)、making 製作筆記(怎麼做出來的)。不要為單一資料種類新增主題;真的三類都放不下,先問使用者。
  3. 用一則訊息跟使用者確認:標題方向、主題、要不要嵌入地圖。附上建議值,讓使用者一句「照建議」就能帶過。

2. 開分支

從最新 origin/develop 開 worktree,不要在別人的分支上做:

git fetch origin
git worktree add -b docs/blog-<slug> .worktrees/blog-<slug> origin/develop
ln -s ../../node_modules .worktrees/blog-<slug>/node_modules

之後的指令一律用絕對路徑或 git -C,不要 cd 進 worktree。

3. 抽素材

  • Threads 貼文:../knowledge-radar/threads/data/posts/*.jsonl(以 id 去重;只有部分貼文有 text)。依計劃表的日期範圍抽出原文,存到 scratchpad,不要整包貼進對話:

    python3 - <<'PY'
    import json, glob
    seen, rows = set(), []
    for f in glob.glob("../knowledge-radar/threads/data/posts/*.jsonl"):
        for line in open(f):
            p = json.loads(line)
            if p["id"] in seen or not p.get("text"):
                continue
            seen.add(p["id"]); rows.append(p)
    rows.sort(key=lambda p: p["timestamp"])
    for p in rows:
        if "2026-02-13" <= p["timestamp"][:10] <= "2026-02-14":   # ← 改成計劃表的日期
            print(f'## {p["timestamp"][:10]} · {p["permalink"]}\n{p["text"]}\n')
    PY
    
  • 計劃表的素材範圍晚於最後同步日(2026-08-28)時,先用 threads-api skill 增量同步。

  • 作者口吻:../knowledge-radar/threads/STYLE.md(第一人稱、轉折用「但」、技術細節具體到名詞和數字、不用 emoji)。長文可以有正常的句號與段落。

4. 查證數字(不可省)

  • 文章裡每個數字、日期、名稱都要有出處:repo 文件、git log、資料檔筆數、程式常數。貼文說的數字也要回頭對一次。
  • 查不到的不要編,也不要「合理推估」。草稿裡寫 〔待確認:…〕,交給使用者確認後才能發布。
  • 同一件事出現不同數字時(例:台鐵 907/928/992 班),寫明口徑與時間點,或乾脆不用。
  • 查證量大時派 subagent,要求回報「數字 → 出處檔案:行號/commit」對照表。

5. 寫 Markdown

檔案:content/blog/<slug>.md,front matter 欄位見 README。

  • 開頭兩三句就回答「這是什麼、在哪裡看」,AI 摘要最常引用開頭。
  • 內文 1,800–3,000 個中文字,分 4–6 個 ## 小節(自動進左側目錄)。
  • 最後一節前放 ## 常見問題,3 題,每題用 ### 問題 加一段答案(自動產生 FAQ 結構化資料)。
  • 標題含搜尋關鍵字(計劃表有列),32 字內;description 120 字內。
  • 不出現內部名稱:程式識別字、資料表名、檔名、圖層 key。
  • 文末不要自己放 Threads 連結,版型會依 threads: 自動列出。
  • tags 不要重複主題名。

Read the full file on GitHub · 128 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 10d ago Changed · +2 lines 99d14a8cd567
  2. 13d ago Changed 60afda85bfe3
  3. 14d ago First seen · 126 lines · 169 tokens per session scan A 602ceceb3946

Subscribe to this mod's changes

blog-writing is a skill published in the GitHub repository ianlkl11234s/mini-taiwan-pulse (543 stars, last pushed yesterday), licensed MIT. It adds 169 tokens to every session and 2,590 once invoked, about $0.0007 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-24.

Related

blog-writing compared with skills from other repositories

blog-writing next to 6 skills from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
blog-writingianlkl11234s/mini-taiwan-pulseSkill543yesterdayMITA169Claude Code
imagegenopenai/codexSkill133kyesterdayApache-2.0A113Codex
playwright-climicrosoft/playwrightSkill99kyesterdayApache-2.0A19Claude Code
local-ai-agentsmicrosoft/ai-agents-for-beginnersSkill79k4d agoMITA200Claude Code, Codex
systematic-debuggingobra/superpowersSkill313k3d agoMITA21Claude Code
next-cache-components-adoptionvercel/next.jsSkill143ktodayMITA95Claude Code
next-partial-prefetching-adoptionvercel/next.jsSkill143ktodayMITA103Claude Code