AS
AgSkills.dev
MARKETPLACE

writer-memory

Agentic memory system for writers - track characters, relationships, scenes, and themes

5.7k
406

Preview

SKILL.md
name
writer-memory
description
Agentic memory system for writers - track characters, relationships, scenes, and themes
argument-hint
"init|char|rel|scene|query|validate|synopsis|status|export [args]"

Writer Memory - Agentic Memory System for Writers

Persistent memory system designed for creative writers, with first-class support for Korean storytelling workflows.

Overview

Writer Memory maintains context across Claude sessions for fiction writers. It tracks:

  • Characters (์บ๋ฆญํ„ฐ): Emotional arcs (๊ฐ์ •๊ถค๋„), attitudes (ํƒœ๋„), dialogue tone (๋Œ€์‚ฌํ†ค), speech levels
  • World (์„ธ๊ณ„๊ด€): Settings, rules, atmosphere, constraints
  • Relationships (๊ด€๊ณ„): Character dynamics and evolution over time
  • Scenes (์žฅ๋ฉด): Cut composition (์ปท๊ตฌ์„ฑ), narration tone, emotional tags
  • Themes (ํ…Œ๋งˆ): Emotional themes (์ •์„œํ…Œ๋งˆ), authorial intent

All data persists in .writer-memory/memory.json for git-friendly collaboration.

Commands

CommandAction
/oh-my-claudecode:writer-memory init <project-name>Initialize new project memory
/oh-my-claudecode:writer-memory statusShow memory overview (character count, scene count, etc)
/oh-my-claudecode:writer-memory char add <name>Add new character
/oh-my-claudecode:writer-memory char <name>View character details
/oh-my-claudecode:writer-memory char update <name> <field> <value>Update character field
/oh-my-claudecode:writer-memory char listList all characters
/oh-my-claudecode:writer-memory rel add <char1> <char2> <type>Add relationship
/oh-my-claudecode:writer-memory rel <char1> <char2>View relationship
/oh-my-claudecode:writer-memory rel update <char1> <char2> <event>Add relationship event
/oh-my-claudecode:writer-memory scene add <title>Add new scene
/oh-my-claudecode:writer-memory scene <id>View scene details
/oh-my-claudecode:writer-memory scene listList all scenes
/oh-my-claudecode:writer-memory theme add <name>Add theme
/oh-my-claudecode:writer-memory world set <field> <value>Set world attribute
/oh-my-claudecode:writer-memory query <question>Query memory naturally (Korean supported)
/oh-my-claudecode:writer-memory validate <character> <dialogue>Check if dialogue matches character tone
/oh-my-claudecode:writer-memory synopsisGenerate emotion-focused synopsis
/oh-my-claudecode:writer-memory exportExport full memory as readable markdown
/oh-my-claudecode:writer-memory backupCreate manual backup

Memory Types

์บ๋ฆญํ„ฐ ๋ฉ”๋ชจ๋ฆฌ (Character Memory)

Tracks individual character attributes essential for consistent portrayal:

FieldKoreanDescription
arc๊ฐ์ •๊ถค๋„Emotional journey (e.g., "์ฒด๋… -> ์š•๋ง์ž๊ฐ -> ์„ ํƒ")
attitudeํƒœ๋„Current disposition toward life/others
tone๋Œ€์‚ฌํ†คDialogue style (e.g., "๋‹ด๋ฐฑ", "์ง์„ค์ ", "ํšŒํ”ผ์ ")
speechLevel๋งํˆฌ ๋ ˆ๋ฒจFormality: ๋ฐ˜๋ง, ์กด๋Œ“๋ง, ํ•ด์ฒด, ํ˜ผํ•ฉ
keywordsํ•ต์‹ฌ ๋‹จ์–ดCharacteristic words/phrases they use
taboo๊ธˆ๊ธฐ์–ดWords/phrases they would never say
emotional_baseline๊ฐ์ • ๊ธฐ์ค€์„ Default emotional state
triggersํŠธ๋ฆฌ๊ฑฐWhat provokes emotional reactions

Example:

