Install
openclaw skills install project-os-organizerPrivacy-first, chat-first project manager for vibe coders. Track projects, capture updates, and resume work across local folders, Claude/Codex, and GitHub with explicit opt-in controls.
openclaw skills install project-os-organizerUse this when a user is juggling many AI-built projects and needs one simple command surface to:
To opt in explicitly:
PROJECT_OS_INCLUDE_CHAT_ROOTS=1 enables chat transcript indexing.PROJECT_OS_ENABLE_GITHUB_SYNC=1 enables GitHub username/token integration.PROJECT_OS_ENABLE_HOME_DISCOVERY=1 enables broad home-directory discovery.PROJECT_OS_AUTO_SETUP=1 PROJECT_OS_ALLOW_REMOTE_INSTALL=1 allows remote clone/install if PROJECT_OS_ROOT is missing.Produce a complete, local-first project inventory that answers:
Default action for every user message:
scripts/project_router.sh "<user message>".Users should not need to type scripts, Python, paths, or flags.
Fallback for power users:
project ...project, project focus, project today, project inbox "idea: test", project dashboard startPlain-language request mapping:
Response style in non-technical mode:
Activity Criteria + day sections.Treat an item as a project if it matches any of these:
package.json, pyproject.toml, Cargo.toml, etc).Reject likely non-project folders in collection roots (docs-only, logs, backups, notes-only folders) unless there is strong code/marker evidence. Reject low-signal chat-only entries as standalone projects unless they contain a useful path hint or meaningful project intent.
scripts/bootstrap.sh first.python3 -m project_os.cli --db ~/.project_os/openclaw_test.db --config ~/.project_os/openclaw_test_config.json list-projects --limit 200python3 -m project_os.cli --db ~/.project_os/openclaw_test.db --config ~/.project_os/openclaw_test_config.json list-sessions --limit 50python3 -m project_os.cli --db ~/.project_os/openclaw_test.db --config ~/.project_os/openclaw_test_config.json list-items --status open --limit 80python3 -m project_os.cli --db ~/.project_os/openclaw_test.db --config ~/.project_os/openclaw_test_config.json squash-chat-projectsscripts/start_dashboard.sh.scripts/write_memory.sh and use ~/.project_os/PROJECT_MEMORY.md.Run this for a first-time user:
scripts/openclaw_smoke_agent.shscripts/read_smoke_result.shRESULT_STATUS=okRESULT_DASHBOARD_URL=...RESULT_PORT_8765_LISTENING=yesIf project-os repo is not present locally, the skill will fail safely by default and instruct setting PROJECT_OS_ROOT. Remote install is explicit opt-in only.
Focus Today, Now, Blocked, Later, Done) and jump links.What it is (derived from project files like README/package metadata)Where left offDo nextnow/later/blocked/done), set next action, add update/next/reminder/idea/blocker, mark items done/dismissedResume in Claude and Resume in Codex) when session link is validDefault recommendation: use both.
Use CLI commands as the primary interface:
add-update for what changed.add-next for the immediate next step (also updates project next_action).add-reminder for date/time-based follow-ups.add-idea for backlog thoughts.list-items and set-item-status to triage/close items.scripts/project_actions.sh for short aliases around these commands.scripts/activity_report.sh --when both or scripts/project_actions.sh activity --when both.--include-archived only if user asks).Activity CriteriaToday (...) and/or Yesterday (...) headingslocal_commit, github_push, session, or note)- noneproject-os-organizer.project setup (or scripts/easy_mode.sh setup).project_router.sh.project ....scripts/install_openclaw_skill.sh.scripts/openclaw_smoke.sh for strict CI-style smoke (non-zero exit on failure)scripts/openclaw_smoke_agent.sh for agent-safe smoke (always exits zero, returns RESULT_STATUS)scripts/read_smoke_result.sh to fetch the last smoke result file when command output is flakyscripts/bootstrap.sh --noninteractive (timeout-safe quick mode)scripts/bootstrap.sh --noninteractive-full (full refresh mode)scripts/start_dashboard.sh --detach --restartRESULT_STATUSRESULT_ERRORRESULT_DASHBOARD_URLRESULT_DASHBOARD_PIDRESULT_PORT_8765_LISTENINGRESULT_CURL_HEADRESULT_SMOKE_LOGRESULT_DASHBOARD_LOGRESULT_RESULT_FILEscripts/project_actions.sh list --limit 80scripts/project_actions.sh set-status --project "<name|id>" --status blockedscripts/project_actions.sh set-next --project "<name|id>" --text "next step"scripts/project_actions.sh add-update --project "<name|id>" --text "what changed"scripts/project_actions.sh add-next --project "<name|id>" --text "immediate next step"scripts/project_actions.sh add-reminder --project "<name|id>" --text "follow up" --due 2026-03-01scripts/project_actions.sh add-blocker --project "<name|id>" --text "what is blocked"scripts/project_actions.sh simple-status --project "<name|id>" --status nowscripts/project_actions.sh focus --limit 3scripts/project_actions.sh stale --days 14 --limit 20scripts/project_actions.sh weekly --days 7 --limit 12scripts/project_actions.sh notify --period dailyscripts/project_actions.sh inbox --text "freeform note"scripts/project_actions.sh checkin --project "<name|id>" --done "..." --next "..." --blocker "..."scripts/project_actions.sh duplicates --limit 50scripts/project_actions.sh merge --keep "<id|name>" --drop "<id|name>"scripts/project_actions.sh ask --text "mark project-os blocked"scripts/project_actions.sh set-item --item <id> --status donescripts/project_actions.sh activity --when bothscripts/project_actions.sh scope --set "project-os" "polymarket-trader-v2"scripts/project_actions.sh track --project "project-os"scripts/project_actions.sh mute --project "clawd"scripts/project_actions.sh scope--include-archived only on explicit request.Activity Criteria, Today (...), and Yesterday (...) so the user sees exactly how projects were counted.include_nested_non_git_projects: false) to avoid noisy submodules.references/project-definition.mdreferences/workflow.md