AgentSkillsCN

obsidian-tech-note

为开发者的技术学习打造Obsidian笔记模板系统。 通过整合Templater、DataView、Tasks、Excalidraw与Advanced Table等插件,支持系统化的学习记录。 提供7种模板类型:技术概念、代码实验、对比分析、故障排除、架构模式、每日一知(TIL),以及MOC索引。

SKILL.md
--- frontmatter
name: obsidian-tech-note
description: |
  An Obsidian note template system for developer technical learning.
  Supports systematic learning records by leveraging installed plugins
  such as Templater, DataView, Tasks, Excalidraw, and Advanced Table.
  Provides 7 template types: tech concept, code lab, comparison analysis,
  troubleshooting, architecture pattern, TIL, and MOC index.

Obsidian Developer Technical Learning Note System

A template system for systematically managing the entire process of learning new technologies, practicing, performing comparative analysis, solving problems, and reflecting -- all within Obsidian.


1. Document Type Detection

Analyzes keywords from user requests to automatically select the appropriate template from 7 categories.

Detection Priority

PriorityCategoryDetection KeywordsTemplate
1troubleshootingerror, bug, fix, debug, resolvetroubleshooting
2comparisonvs, compare, difference, alternative, choosecomparison
3patternpattern, architecture, designarchitecture-pattern
4lablab, tutorial, hands-on, practice, walkthroughcode-lab
5tilTIL, today, reflectiontil
6mocMOC, index, list, roadmap, organizemoc-index
7conceptconcept, understand, learn, principle, how it works (default)tech-concept

Detection Rules

  1. Keyword matching: Check whether the request contains detection keywords
  2. Priority application: If multiple types match, select the type with the highest priority
  3. Ambiguous cases: If determination is difficult, ask the user about the document type
  4. Default: If no keywords match, select concept

2. Template List

Core Templates (4 types)

The essential templates used most frequently in daily practice.

#Template FilePurposeCategorytp.system.prompt
1tech-concept.mdLearning new technical conceptsconcept1 (tech stack)
2code-lab.mdCode practice / tutorial walkthroughlab1 (tech stack)
3troubleshooting.mdError resolution / debugging recordstroubleshooting0
4til.mdTIL / daily learning recordstil0

Extended Templates (3 types)

Extended templates used in specific situations.

#Template FilePurposeCategorytp.system.prompt
5comparison.mdLibrary / framework comparison analysiscomparison2 (comparison targets A, B)
6architecture-pattern.mdDesign pattern / architecture learningpattern1 (pattern name)
7moc-index.mdTopic-based note collection indexmoc1 (topic name)

3. Plugin Dependencies

Required

Plugins that must be installed for this template system to function.

PluginRoleUsed In Templates
TemplaterAutomatic date/filename insertion, user input prompts, template automationAll
DataViewDynamic queries based on YAML frontmatter, automatic list/table generationMOC Index, TIL

Recommended

Plugins that significantly enhance the learning experience.

PluginRoleUsed In Templates
TasksLearning checklists, review schedules, progress trackingTech Concept, Code Lab, Pattern
Advanced TableComparison table editing/sorting, Tab key cell navigationComparison Analysis
ExcalidrawArchitecture diagrams, system structure diagramsArchitecture Pattern

Optional

Additional plugins useful for specific workflows.

PluginRoleUsed In Templates
KanbanLearning progress board (To Do / In Progress / Done)External board integration
OutlinerHierarchical outline editing, fold/unfoldTech Concept, Pattern
CalendarTIL date-based navigationTIL

4. Vault Folder Structure

code
Vault/
├── _templates/           # Templater template folder (specified in Templater settings)
├── 00-MOC/               # MOC index pages
├── 01-Concepts/          # Tech concept notes
├── 02-Labs/              # Code lab notes
├── 03-References/        # Comparison analysis, troubleshooting, pattern notes
├── 04-TIL/               # TIL / daily learning records
│   └── 2026/
│       └── 02/
└── Assets/               # Images, Excalidraw files
    └── Excalidraw/

5. Unified YAML Frontmatter Schema

The YAML frontmatter superset shared by all templates.

Required Fields (5)

FieldTypeDescriptionExample
titlestringNote title"Understanding React Hooks"
createdstringCreation date (YYYY-MM-DD)"2026-02-15"
tagslistClassification tags[concept, react]
categorystringCategory (one of 7 types)"concept"
statusstringLearning status"seedling"

Optional Fields

