Skip to content
Back to skills

Collab Session Mgmt

ASecurity

Detailed procedures for finding, creating, and resuming collab sessions

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
toolsgoswiftbashgit

Works with

  • mcp

Security analysis

A100/100

Scanned September 27, 2026

npx -y skills add David-Li0406/meta-skill-evloving --skill collab-session-mgmt --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Collab Session Mgmt?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Collab Session Mgmt
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/david-li0406-collab-session-mgmt/badge)](https://www.skillsdirectory.com/skills/david-li0406-collab-session-mgmt)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: collab-session-mgmt
description: Detailed procedures for finding, creating, and resuming collab sessions
user-invocable: false
allowed-tools:
  - Read
  - Glob
  - Grep
  - Bash
  - AskUserQuestion
  - mcp__plugin_mermaid-collab_mermaid__*
---

# Session Management

Detailed procedures for finding, creating, and resuming collab sessions.

---

## Step 2: Find Sessions

```bash
ls -d .collab/*/ 2>/dev/null | xargs -I{} basename {}
```

**If sessions exist:**
1. For each session, get phase via MCP:
   ```
   Tool: mcp__mermaid__get_session_state
   Args: { "project": "<absolute-path-to-cwd>", "session": "<session-name>" }
   ```
   Returns: `{ "phase": "brainstorming", "lastActivity": "...", ... }`
2. Display list with numbered options:
   ```
   Existing sessions:

   1. bright-calm-river - brainstorming
   2. swift-green-meadow - implementation
   3. Create new session

   Select option (1-3):
   ```
3. If user selects existing session number → Jump to **Step 5: Resume Session**
4. If user selects 'new' option → Continue to **Step 3**

**If no sessions exist:** Continue to **Step 3**

---

## Step 3: Create Session

### 3.1 Ensure .gitignore

```bash
if [ -f .gitignore ]; then
  git check-ignore -q .collab 2>/dev/null || echo ".collab/" >> .gitignore
fi
```

**Note:** Only modifies `.gitignore` if it already exists. Does not create a new `.gitignore` file.

### 3.2 Generate or Choose Name

1. Generate a suggested name:
   ```
   Tool: mcp__mermaid__generate_session_name
   Args: {}
   ```
   Returns: `{ name: "bright-calm-river" }`

2. Present options to user:
   ```
   Generated session name: bright-calm-river

   1. Use this name
   2. Pick my own name

   Select option (1-2):
   ```

3. If user selects "1. Use this name":
   - Use the generated name
   - Continue to Step 3.3

4. If user selects "2. Pick my own name":
   a. Prompt: "Enter session name (alphanumeric and hyphens only):"
   b. Validate input:
      - Must match pattern: /^[a-zA-Z0-9-]+$/
      - Must not be empty
   c. If invalid:
      - Show error: "Invalid name. Use only letters, numbers, and hyphens."
      - Return to step 4a (re-prompt)
   d. If valid:
      - Use the custom name
      - Continue to Step 3.3

### 3.3 Initialize Session State

Initialize collab-state.json via MCP (creates folder and design.md automatically):

```
Tool: mcp__mermaid__update_session_state
Args: {
  "project": "<absolute-path-to-cwd>",
  "session": "<session-name>",
  "phase": "brainstorming",
  "currentItem": null
}
```

Note: `lastActivity` is automatically updated. The `design.md` file is auto-created by `sessionRegistry.register()` when any MCP tool is first called for this session.

### 3.4 Set Environment Variable

Set the session path environment variable for hooks:

```bash
export COLLAB_SESSION_PATH="$(pwd)/.collab/<name>"
```

### 3.5 Invoke gather-session-goals

```
Invoke skill: gather-session-goals
```

This skill will:
- Ask user what they want to accomplish
- Classify each item as code/bugfix/task
- Write Work Items section to design doc
- All items start with `Status: pending`

After gather-session-goals returns → Jump to **Work Item Loop** (see collab-work-item-loop skill)

---

## Step 5: Resume Session

When user selects an existing session from Step 2.

### 5.1 Check for Context Snapshot

```
Tool: mcp__mermaid__has_snapshot
Args: { "project": "<absolute-path-to-cwd>", "session": "<session-name>" }
```
Returns: `{ "exists": true }` or `{ "exists": false }`

**If snapshot exists:**

1. Load snapshot:
   ```
   Tool: mcp__mermaid__load_snapshot
   Args: { "project": "<absolute-path-to-cwd>", "session": "<session-name>" }
   ```
   Returns: `{ "version": 1, "timestamp": "...", "activeSkill": "...", "currentStep": "...", ... }`

2. Display restoration message:
   ```
   Restoring from context snapshot...
   Active skill: <activeSkill>
   Step: <currentStep>
   ```

3. Delete snapshot (one-time use):
   ```
   Tool: mcp__mermaid__delete_snapshot
   Args: { "project": "<absolute-path-to-cwd>", "session": "<session-name>" }
   ```

4. Update state:
   ```
   Tool: mcp__mermaid__update_session_state
   Args: { "project": "<absolute-path-to-cwd>", "session": "<session-name>", "hasSnapshot": false }
   ```

5. Invoke the active skill directly:
   - If activeSkill == "brainstorming" → Invoke brainstorming skill
   - If activeSkill == "rough-draft" → Invoke rough-draft skill
   - If activeSkill == "executing-plans" → Invoke executing-plans skill

**STOP** - skill takes over from here.

**If no snapshot:** Continue to 5.2 (existing resume behavior, route by phase)

### 5.2 Set Environment Variable

```bash
export COLLAB_SESSION_PATH="$(pwd)/.collab/<name>"
```

### 5.3 Read State

```
Tool: mcp__mermaid__get_session_state
Args: { "project": "<absolute-path-to-cwd>", "session": "<session-name>" }
```
Returns: `{ "phase": "...", "lastActivity": "...", "currentItem": ..., ... }`

### 5.4 Display Session Info

```
Session Resumed: <name>
Phase: <phase>
Dashboard: http://localhost:3737

Checking work item status...
```

### 5.5 Invoke ready-to-implement

**Always** route through ready-to-implement for resume:

```
Invoke skill: ready-to-implement
```

ready-to-implement will:
- If pending items exist → return with `action: "return_to_loop"` → Go to **Work Item Loop** (see collab-work-item-loop skill)
- If all documented → proceed to rough-draft (on user confirmation)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…