pm-capture
Extract commitments, tasks, and action items from today's meetings, email, Teams, and iMessage. Deduplicate against existing PM items and add new ones.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Extract commitments, tasks, and action items from today's meetings, email, Teams, and iMessage. Deduplicate against existing PM items and add new ones.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Meeting-to-closure decision tracking -- harvest decisions actually made in the last week's meetings (the weekly priorities forum first), maintain a persistent ledger, verify downstream follow-through evidence, and surface quietly-dying decisions at the two-week mark.
Monthly red-team pass over the user's active big bets -- build the strongest evidence-backed case AGAINST each position they're invested in (steelman opposition, not strawman compliance), ending each bet with an honest KILL / HEDGE / PROCEED-EYES-OPEN verdict.
Weekly knowledge-graph curation loop -- freshness sweep against the week's reality, stale-edge invalidation, pending-merge queue drain, and org-chart temporal completeness against your authority model.
PM Weekly Triage
Decision radar + dossier generator -- detect decisions approaching the user in the next few days and build evidence-backed dossiers (prior positions, stakeholder map, constraining commitments, what it gates) before the moment arrives.
Draft-first email posture -- high-priority emails and key-contact unreplied threads arrive each morning WITH a reply already drafted in the user's voice. The user edits-and-sends or discards instead of starting cold. Drafts only, never sends.
| name | pm-capture |
| description | Extract commitments, tasks, and action items from today's meetings, email, Teams, and iMessage. Deduplicate against existing PM items and add new ones. |
Nightly sweep of all communication channels to extract commitments and tasks that weren't captured during live sessions. Runs daily at 10 PM.
Commitments made in meetings, email threads, and chats often don't get tracked. Edwin captures some during live sessions, but anything that happens when Edwin isn't active gets missed. This skill fills that gap by reviewing the day's raw data and extracting PM-worthy items.
Process these in parallel. For each source, read today's data only.
Read data/fireflies/transcripts/YYYY-MM/YYYY-MM-DD-*.md for today.
Read data/limitless/lifelogs/YYYY-MM/YYYY-MM-DD-*.md for today.
Read data/o365/mail/YYYY-MM/YYYY-MM-DD-*.md for today.
Read data/o365/teams/ -- check file mtimes for today's activity.
Read data/imessage/daily/ for today's files.
For each potential PM item:
Confidence threshold: Only extract if >70% confident this is a real commitment or task. Casual mentions, jokes, hypotheticals, "we should probably..." are NOT PM items.
Dedup check: Before adding, call pm_search with the description text. If a similar item already exists (open or in_progress), skip it. Log the skip.
Attribution:
Type mapping:
commitment_by_usercommitment_to_usertask (owner = assignee)intention (owner = user unless context says otherwise)Context: Include the source (meeting name, email subject, chat) and a brief quote showing the commitment. This makes the item verifiable.
For each extracted item, call pm_add with the appropriate fields.
Write a capture log to: ~/Edwin/data/nightwatch/pm-capture-YYYY-MM-DD.log
Format:
# PM Capture Log -- YYYY-MM-DD
## Sources Scanned
- Fireflies: X transcripts
- Limitless: X lifelogs
- O365 mail: X emails
- Teams: X messages
- iMessage: X conversations
## Items Captured
1. [pm-id] [type] [owner] -> [counterparty] | [description] | Source: [source]
2. ...
## Items Skipped (duplicate)
1. [description] -- matches [existing-pm-id]
2. ...
## Items Skipped (low confidence)
1. [description] -- [why low confidence]
2. ...
## Summary
Captured: X new items
Skipped: X duplicates, X low-confidence
Sources: X transcripts, X emails, X chats
SKILL_COMPLETE: pm-capture
STATUS: success | error
ARTIFACT: ~/Edwin/data/nightwatch/pm-capture-YYYY-MM-DD.log
ITEMS_CAPTURED: [count]
ITEMS_SKIPPED_DUP: [count]
ITEMS_SKIPPED_LOW: [count]
SOURCES_SCANNED: [count]
ERRORS: [any errors, or "none"]