# Create Topic Note

> Create a topic note grouping related notes under a common theme, with automatic backlinking to source notes. Triggers: 'group these under a topic', 'create topic note for [[A]], [[B]], [[C]]'.

- Skill: `nweii/create-topic-note` (Agent Skill)
- Install (CLI): `npx skillmds add nweii/create-topic-note`
- Raw SKILL.md: https://api.skillmd.com/api/skills/nweii/create-topic-note/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: nweii (https://skillmd.com/u/nweii)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/nweii/create-topic-note

---


# Create topic note

Create a new topic note that groups related notes under a common theme. Synthesizes provided notes into a lightweight hub.

## Arguments

`$ARGUMENTS` should contain:

- **Topic title** (required) — name for the new topic note
- **Notes to group** — wikilinks or file paths to notes that share a theme

If no notes are provided, prompt for them. If no title is given but notes are provided, suggest a title based on the notes' common theme.

## Process

### 1. Read the provided notes

Read each note's frontmatter (especially `description`) and skim content to understand:

- Common themes and concepts
- Shared vocabulary or framing
- The throughline that connects them

### 2. Expand context (optional)

Use available tools to discover additional relevant notes not explicitly provided:

- **Semantic search** — When qmd is available (MCP `query` tool or `qmd query` CLI), use it for *semantic* search — `vec` or `expand` queries that find notes by meaning rather than keywords. The qmd skill documents query types. For keyword search, use obsidian search or the methods below; qmd's lex/BM25 adds nothing beyond what obsidian already provides.
- Follow wikilinks in the provided notes to find related children or siblings
- Check `related` properties for existing connections worth including
- Search for shared tags or vocabulary

If you find notes that clearly belong under this topic, propose adding them to the group. Ask the user before including notes they didn't explicitly provide.

### 3. Create the topic note

Create a new file in `03-Records/Topics/` with this structure:

```yaml
---
aliases:
  - {alternative names if useful}
icon:
description: "{1-2 sentence summary synthesized from the grouped notes}"
related: []
tags: [index, {relevant topical tags, drawn from the grouped notes}]
---

{Optional 1-2 sentences of context if needed, otherwise leave blank}

![[Related.base]]
```

#### Description guidelines

- Describe the bucket, not the current members. A topic note's membership grows over time, so the description must stay true as notes accumulate: name the theme and its recurring dimensions, never specific member notes, sources, examples, or events ("performance as a product-feel discipline, not just an engineering fix" — not "Linear and Raycast breakdowns, parser speedups"). If a detail would go stale when ten more notes join, it doesn't belong.
- Synthesize a shorthand summary that captures what connects the grouped notes
- Use terse telegraphic style: semicolons, commas, dashes over conjunctive adverbs
- Stay under 200 characters when possible
- Focus on the conceptual throughline, not an exhaustive list

#### Tag selection

- Pull relevant tags from the grouped notes
- Add `topics` tag if not present
- Keep to 5-10 tags max

### 4. Update source notes

For each note provided, add the new topic note to its `related` property:

```yaml
related:
  - "[[New Topic Note Title]]"
  - ... existing related items
```

If `related` doesn't exist, create it. Place new items at the beginning of the list.

## Output

1. The new topic note file
2. Confirmation of which notes were updated with the `related` backlink

## Example

**Input**: "Group these under a topic about attention economy critique: [[Platforms engineer compulsive consumption]], [[Optimizing for attention undermines quality experience]], [[Social media commoditizes intrinsic needs]]"

**Creates**: `03-Records/Topics/Attention economy critique.md` with description synthesized from those notes

**Updates**: Each input note gets `"[[Attention economy critique]]"` added to its `related` property