/writer-memory char add ์ƒˆ๋ž‘
/writer-memory char update ์ƒˆ๋ž‘ arc "์ฒด๋… -> ์š•๋ง์ž๊ฐ -> ์„ ํƒ"
/writer-memory char update ์ƒˆ๋ž‘ tone "๋‹ด๋ฐฑ, ํ˜„์žฌ์ถฉ์‹ค, ๊ฐ์ •์–ต์ œ"
/writer-memory char update ์ƒˆ๋ž‘ speechLevel "ํ•ด์ฒด"
/writer-memory char update ์ƒˆ๋ž‘ keywords "๊ทธ๋ƒฅ, ๋ญ, ๊ดœ์ฐฎ์•„"
/writer-memory char update ์ƒˆ๋ž‘ taboo "์‚ฌ๋ž‘ํ•ด, ๋ณด๊ณ ์‹ถ์–ด"

์„ธ๊ณ„๊ด€ ๋ฉ”๋ชจ๋ฆฌ (World Memory)

Establishes the universe your story inhabits:

FieldKoreanDescription
setting๋ฐฐ๊ฒฝTime, place, social context
rules๊ทœ์น™How the world operates (magic systems, social norms)
atmosphere๋ถ„์œ„๊ธฐOverall mood and tone
constraints์ œ์•ฝWhat cannot happen in this world
history์—ญ์‚ฌRelevant backstory

๊ด€๊ณ„ ๋ฉ”๋ชจ๋ฆฌ (Relationship Memory)

Captures the dynamic between characters over time:

FieldDescription
typeBase relationship: romantic, familial, friendship, rivalry, professional
statusCurrent state: budding, stable, strained, broken, healing
power_dynamicWho has the upper hand, if any
eventsTimeline of relationship-changing moments
tensionCurrent unresolved conflicts
intimacy_levelEmotional closeness (1-10)

Example:

/writer-memory rel add ์ƒˆ๋ž‘ ํ•ด๋ž‘ romantic
/writer-memory rel update ์ƒˆ๋ž‘ ํ•ด๋ž‘ "์ฒซ ํ‚ค์Šค - ์ƒˆ๋ž‘ ํšŒํ”ผ"
/writer-memory rel update ์ƒˆ๋ž‘ ํ•ด๋ž‘ "ํ•ด๋ž‘ ๊ณ ๋ฐฑ ๊ฑฐ์ ˆ๋‹นํ•จ"
/writer-memory rel update ์ƒˆ๋ž‘ ํ•ด๋ž‘ "์ƒˆ๋ž‘ ๋จผ์ € ์† ์žก์Œ"

์žฅ๋ฉด ๋ฉ”๋ชจ๋ฆฌ (Scene Memory)

Tracks individual scenes and their emotional architecture:

FieldKoreanDescription
title์ œ๋ชฉScene identifier
characters๋“ฑ์žฅ์ธ๋ฌผWho appears
location์žฅ์†ŒWhere it happens
cuts์ปท ๊ตฌ์„ฑShot-by-shot breakdown
narration_tone๋‚ด๋ ˆ์ด์…˜ ํ†คNarrative voice style
emotional_tag๊ฐ์ • ํƒœ๊ทธPrimary emotions (e.g., "์„ค๋ ˜+๋ถˆ์•ˆ")
purpose๋ชฉ์ Why this scene exists in the story
before_after์ „ํ›„ ๋ณ€ํ™”What changes for characters

ํ…Œ๋งˆ ๋ฉ”๋ชจ๋ฆฌ (Theme Memory)

Captures the deeper meaning woven through your story:

FieldKoreanDescription
name์ด๋ฆ„Theme identifier
expressionํ‘œํ˜„ ๋ฐฉ์‹How this theme manifests
scenes๊ด€๋ จ ์žฅ๋ฉดScenes that embody this theme
character_links์บ๋ฆญํ„ฐ ์—ฐ๊ฒฐWhich characters carry this theme
author_intent์ž‘๊ฐ€ ์˜๋„What you want readers to feel

Synopsis Generation (์‹œ๋†‰์‹œ์Šค)

The /synopsis command generates an emotion-focused summary using 5 essential elements:

