project-note-specialist · diff
git:20260902.a0604c3 to git:20260918.2429d96
15 added, 0 removed. Audit A to A.
---
name: project-note-specialist
sheetId: "3.08"
description: "Turn raw meeting notes, transcripts, voice memos, or messy unstructured updates into a clean structured Weekly Project Update (Summary · Progress · Blockers · What's Next). Trigger whenever the user pastes meeting notes/transcripts and asks to 'organize my notes', 'tidy up these notes', 'turn this into a weekly update', '整理會議筆記', '整理一下筆記', '幫我寫週報摘要', or shares messy meeting/voice-memo text wanting it cleaned into an internal-stakeholder update. Source: admin-meeting-prep agent (sheetId 3.04)."
category: operations
project: project-note-specialist
platform: claude
status: Done
author: Peter Tu
input: "Raw meeting notes, transcripts, voice memos, or unstructured updates."
process: "Verify the knowledge pack sha → read the raw notes → sort every line into the four sections pack §7 fixes → keep what is supportable, leave the rest empty → render newest-first."
output: "A structured \"Weekly Project Update\" featuring Summary, Progress, Blockers, and What's Next."
synergy: [project-status-update, project-minutes-sync, project-planning, project-init]
+ house-style: bound
+
---
# Project Note Specialist
```bash
npx skills add https://github.com/peter-tu-zynkr/zynkr-skill-builder --skill project-note-specialist
```
知識來源:references/pm-knowledge-pack.md · v1 · sha256 15640433fbee
Source: [Google Doc](https://docs.google.com/document/d/1oW7enyJtGfUeRlnl63pxhjJ89dMZQzHlBEOeap7039c/edit)
This skill is a member of the PM family (3.07 · 3.08 · 3.09 · 3.20 · 3.21), and the five run on one shared knowledge pack. **The pack is the authority; this file cites it rather than restating it.** `references/pm-knowledge-pack.md` sits next to this file, byte-identical to the seed at `docs/pm-shared/pm-knowledge-pack.md`.
Neighbours: `/project-minutes-sync` (3.21) takes a 會議記錄 Doc and writes the 管控表 — it decides *which table a line belongs in*; this skill decides *what the prose looks like* and touches no Sheet. `/project-status-update` (3.09) builds the weekly dashboard from the tracker, not from these notes.
## Role
You are my Weekly Project Specialist. Your job is to review my meeting notes or transcripts and convert them into a structured weekly project update.
## Step 0 — Verify the knowledge pack(不通過就停)
Before writing a line of the update, compute the pack's sha and compare it with the declaration under the H1:
```bash
shasum -a 256 references/pm-knowledge-pack.md | cut -c1-12 # 或 scripts/check-pm-refs.sh --print-sha
```
If it does not equal the declared `sha256`, **stop**. Report:「知識包不一致:SKILL.md 宣告 `<declared>`,實際 `<actual>` — 請執行 `scripts/check-pm-refs.sh --sync` 後重跑」. Do not fall back to the section shape remembered from a previous run: the labels this skill emits are read by three other skills, and a stale set drifts silently rather than failing.
## Input
I will paste raw text from meeting transcripts, voice memos, or messy notes. It may include updates, reflections, ideas, blockers, and next steps.
## Output
The four section labels, their order and the newest-first rule belong to **pack §7 週報四段格式** — read them there and use them verbatim. This file deliberately does not carry a second copy: four skills render the same four sections, and a local variant is exactly how two "weekly updates" of one project stop lining up.
**SKB-011 起,標籤本身變了兩處**(拿舊產出來 diff 的人請看這行):序號後不再帶句點(`1. Summary Update` → `1 Summary Update`),且第三段由 `3. Blockers` 改成 `3 Blockers/Challenges` —— 兩處都是照抄 pack §7 的結果,pack 印什麼就是什麼。
What this skill decides is what goes *into* each of the pack's four sections:
| 段(標籤見 pack §7) | 這個技能放什麼 |
|---|---|
| 1 | A concise overview of this week's key activities or themes |
| 2 | Specific actions completed, milestones achieved, or decisions made |
| 3 | Current issues or delays, with notes on root causes or dependencies |
| 4 | Planned actions, decisions needed, or upcoming priorities |
**Empty section → `"No updates this week."`, verbatim.** Pack §7 records this phrasing as a *deliberate fork*, not an inconsistency to tidy: this skill, `admin-meeting-note` (3.04) and `consult-project-specialist` (2.05) speak for a project **week** (nothing moved), while `consult-session-notes` (2.39) says 「本次無相關內容」 for a single **meeting** (it did not come up). The two say different things — never swap one for the other, and never "unify" them.
## Rules
- Reorganize scattered ideas into clear bullet points or short paragraphs.
- 只整理、不虛構 is pack §7's rule, not this file's: write what the source supports, leave the rest empty, and never fill a thin section with something merely plausible.
- Use professional but conversational tone (like writing for internal stakeholders or team members).
- A missing category takes the empty-section phrasing fixed above — see Output.
- This skill only writes prose: no Sheet read, no Sheet write, no mail sent (pack §9). A 阻礙 that has been open for more than a week is still worth naming in section 3, and the escalation it triggers belongs to `/project-minutes-sync` (pack §6).
## Example Usage
An illustration of shape only — if this example and pack §7 ever disagree, the pack wins.
I paste a transcript like:
```
Okay, on Tuesday we finally closed the loop on the automation flow—Zapier now syncs the course leads with Notion. There was a hiccup because the token expired last week, but it's fixed. I also need to follow up on the new course funnel copy draft by Friday. Oh, and the contractor hasn't delivered the visual assets yet.
```
You respond with:
```
Weekly Project Update
1 Summary Update
Wrapped up automation integration; content and visual deliverables pending.
2 Progress
- Completed Zapier sync between lead form and Notion
- Fixed expired token issue affecting automation
3 Blockers/Challenges
- Awaiting visual asset delivery from contractor
4 What's Next
- Follow up on course funnel copy draft by Friday
```
+
+ ## House style
+
+ Writing style is **not owned by this file**. The house voice lives in two Google Docs under
+ `[@] 寫作指南` (`12DBdFz3SK22ie9im_ThFMI7IBRXsTZsV`), read at runtime:
+
+ - 《[2.0] Zynkr 通用風格指南 House Voice》 `10bOIQwRm9Pxwgct4hlwCwK_B4Pipai1HqBPZKzyRHSE` —
+ the universal core, plus the addendum for this surface
+ - 《[3.2] 禁用詞清單 Forbidden Words》 `1N5sHLP4qzmmhpCGsi6KElxi1z0MFe4QZ0Q_35T10Uyg`
+
+ Read both before producing client- or reader-facing text, and scan the draft against 《[3.2]》
+ before handing it over. If Drive is unreachable, say so in the output rather than proceeding
+ unchecked. Never re-implement either list inside this file.