Mission
Automatically rename Claude Code sessions with intelligent, context-aware names generated by AI analysis.
Usage Guidelines
Automatic Activation
The skill runs automatically on three key hooks:
| Hook |
When it Triggers |
What it Does |
| SessionStart |
When a session begins |
Sets initial name from first meaningful message |
| PostToolUse |
After code operations (Write, Bash, git) |
Updates name based on work performed |
| UserPromptSubmit |
After significant conversation |
Refines name as session evolves |
Smart Filtering
The system intelligently avoids unnecessary renames by:
- Skipping command/skill invocations: Only processes genuine user requests
- Filtering system messages: Ignores , , artifacts
- Rate limiting: Maximum 10 automatic renames prevents spam
- Quality threshold: Only renames when meaningful improvement detected
Manual Override
# Automatic (runs on hooks - no action needed)
# The system handles everything automatically
# Manual override when you want custom names
/rename "Build JWT authentication system"
# Auto-generated examples (for reference)
"Fix: login bug"
"Add: user CRUD API"
"Refactor: auth system"
"Debug: memory leak"
Core Workflow
- Input: Hook trigger (SessionStart, PostToolUse, UserPromptSubmit)
- Process:
- Intelligently skip command/skill invocations (system-generated messages)
- Analyze session context (first real user message, recent tools, project)
- Generate concise name following "Action: Context" format
- Update session .jsonl file with system message
- Output: Session renamed and visible in history/resume
Key Principles
- Automatic operation: Runs in background without manual intervention
- Intelligent naming: LLM analysis understands session context
- Command artifact filtering: Skips , , tags from skills
- Dynamic updates: Name evolves as session progresses
- Manual override:
/rename command available for custom names
- User control: Always respects manual naming preferences
Name Format
Pattern: Action: Context
| Action Prefix |
Usage |
Example |
| Fix |
Bug fixes |
Fix: login bug |
| Add |
New features |
Add: user CRUD API |
| Update |
Modifications |
Update: database schema |
| Delete |
Removals |
Delete: deprecated code |
| Refactor |
Restructuring |
Refactor: auth system |
| Debug |
Investigation |
Debug: memory leak |
| Test |
Testing |
Test: payment flow |
| Docs |
Documentation |
Docs: API README |
| Config |
Configuration |
Config: env variables |
Integration
- SessionStart hook: Analyzes first message, sets initial name
- PostToolUse hook: Renames after Write/Bash/git operations
- UserPromptSubmit hook: Updates based on conversation evolution
- Manual command:
/rename for custom or auto-generated names
- Storage: System messages in .jsonl session files
Configuration
- maxSessionNameLength: 50 characters (default)
- maxRenamesPerSession: 10 automatic renames (default)
- renameTriggers: Control which hooks activate (sessionStart, postToolUse, userPromptSubmit)
- Config file:
config/settings.json
Error Handling
- Insufficient content: Falls back to "Working on code"
- LLM failure: Generic name, retry on next trigger
- Network issues: Graceful degradation to defaults
- File permissions: Report error, skip rename
- Max renames reached: Stop automatic renaming, manual still available
Design Principles
| Principle |
Implementation |
Benefit |
| Rate Limiting |
Maximum 10 automatic renames per session |
Prevents spam, maintains focus |
| Smart Filtering |
Filters out , , tags |
Clean, meaningful names |
| Specific Naming |
Uses "Action: Context" format with clear prefixes |
Instant session understanding |
| Non-Intrusive Operation |
Skips system-generated and skill execution messages |
No distraction during work |
| Contextual Evolution |
Updates name based on conversation progress |
Names stay relevant |
| User Sovereignty |
Manual /rename command always available |
Full control when needed |
Auto-generated from plugin.json - Last sync: 2025-01-22
1---2name: auto-rename3description: Mission4---56## Mission78Automatically rename Claude Code sessions with intelligent, context-aware names generated by AI analysis.910---1112## Usage Guidelines1314### Automatic Activation1516The skill runs automatically on three key hooks:1718| Hook | When it Triggers | What it Does |19|------|-----------------|--------------|20| **SessionStart** | When a session begins | Sets initial name from first meaningful message |21| **PostToolUse** | After code operations (Write, Bash, git) | Updates name based on work performed |22| **UserPromptSubmit** | After significant conversation | Refines name as session evolves |2324### Smart Filtering2526The system intelligently avoids unnecessary renames by:2728- **Skipping command/skill invocations**: Only processes genuine user requests29- **Filtering system messages**: Ignores <command->, <objective>, <process> artifacts30- **Rate limiting**: Maximum 10 automatic renames prevents spam31- **Quality threshold**: Only renames when meaningful improvement detected3233### Manual Override3435```bash36# Automatic (runs on hooks - no action needed)37# The system handles everything automatically3839# Manual override when you want custom names40/rename "Build JWT authentication system"4142# Auto-generated examples (for reference)43"Fix: login bug"44"Add: user CRUD API"45"Refactor: auth system"46"Debug: memory leak"47```4849---5051## Core Workflow52531. **Input**: Hook trigger (SessionStart, PostToolUse, UserPromptSubmit)542. **Process**:55 - Intelligently skip command/skill invocations (system-generated messages)56 - Analyze session context (first real user message, recent tools, project)57 - Generate concise name following "Action: Context" format58 - Update session .jsonl file with system message593. **Output**: Session renamed and visible in history/resume6061---6263## Key Principles6465- **Automatic operation**: Runs in background without manual intervention66- **Intelligent naming**: LLM analysis understands session context67- **Command artifact filtering**: Skips <command->, <objective>, <process> tags from skills68- **Dynamic updates**: Name evolves as session progresses69- **Manual override**: `/rename` command available for custom names70- **User control**: Always respects manual naming preferences7172---7374## Name Format7576### Pattern: `Action: Context`7778| Action Prefix | Usage | Example |79|---------------|-------|---------|80| **Fix** | Bug fixes | `Fix: login bug` |81| **Add** | New features | `Add: user CRUD API` |82| **Update** | Modifications | `Update: database schema` |83| **Delete** | Removals | `Delete: deprecated code` |84| **Refactor** | Restructuring | `Refactor: auth system` |85| **Debug** | Investigation | `Debug: memory leak` |86| **Test** | Testing | `Test: payment flow` |87| **Docs** | Documentation | `Docs: API README` |88| **Config** | Configuration | `Config: env variables` |8990---9192## Integration9394- **SessionStart hook**: Analyzes first message, sets initial name95- **PostToolUse hook**: Renames after Write/Bash/git operations96- **UserPromptSubmit hook**: Updates based on conversation evolution97- **Manual command**: `/rename` for custom or auto-generated names98- **Storage**: System messages in .jsonl session files99100---101102## Configuration103104- **maxSessionNameLength**: 50 characters (default)105- **maxRenamesPerSession**: 10 automatic renames (default)106- **renameTriggers**: Control which hooks activate (sessionStart, postToolUse, userPromptSubmit)107- **Config file**: `config/settings.json`108109---110111## Error Handling112113- **Insufficient content**: Falls back to "Working on code"114- **LLM failure**: Generic name, retry on next trigger115- **Network issues**: Graceful degradation to defaults116- **File permissions**: Report error, skip rename117- **Max renames reached**: Stop automatic renaming, manual still available118119---120121## Design Principles122123| Principle | Implementation | Benefit |124|-----------|----------------|---------|125| **Rate Limiting** | Maximum 10 automatic renames per session | Prevents spam, maintains focus |126| **Smart Filtering** | Filters out <command->, <objective>, <process> tags | Clean, meaningful names |127| **Specific Naming** | Uses "Action: Context" format with clear prefixes | Instant session understanding |128| **Non-Intrusive Operation** | Skips system-generated and skill execution messages | No distraction during work |129| **Contextual Evolution** | Updates name based on conversation progress | Names stay relevant |130| **User Sovereignty** | Manual /rename command always available | Full control when needed |131132---133134*Auto-generated from plugin.json - Last sync: 2025-01-22*