5 Essential Elements (์‹œ๋†‰์‹œ์Šค 5์š”์†Œ)

  1. ์ฃผ์ธ๊ณต ํƒœ๋„ ์š”์•ฝ (Protagonist Attitude Summary)

    • How the protagonist approaches life/love/conflict
    • Their core emotional stance
    • Example: "์ƒˆ๋ž‘์€ ์ƒ์‹ค์„ ์˜ˆ๋ฐฉํ•˜๊ธฐ ์œ„ํ•ด ๋จผ์ € ํฌ๊ธฐํ•˜๋Š” ์‚ฌ๋žŒ"
  2. ๊ด€๊ณ„ ํ•ต์‹ฌ ๊ตฌ๋„ (Core Relationship Structure)

    • The central dynamic driving the story
    • Power imbalances and tensions
    • Example: "์‚ฌ๋ž‘๋ฐ›๋Š” ์ž์™€ ์‚ฌ๋ž‘ํ•˜๋Š” ์ž์˜ ๋ถˆ๊ท ํ˜•"
  3. ์ •์„œ์  ํ…Œ๋งˆ (Emotional Theme)

    • The feeling the story evokes
    • Not plot, but emotional truth
    • Example: "์†์— ์ฅ” ํ–‰๋ณต์„ ๋ฏฟ์ง€ ๋ชปํ•˜๋Š” ๋ถˆ์•ˆ"
  4. ์žฅ๋ฅด vs ์‹ค์ œ๊ฐ์ • ๋Œ€๋น„ (Genre vs Real Emotion Contrast)

    • Surface genre expectations vs. actual emotional content
    • Example: "๋กœ๋งจ์Šค์ง€๋งŒ ๋ณธ์งˆ์€ ์ž๊ธฐ์ˆ˜์šฉ ์„œ์‚ฌ"
  5. ์—”๋”ฉ ์ •์„œ ์ž”์ƒ (Ending Emotional Aftertaste)

    • The lingering feeling after the story ends
    • Example: "์”์“ธํ•œ ์•ˆ๋„, ๋ถˆ์™„์ „ํ•œ ํ•ดํ”ผ์—”๋”ฉ์˜ ์—ฌ์šด"

Character Validation (์บ๋ฆญํ„ฐ ๊ฒ€์ฆ)

The /validate command checks if dialogue matches a character's established voice.

What Gets Checked

CheckDescription
Speech LevelDoes formality match? (๋ฐ˜๋ง/์กด๋Œ“๋ง/ํ•ด์ฒด)
Tone MatchDoes the emotional register fit?
Keyword UsageUses characteristic words?
Taboo ViolationUses forbidden words?
Emotional RangeWithin character's baseline?
Context FitAppropriate for relationship and scene?

Validation Results

  • PASS: Dialogue is consistent with character
  • WARN: Minor inconsistencies, may be intentional
  • FAIL: Significant deviation from established voice

Example:

/writer-memory validate ์ƒˆ๋ž‘ "์‚ฌ๋ž‘ํ•ด, ํ•ด๋ž‘์•„. ๋„ˆ๋ฌด ๋ณด๊ณ ์‹ถ์—ˆ์–ด."

Output:

[FAIL] ์ƒˆ๋ž‘ validation failed:
- TABOO: "์‚ฌ๋ž‘ํ•ด" - character avoids direct declarations
- TABOO: "๋ณด๊ณ ์‹ถ์—ˆ์–ด" - character suppresses longing expressions
- TONE: Too emotionally direct for ์ƒˆ๋ž‘'s ๋‹ด๋ฐฑ style

Suggested alternatives:
- "...์™”๋„ค." (minimal acknowledgment)
- "๋Šฆ์—ˆ๋‹ค." (deflection to external fact)
- "๋ฐฅ ๋จน์—ˆ์–ด?" (care expressed through practical concern)

Context Query (๋งฅ๋ฝ ์งˆ์˜)

Natural language queries against memory, with full Korean support.

Example Queries

/writer-memory query "์ƒˆ๋ž‘์€ ์ด ์ƒํ™ฉ์—์„œ ๋ญ๋ผ๊ณ  ํ• ๊นŒ?"
/writer-memory query "๊ทœ๋ฆฌ์˜ ํ˜„์žฌ ๊ฐ์ • ์ƒํƒœ๋Š”?"
/writer-memory query "ํ•ด๋ž‘๊ณผ ์ƒˆ๋ž‘์˜ ๊ด€๊ณ„๋Š” ์–ด๋””๊นŒ์ง€ ์™”๋‚˜?"
/writer-memory query "์ด ์žฅ๋ฉด์˜ ์ •์„œ์  ๋ถ„์œ„๊ธฐ๋Š”?"
/writer-memory query "์ƒˆ๋ž‘์ด ๋จผ์ € ์—ฐ๋ฝํ•˜๋Š” ๊ฒŒ ๋งž์•„?"
/writer-memory query "ํ•ด๋ž‘์ด ํ™”๋‚ฌ์„ ๋•Œ ๋งํˆฌ๋Š”?"