FieldTypeDescriptionUsed In Templates
difficultystringDifficulty (beginner/intermediate/advanced)concept, lab, comparison, pattern
tech-stacklistRelated tech stackconcept, lab, comparison, pattern
relatedlistRelated note linksAll
moc-topicstringMOC topic (for DataView queries)moc-index

Status Flow

code
seedling  -->  growing  -->  evergreen
(draft)       (refining)    (complete/stable)

6. Gradual Adoption Strategy

Phase 1: Getting Started (Week 1)

  • Install only Templater and DataView plugins
  • Use only the 4 Core templates (concept, lab, troubleshooting, til)
  • Copy Core templates to the _templates/ folder
  • Focus on building the TIL habit

Phase 2: Expansion (Weeks 2-3)

  • Add Tasks and Advanced Table plugins
  • Add 3 Extended templates (comparison, pattern, moc)
  • Organize existing notes with MOC index
  • Start using review checklists

Phase 3: Optimization (Week 4+)

  • Introduce Optional plugins like Excalidraw, Kanban
  • Customize DataView queries
  • Set up Templater shortcuts (Alt+1~7)
  • Establish your own workflow

7. Templater Configuration Guide

Template Folder Location

Obsidian Settings > Templater > Template Folder Location: _templates/

Auto-Insertion Variables

Templater SyntaxDescription
<% tp.date.now("YYYY-MM-DD") %>Today's date
<% tp.date.now("YYYY-MM-DD", 7) %>Date 7 days later (review schedule)
<% tp.file.title %>Current file name
<% tp.system.prompt("Question") %>User input prompt
<% tp.file.cursor(1) %>Cursor position designation

tp.system.prompt Rules

  • Core templates: Maximum 1-2 (prioritize quick note creation)
  • Extended templates: As many as needed
  • All prompts must have defaults: tp.system.prompt("Question") || "untagged"

Recommended Shortcuts

ShortcutTemplate
Alt+1tech-concept.md
Alt+2code-lab.md
Alt+3troubleshooting.md
Alt+4til.md
Alt+5comparison.md
Alt+6architecture-pattern.md
Alt+7moc-index.md

8. DataView Query Patterns

Recent Learning Notes (7 days)

dataview
TABLE category AS "Type", status AS "Status", tech-stack AS "Tech"
FROM ""
WHERE category != null
  AND date(created) >= date(today) - dur(7 days)
SORT created DESC
LIMIT 10

Seedling Status Notes (Review Needed)

dataview
TABLE category AS "Type", created AS "Created", tech-stack AS "Tech"
FROM ""
WHERE status = "seedling"
SORT created ASC

Notes by Tech Stack

dataview
TABLE category AS "Type", status AS "Status", difficulty AS "Difficulty"
FROM ""
WHERE contains(tech-stack, "React")
SORT created DESC

Note Count by Category

dataview
TABLE WITHOUT ID
  category AS "Category",
  length(rows) AS "Count"
FROM ""
WHERE category != null
GROUP BY category
SORT length(rows) DESC

9. Tasks Usage Patterns

Basic Learning Checklist

markdown
- [ ] Concept understanding complete
- [ ] Code practice complete
- [ ] Summary and link connections
- [ ] Review in 1 week [scheduled:: 2026-02-22]

Query All Incomplete Tasks

tasks
not done
group by filename
sort by scheduled

Reviews Scheduled This Week

tasks
not done
scheduled before next week
sort by scheduled

10. Workflow

New Note Creation Flow

code
1. Ctrl+N or Templater shortcut (Alt+1~7)
   |
2. Select template (template matching the category)
   |
3. Enter basic information via Templater prompts (Core: 0-1, Extended: 1-2)
   |
4. YAML frontmatter + body structure auto-generated
   |
5. Write body content (required sections first, optional sections as needed)
   |
6. Connect related note links ([[links]])
   |
7. Automatically reflected in MOC index (DataView queries)

Review Cycle

code
Created (seedling) --> Review after 1 week --> Re-review after 1 month --> Transition to evergreen
                            |                       |                            |
                     Supplement content        Add examples              Update status

11. Important Notes

  1. Frontmatter consistency: All notes must include YAML frontmatter (DataView queries depend on it)
  2. Unified category values: Use only the 7 types: concept, lab, comparison, troubleshooting, pattern, til, moc
  3. Tag conventions: Combine category tags (#concept, #lab, etc.) + tech tags (#react, #kubernetes, etc.)
  4. Use links: Actively use [[note name]] wiki-links to connect notes
  5. Update status: Update seedling -> growing -> evergreen as learning progresses
  6. Excalidraw file path: Save to the Assets/Excalidraw/ folder