From mz-knowledge
ALWAYS invoke when injecting a research report or brainstorm report from .mz/research or .mz/reports into the vault as atomized notes. Triggers: ingest research, import report, atomize report, research to notes.
npx claudepluginhub doctormozg/claude-pipelines --plugin mz-knowledgeThis skill is limited to using the following tools:
Discipline skill that atomizes a long research report into permanent notes, pre-filtering known noise sections before atomization. Reuses `atomization-proposer` (dispatched once per 450-word window — matches the agent's 500-word input cap) and `link-suggester`. Produces claim-style atomic notes under the vault's permanent folder inside a `research/` subfolder, each carrying `type: research`, `s...
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Edits, creates, cleans, and formats spreadsheet files (.xlsx, .xlsm, .csv, .tsv) with zero formula errors, professional styling, and financial model standards like color coding.
Share bugs, ideas, or general feedback.
Discipline skill that atomizes a long research report into permanent notes, pre-filtering known noise sections before atomization. Reuses atomization-proposer (dispatched once per 450-word window — matches the agent's 500-word input cap) and link-suggester. Produces claim-style atomic notes under the vault's permanent folder inside a research/ subfolder, each carrying type: research, source_type: research-report, and full provenance.
.mz/research/ or .mz/reports/.vault-ingest.process-notes.[[wikilinks]] between notes that already exist — use vault-connect..mz/task/atomization-proposer caps at 500 so 450 leaves headroom)["Vote Tally", "Voting History", "Panel Perspectives", "Methodology", "Deliberately Cut", "All Ideas by Round"]| # | Phase | Reference | Loop? |
|---|---|---|---|
| 0 | Setup | inline | — |
| 1 | Parse + noise filter | phases/parse_report.md | — |
| 1.5 | Approval — noise exclusion | inline | until approved |
| 2 | Atomize + write | phases/atomize_and_write.md | — |
| 2.5 | Approval — proposals | inline | until approved |
| 3 | Link suggestions | phases/atomize_and_write.md (Step 5) | — |
| 3.5 | Approval — links | inline | until approved |
$ARGUMENTS as an absolute report path. The path must exist — if it does not, ask the user via AskUserQuestion for a corrected path..mz/research/ or .mz/reports/, warn the user but do not block — record NonStandardLocation: true in state.md.LONG_REPORT_THRESHOLD_WORDS (2000), record LongReport: true and warn the user before proceeding.04 - Permanent/, permanent/, notes/permanent/). If no permanent folder convention is found, ask via AskUserQuestion — never guess.task_name = <YYYY_MM_DD>_vault-research_<slug> where <YYYY_MM_DD> is today's date (underscores) and <slug> is a filename-sanitized form of the report basename; on same-day collision append _v2, _v3. Create TASK_DIR<task_name>/ on disk.state.md with Status: running, Phase: 0, Started: <ISO timestamp>, ReportPath: <absolute path>, ReportWordCount: <N>, Vault: <absolute vault path>, PermanentFolder: <extracted folder>.This orchestrator (not a subagent) must present the noise filter results via AskUserQuestion. This step is interactive and must not be delegated. Before presenting, Read .mz/task/<task_name>/parsed_report.md in full.
Before invoking AskUserQuestion, emit a text block to the user:
**Noise filter results ready for review**
Excluded sections: [list from parsed_report.md]. Retained sections: [list from parsed_report.md].
- **Approve** → proceed to Phase 2 atomization
- **Reject** → abort the task
- **Feedback** → re-run with adjusted exclusions and loop back here
Then invoke AskUserQuestion with the full verbatim contents of parsed_report.md in the question body. Do not substitute a path, summary, or placeholder for the artifact content — present the full verbatim text. End the question with exactly: Type **Approve** to proceed, **Reject** to cancel, or type your feedback.
Response handling:
state.md Status to noise_filter_approved, proceed to Phase 2.state.md Status to aborted_by_user and stop.phases/parse_report.md), and re-present the refreshed parsed_report.md via AskUserQuestion. This is a loop — repeat until the user explicitly approves. Never proceed to Phase 2 without explicit approval.This orchestrator (not a subagent) must present the atomization proposals via AskUserQuestion. This step is interactive and must not be delegated. Before presenting, Read .mz/task/<task_name>/proposals.md in full.
Before invoking AskUserQuestion, emit a text block to the user:
**Atomization proposals ready for review**
Generated N atomic notes from the report. Review the proposed titles, content, and metadata.
- **Approve** → write notes to vault and proceed to Phase 3 link suggestions
- **Reject** → abort the task, no vault writes have occurred
- **Feedback** → adjust proposals (skip, merge, split, retitle) and loop back here
Then invoke AskUserQuestion with the full verbatim contents of proposals.md in the question body. Do not substitute a path, summary, or placeholder for the artifact content — present the full verbatim text. End the question with exactly: Type **Approve** to proceed, **Reject** to cancel, or type your feedback.
Response handling:
state.md Status to proposals_approved, continue Phase 2 (post-approval write).state.md Status to aborted_by_user and stop. No vault writes have occurred yet.proposals.md, and re-present via AskUserQuestion. Repeat until explicit approval.This orchestrator (not a subagent) must present the link suggestions via AskUserQuestion. This step is interactive and must not be delegated. Before presenting, Read .mz/task/<task_name>/link_suggestions.md in full.
Before invoking AskUserQuestion, emit a text block to the user:
**Link suggestions ready for review**
Generated N proposed `[[wikilink]]` insertions connecting notes to existing vault items. Review targets, relationships, and reasons.
- **Approve** → apply all links and complete the task
- **Reject** → skip all links, mark task complete with no Related sections added
- **Feedback** → skip specified links, accept the rest, and loop back here
Then invoke AskUserQuestion with the full verbatim contents of link_suggestions.md in the question body. Do not substitute a path, summary, or placeholder for the artifact content — present the full verbatim text. End the question with exactly: Type **Approve** to proceed, **Reject** to cancel, or type your feedback.
Response handling:
state.md Status to links_approved, apply all links, proceed to completion.state.md Status to complete with LinksAdded: 0, LinksSkipped: true. Written notes stay on disk without a Related section.Techniques: delegated to phase files — see Phase Overview table above.
| Rationalization | Rebuttal |
|---|---|
| "Send the whole report to atomization-proposer in one dispatch." | "atomization-proposer has a 500-word input cap; oversized input returns DONE_WITH_CONCERNS with only partial processing. The 450-word windowing scheme exists to keep every dispatch fully processed." |
| "Noise sections are obvious — skip the user approval gate." | "The user may want to include methodology or panel-perspectives sections; every exclusion needs explicit approval. Silent drops destroy information the user intended to capture." |
| "Run all atomization windows in parallel for speed." | "Sequential windows are required because each dispatch writes to a numbered output file and shares agent context; parallel writes would collide and produce interleaved output." |
atomization-proposer with more than ATOMIZATION_WAVE_WORD_CAP words.<vault>/<INBOX_FOLDER>/ instead of <vault>/<permanent_folder>/research/.type: research, source_type: research-report, or report_path from any note's frontmatter..5 approval gate without explicit "approve" from the user.Print this block before concluding — silent checks get skipped:
vault-research verification:
[ ] parsed_report.md shown verbatim via AskUserQuestion before any atomization
[ ] proposals.md shown verbatim via AskUserQuestion before any vault write
[ ] link_suggestions.md shown verbatim via AskUserQuestion before any link was written
[ ] All written notes carry type: research, source_type: research-report, report_path, status: draft
[ ] state.md Status is `complete` with Completed timestamp
If any box is unchecked, the skill did not run correctly — report the failure explicitly rather than claiming success.