Files
Claude-Code-Workflow/.claude/commands/workflow/session/start.md
catlog22 920b179440 docs: 更新所有命令描述并重新生成索引文件
- 更新所有69个命令文件的description字段,基于实际功能重新生成详细描述
- 重新生成5个索引文件(all-commands, by-category, by-use-case, essential-commands, command-relationships)
- 移动analyze_commands.py到scripts/目录并完善功能
- 移除临时备份文件

命令描述改进示例:
- workflow:plan: 增加了工具和代理的详细说明(Gemini, action-planning-agent)
- cli:execute: 说明了YOLO权限和多种执行模式
- memory:update-related: 详细说明了批处理策略和工具回退链

索引文件改进:
- usage_scenario从2种扩展到10种(更精细分类)
- command-relationships覆盖所有69个命令
- 区分built-in(内置调用)和sequential(用户顺序执行)关系

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-06 15:11:31 +08:00

5.6 KiB

name: start description: Discover existing sessions or start new workflow session with intelligent session management and conflict detection argument-hint: [--auto|--new] [optional: task description for new session] examples: - /workflow:session:start - /workflow:session:start --auto "implement OAuth2 authentication" - /workflow:session:start --new "fix login bug"

Start Workflow Session (/workflow:session:start)

Overview

Manages workflow sessions with three operation modes: discovery (manual), auto (intelligent), and force-new.

Mode 1: Discovery Mode (Default)

Usage

/workflow:session:start

Step 1: Check Active Sessions

bash(ls .workflow/.active-* 2>/dev/null)

Step 2: List All Sessions

bash(ls -1 .workflow/WFS-* 2>/dev/null | head -5)

Step 3: Display Session Metadata

bash(cat .workflow/WFS-promptmaster-platform/workflow-session.json)

Step 4: User Decision

Present session information and wait for user to select or create session.

Output: SESSION_ID: WFS-[user-selected-id]

Mode 2: Auto Mode (Intelligent)

Usage

/workflow:session:start --auto "task description"

Step 1: Check Active Sessions Count

bash(ls .workflow/.active-* 2>/dev/null | wc -l)

Step 2a: No Active Sessions → Create New

# Generate session slug
bash(echo "implement OAuth2 auth" | sed 's/[^a-zA-Z0-9]/-/g' | tr '[:upper:]' '[:lower:]' | cut -c1-50)

# Create directory structure
bash(mkdir -p .workflow/WFS-implement-oauth2-auth/.process)
bash(mkdir -p .workflow/WFS-implement-oauth2-auth/.task)
bash(mkdir -p .workflow/WFS-implement-oauth2-auth/.summaries)

# Create metadata
bash(echo '{"session_id":"WFS-implement-oauth2-auth","project":"implement OAuth2 auth","status":"planning"}' > .workflow/WFS-implement-oauth2-auth/workflow-session.json)

# Mark as active
bash(touch .workflow/.active-WFS-implement-oauth2-auth)

Output: SESSION_ID: WFS-implement-oauth2-auth

Step 2b: Single Active Session → Check Relevance

# Extract session ID
bash(ls .workflow/.active-* 2>/dev/null | head -1 | xargs basename | sed 's/^\.active-//')

# Read project name from metadata
bash(cat .workflow/WFS-promptmaster-platform/workflow-session.json | grep -o '"project":"[^"]*"' | cut -d'"' -f4)

# Check keyword match (manual comparison)
# If task contains project keywords → Reuse session
# If task unrelated → Create new session (use Step 2a)

Output (reuse): SESSION_ID: WFS-promptmaster-platform Output (new): SESSION_ID: WFS-[new-slug]

Step 2c: Multiple Active Sessions → Use First

# Get first active session
bash(ls .workflow/.active-* 2>/dev/null | head -1 | xargs basename | sed 's/^\.active-//')

# Output warning and session ID
# WARNING: Multiple active sessions detected
# SESSION_ID: WFS-first-session

Mode 3: Force New Mode

Usage

/workflow:session:start --new "task description"

Step 1: Generate Unique Session Slug

# Convert to slug
bash(echo "fix login bug" | sed 's/[^a-zA-Z0-9]/-/g' | tr '[:upper:]' '[:lower:]' | cut -c1-50)

# Check if exists, add counter if needed
bash(ls .workflow/WFS-fix-login-bug 2>/dev/null && echo "WFS-fix-login-bug-2" || echo "WFS-fix-login-bug")

Step 2: Create Session Structure

bash(mkdir -p .workflow/WFS-fix-login-bug/.process)
bash(mkdir -p .workflow/WFS-fix-login-bug/.task)
bash(mkdir -p .workflow/WFS-fix-login-bug/.summaries)

Step 3: Create Metadata

bash(echo '{"session_id":"WFS-fix-login-bug","project":"fix login bug","status":"planning"}' > .workflow/WFS-fix-login-bug/workflow-session.json)

Step 4: Mark Active and Clean Old Markers

bash(rm .workflow/.active-* 2>/dev/null)
bash(touch .workflow/.active-WFS-fix-login-bug)

Output: SESSION_ID: WFS-fix-login-bug

Output Format Specification

Success

SESSION_ID: WFS-session-slug

Error

ERROR: --auto mode requires task description
ERROR: Failed to create session directory

Analysis (Auto Mode)

ANALYSIS: Task relevance = high
DECISION: Reusing existing session
SESSION_ID: WFS-promptmaster-platform

Command Integration

For /workflow:plan (Use Auto Mode)

SlashCommand(command="/workflow:session:start --auto \"implement OAuth2 authentication\"")

# Parse session ID from output
grep "^SESSION_ID:" | awk '{print $2}'

For Interactive Workflows (Use Discovery Mode)

SlashCommand(command="/workflow:session:start")

For New Isolated Work (Use Force New Mode)

SlashCommand(command="/workflow:session:start --new \"experimental feature\"")

Simple Bash Commands

Basic Operations

# Check active sessions
bash(ls .workflow/.active-*)

# List all sessions
bash(ls .workflow/WFS-*)

# Read session metadata
bash(cat .workflow/WFS-[session-id]/workflow-session.json)

# Create session directories
bash(mkdir -p .workflow/WFS-[session-id]/.process)
bash(mkdir -p .workflow/WFS-[session-id]/.task)
bash(mkdir -p .workflow/WFS-[session-id]/.summaries)

# Mark session as active
bash(touch .workflow/.active-WFS-[session-id])

# Clean active markers
bash(rm .workflow/.active-*)

Generate Session Slug

bash(echo "Task Description" | sed 's/[^a-zA-Z0-9]/-/g' | tr '[:upper:]' '[:lower:]' | cut -c1-50)

Create Metadata JSON

bash(echo '{"session_id":"WFS-test","project":"test project","status":"planning"}' > .workflow/WFS-test/workflow-session.json)

Session ID Format

  • Pattern: WFS-[lowercase-slug]
  • Characters: a-z, 0-9, - only
  • Max length: 50 characters
  • Uniqueness: Add numeric suffix if collision (WFS-auth-2, WFS-auth-3)