| name | manage-project |
| description | Auto-triggers on 'new project [name]', 'load project [name]', 'save project', 'list projects'. Also triggers on 'create project', 'resume project', 'open project', 'show projects', or when user mentions switching between active projects. |
Manage Project -- LRU Project Management Skill
Smart project tracking with automatic memory management.
Activation
When this skill activates, silently determine which command was triggered and execute the matching protocol section.
Context Guard
| Context | Status |
|---|
| User says "new project [name]" | ACTIVE -- create project |
| User says "load project [name]" | ACTIVE -- load and resume |
| User says "save project" | ACTIVE -- save current progress |
| User says "list projects" | ACTIVE -- display all projects |
| Mid-conversation (no project command) | DORMANT |
Protocol: New Project
Trigger: "new project [name]" or "create project [name]"
Step 1: Parse Command
Step 2: Gather Project Details
Step 3: Create Project File
Step 4: Apply LRU Positioning
Step 5: Update Project List
Step 6: Update Session Memory
Step 7: Confirm
Protocol: Load Project
Trigger: "load project [name]" or "resume project [name]"
Step 1: Search for Project
Step 2: Handle Search Results
Step 3: Load Project Data
Step 4: Apply LRU Positioning
Step 5: Update Project File
Step 6: Update Project List
Step 7: Load into Session Memory
Step 8: Display Summary
Protocol: Save Project
Trigger: "save project" -- saves current project only, NOT AI memory
Step 1: Identify Active Project
Step 2: Gather Session Progress
Step 3: Parse Duration
Step 4: Update Project File
Step 5: Line Limit Check
Step 6: Update Project List
Step 7: Confirm Save
Protocol: List Projects
Trigger: "list projects" or "show projects"
Step 1: Read Project List
Step 2: Display
LRU Engine
Rules
- Fixed Capacity: 10 active projects (positions 1-10)
- Position-Based: Projects ranked by most recent access/creation
- Auto-Archiving: Position #11 gets archived when new project added or existing one loaded
- Reactivation: Archived projects can be loaded back (replaces position #10, archives it)
Operations
Move to Position #1:
- Identify project location (active position or archived)
- Remove from current position
- Insert at position #1
- Shift all others down by 1
- Archive position #11 if it exists
- Regenerate project-list.md
Auto-Archive:
- Move project file from
active/ to archived/
- Update project metadata: status = "Archived (LRU)", archive date added
- Update project-list.md
Project List Format
# Project Portfolio - Dynamic List
*Auto-generated by LRU Project Management System*
## Active Projects (X/10)
| Pos | Project | Last Updated | Status |
|-----|---------|--------------|--------|
| 1 | **[Project Name](./active/name.md)** | [Date] | [Brief status] |
| 2 | ... | ... | ... |
## Archived Projects (X)
| Project | Status |
|---------|--------|
| **[Project Name](./archived/name.md)** | Archived (LRU) - [Date] |
---
## System Status
- **Total Projects**: X (Y active + Z archived)
- **Last Updated**: [Date] - [Action taken]
Duration Tracking
Parsing
- Read commit messages for
Time: ~XX min or Time: XX min patterns
- Source: Auto-Commit System's SESSION CONTEXT section
- Sum all time values from commits made during the current session
Accumulation
- Each "save project" adds session time to the project's total Duration
- Duration stored in project file's Overview section
Display Thresholds
| Total Minutes | Display Format | Example |
|---|
| 1-59 | X min | 45 min |
| 60-1439 | X hours | 3 hours |
| 1440-43199 | X days | 2 days |
| 43200+ | X months | 1 month |
- Round to nearest 0.5 for clean display (e.g., "2.5 hours", "1.5 days")
- Conversion: 60 min = 1 hour, 1440 min = 1 day (24h), 43200 min = 1 month (30d)
Line Limit Enforcement
Maximum: 1000 lines per project file
When to Check
- Before completing any "save project" operation
- After adding new session content
When project file exceeds 1000 lines:
Step 1: Summarize Old Sessions
Step 2: Trim Verbose Sections
Step 3: Verify
Historical Summary Format
## Historical Summary
Project started [Start Date] as [initial scope]. Over [X] sessions spanning
[timeframe], developed [major features/changes]. Key milestones: [milestone 1],
[milestone 2], [milestone 3]. Previous sessions covered: [brief theme list].
Embedded Project Template
When creating a new project, use this template:
# [Project Name] - [Brief Description]
*[One-line project summary]*
## Project Overview
- **Type**: [Category: Web App/API/Library/Game/Tool/etc.]
- **Period**: [Start Date] - Active
- **Tech Stack**: [Backend] + [Frontend] + [Database]
- **Completion**: 0%
- **Duration**: 0 min
## Current Status
- **Last Session**: [Date] - Project created
- **Next Steps**: [Initial goals]
- **Known Issues**: None
## Session History (Last 5)
### [Date] - Project Created
- **Changes**: Initial project setup
- **Time Spent**: ~0 min
## Historical Summary
[No history yet -- this section is populated when session count exceeds 5]
## Technical Notes
- **Repository**: [Git URL or local path]
- **Key Dependencies**: [Critical packages or services]
---
**Last Updated**: [Date] | **Position**: #1/10 Active
Mandatory Rules
- 10 active slots -- auto-archive at position #11. No exceptions
- project-list.md regenerated after every LRU operation (new, load, save)
- Line limit 1000 -- auto-summarize when exceeded, keep last 5 sessions
- Duration tracking -- parse
Time: from Auto-Commit messages, accumulate per project
- Generic template -- no type-specific fields. One universal project format
- "save project" is project-only -- does NOT save AI memory, personality, or preferences
- Explicit save only -- no auto-save. User controls when to save
- Fuzzy search on load -- partial names, case-insensitive matching
- Preserve data on archive -- archived projects retain all history and can be reloaded
- Command separation --
save = AI memory (handled elsewhere), save project = project progress
Edge Cases
| Situation | Behavior |
|---|
| No active project on "save project" | Inform user, suggest load or create |
| Project name already exists on "new" | Suggest loading existing or choosing different name |
| Project not found on "load" | Show available projects, offer fuzzy matches |
| Archive folder has 50+ projects | Suggest cleanup of old archives |
| No Auto-Commit time data available | Use ~XX min estimate or ask user |
| Multiple projects match search | Display list with positions and dates, ask for selection |
Synergy with Other Features
| Feature | Integration |
|---|
| Auto-Commit System | Duration tracking parses Time: from commit messages |
| Save Diary System | Diary captures daily narrative; project captures project-specific progress |
| Reminders System | "Revisit this project next week" becomes a reminder |
| Decision Log System | Project decisions can reference the decision log |
Level History
- Lv.1 -- Base: new/load/save/list commands, LRU engine (10 slots), auto-archiving, session history, project-list.md auto-generation. (Origin: Absorbed from separate protocol files + adapted from production AI companion project manager v3.1)
- Lv.2 -- Duration Tracking: Parse Auto-Commit time estimates, accumulate per project, progressive display format. Line Limit Enforcement: 1000-line cap with auto-summarization.