Notes Categorization Rules
This skill defines categorization rules for notes in the personal knowledge base, covering planning, programming, and biology domains.
Planning Notes
Target Directory: knowledge/planning/
Keywords
- "plan", "planning"
- "roadmap"
- "goal", "objective"
- "milestone"
- "strategy"
Action
When these keywords are detected:
- Generate a suitable filename based on the note's title
- Add YAML frontmatter with
creation_dateand relevanttags(e.g.,planning) - Save as Markdown file in
knowledge/planning/
Command: Archive TODO
Archives completed and cancelled todo items from knowledge/planning/todolist.md into weekly archive files.
Two-Phase Execution (both phases are mandatory):
Phase 1 — Scan & Preview
- Read
knowledge/planning/todolist.md - Identify archivable top-level items:
[x]— completed tasks (include all sub-tasks regardless of their status)[~]— cancelled tasks (include all sub-tasks, mark as "已取消" in archive)
- Never archive
[ ]parent tasks, even if some sub-tasks are[x] - Present a preview table to the user:
| # | Status | Task | Sub-tasks |
|---|--------|------|-----------|
| 1 | ✅ 完成 | Task description | 3/3 |
| 2 | ❌ 取消 | Task description | 1/2 |
- Wait for user confirmation before proceeding to Phase 2
Phase 2 — Execute Archive
- Get current date via
datecommand - Create directory
knowledge/planning/YYYY-MM/if needed - Create or append to
knowledge/planning/YYYY-MM/completed-todos-YYYY-MM-DD-weekly.md:
---
creation_date: YYYY-MM-DD
tags: [planning, archive, completed-todos]
---
- Write archived items preserving original markdown structure
- For
[~]items, prepend "[已取消]" to the task line - Remove archived items from source
todolist.md - Append to
knowledge/logs/_changelog.md - Present summary: N completed, M cancelled, archive file path
Programming Notes
Target Directory: knowledge/programming/
Keywords
- "code", "coding", "programming"
- "algorithm", "data structure"
- "Python", "JavaScript", "R", "SQL", "Java", "C++"
- "bug", "debug", "error"
- "API", "library", "framework"
Action
When these keywords are detected:
- Generate a suitable filename based on the note's title
- Add YAML frontmatter with
creation_dateand relevanttags(e.g.,programming,python) - Save as Markdown file in
knowledge/programming/
Code Formatting Rules
All code must use code blocks:
- Wrap all code in Markdown code blocks
- Always specify language type after opening backticks
Correct:
def example_function(data):
# This is an example function
return len(data)
Incorrect (missing language specifier):
def example_function(data):
return len(data)
Biology Notes
Target Directory: knowledge/biology/
Keywords
- "biology", "bioinformatics"
- "gene", "genome", "DNA", "RNA", "protein"
- "sequencing", "NGS"
- "analysis", "pipeline", "workflow"
- "research", "study", "experiment", "paper"
Action
When these keywords are detected:
- Generate a suitable filename based on the note's title
- Add YAML frontmatter with
creation_dateand relevanttags(e.g.,biology,bioinformatics) - Save as Markdown file in
knowledge/biology/
