clawpmMulti-project task and research management (JSON-first CLI)
Install via ClawdBot CLI:
clawdbot install malphas-gh/clawpmMulti-project task management. All commands emit JSON by default; use -f text for human-readable output.
clawpm setup # Creates ~/clawpm/ with portfolio.toml, projects/, work_log.jsonl
clawpm setup --check # Verify installation
Override portfolio location with CLAWPM_PORTFOLIO env var.
Projects are directories with a .project/ folder. They don't need to be git repos.
cd /path/to/my-project
clawpm project init # Auto-detects ID/name from directory
clawpm project init --id myproj # Custom ID
Git repos under ~/clawpm/projects/ auto-initialize on first use:
git clone git@github.com:user/repo.git ~/clawpm/projects/repo
cd ~/clawpm/projects/repo
clawpm add "First task" # Auto-initializes .project/, then adds task
clawpm projects list --all # Shows tracked + untracked git repos
# From a project directory (auto-detected):
clawpm status # See project status
clawpm next # Get next task
clawpm start 42 # Start task (short ID works)
clawpm done 42 # Mark done
# Or set a project context:
clawpm use my-project
clawpm status # Now uses my-project
| Command | Equivalent | Description |
|---------|------------|-------------|
| clawpm add "Title" | clawpm tasks add -t "Title" | Quick add a task |
| clawpm add "Title" -b "desc" | clawpm tasks add -t "Title" -b "desc" | Add with body |
| clawpm add "Title" --parent 25 | - | Add subtask |
| clawpm done 42 | clawpm tasks state 42 done | Mark task done |
| clawpm start 42 | clawpm tasks state 42 progress | Start working |
| clawpm block 42 | clawpm tasks state 42 blocked | Mark blocked |
| clawpm next | clawpm projects next | Get next task |
| clawpm status | - | Project overview |
| clawpm context | - | Full agent context |
| clawpm use | - | Set project context |
ClawPM automatically detects your project from (in priority order):
clawpm tasks list --project clawpmclawpm --project clawpm status.project/settings.tomlclawpm use You can use just the numeric part of a task ID:
42 → CLAWP-042 (prefix derived from project ID)CLAWP-042 → CLAWP-042 (full ID works too)clawpm add "Subtask" --parent 25 # Creates subtask (auto-splits parent if needed)
clawpm tasks split 25 # Manually convert task to parent directory
clawpm done 25 # Fails if subtasks not done
clawpm done 25 --force # Override and complete anyway
Subtasks move with parent on state change (done/blocked moves entire directory).
Get everything needed to resume work in one command:
clawpm context # Full context for current project
clawpm context -p myproj # Specific project
Returns JSON with: project info + spec, in-progress/next task, blockers, recent work log, git status, open issues.
clawpm context # Get full context
clawpm start 42 # Mark in progress (auto-logs)
# ... do work ...
git add . && git commit -m "feat: ..."
clawpm done 42 --note "Completed" # Auto-logs with files_changed
clawpm log commit # Also log the git commits themselves
Hit a blocker:
clawpm block 42 --note "Need API credentials"
clawpm projects list [--all] # List projects (--all includes untracked repos)
clawpm projects next # Next task across all projects
clawpm project context [project] # Full project context
clawpm project init # Initialize project in current dir
clawpm tasks # List tasks (default: open+progress+blocked)
clawpm tasks list [-s open|done|blocked|progress|all] [--flat]
clawpm tasks show <id> # Task details
clawpm tasks add -t "Title" [--priority 3] [--complexity m] [--parent <id>] [-b "body"]
clawpm tasks edit <id> [--title "..."] [--priority N] [--complexity s|m|l|xl] [--body "..."]
clawpm tasks state <id> open|progress|done|blocked [--note "..."] [--force]
clawpm tasks split <id> # Convert to parent directory for subtasks
clawpm log add --task <id> --action progress --summary "What I did"
clawpm log tail [--limit 10] # Recent entries (auto-filtered to current project)
clawpm log tail --all # Recent entries across all projects
clawpm log tail --follow # Live tail (like tail -f)
clawpm log last # Most recent entry (auto-filtered to current project)
clawpm log last --all # Most recent entry across all projects
clawpm log commit [-n 10] # Log recent git commits to work log
clawpm log commit --dry-run # Preview without logging
clawpm log commit --task <id> # Associate commits with a task
Note: State changes (start/done/block) auto-log to work_log with git files_changed.
clawpm research list
clawpm research add --type investigation --title "Question"
clawpm research link --id <research_id> --session-key <key>
clawpm issues add --type bug --severity high --actual "What happened"
clawpm issues list [--open] # Open issues only
clawpm sessions extract # Extract OpenClaw sessions with clawpm calls
clawpm sessions extract --force # Re-extract all (overwrite existing)
clawpm sessions list # List extracted sessions with stats
clawpm sessions list --processed # List already-processed sessions
clawpm sessions process <id-prefix> # Move session to processed/
clawpm sessions process --all # Move all extracted to processed/
clawpm setup # Create portfolio (first-time)
clawpm setup --check # Verify installation
clawpm status # Project overview
clawpm context # Full agent context
clawpm doctor # Health check
clawpm use [project] # Set/show project context
clawpm use --clear # Clear context
start - Started working (auto-logged on clawpm start)progress - Made progressdone - Completed (auto-logged on clawpm done)blocked - Hit a blocker (auto-logged on clawpm block)commit - Git commit (logged via clawpm log commit)pause - Switching tasksresearch - Research notenote - General observation| State | File Pattern | Meaning |
|-------|--------------|---------|
| open | tasks/CLAWP-042.md | Ready to work |
| progress | tasks/CLAWP-042.progress.md | In progress |
| done | tasks/done/CLAWP-042.md | Completed |
| blocked | tasks/blocked/CLAWP-042.md | Waiting |
clawpm [global flags] [command flags] — e.g. clawpm -f text tasks list -s open-f text for human-readable&& — run each separately~/clawpm, override via CLAWPM_PORTFOLIO env varCLAWPM_PROJECT_ROOTS (colon-separated) or add to project_roots in portfolio.toml/work_log.jsonl clawpm doctor # Check for issues
clawpm setup --check # Verify installation
clawpm log tail # See recent activity
Generated Mar 1, 2026
A freelance developer juggles multiple client projects, each with its own repository and tasks. They use ClawPM to initialize projects from git clones in a central portfolio, track tasks across all projects, and generate context for resuming work after interruptions, ensuring consistent progress tracking and client reporting.
A research team manages multiple ongoing studies or papers, each as a project with tasks like literature review, data analysis, and writing. ClawPM helps auto-detect projects from directories, assign subtasks to team members, and log work activities for accountability and progress updates in collaborative academic settings.
A small startup team develops a new product with features split into projects like backend, frontend, and marketing. They use ClawPM to set project contexts, prioritize next tasks across all areas, and block tasks when dependencies arise, integrating with git commits to log changes and maintain a clear development workflow.
A consulting firm handles multiple client engagements, each with custom deliverables and timelines. ClawPM enables them to create projects for each client, track task states (e.g., progress, blocked), and use work logs to document hours and activities for billing and reporting purposes, improving client transparency.
An open source contributor works on multiple repositories, contributing fixes and features. They use ClawPM to auto-initialize projects from git clones, manage tasks like bug fixes or enhancements, and log commits to associate work with specific tasks, streamlining contribution tracking and community collaboration.
Offer a cloud-based version of ClawPM with free tier for individual users and paid plans for teams, featuring enhanced collaboration tools, analytics dashboards, and integrations with platforms like GitHub or Slack. Revenue comes from monthly subscriptions based on user count and advanced features.
Provide an on-premise or private cloud deployment of ClawPM for large organizations, with custom integrations, security compliance, and dedicated support. Revenue is generated through one-time licensing fees, annual maintenance contracts, and consulting services for setup and customization.
Develop a marketplace where users can purchase or subscribe to additional skills or plugins that extend ClawPM's functionality, such as AI-powered task suggestions, advanced reporting, or integration with other tools. Revenue comes from commissions on sales and subscription fees for premium extensions.
💬 Integration Tip
Integrate ClawPM with existing git workflows by using the auto-log feature for commits and setting up project roots to automatically detect and initialize repositories, reducing manual setup and ensuring seamless task tracking.
Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).
AI-optimized web search via Tavily API. Returns concise, relevant results for AI agents.
This skill should be used when users need to search the web for information, find current content, look up news articles, search for images, or find videos. It uses DuckDuckGo's search API to return results in clean, formatted output (text, markdown, or JSON). Use for research, fact-checking, finding recent information, or gathering web resources.
Web search and content extraction via Brave Search API. Use for searching documentation, facts, or any web content. Lightweight, no browser required.
Search indexed Discord community discussions via Answer Overflow. Find solutions to coding problems, library issues, and community Q&A that only exist in Discord conversations.
Multi search engine integration with 17 engines (8 CN + 9 Global). Supports advanced search operators, time filters, site search, privacy engines, and WolframAlpha knowledge queries. No API keys required.