The system synthesizes answers from all relevant memory types.

Behavior

  1. On Init: Creates .writer-memory/memory.json with project metadata and empty collections
  2. Auto-Backup: Changes are backed up before modification to .writer-memory/backups/
  3. Korean-First: Emotion vocabulary uses Korean terms throughout
  4. Session Loading: Memory is loaded on session start for immediate context
  5. Git-Friendly: JSON formatted for clean diffs and collaboration

Integration

With OMC Notepad System

Writer Memory integrates with .omc/notepad.md:

  • Scene ideas can be captured as notes
  • Character insights from analysis sessions are preserved
  • Cross-reference between notepad and memory

With Architect Agent

For complex character analysis:

Task(subagent_type="oh-my-claudecode:architect",
     model="opus",
     prompt="Analyze ์ƒˆ๋ž‘'s arc across all scenes...")

Character Validation Pipeline

Validation pulls context from:

  • Character memory (tone, keywords, taboo)
  • Relationship memory (dynamics with dialogue partner)
  • Scene memory (current emotional context)
  • Theme memory (authorial intent)

Synopsis Builder

Synopsis generation aggregates:

  • All character arcs
  • Key relationship events
  • Scene emotional tags
  • Theme expressions

Examples

Full Workflow

# Initialize project
/writer-memory init ๋ด„์˜ ๋์ž๋ฝ

# Add characters
/writer-memory char add ์ƒˆ๋ž‘
/writer-memory char update ์ƒˆ๋ž‘ arc "์ฒด๋… -> ์š•๋ง์ž๊ฐ -> ์„ ํƒ"
/writer-memory char update ์ƒˆ๋ž‘ tone "๋‹ด๋ฐฑ, ํ˜„์žฌ์ถฉ์‹ค"
/writer-memory char update ์ƒˆ๋ž‘ speechLevel "ํ•ด์ฒด"

/writer-memory char add ํ•ด๋ž‘
/writer-memory char update ํ•ด๋ž‘ arc "ํ™•์‹  -> ๋™์š” -> ๊ธฐ๋‹ค๋ฆผ"
/writer-memory char update ํ•ด๋ž‘ tone "์ง์ง„, ์†”์ง"
/writer-memory char update ํ•ด๋ž‘ speechLevel "๋ฐ˜๋ง"

# Establish relationship
/writer-memory rel add ์ƒˆ๋ž‘ ํ•ด๋ž‘ romantic
/writer-memory rel update ์ƒˆ๋ž‘ ํ•ด๋ž‘ "์ฒซ ๋งŒ๋‚จ - ํ•ด๋ž‘ ์ผ๋ฐฉ์  ํ˜ธ๊ฐ"
/writer-memory rel update ์ƒˆ๋ž‘ ํ•ด๋ž‘ "์ƒˆ๋ž‘ ๊ฑฐ์ ˆ"
/writer-memory rel update ์ƒˆ๋ž‘ ํ•ด๋ž‘ "์žฌํšŒ - ์ƒˆ๋ž‘ ๋‚ด์  ๋™์š”"

# Set world
/writer-memory world set setting "์„œ์šธ, ํ˜„๋Œ€, 20๋Œ€ ํ›„๋ฐ˜ ์ง์žฅ์ธ"
/writer-memory world set atmosphere "๋„์‹œ์˜ ๊ฑด์กฐํ•จ ์† ๋ฏธ๋ฌ˜ํ•œ ์˜จ๊ธฐ"

# Add themes
/writer-memory theme add "ํฌ๊ธฐํ•˜์ง€ ์•Š๋Š” ์‚ฌ๋ž‘"
/writer-memory theme add "์ž๊ธฐ ๋ณดํ˜ธ์˜ ๋ฒฝ"

# Add scene
/writer-memory scene add "์˜ฅ์ƒ ์žฌํšŒ"

# Query for writing
/writer-memory query "์ƒˆ๋ž‘์€ ์ด๋ณ„ ์žฅ๋ฉด์—์„œ ์–ด๋–ค ํ†ค์œผ๋กœ ๋งํ• ๊นŒ?"

# Validate dialogue
/writer-memory validate ์ƒˆ๋ž‘ "ํ•ด๋ž‘์•„, ๊ทธ๋งŒํ•˜์ž."

