feat: Configurable modes system for observation types and prompts #302

Closed
opened 2026-01-25 17:58:08 +00:00 by jack · 0 comments
Owner

Summary

Add a configurable modes system that allows customizing observation types, concepts, and prompts for different use cases and languages.

Concept

Modes are JSON configuration files that define:

  • Observation types (bugfix, feature, discovery, etc.)
  • Observation concepts (how-it-works, problem-solution, gotcha, etc.)
  • Prompts for the AI worker (system identity, output format, etc.)

Mode Inheritance

Modes can inherit from a base mode using -- syntax:

  • code → Base software development mode
  • code--de → German language variant (inherits from code, overrides prompts)
  • code--chill → Relaxed mode with different tone

Example Modes

Default: code.json

{
  "name": "Code Development",
  "observation_types": [
    { "id": "bugfix", "label": "Bug Fix", "emoji": "🔴" },
    { "id": "feature", "label": "Feature", "emoji": "🟣" },
    { "id": "discovery", "label": "Discovery", "emoji": "🔵" }
  ]
}

Alternative: email-investigation.json

{
  "name": "Email Investigation",
  "observation_types": [
    { "id": "entity", "label": "Entity Discovery", "emoji": "👤" },
    { "id": "relationship", "label": "Relationship", "emoji": "🔗" },
    { "id": "anomaly", "label": "Anomaly", "emoji": "⚠️" }
  ]
}

Use Cases

  1. Multi-language support - Observations written in German, Japanese, etc.
  2. Non-code use cases - Research, investigation, note-taking
  3. Team customization - Company-specific observation types
  4. Tone variants - Professional vs casual modes

Implementation Considerations

  • Store modes in ~/.claude-mem/modes/ or package defaults
  • Add CLAUDE_MEM_MODE setting (default: code)
  • ModeManager singleton to load/cache active mode
  • Worker prompts generated from mode config
  • UI could show mode-specific icons/labels

Prerequisites

  • Current observation types are hardcoded in worker prompts
  • Need to extract prompts into configurable templates

Inspired by: https://github.com/thedotmack/claude-mem (ModeManager + modes system)

## Summary Add a configurable modes system that allows customizing observation types, concepts, and prompts for different use cases and languages. ## Concept Modes are JSON configuration files that define: - **Observation types** (bugfix, feature, discovery, etc.) - **Observation concepts** (how-it-works, problem-solution, gotcha, etc.) - **Prompts** for the AI worker (system identity, output format, etc.) ### Mode Inheritance Modes can inherit from a base mode using `--` syntax: - `code` → Base software development mode - `code--de` → German language variant (inherits from `code`, overrides prompts) - `code--chill` → Relaxed mode with different tone ### Example Modes **Default: `code.json`** ```json { "name": "Code Development", "observation_types": [ { "id": "bugfix", "label": "Bug Fix", "emoji": "🔴" }, { "id": "feature", "label": "Feature", "emoji": "🟣" }, { "id": "discovery", "label": "Discovery", "emoji": "🔵" } ] } ``` **Alternative: `email-investigation.json`** ```json { "name": "Email Investigation", "observation_types": [ { "id": "entity", "label": "Entity Discovery", "emoji": "👤" }, { "id": "relationship", "label": "Relationship", "emoji": "🔗" }, { "id": "anomaly", "label": "Anomaly", "emoji": "⚠️" } ] } ``` ## Use Cases 1. **Multi-language support** - Observations written in German, Japanese, etc. 2. **Non-code use cases** - Research, investigation, note-taking 3. **Team customization** - Company-specific observation types 4. **Tone variants** - Professional vs casual modes ## Implementation Considerations - Store modes in `~/.claude-mem/modes/` or package defaults - Add `CLAUDE_MEM_MODE` setting (default: `code`) - ModeManager singleton to load/cache active mode - Worker prompts generated from mode config - UI could show mode-specific icons/labels ## Prerequisites - Current observation types are hardcoded in worker prompts - Need to extract prompts into configurable templates --- Inspired by: https://github.com/thedotmack/claude-mem (ModeManager + modes system)
jack closed this issue 2026-01-25 20:11:10 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
customable/claude-mem#302
No description provided.