<purpose>
Atomic note creation skill that enforces all memory-rules before write_note().
Use this skill for EVERY new note creation to ensure quality standards.
</purpose>
<workflow>
<phase name="pre-creation">
<step>Read rules from memory-rules project:
- search_notes(query="New Note Checklist", project="memory-rules")
- search_notes(query="Relation Creation Rules", project="memory-rules")
</step>
<step>Search current project for duplicates using semantic search:
- search_notes(query="topic keywords", project="target-project", search_type="semantic")
</step>
<step>If potential duplicate found, decide: update existing or create new</step>
</phase>
<phase name="content-preparation">
<step>Prepare title: Specific, searchable, follows templates</step>
<step>Prepare observations: 3-5 with specific categories</step>
<step>Prepare tags: 3-5 relevant, lowercase hyphenated</step>
<step>Choose folder: Appropriate for content type</step>
<step>If note_type is known, include it as a tag (e.g., "decision", "bug-report", "code-pattern")</step>
</phase>
<phase name="relation-verification">
<step>For EACH planned relation:</step>
<step>1. Search for target: search_notes(query="target title", project="current")</step>
<step>2. Verify target exists in search results</step>
<step>3. Verify target ≠ current note title (NO SELF-REFERENCE)</step>
<step>4. Verify target in same project (or use text format for cross-project)</step>
<step>5. Copy exact title from search results</step>
<step>6. Choose specific relation type (not generic relates_to)</step>
</phase>
<phase name="final-checklist">
<step>Before write_note(), verify:</step>
<step>- [ ] Title is specific and unique</step>
<step>- [ ] 3-5 observations with categories</step>
<step>- [ ] 2-3+ relations, all verified</step>
<step>- [ ] No self-referential relations</step>
<step>- [ ] No cross-project WikiLinks</step>
<step>- [ ] Tags are relevant and searchable</step>
<step>- [ ] Folder is appropriate</step>
</phase>
<phase name="creation">
<step>Execute write_note() with prepared content</step>
<step>If a schema exists for this note type (e.g., design-decision, bug-report), set the frontmatter type field accordingly</step>
<step>Verify creation: read_note() to confirm</step>
<step>Check resolved vs unresolved relations in response</step>
</phase>
<phase name="index-assessment">
<step>After creating the note, assess: does this introduce a NEW topic area to the project?</step>
<step>Indicators of new topic area:
- First note in a new folder/category
- Describes a completely new concept not covered by existing notes
- Would be useful as an entry point for understanding the project
</step>
<step>If YES: read per-project index note, append new entry-point link using edit_note()</step>
<step>If NO (most cases): no index change needed</step>
<step>Index notes MUST use "documents" or "encompasses" relation types — NEVER "relates_to"</step>
</phase>
</workflow>