# Generate synopsis
/writer-memory synopsis

# Export for reference
/writer-memory export

Quick Character Check

/writer-memory char ์ƒˆ๋ž‘

Output:

## ์ƒˆ๋ž‘

**Arc (๊ฐ์ •๊ถค๋„):** ์ฒด๋… -> ์š•๋ง์ž๊ฐ -> ์„ ํƒ
**Attitude (ํƒœ๋„):** ๋ฐฉ์–ด์ , ํ˜„์‹ค์ฃผ์˜
**Tone (๋Œ€์‚ฌํ†ค):** ๋‹ด๋ฐฑ, ํ˜„์žฌ์ถฉ์‹ค
**Speech Level (๋งํˆฌ):** ํ•ด์ฒด
**Keywords (ํ•ต์‹ฌ์–ด):** ๊ทธ๋ƒฅ, ๋ญ, ๊ดœ์ฐฎ์•„
**Taboo (๊ธˆ๊ธฐ์–ด):** ์‚ฌ๋ž‘ํ•ด, ๋ณด๊ณ ์‹ถ์–ด

**Relationships:**
- ํ•ด๋ž‘: romantic (intimacy: 6/10, status: healing)

**Scenes Appeared:** ์˜ฅ์ƒ ์žฌํšŒ, ์นดํŽ˜ ๋Œ€ํ™”, ๋งˆ์ง€๋ง‰ ์„ ํƒ

Storage Schema

