Claudeskill-loki-mode loki-mode
Launch Loki Mode autonomous SDLC agent. Handles PRD-to-deployment with minimal human intervention. Invoke for multi-phase development tasks, bug fixing campaigns, or full product builds.
install
source · Clone the upstream repo
git clone https://github.com/asklokesh/loki-mode
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/asklokesh/loki-mode "$T" && mkdir -p ~/.claude/skills && cp -r "$T/integrations/openclaw" ~/.claude/skills/asklokesh-claudeskill-loki-mode-loki-mode-5cf479 && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/asklokesh/loki-mode "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/integrations/openclaw" ~/.openclaw/skills/asklokesh-claudeskill-loki-mode-loki-mode-5cf479 && rm -rf "$T"
manifest:
integrations/openclaw/SKILL.mdsource content
Loki Mode - OpenClaw Skill
When to use
- User asks to "build", "implement", or "develop" a feature from a PRD
- User provides a requirements document and wants autonomous execution
- User says "loki mode" or references autonomous development
- User wants to run a full SDLC cycle on a codebase
Prerequisites
CLI installed on the host (vialoki
or Homebrew)npm install -g loki-mode- One of: Claude Code, Codex CLI, or Gemini CLI installed
- Corresponding API key set (ANTHROPIC_API_KEY, OPENAI_API_KEY, or GOOGLE_API_KEY)
How to invoke
Start a session
Use the bash tool with background mode:
bash(command: "loki start <prd-path> --bg --yes --no-dashboard", pty: true, background: true, workdir: "<project-dir>")
Key flags:
: Background mode (session outlives the tool call)--bg
: Skip confirmation prompts--yes
: Avoid port conflicts in sandboxed environments--no-dashboard
: Select AI provider (default: claude)--provider <claude|codex|gemini>
: Set cost limit in USD (auto-pause when exceeded)--budget <amount>
Monitor progress
Poll status every 30 seconds:
bash(command: "loki status --json", workdir: "<project-dir>")
The JSON output contains:
: Loki Mode version stringversion
: inactive, running, paused, stopped, completed, unknownstatus
: Current SDLC phase (e.g., BOOTSTRAP, DISCOVERY, ARCHITECTURE, DEVELOPMENT, QA, DEPLOYMENT)phase
: Current iteration numberiteration
: Which AI provider is active (claude, codex, gemini)provider
: Process ID of the running session (null if not running)pid
: Seconds since session startelapsed_time
: URL of the web dashboard (null if disabled)dashboard_url
: Object withtask_counts
,total
,completed
,failed
countspending
For budget tracking (not in JSON output), read the budget file directly:
bash(command: "cat .loki/metrics/budget.json 2>/dev/null || echo '{}'", workdir: "<project-dir>")
Budget JSON fields:
budget_limit, budget_used
Report progress to channel
After each poll, summarize changes:
- Phase transitions ("Moved from ARCHITECTURE to DEVELOPMENT")
- Task completion counts ("12/20 tasks complete, 0 failed")
- Elapsed time ("Running for 45 minutes")
- Error states that need attention (failed tasks > 0, status is unknown)
If budget tracking is active, include cost in updates:
- "Estimated cost: $4.50 / $50.00 budget"
Control commands
- Pause:
bash(command: "loki pause", workdir: "<project-dir>") - Resume:
bash(command: "loki resume", workdir: "<project-dir>") - Stop:
bash(command: "loki stop", workdir: "<project-dir>") - Status:
bash(command: "loki status", workdir: "<project-dir>") - Logs:
bash(command: "loki logs --tail 50", workdir: "<project-dir>")
Session complete
When status becomes "stopped" or "completed":
- Run
for final summaryloki status --json - Run
to show commits madegit log --oneline -20 - Report final task counts, elapsed time, and duration
- If council verdict exists, include it:
cat .loki/council/report.md
Critical rules
- ALWAYS use --bg flag (session must outlive the tool call)
- ALWAYS use --yes flag (no confirmation prompts in non-interactive channels)
- NEVER run loki in the OpenClaw workspace directory itself
- Poll status rather than watching stdout (background mode detaches)
- If session crashes, check
before restartingloki logs - Respect budget limits -- include cost in every progress update when tracking is active
- The --no-dashboard flag is recommended to avoid port conflicts in sandboxed environments