Genor's Project Orchestration

Workflows

Complete project orchestration: model routing, coding workflow, scripts, session logging, decision tracking, price checks

Install

openclaw skills install project-orchestration

Genor's Project Orchestration

Core Principles

  1. Repowise First — Never touch code without codebase intelligence
  2. Plan Before Actupdate_plan for anything beyond one edit
  3. Verify Before Claim — No completion claim without fresh evidence
  4. Self-Review — Every output gets audited before delivery
  5. Fail Gracefully — Every step has a fallback chain
  6. Document Everything — Log sessions, decisions, and architecture

Data Directory

All private data (models, sessions, prices) lives outside the skill. Set ORCHESTRATOR_DATA_DIR to point to your data directory. Default: ../../orchestrator-data/ from the skill root (i.e. <workspace>/orchestrator-data/)

File Naming Convention

All generated files use consistent, sortable naming for cross-session compatibility:

LocationFormatExample
sessions/YYYY-MM-DD-HHMM-<project-slug>-<task-slug>.md2026-06-08-1134-project-orchestration-publish.md
projects/<project-slug>-<path-slug>.mdkfinance-projects-kfinance.md
session_log.mdFlat table (append-only quick reference)
models.jsonJSON inventory
price_changes.logFlat log (append-only)
Per-project .planning/ADRs/YYYY-MM-DD-<title-slug>.md2026-06-08-use-postgres.md

Cross-Session Resume

Session state files in sessions/ persist across OpenClaw sessions. When a conversation is compacted or a new session starts, the LLM can read the last session state file to continue where it left off — no dependency on conversation history.

🆕 Fresh Installation — First-Run Onboarding

If this is a fresh skill install with no data yet, run onboarding:

bash {baseDir}/scripts/onboard.sh

or ask the LLM: "Set up orchestrator" or "/project-orchestration onboard"

This walks through:

  1. Data directory setup — where to store config
  2. Provider discovery — what services you have
  3. Model cataloguing — what models you use
  4. Project discovery — existing projects
  5. Routing rules — initial routing table
  6. Cron setup — nightly price checks
  7. Logging — first session recorded

If you're in an LLM session, the LLM will guide you through each step.

🆕 Project Onboarding

When starting a new project or adding an existing one:

bash {baseDir}/scripts/init-project.sh <project-path> <Project Name> [stack]

or ask the LLM: "Start project <name>"

This creates .planning/ with:

  • CONFIG.md — project config, ports, tech stack
  • STATE.md — current state tracker
  • ROADMAP.md — planned work
  • REQUIREMENTS.md — requirements
  • ADRs/ — architecture decisions

For existing projects, the LLM will also run Repowise/scan, detect tech stack, and initialise the project in the orchestrator.

Slash Commands

When invoked via /project-orchestration, interpret the subcommand:

CommandAction
/project-orchestration onboardFull fresh-install onboarding
/project-orchestration webuiStart dashboard: bash {baseDir}/dashboard/serve.sh
/project-orchestration project <path> [name]Onboard a project (new or existing)
/project-orchestration statusShow orchestration state
/project-orchestration resume <id>Resume session: bash {baseDir}/scripts/resume-session.sh <id> (id = filename, partial match, or 'last')
/project-orchestration check-pricesCheck prices: bash {baseDir}/scripts/check-prices.sh
/project-orchestration log-session <project> <task> <model> <status> [notes]Log a session run
/project-orchestration log-decision <path> <title> <context> <decision> [alt] [cons]Log an architecture decision

Quick Scripts

Active Tools (do real work)

ScriptWhat it does
bash {baseDir}/scripts/onboard.shFresh-install onboarding (interactive)
bash {baseDir}/scripts/init-project.sh <path> <name> [stack]Scaffold a new project
bash {baseDir}/scripts/log-session.sh ...Log a session run (with full state for resume)
bash {baseDir}/scripts/log-decision.sh ...Log an architecture decision
bash {baseDir}/scripts/check-prices.shCheck cloud model prices
bash {baseDir}/scripts/discover-models.shProbe providers for models
bash {baseDir}/scripts/test-model.sh <id>Check model endpoint connectivity
bash {baseDir}/scripts/resume-session.sh <id>Resume a previous session (id = filename, partial match, or 'last')
bash {baseDir}/dashboard/serve.shStart orchestration dashboard

Guidance Scripts (print instructions for OpenClaw session tools)

ScriptWhat it does
bash {baseDir}/scripts/show-tree.shShow data dir state + OpenClaw tool guidance
bash {baseDir}/scripts/find-stuck.shShow how to find stuck subagents from session
bash {baseDir}/scripts/cleanup-stale.shShow how to clean stale subagents from session
bash {baseDir}/scripts/find-stray.shShow how to find stray subagents from session

On-Demand Reading

When you need detailed instructions, read the relevant file:

  • {baseDir}/README.md — Full documentation (all procedures)
  • {baseDir}/ROUTING.md — Model routing table template
  • $ORCHESTRATOR_DATA_DIR/models.json — Your model inventory
  • $ORCHESTRATOR_DATA_DIR/session_log.md — Quick reference session history
  • $ORCHESTRATOR_DATA_DIR/sessions/ — Detailed session state files (for resume)

Using External Skills

For specialised tasks, use whatever skills are available in your instance. Always fall back to built-in tools (edit, exec, read, web_search, web_fetch, browser) when specialised skills are unavailable.

Prompt Injection

Every spawned sub-agent or Cursor session MUST include:

IMPORTANT: Follow Genor's Project Orchestration conventions:
- Repowise first (or exec find as fallback)
- Plan before coding (update_plan or mental plan)
- Verify before claiming (build, test, screenshot, vision Q&A)
- Self-review your output before returning
- Fallback chains: if a tool is unavailable, use the next fallback
- Document decisions, log sessions