{ "version": "1.0", "project": { "name": "๋ด„์˜ ๋์ž๋ฝ", "genre": "๋กœ๋งจ์Šค", "created": "2024-01-15T09:00:00Z", "lastModified": "2024-01-20T14:30:00Z" }, "characters": { "์ƒˆ๋ž‘": { "arc": "์ฒด๋… -> ์š•๋ง์ž๊ฐ -> ์„ ํƒ", "attitude": "๋ฐฉ์–ด์ , ํ˜„์‹ค์ฃผ์˜", "tone": "๋‹ด๋ฐฑ, ํ˜„์žฌ์ถฉ์‹ค", "speechLevel": "ํ•ด์ฒด", "keywords": ["๊ทธ๋ƒฅ", "๋ญ", "๊ดœ์ฐฎ์•„"], "taboo": ["์‚ฌ๋ž‘ํ•ด", "๋ณด๊ณ ์‹ถ์–ด"], "emotional_baseline": "ํ‰์˜จํ•œ ๋ฌด๊ด€์‹ฌ", "triggers": ["๊ณผ๊ฑฐ ์–ธ๊ธ‰", "๋ฏธ๋ž˜ ์•ฝ์†"] } }, "world": { "setting": "์„œ์šธ, ํ˜„๋Œ€, 20๋Œ€ ํ›„๋ฐ˜ ์ง์žฅ์ธ", "rules": [], "atmosphere": "๋„์‹œ์˜ ๊ฑด์กฐํ•จ ์† ๋ฏธ๋ฌ˜ํ•œ ์˜จ๊ธฐ", "constraints": [], "history": "" }, "relationships": [ { "id": "rel_001", "from": "์ƒˆ๋ž‘", "to": "ํ•ด๋ž‘", "type": "romantic", "dynamic": "ํ•ด๋ž‘ ์ฃผ๋„ โ†’ ๊ท ํ˜•", "speechLevel": "๋ฐ˜๋ง", "evolution": [ { "timestamp": "...", "change": "์ฒซ ๋งŒ๋‚จ - ํ•ด๋ž‘ ์ผ๋ฐฉ์  ํ˜ธ๊ฐ", "catalyst": "์šฐ์—ฐํ•œ ๋งŒ๋‚จ" }, { "timestamp": "...", "change": "์ƒˆ๋ž‘ ๊ฑฐ์ ˆ", "catalyst": "๊ณผ๊ฑฐ ํŠธ๋ผ์šฐ๋งˆ" }, { "timestamp": "...", "change": "์žฌํšŒ - ์ƒˆ๋ž‘ ๋‚ด์  ๋™์š”", "catalyst": "์˜ฅ์ƒ์—์„œ ์žฌํšŒ" } ], "notes": "์ƒˆ๋ž‘์˜ ๋ถˆ์‹  vs ํ•ด๋ž‘์˜ ๊ธฐ๋‹ค๋ฆผ", "created": "..." } ], "scenes": [ { "id": "scene-001", "title": "์˜ฅ์ƒ ์žฌํšŒ", "characters": ["์ƒˆ๋ž‘", "ํ•ด๋ž‘"], "location": "ํšŒ์‚ฌ ์˜ฅ์ƒ", "cuts": ["ํ•ด๋ž‘ ๋จผ์ € ๋ฐœ๊ฒฌ", "์ƒˆ๋ž‘ ๊ตณ์€ ํ‘œ์ •", "์นจ๋ฌต", "ํ•ด๋ž‘ ๋จผ์ € ๋ง ๊ฑธ๊ธฐ"], "narration_tone": "๊ฑด์กฐ์ฒด", "emotional_tag": "๊ธด์žฅ+๊ทธ๋ฆฌ์›€", "purpose": "์žฌํšŒ์˜ ์–ด์ƒ‰ํ•จ๊ณผ ๋‚จ์€ ๊ฐ์ • ์•”์‹œ", "before_after": "์ƒˆ๋ž‘: ๋ฌด๊ด€์‹ฌ -> ๋™์š”" } ], "themes": [ { "name": "ํฌ๊ธฐํ•˜์ง€ ์•Š๋Š” ์‚ฌ๋ž‘", "expression": "ํ•ด๋ž‘์˜ ์ผ๊ด€๋œ ํƒœ๋„", "scenes": ["์˜ฅ์ƒ ์žฌํšŒ", "๋งˆ์ง€๋ง‰ ๊ณ ๋ฐฑ"], "character_links": ["ํ•ด๋ž‘"], "author_intent": "์ง‘์ฐฉ์ด ์•„๋‹Œ ๋ฏฟ์Œ์˜ ์‚ฌ๋ž‘" } ], "synopsis": { "protagonist_attitude": "์ƒˆ๋ž‘์€ ์ƒ์‹ค์„ ์˜ˆ๋ฐฉํ•˜๊ธฐ ์œ„ํ•ด ๋จผ์ € ํฌ๊ธฐํ•˜๋Š” ์‚ฌ๋žŒ", "relationship_structure": "๊ธฐ๋‹ค๋ฆฌ๋Š” ์ž์™€ ๋„๋ง์น˜๋Š” ์ž์˜ ์ค„๋‹ค๋ฆฌ๊ธฐ", "emotional_theme": "์‚ฌ๋ž‘๋ฐ›์„ ์ž๊ฒฉ์— ๋Œ€ํ•œ ์˜์‹ฌ", "genre_contrast": "๋กœ๋งจ์Šค์ง€๋งŒ ๋ณธ์งˆ์€ ์ž๊ธฐ์ˆ˜์šฉ ์„œ์‚ฌ", "ending_aftertaste": "๋ถˆ์™„์ „ํ•˜์ง€๋งŒ ๋”ฐ๋œปํ•œ ์„ ํƒ์˜ ์—ฌ์šด" } }

File Structure

.writer-memory/
โ”œโ”€โ”€ memory.json          # Main memory file
โ”œโ”€โ”€ backups/             # Auto-backups before changes
โ”‚   โ”œโ”€โ”€ memory-2024-01-15-090000.json
โ”‚   โ””โ”€โ”€ memory-2024-01-20-143000.json
โ””โ”€โ”€ exports/             # Markdown exports
    โ””โ”€โ”€ export-2024-01-20.md

Tips for Writers

  1. Start with Characters: Build character memories before scenes
  2. Update Relationships After Key Scenes: Track evolution actively
  3. Use Validation While Writing: Catch voice inconsistencies early
  4. Query Before Difficult Scenes: Let the system remind you of context
  5. Regular Synopsis: Generate periodically to check thematic coherence
  6. Backup Before Major Changes: Use /backup before significant story pivots

Troubleshooting

Memory not loading?

  • Check .writer-memory/memory.json exists
  • Verify JSON syntax is valid
  • Run /writer-memory status to diagnose

Validation too strict?

  • Review taboo list for unintended entries
  • Consider if character is growing (arc progression)
  • Intentional breaks from pattern are valid for dramatic moments

Query not finding context?

  • Ensure relevant data is in memory
  • Try more specific queries
  • Check character names match exactly
GitHub Repository
Yeachan-Heo/oh-my-claudecode
Stars
5,707
Forks
406
Open Repository
Install Skill
Download ZIP7 files