13 KiB
name, description, argument-hint, allowed-tools
| name | description | argument-hint | allowed-tools |
|---|---|---|---|
| skill-memory | Generate SKILL package index from project documentation | [path] [--tool <gemini|qwen|codex>] [--regenerate] [--mode <full|partial>] | SlashCommand(*), TodoWrite(*), Bash(*), Read(*), Write(*) |
Memory SKILL Package Generator
Orchestrator Role
This command is a pure orchestrator: Execute documentation generation workflow, then generate SKILL.md index. Does NOT create task JSON files.
Execution Model - 4-Phase Workflow:
- User triggers:
/memory:skill-memory [path] [options] - Phase 1: Parse arguments and prepare → Auto-continues
- Phase 2: Call
/memory:docsto plan documentation → Auto-continues - Phase 3: Call
/workflow:executeto generate docs → Auto-continues - Phase 4: Generate SKILL.md index → Reports completion
Auto-Continue Mechanism:
- TodoList tracks current phase status
- After each phase completion, automatically executes next phase
- All phases run autonomously without user interaction
- Progress updates shown at each phase
Core Rules
- Start Immediately: First action is TodoWrite initialization, second action is Phase 1 execution
- No Task JSON: This command does not create task JSON files - delegates to /memory:docs
- Parse Every Output: Extract required data from each command output
- Auto-Continue via TodoList: Check TodoList status to execute next phase automatically
- Track Progress: Update TodoWrite after every phase completion
- Direct Generation: Phase 4 directly generates SKILL.md using Write tool
4-Phase Execution
Phase 1: Prepare Arguments
Goal: Parse command arguments and check existing documentation
Step 1: Get Target Path and Project Name
# Get current directory (or use provided path)
bash(pwd)
# Get project name from directory
bash(basename "$(pwd)")
# Get project root
bash(git rev-parse --show-toplevel 2>/dev/null || pwd)
Output:
target_path:/d/my_projectproject_name:my_projectproject_root:/d/my_project
Step 2: Set Default Parameters
# Default values (use these unless user specifies otherwise):
# - tool: "gemini"
# - mode: "full"
# - regenerate: false (no --regenerate flag)
Step 3: Check Existing Documentation
# Check if docs directory exists (replace project_name with actual value)
bash(test -d .workflow/docs/my_project && echo "exists" || echo "not_exists")
# Count existing documentation files
bash(find .workflow/docs/my_project -name "*.md" 2>/dev/null | wc -l || echo 0)
Output:
docs_exists:existsornot_existsexisting_docs:5(or0if no docs)
Step 4: Handle --regenerate Flag (If Specified)
# If user specified --regenerate, delete existing docs directory
bash(rm -rf .workflow/docs/my_project 2>/dev/null || true)
# Verify deletion
bash(test -d .workflow/docs/my_project && echo "still_exists" || echo "deleted")
Summary:
PROJECT_NAME:my_projectTARGET_PATH:/d/my_projectDOCS_PATH:.workflow/docs/my_projectTOOL:gemini(default) or user-specifiedMODE:full(default) or user-specifiedREGENERATE:false(default) ortrueif --regenerate flagEXISTING_DOCS:0(after regenerate) or actual count
TodoWrite: Mark phase 1 completed, phase 2 in_progress
After Phase 1: Display preparation results, auto-continue to Phase 2
Phase 2: Call /memory:docs
Goal: Trigger documentation generation workflow
Command:
SlashCommand(command="/memory:docs [targetPath] --tool [tool] --mode [mode]")
Example:
/memory:docs /d/my_app --tool gemini --mode full
Note: The --regenerate flag is handled in Phase 1 by deleting existing documentation. This command always calls /memory:docs without the regenerate flag, relying on docs.md's built-in update detection.
Input:
targetPathfrom Phase 1toolfrom Phase 1modefrom Phase 1
Parse Output:
- Extract session ID pattern:
WFS-docs-[timestamp](store asdocsSessionId) - Extract task count (store as
taskCount)
Validation:
- Session ID extracted successfully
- Task files created in
.workflow/[docsSessionId]/.task/
TodoWrite: Mark phase 2 completed, phase 3 in_progress
After Phase 2: Display docs planning results, auto-continue to Phase 3
Phase 3: Execute Documentation Generation
Goal: Execute documentation generation tasks
Command:
SlashCommand(command="/workflow:execute")
Note: /workflow:execute automatically discovers active session from Phase 2
Validation:
- Documentation files generated in
.workflow/docs/[projectName]/ - All tasks completed successfully
TodoWrite: Mark phase 3 completed, phase 4 in_progress
After Phase 3: Display execution results, auto-continue to Phase 4
Phase 4: Generate SKILL.md Index
Goal: Create SKILL.md at .claude/skills/{project_name}/SKILL.md
Step 1: Load Project README
# Read README for project description (replace project_name)
bash(cat .workflow/docs/my_project/README.md 2>/dev/null | head -50 || echo "No README found")
Step 2: Discover All Documentation Files
# List all documentation files (replace project_name)
bash(find .workflow/docs/my_project -name "*.md" 2>/dev/null | sort)
Output:
.workflow/docs/my_project/README.md
.workflow/docs/my_project/ARCHITECTURE.md
.workflow/docs/my_project/src/modules/auth/API.md
.workflow/docs/my_project/src/modules/auth/README.md
Step 3: Count Documentation Files
# Count total docs (replace project_name)
bash(find .workflow/docs/my_project -name "*.md" 2>/dev/null | wc -l)
Output: 12 files
Step 4: Extract Module Directories
# Find module directories (1-2 levels deep, replace project_name)
bash(find .workflow/docs/my_project -mindepth 1 -maxdepth 2 -type d 2>/dev/null | sed 's|.workflow/docs/my_project/||' | sort -u)
Output:
src
src/modules
src/utils
lib
lib/core
Step 5: Count Module Directories
# Count modules (replace project_name)
bash(find .workflow/docs/my_project -mindepth 1 -maxdepth 2 -type d 2>/dev/null | wc -l)
Output: 5 modules
Step 6: Create Skills Directory
# Create directory for SKILL.md (replace project_name)
bash(mkdir -p .claude/skills/my_project)
Step 7: Generate SKILL.md
Use the Write tool to create .claude/skills/my_project/SKILL.md with:
- YAML frontmatter (name, description from README)
- Progressive loading guide (Level 0-3)
- Module index with relative paths to
../../.workflow/docs/my_project/
SKILL.md Structure:
---
name: {project_name}
description: {extracted from README}
version: 1.0.0
---
# {Project Name} SKILL Package
Progressive documentation loading guide.
## Documentation Location
All documentation: `../../.workflow/docs/{project_name}/`
## Progressive Loading Guide
### Level 0: Quick Start (Minimal Context ~2K tokens)
- [Project Overview](../../.workflow/docs/{project_name}/README.md#overview)
- [Getting Started](../../.workflow/docs/{project_name}/README.md#getting-started)
### Level 1: Core Modules (Essential Context ~8K tokens)
- [Module 1](../../.workflow/docs/{project_name}/path/to/module1/README.md)
- [Module 2](../../.workflow/docs/{project_name}/path/to/module2/README.md)
### Level 2: Complete (Full Context ~25K tokens)
- All modules + [Architecture](../../.workflow/docs/{project_name}/ARCHITECTURE.md)
### Level 3: Deep Dive (Maximum Context ~40K tokens)
- All docs + [Examples](../../.workflow/docs/{project_name}/EXAMPLES.md)
## Module Index
{Generated from discovered structure}
Validation:
- SKILL.md created at
.claude/skills/{project_name}/SKILL.md - File contains valid YAML frontmatter
- All links reference correct paths
TodoWrite: Mark phase 4 completed
Return to User:
✅ SKILL Package Generation Complete
Project: {project_name}
Documentation: .workflow/docs/{project_name}/ ({doc_count} files)
SKILL Index: .claude/skills/{project_name}/SKILL.md
Generated:
- {task_count} documentation tasks completed
- SKILL.md with progressive loading (4 levels)
- Module index with {module_count} modules
Usage:
- Load Level 0: Quick project overview (~2K tokens)
- Load Level 1: Core modules (~8K tokens)
- Load Level 2: Complete docs (~25K tokens)
- Load Level 3: Everything (~40K tokens)
TodoWrite Pattern
// Initialize (before Phase 1)
TodoWrite({todos: [
{"content": "Parse arguments and prepare", "status": "in_progress", "activeForm": "Parsing arguments"},
{"content": "Call /memory:docs to plan documentation", "status": "pending", "activeForm": "Calling /memory:docs"},
{"content": "Execute documentation generation", "status": "pending", "activeForm": "Executing documentation"},
{"content": "Generate SKILL.md index", "status": "pending", "activeForm": "Generating SKILL.md"}
]})
// After Phase 1
TodoWrite({todos: [
{"content": "Parse arguments and prepare", "status": "completed", "activeForm": "Parsing arguments"},
{"content": "Call /memory:docs to plan documentation", "status": "in_progress", "activeForm": "Calling /memory:docs"},
{"content": "Execute documentation generation", "status": "pending", "activeForm": "Executing documentation"},
{"content": "Generate SKILL.md index", "status": "pending", "activeForm": "Generating SKILL.md"}
]})
// After Phase 2
TodoWrite({todos: [
{"content": "Parse arguments and prepare", "status": "completed", "activeForm": "Parsing arguments"},
{"content": "Call /memory:docs to plan documentation", "status": "completed", "activeForm": "Calling /memory:docs"},
{"content": "Execute documentation generation", "status": "in_progress", "activeForm": "Executing documentation"},
{"content": "Generate SKILL.md index", "status": "pending", "activeForm": "Generating SKILL.md"}
]})
// After Phase 3
TodoWrite({todos: [
{"content": "Parse arguments and prepare", "status": "completed", "activeForm": "Parsing arguments"},
{"content": "Call /memory:docs to plan documentation", "status": "completed", "activeForm": "Calling /memory:docs"},
{"content": "Execute documentation generation", "status": "completed", "activeForm": "Executing documentation"},
{"content": "Generate SKILL.md index", "status": "in_progress", "activeForm": "Generating SKILL.md"}
]})
Parameters
/memory:skill-memory [path] [--tool <gemini|qwen|codex>] [--regenerate] [--mode <full|partial>]
- path: Target directory (default: current directory)
- --tool: CLI tool for documentation (default: gemini)
gemini: Comprehensive documentationqwen: Architecture analysiscodex: Implementation validation
- --regenerate: Force regenerate all documentation
- When enabled: Deletes existing
.workflow/docs/{project_name}/before regeneration - Ensures fresh documentation from source code
- When enabled: Deletes existing
- --mode: Documentation mode (default: full)
full: Complete docs (modules + README + ARCHITECTURE + EXAMPLES)partial: Module docs only
Examples
Example 1: Generate SKILL Package (Default)
/memory:skill-memory
Workflow:
- Phase 1: Detects current directory, checks existing docs
- Phase 2: Calls
/memory:docs . --tool gemini --mode full - Phase 3: Executes documentation generation via
/workflow:execute - Phase 4: Generates SKILL.md at
.claude/skills/{project_name}/SKILL.md
Example 2: Regenerate with Qwen
/memory:skill-memory /d/my_app --tool qwen --regenerate
Workflow:
- Phase 1: Parses target path, detects regenerate flag
- Phase 2: Calls
/memory:docs /d/my_app --tool qwen --mode full --regenerate - Phase 3: Executes documentation regeneration
- Phase 4: Generates updated SKILL.md
Example 3: Partial Mode (Modules Only)
/memory:skill-memory --mode partial
Workflow:
- Phase 1: Detects partial mode
- Phase 2: Calls
/memory:docs . --tool gemini --mode partial - Phase 3: Executes module documentation only
- Phase 4: Generates SKILL.md with module-only index
Benefits
- ✅ Pure Orchestrator: No task JSON generation, delegates to /memory:docs
- ✅ Auto-Continue: Autonomous 4-phase execution
- ✅ Simplified: ~70% less code than previous version
- ✅ Maintainable: Changes to /memory:docs automatically apply
- ✅ Direct Generation: Phase 4 directly writes SKILL.md
- ✅ Flexible: Supports all /memory:docs options
Architecture
skill-memory (orchestrator)
├─ Phase 1: Prepare (bash commands)
├─ Phase 2: /memory:docs (task planning)
├─ Phase 3: /workflow:execute (task execution)
└─ Phase 4: Write SKILL.md (direct file generation)
No task JSON created by this command
All documentation tasks managed by /memory:docs