Reference checklist for Basic Memory note quality — rules preventing self-referential content in subject-domain notes (the fourth-wall anti-pattern). Preloaded into knowledge-maintainer and knowledge-gardener agents via the skills frontmatter field.
Scanned 5/27/2026
Install via CLI
openskills install voxpelli/vp-claude---
name: vp-note-quality
description: "Reference checklist for Basic Memory note quality — rules preventing self-referential content in subject-domain notes (the fourth-wall anti-pattern). Preloaded into knowledge-maintainer and knowledge-gardener agents via the skills frontmatter field."
user-invocable: false
allowed-tools: []
---
# Note Quality Checklist
When writing or editing Basic Memory notes, apply these rules to prevent the
"fourth-wall anti-pattern" — self-referential content that references the
knowledge graph, the enrichment process, or the state of personal knowledge
sources instead of focusing on the note's subject.
**Root cause:** Task-boundary collapse. When an agent evaluates whether a topic
fits the graph AND writes the note, the evaluation leaks into the content. The
fix is a firewall: discard graph-fitting analysis before writing.
**Diagnostic question:** "If this note were exported and read by someone who
knew nothing about the enrichment session and had never heard of Basic Memory,
would every sentence make sense?" If no — it is harmful self-reference.
## Rules
1. **Subject test.** Every sentence — including frontmatter prose fields like
`description` — must be about the note's declared subject. Content about the
knowledge graph, the enrichment session, or personal knowledge sources must
be deleted before writing.
2. **No inventory claims.** Never write "X has zero presence in
Raindrop/Readwise/Basic Memory." Coverage state is ephemeral and becomes
false immediately. It belongs in session notes, not permanent knowledge notes.
3. **No significance rankings.** Never write "this is the most significant gap"
or "this is the most important connection." These are editorial judgments
about the session, not facts about the subject.
4. **Firewall graph-fitting analysis.** If you assessed whether a topic fills a
graph gap before writing, discard that analysis entirely. The note is not a
report on the assessment; it is knowledge about the subject.
5. **`[gap]` means subject gap, not coverage gap.** A `[gap]` observation
records something unknown about the subject itself (e.g., "The mechanism by
which X spread to Y is undocumented"). It never records that the subject was
absent from Raindrop or Readwise.
6. **`[raindrop]` and `[readwise]` must cite artifacts.** Only add these
observations if you have a specific bookmark URL, title, or highlight text.
"No Raindrop bookmarks exist" is not a valid observation. Prefer `[quote]`,
`[source]`, `[pattern]`, or `[connection]` for the insight itself — use
`[raindrop]`/`[readwise]` only when the provenance IS the point.
7. **No self-referential sections.** Headings must describe aspects of the
subject. Sections named "Connection to the Knowledge Graph," "Graph
Coverage," "Significance to the Graph," or "Why This Note Exists" are
forbidden.
8. **Export test.** Read the overview paragraph as if to someone who has never
heard of Basic Memory. If it would not make sense without knowing you are
building a knowledge graph, rewrite it.
9. **Lede paragraph is subject-first.** The first sentence must state what the
subject is, not what the graph lacks. Write "Scandinavian Participatory
Design is a tradition originating in 1970s Scandinavia..." not "This topic
is completely absent from all personal knowledge sources."
10. **Session observations go in session notes.** Insights about the enrichment
session itself (which topics cluster, what the session revealed about the
graph's shape) belong in a separate session summary note, not embedded in
the subject notes created during the session.
11. **Relation types describe subject relationships.** Types like `depends_on`,
`relates_to`, `extends`, `maintained_by` describe how subjects relate.
Types like `fills_gap_in`, `adds_coverage_for`, or `documents_gap_in`
describe graph topology and are fourth-wall violations. Replace with a
subject-appropriate relation type.
## Exception: Meta-Notes
These rules apply to **subject-domain notes** — people, patterns, history,
packages, tools, projects. Notes whose subject IS the knowledge graph itself
(axioms, conventions, tool catalogs, `engineering/agents/*` methodology notes)
may reference Basic Memory, Raindrop, and Readwise freely — that is their
subject matter.
## Red Flags (Scan Targets)
When auditing existing notes, search for these phrases:
- "zero presence in"
- "absent from the knowledge graph"
- "prior to this session" / "prior to this note"
- "most significant gap" / "most important connection"
- "Connection to the Knowledge Graph" (section header)
- "Significance to the Graph" (section header)
- "not yet in Basic Memory"
- "no presence in Raindrop"
- `fills_gap_in` / `adds_coverage_for` / `documents_gap_in` (relation type)
## Enforcement Guidance
**For the knowledge-maintainer (write agent):**
- Before every `edit_note` call on a subject-domain note, re-read the content
you are about to write and apply the diagnostic question.
- If you find a violation in a note you are editing, queue a rewrite as a
confirmation item (content-level change — requires user approval).
- When delegating to `/package-intel` or `/tool-intel`, the skill output
should already conform — but verify the result before moving on.
**For the knowledge-gardener (read-only auditor):**
- In the fourth-wall audit step, use `search_notes` with red-flag phrases.
- Classify violations by severity: (A) section-level, (B) paragraph-level,
(C) observation-level, (D) relation-level.
- Report in Warning tier with the specific offending sentence quoted.
- Do not attempt to fix — that is the maintainer's job.
No comments yet. Be the first to comment!