← ClaudeAtlas

project-card-mergelisted

Consolidate a Heptabase research-project card on the Mac into a STANDALONE full report for the project lead (前情提要 + evolution story + current state — readable without session memory): fold the cluster's append-only `📥 cluster 補充/進度` blocks (and any `📝 待補成 paper 級參考` brief) into ONE focused, paper-grade, coherent card — update 現狀 to the latest state, supersede stale info, keep all paper-grade detail + figures + file citations + card-links, and remove the dated append shells. Also folds tail-appended `🔍` research-gap analysis sections (from overview-graph Operation 5) into the body after Findings, promoting actionable 發想 into 下一步 and verification-type 洞 into 待補. Chain-aware: collapses a continuation chain (entry→續卡, from append-side overflow) back into the merge, and when the merged result itself exceeds the card cap it spills whole sections into a fresh chain instead of condensing (finalize_chain) — paper-grade content is never trimmed to fit 100K. This is the Mac-only "final merge" that pairs with the clus
SungFeng-Huang/research-cards · ★ 3 · Code & Development · score 77
Install: claude install-skill SungFeng-Huang/research-cards
# Project Card Merge — consolidate cluster-appended progress (Mac-side) ## Backend 卡片讀寫經由 rewrite_lib 路由(obsidian 模式可用),但 Research-Projects hub 的 card id 為 Heptabase UUID——obsidian 模式需改用 vault 內對應卡的 id。主要工作流仍以 heptabase/both 為準。 The cluster session appends dated `📥 cluster 補充/進度 YYYY-MM-DD` blocks to a project card via the `hb` bridge (append-only — it cannot overwrite). This skill is the **Mac-side counterpart**: it merges those blocks (and any leftover `📝 待補成 paper 級參考` brief) back into one coherent, focused, paper-reference-grade card. Three-layer principle (same as the cards already follow): **card = synthesis + 發想; raw logs stay in the codebase; keep paper-grade detail but no append sprawl.** Mechanics live in `card-rewrite`'s `rewrite_lib` (builders + `finalize`); this skill's `merge_lib` adds the Research-Projects index, a merge-readiness scan, and a table builder. ```python import sys, os; sys.path.insert(0, os.environ.get("CLAUDE_PLUGIN_ROOT", os.path.expanduser("~/.claude/skills/research-cards")) + "/skills/project-card-merge") import merge_lib as M # M.L is rewrite_lib ``` ## Step 1 — Pick the target card(s) ```bash python3 ${CLAUDE_PLUGIN_ROOT:-$HOME/.claude/skills/research-cards}/skills/project-card-merge/merge_lib.py # list project cards + which NEED MERGE python3 ${CLAUDE_PLUGIN_ROOT:-$HOME/.claude/skills/research-cards}/skills/project-card-merge/merge_lib.py <cardId> # scan one (appended blocks, brief, size, figs) ``` - If the user n