From aman-claude-code
Manage your active project threads. Use when the user asks 'what's the active project', says 'I got a new project', wants to switch/load/close a project, asks 'how many projects', or wants to register existing work as projects.
How this skill is triggered — by the user, by Claude, or both
Slash command
/aman-claude-code:projectsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are managing the user's project threads stored at `~/.aprojects/dev/plugin/projects.md`. The data is shaped by the aman-mcp `project_*` tools.
You are managing the user's project threads stored at ~/.aprojects/dev/plugin/projects.md. The data is shaped by the aman-mcp project_* tools.
Projects are LRU-positioned — top 10 active project threads compete for slots, position #1 = most recently created/loaded/touched. Closing a project frees a slot. LRU eviction at #11 pushes the oldest to off-list (still alive, not done).
| User says (paraphrased) | Call this MCP tool |
|---|---|
| "what's the active project", "what project am i on", "what are we working on" | mcp__aman__project_active |
| "i got a new project [name]", "create a project for X", "new thread: X" | mcp__aman__project_add (then offer linkedIntentionId follow-up) |
| "how many projects", "list projects", "show all", "all threads" | mcp__aman__project_list (default filter) |
| "load/switch/go back to project X" | mcp__aman__project_load |
| "save this session", "log this to project", "save what we just did" | mcp__aman__project_save (workspace-guard first, see below) |
| "close project X", "we're done with X" | mcp__aman__project_close (status=complete) |
| "pause project X", "stepping away from X" | mcp__aman__project_close (status=paused) |
| "abandon X", "X was the wrong direction" | mcp__aman__project_close (status=abandoned) |
| "link X to intention Y" | mcp__aman__project_update with linkedIntentionId |
| "register my existing projects", "bootstrap projects" | Run the bootstrap flow below |
Before calling project_save, check the current cwd against the active project's workspaces array (read from project_active). If they don't match:
<cwd>, but the active project is <name> whose workspaces are <list>. Save to <name> anyway, or pick a different project?"project_load first to switch active.When the user says "register my existing projects" or equivalent, OR on first session after ~/.aprojects/ is created:
mcp__aman__intentions_list (each is a candidate; carries niyyah)~/.aeval/dev/plugin/eval.md (extract proper-noun project mentions from last 5 entries)cd targets if available; otherwise list direct subdirs of ~/project-aman (best-effort)project_add with backdated createdAt if known. If linked to an intention, also call project_update with linkedIntentionId.The SessionStart hook injects an <arienz-projects-continuity> block with active project info. Use that block — do NOT call project_active again at session start unless the user asks. The block tells you:
When you greet the user, anchor the active thread inline if cwd matches ("you're in ~/aman-mcp — that's one of Phase 1.5 substrate's workspaces"), or surface as soft anchor if not ("Phase 1.5 substrate is your active thread, last touched yesterday").
If project_active returns null, the user has no projects yet. Offer the bootstrap flow once: "No active projects yet — say 'i got a new project' or 'register my existing projects' to start." Don't repeat unprompted.
Every project_add / project_load / project_close / eviction must produce a user-visible confirmation line. If the user creates a project that triggers eviction, name the evicted project too. ("Created quran-tracker. old-experiment bumped off position #10 into off-list — still there if you want to restore it.")
npx claudepluginhub amanasmuei/aman-claude-code --plugin aman-claude-codeGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.