{"id":"7113788a-9756-498e-be7c-d2ef8c46a068","entityType":"agent","slug":"clawhub-nathansebhastian-kilocli-coding-agent","name":"Kilo CLI Coding Agent","canonicalUrl":"https://www.xpersona.co/agent/clawhub-nathansebhastian-kilocli-coding-agent","canonicalPath":"/agent/clawhub-nathansebhastian-kilocli-coding-agent","generatedAt":"2026-10-09T18:29:11.749Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T07:29:09.117Z","emptyReason":null},"description":"Run Kilo CLI via background process for programmatic control. Skill: Kilo CLI Coding Agent Owner: nathansebhastian Summary: Run Kilo CLI via background process for programmatic control. Tags: latest:0.0.9 Version history: v0.0.9 | 2026-02-16T03:06:58.705Z | auto kilocli-coding-agent 0.0.9 - Updated SKILL.md metadata formatting by fixing indentation and structure for \"requires,\" \"env,\" \"bins,\" and \"primaryEnv\" fields. - No changes made to end-user usage or core functionality. -","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 3.6K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s17fph7cxbvma9wqwrtjkqzbph87vd7d:kilocli-coding-agent","sourceUrl":"https://clawhub.ai/nathansebhastian/kilocli-coding-agent","homepage":"https://clawhub.ai/nathansebhastian/skills/kilocli-coding-agent","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/nathansebhastian/kilocli-coding-agent","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/nathansebhastian/skills/kilocli-coding-agent","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":71,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Run Kilo CLI via background process for programmatic control. Skill: Kilo CLI Coding Agent Owner: nathansebhastian Summary: Run Kilo CLI via background process "},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T07:29:09.117Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T07:29:09.117Z","emptyReason":null},"stars":null,"forks":null,"downloads":3602,"packageName":null,"latestVersion":"0.0.9","tractionLabel":"3.6K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T07:29:09.117Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T07:29:09.117Z","lastCrawledAt":"2026-10-09T07:29:09.117Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T07:29:09.117Z","lastVerifiedAt":null,"highlights":[{"version":"0.0.9","createdAt":"2026-02-16T03:06:58.705Z","changelog":"kilocli-coding-agent 0.0.9 - Updated SKILL.md metadata formatting by fixing indentation and structure for \"requires,\" \"env,\" \"bins,\" and \"primaryEnv\" fields. - No changes made to end-user usage or core functionality. - Version bump from 0.0.8 to 0.0.9.","fileCount":5,"zipByteSize":5378},{"version":"0.0.8","createdAt":"2026-02-16T03:02:49.228Z","changelog":"- Added README.md for additional documentation and onboarding. - Introduced claw.json configuration file. - Updated SKILL.md for version 0.0.8 (no substantive content changes identified in this version bump).","fileCount":4,"zipByteSize":4207},{"version":"0.0.7","createdAt":"2026-02-16T02:55:49.164Z","changelog":"- Bumped version to 0.0.7. - Updated SKILL.md metadata: removed the \"openclaw\" install instructions section. - No other user-facing or functional changes.","fileCount":2,"zipByteSize":3559},{"version":"0.0.6","createdAt":"2026-02-16T02:50:43.828Z","changelog":"kilocli-coding-agent v0.0.6 - Added install instructions to the skill metadata for improved installation support (`install` field). - No other changes to usage, instructions, or behavior.","fileCount":2,"zipByteSize":3579},{"version":"0.0.5","createdAt":"2026-02-16T02:41:44.104Z","changelog":"kilocli-coding-agent 0.0.5 - Added GITHUB_TOKEN as a required environment variable for authentication. - Updated metadata to declare GITHUB_TOKEN under env and set it as primaryEnv. - Changed build instructions to use autonomous mode (`--auto`) for Kilo CLI runs. - No changes to usage flow, documentation, or rules except clarifying flag usage for autonomous builds.","fileCount":2,"zipByteSize":3558},{"version":"0.0.4","createdAt":"2026-02-16T02:35:17.559Z","changelog":"kilocli-coding-agent 0.0.4 - Added version and metadata sections to SKILL.md, including required binaries (kilo, git, gh, tmux). - Updated project, tool, and path references from “clawdbot” to “openclaw” for clarity and accuracy. - Added instructions on authenticating the GitHub CLI for automated pull requests. - Strengthened warnings throughout documentation to prevent unsafe reviews or branch checkouts in the live OpenClaw instance. - No code or logic changes; all updates are documentation only.","fileCount":2,"zipByteSize":3517},{"version":"0.0.3","createdAt":"2026-02-06T08:38:34.151Z","changelog":"Edit Name","fileCount":2,"zipByteSize":3402},{"version":"0.0.2","createdAt":"2026-02-05T14:57:34.776Z","changelog":"No user-facing changes in this version. - No file changes detected. - Functionality and documentation remain unchanged from the previous release.","fileCount":2,"zipByteSize":3401}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17fph7cxbvma9wqwrtjkqzbph87vd7d:kilocli-coding-agent","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-nathansebhastian-kilocli-coding-agent/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-nathansebhastian-kilocli-coding-agent/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-nathansebhastian-kilocli-coding-agent/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-nathansebhastian-kilocli-coding-agent/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-nathansebhastian-kilocli-coding-agent/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-nathansebhastian-kilocli-coding-agent/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-09T18:29:11.748Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-nathansebhastian-kilocli-coding-agent/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-nathansebhastian-kilocli-coding-agent/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-nathansebhastian-kilocli-coding-agent/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-nathansebhastian-kilocli-coding-agent/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-09T07:29:09.117Z","emptyReason":null},"readme":"Skill: Kilo CLI Coding Agent\n\nOwner: nathansebhastian\n\nSummary: Run Kilo CLI via background process for programmatic control.\n\nTags: latest:0.0.9\n\nVersion history:\n\nv0.0.9 | 2026-02-16T03:06:58.705Z | auto\n\nkilocli-coding-agent 0.0.9\n\n- Updated SKILL.md metadata formatting by fixing indentation and structure for \"requires,\" \"env,\" \"bins,\" and \"primaryEnv\" fields.\n- No changes made to end-user usage or core functionality.\n- Version bump from 0.0.8 to 0.0.9.\n\nv0.0.8 | 2026-02-16T03:02:49.228Z | auto\n\n- Added README.md for additional documentation and onboarding.\n- Introduced claw.json configuration file.\n- Updated SKILL.md for version 0.0.8 (no substantive content changes identified in this version bump).\n\nv0.0.7 | 2026-02-16T02:55:49.164Z | auto\n\n- Bumped version to 0.0.7.\n- Updated SKILL.md metadata: removed the \"openclaw\" install instructions section.\n- No other user-facing or functional changes.\n\nv0.0.6 | 2026-02-16T02:50:43.828Z | auto\n\nkilocli-coding-agent v0.0.6\n\n- Added install instructions to the skill metadata for improved installation support (`install` field).\n- No other changes to usage, instructions, or behavior.\n\nv0.0.5 | 2026-02-16T02:41:44.104Z | auto\n\nkilocli-coding-agent 0.0.5\n\n- Added GITHUB_TOKEN as a required environment variable for authentication.\n- Updated metadata to declare GITHUB_TOKEN under env and set it as primaryEnv.\n- Changed build instructions to use autonomous mode (`--auto`) for Kilo CLI runs.\n- No changes to usage flow, documentation, or rules except clarifying flag usage for autonomous builds.\n\nv0.0.4 | 2026-02-16T02:35:17.559Z | auto\n\nkilocli-coding-agent 0.0.4\n\n- Added version and metadata sections to SKILL.md, including required binaries (kilo, git, gh, tmux).\n- Updated project, tool, and path references from “clawdbot” to “openclaw” for clarity and accuracy.\n- Added instructions on authenticating the GitHub CLI for automated pull requests.\n- Strengthened warnings throughout documentation to prevent unsafe reviews or branch checkouts in the live OpenClaw instance.\n- No code or logic changes; all updates are documentation only.\n\nv0.0.3 | 2026-02-06T08:38:34.151Z | user\n\nEdit Name\n\nv0.0.2 | 2026-02-05T14:57:34.776Z | auto\n\nNo user-facing changes in this version.\n\n- No file changes detected.  \n- Functionality and documentation remain unchanged from the previous release.\n\nv0.0.1 | 2026-02-05T06:45:05.579Z | user\n\nFirst upload\n\nv0.1.0 | 2026-02-05T05:30:30.132Z | auto\n\n- Initial release of kilocli-coding-agent.\n- Enables running Kilo CLI via background processes for automated, programmatic control.\n- Provides best-practice workflows for PR/code review, building, and parallel issue fixing using bash background jobs and tmux sessions.\n- Documents safety rules to avoid conflicts with live repos and ensure stable multi-process operation.\n- Includes detailed usage patterns and PR template recommendations for maintainability.\n\nv1.0.0 | 2026-02-05T05:17:30.938Z | user\n\nkilocli-coding-agent 1.0.0\n\n- Initial release for integrating Kilo CLI via background processes and workdir isolation.\n- Provides detailed workflows for background (non-interactive) and tmux (interactive) coding sessions.\n- Includes best practices for safe PR review, batch review automation, and parallel development using git worktrees.\n- Documents strict rules to prevent accidental disruption of live Clawdbot instances.\n- Supplies a comprehensive PR template (The Razor Standard) for high-quality contributions.\n\nArchive index:\n\nArchive v0.0.9: 5 files, 5378 bytes\n\nFiles: claw.json (517b), README.md (125b), skill-card.md (2044b), SKILL.md (7654b), _meta.json (139b)\n\nFile v0.0.9:SKILL.md\n\n---\nname: kilocli-coding-agent\ndescription: Run Kilo CLI via background process for programmatic control.\nversion: 0.0.9\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - GITHUB_TOKEN\n      bins:\n        - kilo\n        - git\n        - gh\n        - tmux\n    primaryEnv: GITHUB_TOKEN\n---\n---\n\nIMPORTANT: You need to have Kilo CLI installed and configured so OpenClaw can use it without any issue.\n\n```sh\nnpm install -g @kilocode/cli\n```\n\nIf you want to automate pull requests to Github, then you also need to authenticate Github CLI in your project: https://github.com/cli/cli#installation\n\n# Coding Agent (background-first)\n\nUse **bash background mode** for non-interactive coding work. For interactive coding sessions, use the **tmux** skill (always, except very simple one-shot prompts).\n\n## The Pattern: workdir + background\n\n```bash\n# Create temp space for chats/scratch work\nSCRATCH=$(mktemp -d)\n\n# Start agent in target directory (\"little box\" - only sees relevant files)\nbash workdir:$SCRATCH background:true command:\"<agent command>\"\n# Or for project work:\nbash workdir:~/project/folder background:true command:\"<agent command>\"\n# Returns sessionId for tracking\n\n# Monitor progress\nprocess action:log sessionId:XXX\n\n# Check if done  \nprocess action:poll sessionId:XXX\n\n# Send input (if agent asks a question)\nprocess action:write sessionId:XXX data:\"y\"\n\n# Kill if needed\nprocess action:kill sessionId:XXX\n```\n\n**Why workdir matters:** Agent wakes up in a focused directory, doesn't wander off reading unrelated files (like your soul.md 😅).\n\n---\n\n## Kilo CLI\n\n### Building/Creating (Use Autonomous mode)\n\n```bash\nbash workdir:~/project background:true command:\"kilo run --auto \\\"Build a snake game with dark theme\\\"\"\n```\n\n### Reviewing PRs (vanilla, no flags)\n\n**⚠️ CRITICAL: Never review PRs in OpenClaw's own project folder!**\n- Either use the project where the PR is submitted (if it's NOT ~/Projects/openclaw)\n- Or clone to a temp folder first\n\n```bash\n# Option 1: Review in the actual project (if NOT OpenClaw)\nbash workdir:~/Projects/some-other-repo background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n\n# Option 2: Clone to temp folder for safe review (REQUIRED for OpenClaw PRs!)\nREVIEW_DIR=$(mktemp -d)\ngit clone https://github.com/openclaw/openclaw.git $REVIEW_DIR\ncd $REVIEW_DIR && gh pr checkout 130\nbash workdir:$REVIEW_DIR background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n# Clean up after: rm -rf $REVIEW_DIR\n\n# Option 3: Use git worktree (keeps main intact)\ngit worktree add /tmp/pr-130-review pr-130-branch\nbash workdir:/tmp/pr-130-review background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n```\n\n**Why?** Checking out branches in the running OpenClaw repo can break the live instance!\n\n### Batch PR Reviews (parallel army!)\n```bash\n# Fetch all PR refs first\ngit fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'\n\n# Deploy the army - one Kilo CLI per PR!\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #86. git diff origin/main...origin/pr/86\\\"\"\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #87. git diff origin/main...origin/pr/87\\\"\"\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #95. git diff origin/main...origin/pr/95\\\"\"\n# ... repeat for all PRs\n\n# Monitor all\nprocess action:list\n\n# Get results and post to GitHub\nprocess action:log sessionId:XXX\ngh pr comment <PR#> --body \"<review content>\"\n```\n\n### Tips for PR Reviews\n- **Fetch refs first:** `git fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'`\n- **Use git diff:** Tell Kilo CLI to use `git diff origin/main...origin/pr/XX`\n- **Don't checkout:** Multiple parallel reviews = don't let them change branches\n- **Post results:** Use `gh pr comment` to post reviews to GitHub\n\n---\n\n## tmux (interactive sessions)\n\nUse the tmux skill for interactive coding sessions (always, except very simple one-shot prompts). Prefer bash background mode for non-interactive runs.\n\n---\n\n## Parallel Issue Fixing with git worktrees + tmux\n\nFor fixing multiple issues in parallel, use git worktrees (isolated branches) + tmux sessions:\n\n```bash\n# 1. Clone repo to temp location\ncd /tmp && git clone git@github.com:user/repo.git repo-worktrees\ncd repo-worktrees\n\n# 2. Create worktrees for each issue (isolated branches!)\ngit worktree add -b fix/issue-78 /tmp/issue-78 main\ngit worktree add -b fix/issue-99 /tmp/issue-99 main\n\n# 3. Set up tmux sessions\nSOCKET=\"${TMPDIR:-/tmp}/kilo-fixes.sock\"\ntmux -S \"$SOCKET\" new-session -d -s fix-78\ntmux -S \"$SOCKET\" new-session -d -s fix-99\n\n# 4. Launch Kilo CLI in each (after npm install!)\ntmux -S \"$SOCKET\" send-keys -t fix-78 \"cd /tmp/issue-78 && npm install && kilo run 'Fix issue #78: <description>. Commit and push.'\" Enter\ntmux -S \"$SOCKET\" send-keys -t fix-99 \"cd /tmp/issue-99 && npm install && kilo run 'Fix issue #99: <description>. Commit and push.'\" Enter\n\n# 5. Monitor progress\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -30\ntmux -S \"$SOCKET\" capture-pane -p -t fix-99 -S -30\n\n# 6. Check if done (prompt returned)\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -3 | grep -q \"❯\" && echo \"Done!\"\n\n# 7. Create PRs after fixes\ncd /tmp/issue-78 && git push -u origin fix/issue-78\ngh pr create --repo user/repo --head fix/issue-78 --title \"fix: ...\" --body \"...\"\n\n# 8. Cleanup\ntmux -S \"$SOCKET\" kill-server\ngit worktree remove /tmp/issue-78\ngit worktree remove /tmp/issue-99\n```\n\n**Why worktrees?** Each Kilo CLI works in isolated branch, no conflicts. Can run 5+ parallel fixes!\n\n**Why tmux over bash background?** Kilo CLI is interactive — needs TTY for proper output. tmux provides persistent sessions with full history capture.\n\n---\n\n## ⚠️ Rules\n\n1. **Respect tool choice** — if user asks for Kilo CLI, use Kilo CLI. NEVER offer to build it yourself!\n2. **Be patient** — don't kill sessions because they're \"slow\"\n3. **Monitor with process:log** — check progress without interfering\n4. **--full-auto for building** — auto-approves changes\n5. **vanilla for reviewing** — no special flags needed\n6. **Parallel is OK** — run many Kilo CLI processes at once for batch work\n7. **NEVER start Kilo CLI in ~/openclaw/** — it'll read your soul docs and get weird ideas about the org chart! Use the target project dir or /tmp for blank slate chats\n8. **NEVER checkout branches in ~/Projects/openclaw/** — that's the LIVE OpenClaw instance! Clone to /tmp or use git worktree for PR reviews\n\n---\n\n## PR Template (The Razor Standard)\n\nWhen submitting PRs to external repos, use this format for quality & maintainer-friendliness:\n\n````markdown\n## Original Prompt\n[Exact request/problem statement]\n\n## What this does\n[High-level description]\n\n**Features:**\n- [Key feature 1]\n- [Key feature 2]\n\n**Example usage:**\n```bash\n# Example\ncommand example\n```\n\n## Feature intent (maintainer-friendly)\n[Why useful, how it fits, workflows it enables]\n\n## Prompt history (timestamped)\n- YYYY-MM-DD HH:MM UTC: [Step 1]\n- YYYY-MM-DD HH:MM UTC: [Step 2]\n\n## How I tested\n**Manual verification:**\n1. [Test step] - Output: `[result]`\n2. [Test step] - Result: [result]\n\n**Files tested:**\n- [Detail]\n- [Edge cases]\n\n## Session logs (implementation)\n- [What was researched]\n- [What was discovered]\n- [Time spent]\n\n## Implementation details\n**New files:**\n- `path/file.ts` - [description]\n\n**Modified files:**\n- `path/file.ts` - [change]\n\n**Technical notes:**\n- [Detail 1]\n- [Detail 2]\n\n---\n````\n\n**Key principles:**\n1. Human-written description (no AI slop)\n2. Feature intent for maintainers\n3. Timestamped prompt history\n4. Session logs if using Kilo CLI agent\n\nFile v0.0.9:README.md\n\n# Kilo CLI Coding Agent\n\nAn OpenClaw skill that programmatically controls Kilo CLI, allowing it to run tasks on your behalf.\n\nFile v0.0.9:_meta.json\n\n{\n  \"ownerId\": \"kn70r260w4vjyjwbfg87t8t0xn80k3h4\",\n  \"slug\": \"kilocli-coding-agent\",\n  \"version\": \"0.0.9\",\n  \"publishedAt\": 1771211218705\n}\n\nFile v0.0.9:skill-card.md\n\n## Description:\n\nRun Kilo CLI via background process for programmatic control.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[nathansebhastian](https://clawhub.ai/user/nathansebhastian)\n\n### License/Terms of Use:\n\nMIT\n\n## Use Case:\n\nDevelopers and engineering teams use this skill to launch and monitor Kilo CLI coding tasks, PR reviews, issue fixes, and GitHub workflow work from an OpenClaw environment.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Autonomous Kilo CLI subprocesses may make repository changes or create GitHub output that the user did not fully inspect.\n\nMitigation: Review all diffs, generated files, PRs, and comments before pushing or publishing changes.\n\nRisk: A broad GitHub token can grant more repository or workflow access than a task needs.\n\nMitigation: Use a fine-grained, repository-scoped GitHub token and avoid actions:write unless the current task requires it.\n\nRisk: PR bodies, comments, prompts, logs, private paths, or internal context may expose sensitive information.\n\nMitigation: Sanitize generated GitHub content and session logs before posting or sharing them.\n\n## Reference(s):\n\n- [Kilo CLI Coding Agent on ClawHub](https://clawhub.ai/nathansebhastian/skills/kilocli-coding-agent)\n- [GitHub CLI installation](https://github.com/cli/cli#installation)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline shell commands and code blocks]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May require Kilo CLI, git, GitHub CLI, tmux, and a repository-scoped GITHUB_TOKEN.]\n\n## Skill Version(s):\n\n0.0.9 (source: release metadata, SKILL.md frontmatter, claw.json)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v0.0.9:claw.json\n\n{\n  \"name\": \"kilocli-coding-agent\",\n  \"version\": \"0.0.9\",\n  \"description\": \"Run Kilo CLI via background process for programmatic control.\",\n  \"author\": \"codewithnathan97\",\n  \"license\": \"MIT\",\n  \"tags\": [\"productivity\", \"web development\", \"github\"],\n  \"permissions\": [\"network\", \"exec\"],\n  \"entry\": \"SKILL.md\",\n  \"minOpenClawVersion\": \"0.8.0\",\n  \"env\": [\n    {\n      \"name\": \"GITHUB_TOKEN\",\n      \"description\": \"GitHub Personal Access Token with repo and actions:write permissions\",\n      \"required\": true\n    }\n  ]\n}\n\nArchive v0.0.8: 4 files, 4207 bytes\n\nFiles: claw.json (517b), README.md (125b), SKILL.md (7650b), _meta.json (139b)\n\nFile v0.0.8:SKILL.md\n\n---\nname: kilocli-coding-agent\ndescription: Run Kilo CLI via background process for programmatic control.\nversion: 0.0.8\nmetadata:\n  openclaw:\n    requires:\n    env:\n        - GITHUB_TOKEN\n    bins:\n        - kilo\n        - git\n        - gh\n        - tmux\n    primaryEnv: GITHUB_TOKEN\n---\n---\n\nIMPORTANT: You need to have Kilo CLI installed and configured so OpenClaw can use it without any issue.\n\n```sh\nnpm install -g @kilocode/cli\n```\n\nIf you want to automate pull requests to Github, then you also need to authenticate Github CLI in your project: https://github.com/cli/cli#installation\n\n# Coding Agent (background-first)\n\nUse **bash background mode** for non-interactive coding work. For interactive coding sessions, use the **tmux** skill (always, except very simple one-shot prompts).\n\n## The Pattern: workdir + background\n\n```bash\n# Create temp space for chats/scratch work\nSCRATCH=$(mktemp -d)\n\n# Start agent in target directory (\"little box\" - only sees relevant files)\nbash workdir:$SCRATCH background:true command:\"<agent command>\"\n# Or for project work:\nbash workdir:~/project/folder background:true command:\"<agent command>\"\n# Returns sessionId for tracking\n\n# Monitor progress\nprocess action:log sessionId:XXX\n\n# Check if done  \nprocess action:poll sessionId:XXX\n\n# Send input (if agent asks a question)\nprocess action:write sessionId:XXX data:\"y\"\n\n# Kill if needed\nprocess action:kill sessionId:XXX\n```\n\n**Why workdir matters:** Agent wakes up in a focused directory, doesn't wander off reading unrelated files (like your soul.md 😅).\n\n---\n\n## Kilo CLI\n\n### Building/Creating (Use Autonomous mode)\n\n```bash\nbash workdir:~/project background:true command:\"kilo run --auto \\\"Build a snake game with dark theme\\\"\"\n```\n\n### Reviewing PRs (vanilla, no flags)\n\n**⚠️ CRITICAL: Never review PRs in OpenClaw's own project folder!**\n- Either use the project where the PR is submitted (if it's NOT ~/Projects/openclaw)\n- Or clone to a temp folder first\n\n```bash\n# Option 1: Review in the actual project (if NOT OpenClaw)\nbash workdir:~/Projects/some-other-repo background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n\n# Option 2: Clone to temp folder for safe review (REQUIRED for OpenClaw PRs!)\nREVIEW_DIR=$(mktemp -d)\ngit clone https://github.com/openclaw/openclaw.git $REVIEW_DIR\ncd $REVIEW_DIR && gh pr checkout 130\nbash workdir:$REVIEW_DIR background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n# Clean up after: rm -rf $REVIEW_DIR\n\n# Option 3: Use git worktree (keeps main intact)\ngit worktree add /tmp/pr-130-review pr-130-branch\nbash workdir:/tmp/pr-130-review background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n```\n\n**Why?** Checking out branches in the running OpenClaw repo can break the live instance!\n\n### Batch PR Reviews (parallel army!)\n```bash\n# Fetch all PR refs first\ngit fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'\n\n# Deploy the army - one Kilo CLI per PR!\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #86. git diff origin/main...origin/pr/86\\\"\"\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #87. git diff origin/main...origin/pr/87\\\"\"\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #95. git diff origin/main...origin/pr/95\\\"\"\n# ... repeat for all PRs\n\n# Monitor all\nprocess action:list\n\n# Get results and post to GitHub\nprocess action:log sessionId:XXX\ngh pr comment <PR#> --body \"<review content>\"\n```\n\n### Tips for PR Reviews\n- **Fetch refs first:** `git fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'`\n- **Use git diff:** Tell Kilo CLI to use `git diff origin/main...origin/pr/XX`\n- **Don't checkout:** Multiple parallel reviews = don't let them change branches\n- **Post results:** Use `gh pr comment` to post reviews to GitHub\n\n---\n\n## tmux (interactive sessions)\n\nUse the tmux skill for interactive coding sessions (always, except very simple one-shot prompts). Prefer bash background mode for non-interactive runs.\n\n---\n\n## Parallel Issue Fixing with git worktrees + tmux\n\nFor fixing multiple issues in parallel, use git worktrees (isolated branches) + tmux sessions:\n\n```bash\n# 1. Clone repo to temp location\ncd /tmp && git clone git@github.com:user/repo.git repo-worktrees\ncd repo-worktrees\n\n# 2. Create worktrees for each issue (isolated branches!)\ngit worktree add -b fix/issue-78 /tmp/issue-78 main\ngit worktree add -b fix/issue-99 /tmp/issue-99 main\n\n# 3. Set up tmux sessions\nSOCKET=\"${TMPDIR:-/tmp}/kilo-fixes.sock\"\ntmux -S \"$SOCKET\" new-session -d -s fix-78\ntmux -S \"$SOCKET\" new-session -d -s fix-99\n\n# 4. Launch Kilo CLI in each (after npm install!)\ntmux -S \"$SOCKET\" send-keys -t fix-78 \"cd /tmp/issue-78 && npm install && kilo run 'Fix issue #78: <description>. Commit and push.'\" Enter\ntmux -S \"$SOCKET\" send-keys -t fix-99 \"cd /tmp/issue-99 && npm install && kilo run 'Fix issue #99: <description>. Commit and push.'\" Enter\n\n# 5. Monitor progress\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -30\ntmux -S \"$SOCKET\" capture-pane -p -t fix-99 -S -30\n\n# 6. Check if done (prompt returned)\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -3 | grep -q \"❯\" && echo \"Done!\"\n\n# 7. Create PRs after fixes\ncd /tmp/issue-78 && git push -u origin fix/issue-78\ngh pr create --repo user/repo --head fix/issue-78 --title \"fix: ...\" --body \"...\"\n\n# 8. Cleanup\ntmux -S \"$SOCKET\" kill-server\ngit worktree remove /tmp/issue-78\ngit worktree remove /tmp/issue-99\n```\n\n**Why worktrees?** Each Kilo CLI works in isolated branch, no conflicts. Can run 5+ parallel fixes!\n\n**Why tmux over bash background?** Kilo CLI is interactive — needs TTY for proper output. tmux provides persistent sessions with full history capture.\n\n---\n\n## ⚠️ Rules\n\n1. **Respect tool choice** — if user asks for Kilo CLI, use Kilo CLI. NEVER offer to build it yourself!\n2. **Be patient** — don't kill sessions because they're \"slow\"\n3. **Monitor with process:log** — check progress without interfering\n4. **--full-auto for building** — auto-approves changes\n5. **vanilla for reviewing** — no special flags needed\n6. **Parallel is OK** — run many Kilo CLI processes at once for batch work\n7. **NEVER start Kilo CLI in ~/openclaw/** — it'll read your soul docs and get weird ideas about the org chart! Use the target project dir or /tmp for blank slate chats\n8. **NEVER checkout branches in ~/Projects/openclaw/** — that's the LIVE OpenClaw instance! Clone to /tmp or use git worktree for PR reviews\n\n---\n\n## PR Template (The Razor Standard)\n\nWhen submitting PRs to external repos, use this format for quality & maintainer-friendliness:\n\n````markdown\n## Original Prompt\n[Exact request/problem statement]\n\n## What this does\n[High-level description]\n\n**Features:**\n- [Key feature 1]\n- [Key feature 2]\n\n**Example usage:**\n```bash\n# Example\ncommand example\n```\n\n## Feature intent (maintainer-friendly)\n[Why useful, how it fits, workflows it enables]\n\n## Prompt history (timestamped)\n- YYYY-MM-DD HH:MM UTC: [Step 1]\n- YYYY-MM-DD HH:MM UTC: [Step 2]\n\n## How I tested\n**Manual verification:**\n1. [Test step] - Output: `[result]`\n2. [Test step] - Result: [result]\n\n**Files tested:**\n- [Detail]\n- [Edge cases]\n\n## Session logs (implementation)\n- [What was researched]\n- [What was discovered]\n- [Time spent]\n\n## Implementation details\n**New files:**\n- `path/file.ts` - [description]\n\n**Modified files:**\n- `path/file.ts` - [change]\n\n**Technical notes:**\n- [Detail 1]\n- [Detail 2]\n\n---\n````\n\n**Key principles:**\n1. Human-written description (no AI slop)\n2. Feature intent for maintainers\n3. Timestamped prompt history\n4. Session logs if using Kilo CLI agent\n\nFile v0.0.8:README.md\n\n# Kilo CLI Coding Agent\n\nAn OpenClaw skill that programmatically controls Kilo CLI, allowing it to run tasks on your behalf.\n\nFile v0.0.8:_meta.json\n\n{\n  \"ownerId\": \"kn70r260w4vjyjwbfg87t8t0xn80k3h4\",\n  \"slug\": \"kilocli-coding-agent\",\n  \"version\": \"0.0.8\",\n  \"publishedAt\": 1771210969228\n}\n\nFile v0.0.8:claw.json\n\n{\n  \"name\": \"kilocli-coding-agent\",\n  \"version\": \"0.0.8\",\n  \"description\": \"Run Kilo CLI via background process for programmatic control.\",\n  \"author\": \"codewithnathan97\",\n  \"license\": \"MIT\",\n  \"tags\": [\"productivity\", \"web development\", \"github\"],\n  \"permissions\": [\"network\", \"exec\"],\n  \"entry\": \"SKILL.md\",\n  \"minOpenClawVersion\": \"0.8.0\",\n  \"env\": [\n    {\n      \"name\": \"GITHUB_TOKEN\",\n      \"description\": \"GitHub Personal Access Token with repo and actions:write permissions\",\n      \"required\": true\n    }\n  ]\n}\n\nArchive v0.0.7: 2 files, 3559 bytes\n\nFiles: SKILL.md (7650b), _meta.json (139b)\n\nFile v0.0.7:SKILL.md\n\n---\nname: kilocli-coding-agent\ndescription: Run Kilo CLI via background process for programmatic control.\nversion: 0.0.7\nmetadata:\n  openclaw:\n    requires:\n    env:\n        - GITHUB_TOKEN\n    bins:\n        - kilo\n        - git\n        - gh\n        - tmux\n    primaryEnv: GITHUB_TOKEN\n---\n---\n\nIMPORTANT: You need to have Kilo CLI installed and configured so OpenClaw can use it without any issue.\n\n```sh\nnpm install -g @kilocode/cli\n```\n\nIf you want to automate pull requests to Github, then you also need to authenticate Github CLI in your project: https://github.com/cli/cli#installation\n\n# Coding Agent (background-first)\n\nUse **bash background mode** for non-interactive coding work. For interactive coding sessions, use the **tmux** skill (always, except very simple one-shot prompts).\n\n## The Pattern: workdir + background\n\n```bash\n# Create temp space for chats/scratch work\nSCRATCH=$(mktemp -d)\n\n# Start agent in target directory (\"little box\" - only sees relevant files)\nbash workdir:$SCRATCH background:true command:\"<agent command>\"\n# Or for project work:\nbash workdir:~/project/folder background:true command:\"<agent command>\"\n# Returns sessionId for tracking\n\n# Monitor progress\nprocess action:log sessionId:XXX\n\n# Check if done  \nprocess action:poll sessionId:XXX\n\n# Send input (if agent asks a question)\nprocess action:write sessionId:XXX data:\"y\"\n\n# Kill if needed\nprocess action:kill sessionId:XXX\n```\n\n**Why workdir matters:** Agent wakes up in a focused directory, doesn't wander off reading unrelated files (like your soul.md 😅).\n\n---\n\n## Kilo CLI\n\n### Building/Creating (Use Autonomous mode)\n\n```bash\nbash workdir:~/project background:true command:\"kilo run --auto \\\"Build a snake game with dark theme\\\"\"\n```\n\n### Reviewing PRs (vanilla, no flags)\n\n**⚠️ CRITICAL: Never review PRs in OpenClaw's own project folder!**\n- Either use the project where the PR is submitted (if it's NOT ~/Projects/openclaw)\n- Or clone to a temp folder first\n\n```bash\n# Option 1: Review in the actual project (if NOT OpenClaw)\nbash workdir:~/Projects/some-other-repo background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n\n# Option 2: Clone to temp folder for safe review (REQUIRED for OpenClaw PRs!)\nREVIEW_DIR=$(mktemp -d)\ngit clone https://github.com/openclaw/openclaw.git $REVIEW_DIR\ncd $REVIEW_DIR && gh pr checkout 130\nbash workdir:$REVIEW_DIR background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n# Clean up after: rm -rf $REVIEW_DIR\n\n# Option 3: Use git worktree (keeps main intact)\ngit worktree add /tmp/pr-130-review pr-130-branch\nbash workdir:/tmp/pr-130-review background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n```\n\n**Why?** Checking out branches in the running OpenClaw repo can break the live instance!\n\n### Batch PR Reviews (parallel army!)\n```bash\n# Fetch all PR refs first\ngit fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'\n\n# Deploy the army - one Kilo CLI per PR!\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #86. git diff origin/main...origin/pr/86\\\"\"\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #87. git diff origin/main...origin/pr/87\\\"\"\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #95. git diff origin/main...origin/pr/95\\\"\"\n# ... repeat for all PRs\n\n# Monitor all\nprocess action:list\n\n# Get results and post to GitHub\nprocess action:log sessionId:XXX\ngh pr comment <PR#> --body \"<review content>\"\n```\n\n### Tips for PR Reviews\n- **Fetch refs first:** `git fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'`\n- **Use git diff:** Tell Kilo CLI to use `git diff origin/main...origin/pr/XX`\n- **Don't checkout:** Multiple parallel reviews = don't let them change branches\n- **Post results:** Use `gh pr comment` to post reviews to GitHub\n\n---\n\n## tmux (interactive sessions)\n\nUse the tmux skill for interactive coding sessions (always, except very simple one-shot prompts). Prefer bash background mode for non-interactive runs.\n\n---\n\n## Parallel Issue Fixing with git worktrees + tmux\n\nFor fixing multiple issues in parallel, use git worktrees (isolated branches) + tmux sessions:\n\n```bash\n# 1. Clone repo to temp location\ncd /tmp && git clone git@github.com:user/repo.git repo-worktrees\ncd repo-worktrees\n\n# 2. Create worktrees for each issue (isolated branches!)\ngit worktree add -b fix/issue-78 /tmp/issue-78 main\ngit worktree add -b fix/issue-99 /tmp/issue-99 main\n\n# 3. Set up tmux sessions\nSOCKET=\"${TMPDIR:-/tmp}/kilo-fixes.sock\"\ntmux -S \"$SOCKET\" new-session -d -s fix-78\ntmux -S \"$SOCKET\" new-session -d -s fix-99\n\n# 4. Launch Kilo CLI in each (after npm install!)\ntmux -S \"$SOCKET\" send-keys -t fix-78 \"cd /tmp/issue-78 && npm install && kilo run 'Fix issue #78: <description>. Commit and push.'\" Enter\ntmux -S \"$SOCKET\" send-keys -t fix-99 \"cd /tmp/issue-99 && npm install && kilo run 'Fix issue #99: <description>. Commit and push.'\" Enter\n\n# 5. Monitor progress\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -30\ntmux -S \"$SOCKET\" capture-pane -p -t fix-99 -S -30\n\n# 6. Check if done (prompt returned)\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -3 | grep -q \"❯\" && echo \"Done!\"\n\n# 7. Create PRs after fixes\ncd /tmp/issue-78 && git push -u origin fix/issue-78\ngh pr create --repo user/repo --head fix/issue-78 --title \"fix: ...\" --body \"...\"\n\n# 8. Cleanup\ntmux -S \"$SOCKET\" kill-server\ngit worktree remove /tmp/issue-78\ngit worktree remove /tmp/issue-99\n```\n\n**Why worktrees?** Each Kilo CLI works in isolated branch, no conflicts. Can run 5+ parallel fixes!\n\n**Why tmux over bash background?** Kilo CLI is interactive — needs TTY for proper output. tmux provides persistent sessions with full history capture.\n\n---\n\n## ⚠️ Rules\n\n1. **Respect tool choice** — if user asks for Kilo CLI, use Kilo CLI. NEVER offer to build it yourself!\n2. **Be patient** — don't kill sessions because they're \"slow\"\n3. **Monitor with process:log** — check progress without interfering\n4. **--full-auto for building** — auto-approves changes\n5. **vanilla for reviewing** — no special flags needed\n6. **Parallel is OK** — run many Kilo CLI processes at once for batch work\n7. **NEVER start Kilo CLI in ~/openclaw/** — it'll read your soul docs and get weird ideas about the org chart! Use the target project dir or /tmp for blank slate chats\n8. **NEVER checkout branches in ~/Projects/openclaw/** — that's the LIVE OpenClaw instance! Clone to /tmp or use git worktree for PR reviews\n\n---\n\n## PR Template (The Razor Standard)\n\nWhen submitting PRs to external repos, use this format for quality & maintainer-friendliness:\n\n````markdown\n## Original Prompt\n[Exact request/problem statement]\n\n## What this does\n[High-level description]\n\n**Features:**\n- [Key feature 1]\n- [Key feature 2]\n\n**Example usage:**\n```bash\n# Example\ncommand example\n```\n\n## Feature intent (maintainer-friendly)\n[Why useful, how it fits, workflows it enables]\n\n## Prompt history (timestamped)\n- YYYY-MM-DD HH:MM UTC: [Step 1]\n- YYYY-MM-DD HH:MM UTC: [Step 2]\n\n## How I tested\n**Manual verification:**\n1. [Test step] - Output: `[result]`\n2. [Test step] - Result: [result]\n\n**Files tested:**\n- [Detail]\n- [Edge cases]\n\n## Session logs (implementation)\n- [What was researched]\n- [What was discovered]\n- [Time spent]\n\n## Implementation details\n**New files:**\n- `path/file.ts` - [description]\n\n**Modified files:**\n- `path/file.ts` - [change]\n\n**Technical notes:**\n- [Detail 1]\n- [Detail 2]\n\n---\n````\n\n**Key principles:**\n1. Human-written description (no AI slop)\n2. Feature intent for maintainers\n3. Timestamped prompt history\n4. Session logs if using Kilo CLI agent\n\nFile v0.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn70r260w4vjyjwbfg87t8t0xn80k3h4\",\n  \"slug\": \"kilocli-coding-agent\",\n  \"version\": \"0.0.7\",\n  \"publishedAt\": 1771210549164\n}\n\nArchive v0.0.6: 2 files, 3579 bytes\n\nFiles: SKILL.md (7712b), _meta.json (139b)\n\nFile v0.0.6:SKILL.md\n\n---\nname: kilocli-coding-agent\ndescription: Run Kilo CLI via background process for programmatic control.\nversion: 0.0.6\nmetadata:\n  openclaw:\n    requires:\n    env:\n        - GITHUB_TOKEN\n    bins:\n        - kilo\n        - git\n        - gh\n        - tmux\n    primaryEnv: GITHUB_TOKEN\n    install:\n      method: \"clawhub install kilocli-coding-agent\"\n---\n\nIMPORTANT: You need to have Kilo CLI installed and configured so OpenClaw can use it without any issue.\n\n```sh\nnpm install -g @kilocode/cli\n```\n\nIf you want to automate pull requests to Github, then you also need to authenticate Github CLI in your project: https://github.com/cli/cli#installation\n\n# Coding Agent (background-first)\n\nUse **bash background mode** for non-interactive coding work. For interactive coding sessions, use the **tmux** skill (always, except very simple one-shot prompts).\n\n## The Pattern: workdir + background\n\n```bash\n# Create temp space for chats/scratch work\nSCRATCH=$(mktemp -d)\n\n# Start agent in target directory (\"little box\" - only sees relevant files)\nbash workdir:$SCRATCH background:true command:\"<agent command>\"\n# Or for project work:\nbash workdir:~/project/folder background:true command:\"<agent command>\"\n# Returns sessionId for tracking\n\n# Monitor progress\nprocess action:log sessionId:XXX\n\n# Check if done  \nprocess action:poll sessionId:XXX\n\n# Send input (if agent asks a question)\nprocess action:write sessionId:XXX data:\"y\"\n\n# Kill if needed\nprocess action:kill sessionId:XXX\n```\n\n**Why workdir matters:** Agent wakes up in a focused directory, doesn't wander off reading unrelated files (like your soul.md 😅).\n\n---\n\n## Kilo CLI\n\n### Building/Creating (Use Autonomous mode)\n\n```bash\nbash workdir:~/project background:true command:\"kilo run --auto \\\"Build a snake game with dark theme\\\"\"\n```\n\n### Reviewing PRs (vanilla, no flags)\n\n**⚠️ CRITICAL: Never review PRs in OpenClaw's own project folder!**\n- Either use the project where the PR is submitted (if it's NOT ~/Projects/openclaw)\n- Or clone to a temp folder first\n\n```bash\n# Option 1: Review in the actual project (if NOT OpenClaw)\nbash workdir:~/Projects/some-other-repo background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n\n# Option 2: Clone to temp folder for safe review (REQUIRED for OpenClaw PRs!)\nREVIEW_DIR=$(mktemp -d)\ngit clone https://github.com/openclaw/openclaw.git $REVIEW_DIR\ncd $REVIEW_DIR && gh pr checkout 130\nbash workdir:$REVIEW_DIR background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n# Clean up after: rm -rf $REVIEW_DIR\n\n# Option 3: Use git worktree (keeps main intact)\ngit worktree add /tmp/pr-130-review pr-130-branch\nbash workdir:/tmp/pr-130-review background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n```\n\n**Why?** Checking out branches in the running OpenClaw repo can break the live instance!\n\n### Batch PR Reviews (parallel army!)\n```bash\n# Fetch all PR refs first\ngit fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'\n\n# Deploy the army - one Kilo CLI per PR!\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #86. git diff origin/main...origin/pr/86\\\"\"\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #87. git diff origin/main...origin/pr/87\\\"\"\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #95. git diff origin/main...origin/pr/95\\\"\"\n# ... repeat for all PRs\n\n# Monitor all\nprocess action:list\n\n# Get results and post to GitHub\nprocess action:log sessionId:XXX\ngh pr comment <PR#> --body \"<review content>\"\n```\n\n### Tips for PR Reviews\n- **Fetch refs first:** `git fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'`\n- **Use git diff:** Tell Kilo CLI to use `git diff origin/main...origin/pr/XX`\n- **Don't checkout:** Multiple parallel reviews = don't let them change branches\n- **Post results:** Use `gh pr comment` to post reviews to GitHub\n\n---\n\n## tmux (interactive sessions)\n\nUse the tmux skill for interactive coding sessions (always, except very simple one-shot prompts). Prefer bash background mode for non-interactive runs.\n\n---\n\n## Parallel Issue Fixing with git worktrees + tmux\n\nFor fixing multiple issues in parallel, use git worktrees (isolated branches) + tmux sessions:\n\n```bash\n# 1. Clone repo to temp location\ncd /tmp && git clone git@github.com:user/repo.git repo-worktrees\ncd repo-worktrees\n\n# 2. Create worktrees for each issue (isolated branches!)\ngit worktree add -b fix/issue-78 /tmp/issue-78 main\ngit worktree add -b fix/issue-99 /tmp/issue-99 main\n\n# 3. Set up tmux sessions\nSOCKET=\"${TMPDIR:-/tmp}/kilo-fixes.sock\"\ntmux -S \"$SOCKET\" new-session -d -s fix-78\ntmux -S \"$SOCKET\" new-session -d -s fix-99\n\n# 4. Launch Kilo CLI in each (after npm install!)\ntmux -S \"$SOCKET\" send-keys -t fix-78 \"cd /tmp/issue-78 && npm install && kilo run 'Fix issue #78: <description>. Commit and push.'\" Enter\ntmux -S \"$SOCKET\" send-keys -t fix-99 \"cd /tmp/issue-99 && npm install && kilo run 'Fix issue #99: <description>. Commit and push.'\" Enter\n\n# 5. Monitor progress\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -30\ntmux -S \"$SOCKET\" capture-pane -p -t fix-99 -S -30\n\n# 6. Check if done (prompt returned)\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -3 | grep -q \"❯\" && echo \"Done!\"\n\n# 7. Create PRs after fixes\ncd /tmp/issue-78 && git push -u origin fix/issue-78\ngh pr create --repo user/repo --head fix/issue-78 --title \"fix: ...\" --body \"...\"\n\n# 8. Cleanup\ntmux -S \"$SOCKET\" kill-server\ngit worktree remove /tmp/issue-78\ngit worktree remove /tmp/issue-99\n```\n\n**Why worktrees?** Each Kilo CLI works in isolated branch, no conflicts. Can run 5+ parallel fixes!\n\n**Why tmux over bash background?** Kilo CLI is interactive — needs TTY for proper output. tmux provides persistent sessions with full history capture.\n\n---\n\n## ⚠️ Rules\n\n1. **Respect tool choice** — if user asks for Kilo CLI, use Kilo CLI. NEVER offer to build it yourself!\n2. **Be patient** — don't kill sessions because they're \"slow\"\n3. **Monitor with process:log** — check progress without interfering\n4. **--full-auto for building** — auto-approves changes\n5. **vanilla for reviewing** — no special flags needed\n6. **Parallel is OK** — run many Kilo CLI processes at once for batch work\n7. **NEVER start Kilo CLI in ~/openclaw/** — it'll read your soul docs and get weird ideas about the org chart! Use the target project dir or /tmp for blank slate chats\n8. **NEVER checkout branches in ~/Projects/openclaw/** — that's the LIVE OpenClaw instance! Clone to /tmp or use git worktree for PR reviews\n\n---\n\n## PR Template (The Razor Standard)\n\nWhen submitting PRs to external repos, use this format for quality & maintainer-friendliness:\n\n````markdown\n## Original Prompt\n[Exact request/problem statement]\n\n## What this does\n[High-level description]\n\n**Features:**\n- [Key feature 1]\n- [Key feature 2]\n\n**Example usage:**\n```bash\n# Example\ncommand example\n```\n\n## Feature intent (maintainer-friendly)\n[Why useful, how it fits, workflows it enables]\n\n## Prompt history (timestamped)\n- YYYY-MM-DD HH:MM UTC: [Step 1]\n- YYYY-MM-DD HH:MM UTC: [Step 2]\n\n## How I tested\n**Manual verification:**\n1. [Test step] - Output: `[result]`\n2. [Test step] - Result: [result]\n\n**Files tested:**\n- [Detail]\n- [Edge cases]\n\n## Session logs (implementation)\n- [What was researched]\n- [What was discovered]\n- [Time spent]\n\n## Implementation details\n**New files:**\n- `path/file.ts` - [description]\n\n**Modified files:**\n- `path/file.ts` - [change]\n\n**Technical notes:**\n- [Detail 1]\n- [Detail 2]\n\n---\n````\n\n**Key principles:**\n1. Human-written description (no AI slop)\n2. Feature intent for maintainers\n3. Timestamped prompt history\n4. Session logs if using Kilo CLI agent\n\nFile v0.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn70r260w4vjyjwbfg87t8t0xn80k3h4\",\n  \"slug\": \"kilocli-coding-agent\",\n  \"version\": \"0.0.6\",\n  \"publishedAt\": 1771210243828\n}\n\nArchive v0.0.5: 2 files, 3558 bytes\n\nFiles: SKILL.md (7650b), _meta.json (139b)\n\nFile v0.0.5:SKILL.md\n\n---\nname: kilocli-coding-agent\ndescription: Run Kilo CLI via background process for programmatic control.\nversion: 0.0.5\nmetadata:\n  openclaw:\n    requires:\n    env:\n        - GITHUB_TOKEN\n    bins:\n        - kilo\n        - git\n        - gh\n        - tmux\n    primaryEnv: GITHUB_TOKEN\n---\n---\n\nIMPORTANT: You need to have Kilo CLI installed and configured so OpenClaw can use it without any issue.\n\n```sh\nnpm install -g @kilocode/cli\n```\n\nIf you want to automate pull requests to Github, then you also need to authenticate Github CLI in your project: https://github.com/cli/cli#installation\n\n# Coding Agent (background-first)\n\nUse **bash background mode** for non-interactive coding work. For interactive coding sessions, use the **tmux** skill (always, except very simple one-shot prompts).\n\n## The Pattern: workdir + background\n\n```bash\n# Create temp space for chats/scratch work\nSCRATCH=$(mktemp -d)\n\n# Start agent in target directory (\"little box\" - only sees relevant files)\nbash workdir:$SCRATCH background:true command:\"<agent command>\"\n# Or for project work:\nbash workdir:~/project/folder background:true command:\"<agent command>\"\n# Returns sessionId for tracking\n\n# Monitor progress\nprocess action:log sessionId:XXX\n\n# Check if done  \nprocess action:poll sessionId:XXX\n\n# Send input (if agent asks a question)\nprocess action:write sessionId:XXX data:\"y\"\n\n# Kill if needed\nprocess action:kill sessionId:XXX\n```\n\n**Why workdir matters:** Agent wakes up in a focused directory, doesn't wander off reading unrelated files (like your soul.md 😅).\n\n---\n\n## Kilo CLI\n\n### Building/Creating (Use Autonomous mode)\n\n```bash\nbash workdir:~/project background:true command:\"kilo run --auto \\\"Build a snake game with dark theme\\\"\"\n```\n\n### Reviewing PRs (vanilla, no flags)\n\n**⚠️ CRITICAL: Never review PRs in OpenClaw's own project folder!**\n- Either use the project where the PR is submitted (if it's NOT ~/Projects/openclaw)\n- Or clone to a temp folder first\n\n```bash\n# Option 1: Review in the actual project (if NOT OpenClaw)\nbash workdir:~/Projects/some-other-repo background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n\n# Option 2: Clone to temp folder for safe review (REQUIRED for OpenClaw PRs!)\nREVIEW_DIR=$(mktemp -d)\ngit clone https://github.com/openclaw/openclaw.git $REVIEW_DIR\ncd $REVIEW_DIR && gh pr checkout 130\nbash workdir:$REVIEW_DIR background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n# Clean up after: rm -rf $REVIEW_DIR\n\n# Option 3: Use git worktree (keeps main intact)\ngit worktree add /tmp/pr-130-review pr-130-branch\nbash workdir:/tmp/pr-130-review background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n```\n\n**Why?** Checking out branches in the running OpenClaw repo can break the live instance!\n\n### Batch PR Reviews (parallel army!)\n```bash\n# Fetch all PR refs first\ngit fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'\n\n# Deploy the army - one Kilo CLI per PR!\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #86. git diff origin/main...origin/pr/86\\\"\"\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #87. git diff origin/main...origin/pr/87\\\"\"\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #95. git diff origin/main...origin/pr/95\\\"\"\n# ... repeat for all PRs\n\n# Monitor all\nprocess action:list\n\n# Get results and post to GitHub\nprocess action:log sessionId:XXX\ngh pr comment <PR#> --body \"<review content>\"\n```\n\n### Tips for PR Reviews\n- **Fetch refs first:** `git fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'`\n- **Use git diff:** Tell Kilo CLI to use `git diff origin/main...origin/pr/XX`\n- **Don't checkout:** Multiple parallel reviews = don't let them change branches\n- **Post results:** Use `gh pr comment` to post reviews to GitHub\n\n---\n\n## tmux (interactive sessions)\n\nUse the tmux skill for interactive coding sessions (always, except very simple one-shot prompts). Prefer bash background mode for non-interactive runs.\n\n---\n\n## Parallel Issue Fixing with git worktrees + tmux\n\nFor fixing multiple issues in parallel, use git worktrees (isolated branches) + tmux sessions:\n\n```bash\n# 1. Clone repo to temp location\ncd /tmp && git clone git@github.com:user/repo.git repo-worktrees\ncd repo-worktrees\n\n# 2. Create worktrees for each issue (isolated branches!)\ngit worktree add -b fix/issue-78 /tmp/issue-78 main\ngit worktree add -b fix/issue-99 /tmp/issue-99 main\n\n# 3. Set up tmux sessions\nSOCKET=\"${TMPDIR:-/tmp}/kilo-fixes.sock\"\ntmux -S \"$SOCKET\" new-session -d -s fix-78\ntmux -S \"$SOCKET\" new-session -d -s fix-99\n\n# 4. Launch Kilo CLI in each (after npm install!)\ntmux -S \"$SOCKET\" send-keys -t fix-78 \"cd /tmp/issue-78 && npm install && kilo run 'Fix issue #78: <description>. Commit and push.'\" Enter\ntmux -S \"$SOCKET\" send-keys -t fix-99 \"cd /tmp/issue-99 && npm install && kilo run 'Fix issue #99: <description>. Commit and push.'\" Enter\n\n# 5. Monitor progress\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -30\ntmux -S \"$SOCKET\" capture-pane -p -t fix-99 -S -30\n\n# 6. Check if done (prompt returned)\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -3 | grep -q \"❯\" && echo \"Done!\"\n\n# 7. Create PRs after fixes\ncd /tmp/issue-78 && git push -u origin fix/issue-78\ngh pr create --repo user/repo --head fix/issue-78 --title \"fix: ...\" --body \"...\"\n\n# 8. Cleanup\ntmux -S \"$SOCKET\" kill-server\ngit worktree remove /tmp/issue-78\ngit worktree remove /tmp/issue-99\n```\n\n**Why worktrees?** Each Kilo CLI works in isolated branch, no conflicts. Can run 5+ parallel fixes!\n\n**Why tmux over bash background?** Kilo CLI is interactive — needs TTY for proper output. tmux provides persistent sessions with full history capture.\n\n---\n\n## ⚠️ Rules\n\n1. **Respect tool choice** — if user asks for Kilo CLI, use Kilo CLI. NEVER offer to build it yourself!\n2. **Be patient** — don't kill sessions because they're \"slow\"\n3. **Monitor with process:log** — check progress without interfering\n4. **--full-auto for building** — auto-approves changes\n5. **vanilla for reviewing** — no special flags needed\n6. **Parallel is OK** — run many Kilo CLI processes at once for batch work\n7. **NEVER start Kilo CLI in ~/openclaw/** — it'll read your soul docs and get weird ideas about the org chart! Use the target project dir or /tmp for blank slate chats\n8. **NEVER checkout branches in ~/Projects/openclaw/** — that's the LIVE OpenClaw instance! Clone to /tmp or use git worktree for PR reviews\n\n---\n\n## PR Template (The Razor Standard)\n\nWhen submitting PRs to external repos, use this format for quality & maintainer-friendliness:\n\n````markdown\n## Original Prompt\n[Exact request/problem statement]\n\n## What this does\n[High-level description]\n\n**Features:**\n- [Key feature 1]\n- [Key feature 2]\n\n**Example usage:**\n```bash\n# Example\ncommand example\n```\n\n## Feature intent (maintainer-friendly)\n[Why useful, how it fits, workflows it enables]\n\n## Prompt history (timestamped)\n- YYYY-MM-DD HH:MM UTC: [Step 1]\n- YYYY-MM-DD HH:MM UTC: [Step 2]\n\n## How I tested\n**Manual verification:**\n1. [Test step] - Output: `[result]`\n2. [Test step] - Result: [result]\n\n**Files tested:**\n- [Detail]\n- [Edge cases]\n\n## Session logs (implementation)\n- [What was researched]\n- [What was discovered]\n- [Time spent]\n\n## Implementation details\n**New files:**\n- `path/file.ts` - [description]\n\n**Modified files:**\n- `path/file.ts` - [change]\n\n**Technical notes:**\n- [Detail 1]\n- [Detail 2]\n\n---\n````\n\n**Key principles:**\n1. Human-written description (no AI slop)\n2. Feature intent for maintainers\n3. Timestamped prompt history\n4. Session logs if using Kilo CLI agent\n\nFile v0.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn70r260w4vjyjwbfg87t8t0xn80k3h4\",\n  \"slug\": \"kilocli-coding-agent\",\n  \"version\": \"0.0.5\",\n  \"publishedAt\": 1771209704104\n}\n\nArchive v0.0.4: 2 files, 3517 bytes\n\nFiles: SKILL.md (7589b), _meta.json (139b)\n\nFile v0.0.4:SKILL.md\n\n---\nname: kilocli-coding-agent\ndescription: Run Kilo CLI via background process for programmatic control.\nversion: 0.0.4\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - kilo\n        - git\n        - gh\n        - tmux\n---\n---\n\nIMPORTANT: You need to have Kilo CLI installed and configured so OpenClaw can use it without any issue.\n\n```sh\nnpm install -g @kilocode/cli\n```\n\nIf you want to automate pull requests to Github, then you also need to authenticate Github CLI in your project: https://github.com/cli/cli#installation\n\n# Coding Agent (background-first)\n\nUse **bash background mode** for non-interactive coding work. For interactive coding sessions, use the **tmux** skill (always, except very simple one-shot prompts).\n\n## The Pattern: workdir + background\n\n```bash\n# Create temp space for chats/scratch work\nSCRATCH=$(mktemp -d)\n\n# Start agent in target directory (\"little box\" - only sees relevant files)\nbash workdir:$SCRATCH background:true command:\"<agent command>\"\n# Or for project work:\nbash workdir:~/project/folder background:true command:\"<agent command>\"\n# Returns sessionId for tracking\n\n# Monitor progress\nprocess action:log sessionId:XXX\n\n# Check if done  \nprocess action:poll sessionId:XXX\n\n# Send input (if agent asks a question)\nprocess action:write sessionId:XXX data:\"y\"\n\n# Kill if needed\nprocess action:kill sessionId:XXX\n```\n\n**Why workdir matters:** Agent wakes up in a focused directory, doesn't wander off reading unrelated files (like your soul.md 😅).\n\n---\n\n## Kilo CLI\n\n### Building/Creating (use --full-auto or --yolo)\n```bash\nbash workdir:~/project background:true command:\"kilo run \\\"Build a snake game with dark theme\\\"\"\n```\n\n### Reviewing PRs (vanilla, no flags)\n\n**⚠️ CRITICAL: Never review PRs in OpenClaw's own project folder!**\n- Either use the project where the PR is submitted (if it's NOT ~/Projects/openclaw)\n- Or clone to a temp folder first\n\n```bash\n# Option 1: Review in the actual project (if NOT OpenClaw)\nbash workdir:~/Projects/some-other-repo background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n\n# Option 2: Clone to temp folder for safe review (REQUIRED for OpenClaw PRs!)\nREVIEW_DIR=$(mktemp -d)\ngit clone https://github.com/openclaw/openclaw.git $REVIEW_DIR\ncd $REVIEW_DIR && gh pr checkout 130\nbash workdir:$REVIEW_DIR background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n# Clean up after: rm -rf $REVIEW_DIR\n\n# Option 3: Use git worktree (keeps main intact)\ngit worktree add /tmp/pr-130-review pr-130-branch\nbash workdir:/tmp/pr-130-review background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n```\n\n**Why?** Checking out branches in the running OpenClaw repo can break the live instance!\n\n### Batch PR Reviews (parallel army!)\n```bash\n# Fetch all PR refs first\ngit fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'\n\n# Deploy the army - one Kilo CLI per PR!\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #86. git diff origin/main...origin/pr/86\\\"\"\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #87. git diff origin/main...origin/pr/87\\\"\"\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #95. git diff origin/main...origin/pr/95\\\"\"\n# ... repeat for all PRs\n\n# Monitor all\nprocess action:list\n\n# Get results and post to GitHub\nprocess action:log sessionId:XXX\ngh pr comment <PR#> --body \"<review content>\"\n```\n\n### Tips for PR Reviews\n- **Fetch refs first:** `git fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'`\n- **Use git diff:** Tell Kilo CLI to use `git diff origin/main...origin/pr/XX`\n- **Don't checkout:** Multiple parallel reviews = don't let them change branches\n- **Post results:** Use `gh pr comment` to post reviews to GitHub\n\n---\n\n## tmux (interactive sessions)\n\nUse the tmux skill for interactive coding sessions (always, except very simple one-shot prompts). Prefer bash background mode for non-interactive runs.\n\n---\n\n## Parallel Issue Fixing with git worktrees + tmux\n\nFor fixing multiple issues in parallel, use git worktrees (isolated branches) + tmux sessions:\n\n```bash\n# 1. Clone repo to temp location\ncd /tmp && git clone git@github.com:user/repo.git repo-worktrees\ncd repo-worktrees\n\n# 2. Create worktrees for each issue (isolated branches!)\ngit worktree add -b fix/issue-78 /tmp/issue-78 main\ngit worktree add -b fix/issue-99 /tmp/issue-99 main\n\n# 3. Set up tmux sessions\nSOCKET=\"${TMPDIR:-/tmp}/kilo-fixes.sock\"\ntmux -S \"$SOCKET\" new-session -d -s fix-78\ntmux -S \"$SOCKET\" new-session -d -s fix-99\n\n# 4. Launch Kilo CLI in each (after npm install!)\ntmux -S \"$SOCKET\" send-keys -t fix-78 \"cd /tmp/issue-78 && npm install && kilo run 'Fix issue #78: <description>. Commit and push.'\" Enter\ntmux -S \"$SOCKET\" send-keys -t fix-99 \"cd /tmp/issue-99 && npm install && kilo run 'Fix issue #99: <description>. Commit and push.'\" Enter\n\n# 5. Monitor progress\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -30\ntmux -S \"$SOCKET\" capture-pane -p -t fix-99 -S -30\n\n# 6. Check if done (prompt returned)\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -3 | grep -q \"❯\" && echo \"Done!\"\n\n# 7. Create PRs after fixes\ncd /tmp/issue-78 && git push -u origin fix/issue-78\ngh pr create --repo user/repo --head fix/issue-78 --title \"fix: ...\" --body \"...\"\n\n# 8. Cleanup\ntmux -S \"$SOCKET\" kill-server\ngit worktree remove /tmp/issue-78\ngit worktree remove /tmp/issue-99\n```\n\n**Why worktrees?** Each Kilo CLI works in isolated branch, no conflicts. Can run 5+ parallel fixes!\n\n**Why tmux over bash background?** Kilo CLI is interactive — needs TTY for proper output. tmux provides persistent sessions with full history capture.\n\n---\n\n## ⚠️ Rules\n\n1. **Respect tool choice** — if user asks for Kilo CLI, use Kilo CLI. NEVER offer to build it yourself!\n2. **Be patient** — don't kill sessions because they're \"slow\"\n3. **Monitor with process:log** — check progress without interfering\n4. **--full-auto for building** — auto-approves changes\n5. **vanilla for reviewing** — no special flags needed\n6. **Parallel is OK** — run many Kilo CLI processes at once for batch work\n7. **NEVER start Kilo CLI in ~/openclaw/** — it'll read your soul docs and get weird ideas about the org chart! Use the target project dir or /tmp for blank slate chats\n8. **NEVER checkout branches in ~/Projects/openclaw/** — that's the LIVE OpenClaw instance! Clone to /tmp or use git worktree for PR reviews\n\n---\n\n## PR Template (The Razor Standard)\n\nWhen submitting PRs to external repos, use this format for quality & maintainer-friendliness:\n\n````markdown\n## Original Prompt\n[Exact request/problem statement]\n\n## What this does\n[High-level description]\n\n**Features:**\n- [Key feature 1]\n- [Key feature 2]\n\n**Example usage:**\n```bash\n# Example\ncommand example\n```\n\n## Feature intent (maintainer-friendly)\n[Why useful, how it fits, workflows it enables]\n\n## Prompt history (timestamped)\n- YYYY-MM-DD HH:MM UTC: [Step 1]\n- YYYY-MM-DD HH:MM UTC: [Step 2]\n\n## How I tested\n**Manual verification:**\n1. [Test step] - Output: `[result]`\n2. [Test step] - Result: [result]\n\n**Files tested:**\n- [Detail]\n- [Edge cases]\n\n## Session logs (implementation)\n- [What was researched]\n- [What was discovered]\n- [Time spent]\n\n## Implementation details\n**New files:**\n- `path/file.ts` - [description]\n\n**Modified files:**\n- `path/file.ts` - [change]\n\n**Technical notes:**\n- [Detail 1]\n- [Detail 2]\n\n---\n````\n\n**Key principles:**\n1. Human-written description (no AI slop)\n2. Feature intent for maintainers\n3. Timestamped prompt history\n4. Session logs if using Kilo CLI agent\n\nFile v0.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn70r260w4vjyjwbfg87t8t0xn80k3h4\",\n  \"slug\": \"kilocli-coding-agent\",\n  \"version\": \"0.0.4\",\n  \"publishedAt\": 1771209317559\n}\n\nArchive v0.0.3: 2 files, 3402 bytes\n\nFiles: SKILL.md (7309b), _meta.json (139b)\n\nFile v0.0.3:SKILL.md\n\n---\nname: kilocli-coding-agent\ndescription: Run Kilo CLI via background process for programmatic control.\n---\n\nIMPORTANT: You need to have Kilo CLI installed and configured so OpenClaw can use it without any issue.\n\n```sh\nnpm install -g @kilocode/cli\n```\n\n# Coding Agent (background-first)\n\nUse **bash background mode** for non-interactive coding work. For interactive coding sessions, use the **tmux** skill (always, except very simple one-shot prompts).\n\n## The Pattern: workdir + background\n\n```bash\n# Create temp space for chats/scratch work\nSCRATCH=$(mktemp -d)\n\n# Start agent in target directory (\"little box\" - only sees relevant files)\nbash workdir:$SCRATCH background:true command:\"<agent command>\"\n# Or for project work:\nbash workdir:~/project/folder background:true command:\"<agent command>\"\n# Returns sessionId for tracking\n\n# Monitor progress\nprocess action:log sessionId:XXX\n\n# Check if done  \nprocess action:poll sessionId:XXX\n\n# Send input (if agent asks a question)\nprocess action:write sessionId:XXX data:\"y\"\n\n# Kill if needed\nprocess action:kill sessionId:XXX\n```\n\n**Why workdir matters:** Agent wakes up in a focused directory, doesn't wander off reading unrelated files (like your soul.md 😅).\n\n---\n\n## Kilo CLI\n\n### Building/Creating (use --full-auto or --yolo)\n```bash\nbash workdir:~/project background:true command:\"kilo run \\\"Build a snake game with dark theme\\\"\"\n```\n\n### Reviewing PRs (vanilla, no flags)\n\n**⚠️ CRITICAL: Never review PRs in Clawdbot's own project folder!**\n- Either use the project where the PR is submitted (if it's NOT ~/Projects/clawdbot)\n- Or clone to a temp folder first\n\n```bash\n# Option 1: Review in the actual project (if NOT clawdbot)\nbash workdir:~/Projects/some-other-repo background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n\n# Option 2: Clone to temp folder for safe review (REQUIRED for clawdbot PRs!)\nREVIEW_DIR=$(mktemp -d)\ngit clone https://github.com/clawdbot/clawdbot.git $REVIEW_DIR\ncd $REVIEW_DIR && gh pr checkout 130\nbash workdir:$REVIEW_DIR background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n# Clean up after: rm -rf $REVIEW_DIR\n\n# Option 3: Use git worktree (keeps main intact)\ngit worktree add /tmp/pr-130-review pr-130-branch\nbash workdir:/tmp/pr-130-review background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n```\n\n**Why?** Checking out branches in the running Clawdbot repo can break the live instance!\n\n### Batch PR Reviews (parallel army!)\n```bash\n# Fetch all PR refs first\ngit fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'\n\n# Deploy the army - one Kilo CLI per PR!\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #86. git diff origin/main...origin/pr/86\\\"\"\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #87. git diff origin/main...origin/pr/87\\\"\"\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #95. git diff origin/main...origin/pr/95\\\"\"\n# ... repeat for all PRs\n\n# Monitor all\nprocess action:list\n\n# Get results and post to GitHub\nprocess action:log sessionId:XXX\ngh pr comment <PR#> --body \"<review content>\"\n```\n\n### Tips for PR Reviews\n- **Fetch refs first:** `git fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'`\n- **Use git diff:** Tell Kilo CLI to use `git diff origin/main...origin/pr/XX`\n- **Don't checkout:** Multiple parallel reviews = don't let them change branches\n- **Post results:** Use `gh pr comment` to post reviews to GitHub\n\n---\n\n## tmux (interactive sessions)\n\nUse the tmux skill for interactive coding sessions (always, except very simple one-shot prompts). Prefer bash background mode for non-interactive runs.\n\n---\n\n## Parallel Issue Fixing with git worktrees + tmux\n\nFor fixing multiple issues in parallel, use git worktrees (isolated branches) + tmux sessions:\n\n```bash\n# 1. Clone repo to temp location\ncd /tmp && git clone git@github.com:user/repo.git repo-worktrees\ncd repo-worktrees\n\n# 2. Create worktrees for each issue (isolated branches!)\ngit worktree add -b fix/issue-78 /tmp/issue-78 main\ngit worktree add -b fix/issue-99 /tmp/issue-99 main\n\n# 3. Set up tmux sessions\nSOCKET=\"${TMPDIR:-/tmp}/kilo-fixes.sock\"\ntmux -S \"$SOCKET\" new-session -d -s fix-78\ntmux -S \"$SOCKET\" new-session -d -s fix-99\n\n# 4. Launch Kilo CLI in each (after npm install!)\ntmux -S \"$SOCKET\" send-keys -t fix-78 \"cd /tmp/issue-78 && npm install && kilo run 'Fix issue #78: <description>. Commit and push.'\" Enter\ntmux -S \"$SOCKET\" send-keys -t fix-99 \"cd /tmp/issue-99 && npm install && kilo run 'Fix issue #99: <description>. Commit and push.'\" Enter\n\n# 5. Monitor progress\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -30\ntmux -S \"$SOCKET\" capture-pane -p -t fix-99 -S -30\n\n# 6. Check if done (prompt returned)\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -3 | grep -q \"❯\" && echo \"Done!\"\n\n# 7. Create PRs after fixes\ncd /tmp/issue-78 && git push -u origin fix/issue-78\ngh pr create --repo user/repo --head fix/issue-78 --title \"fix: ...\" --body \"...\"\n\n# 8. Cleanup\ntmux -S \"$SOCKET\" kill-server\ngit worktree remove /tmp/issue-78\ngit worktree remove /tmp/issue-99\n```\n\n**Why worktrees?** Each Kilo CLI works in isolated branch, no conflicts. Can run 5+ parallel fixes!\n\n**Why tmux over bash background?** Kilo CLI is interactive — needs TTY for proper output. tmux provides persistent sessions with full history capture.\n\n---\n\n## ⚠️ Rules\n\n1. **Respect tool choice** — if user asks for Kilo CLI, use Kilo CLI. NEVER offer to build it yourself!\n2. **Be patient** — don't kill sessions because they're \"slow\"\n3. **Monitor with process:log** — check progress without interfering\n4. **--full-auto for building** — auto-approves changes\n5. **vanilla for reviewing** — no special flags needed\n6. **Parallel is OK** — run many Kilo CLI processes at once for batch work\n7. **NEVER start Kilo CLI in ~/clawd/** — it'll read your soul docs and get weird ideas about the org chart! Use the target project dir or /tmp for blank slate chats\n8. **NEVER checkout branches in ~/Projects/clawdbot/** — that's the LIVE Clawdbot instance! Clone to /tmp or use git worktree for PR reviews\n\n---\n\n## PR Template (The Razor Standard)\n\nWhen submitting PRs to external repos, use this format for quality & maintainer-friendliness:\n\n````markdown\n## Original Prompt\n[Exact request/problem statement]\n\n## What this does\n[High-level description]\n\n**Features:**\n- [Key feature 1]\n- [Key feature 2]\n\n**Example usage:**\n```bash\n# Example\ncommand example\n```\n\n## Feature intent (maintainer-friendly)\n[Why useful, how it fits, workflows it enables]\n\n## Prompt history (timestamped)\n- YYYY-MM-DD HH:MM UTC: [Step 1]\n- YYYY-MM-DD HH:MM UTC: [Step 2]\n\n## How I tested\n**Manual verification:**\n1. [Test step] - Output: `[result]`\n2. [Test step] - Result: [result]\n\n**Files tested:**\n- [Detail]\n- [Edge cases]\n\n## Session logs (implementation)\n- [What was researched]\n- [What was discovered]\n- [Time spent]\n\n## Implementation details\n**New files:**\n- `path/file.ts` - [description]\n\n**Modified files:**\n- `path/file.ts` - [change]\n\n**Technical notes:**\n- [Detail 1]\n- [Detail 2]\n\n---\n````\n\n**Key principles:**\n1. Human-written description (no AI slop)\n2. Feature intent for maintainers\n3. Timestamped prompt history\n4. Session logs if using Kilo CLI agent\n\nFile v0.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn70r260w4vjyjwbfg87t8t0xn80k3h4\",\n  \"slug\": \"kilocli-coding-agent\",\n  \"version\": \"0.0.3\",\n  \"publishedAt\": 1770367114151\n}\n\nArchive v0.0.2: 2 files, 3401 bytes\n\nFiles: SKILL.md (7309b), _meta.json (139b)\n\nFile v0.0.2:SKILL.md\n\n---\nname: kilocli-coding-agent\ndescription: Run Kilo CLI via background process for programmatic control.\n---\n\nIMPORTANT: You need to have Kilo CLI installed and configured so OpenClaw can use it without any issue.\n\n```sh\nnpm install -g @kilocode/cli\n```\n\n# Coding Agent (background-first)\n\nUse **bash background mode** for non-interactive coding work. For interactive coding sessions, use the **tmux** skill (always, except very simple one-shot prompts).\n\n## The Pattern: workdir + background\n\n```bash\n# Create temp space for chats/scratch work\nSCRATCH=$(mktemp -d)\n\n# Start agent in target directory (\"little box\" - only sees relevant files)\nbash workdir:$SCRATCH background:true command:\"<agent command>\"\n# Or for project work:\nbash workdir:~/project/folder background:true command:\"<agent command>\"\n# Returns sessionId for tracking\n\n# Monitor progress\nprocess action:log sessionId:XXX\n\n# Check if done  \nprocess action:poll sessionId:XXX\n\n# Send input (if agent asks a question)\nprocess action:write sessionId:XXX data:\"y\"\n\n# Kill if needed\nprocess action:kill sessionId:XXX\n```\n\n**Why workdir matters:** Agent wakes up in a focused directory, doesn't wander off reading unrelated files (like your soul.md 😅).\n\n---\n\n## Kilo CLI\n\n### Building/Creating (use --full-auto or --yolo)\n```bash\nbash workdir:~/project background:true command:\"kilo run \\\"Build a snake game with dark theme\\\"\"\n```\n\n### Reviewing PRs (vanilla, no flags)\n\n**⚠️ CRITICAL: Never review PRs in Clawdbot's own project folder!**\n- Either use the project where the PR is submitted (if it's NOT ~/Projects/clawdbot)\n- Or clone to a temp folder first\n\n```bash\n# Option 1: Review in the actual project (if NOT clawdbot)\nbash workdir:~/Projects/some-other-repo background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n\n# Option 2: Clone to temp folder for safe review (REQUIRED for clawdbot PRs!)\nREVIEW_DIR=$(mktemp -d)\ngit clone https://github.com/clawdbot/clawdbot.git $REVIEW_DIR\ncd $REVIEW_DIR && gh pr checkout 130\nbash workdir:$REVIEW_DIR background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n# Clean up after: rm -rf $REVIEW_DIR\n\n# Option 3: Use git worktree (keeps main intact)\ngit worktree add /tmp/pr-130-review pr-130-branch\nbash workdir:/tmp/pr-130-review background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n```\n\n**Why?** Checking out branches in the running Clawdbot repo can break the live instance!\n\n### Batch PR Reviews (parallel army!)\n```bash\n# Fetch all PR refs first\ngit fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'\n\n# Deploy the army - one Kilo CLI per PR!\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #86. git diff origin/main...origin/pr/86\\\"\"\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #87. git diff origin/main...origin/pr/87\\\"\"\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #95. git diff origin/main...origin/pr/95\\\"\"\n# ... repeat for all PRs\n\n# Monitor all\nprocess action:list\n\n# Get results and post to GitHub\nprocess action:log sessionId:XXX\ngh pr comment <PR#> --body \"<review content>\"\n```\n\n### Tips for PR Reviews\n- **Fetch refs first:** `git fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'`\n- **Use git diff:** Tell Kilo CLI to use `git diff origin/main...origin/pr/XX`\n- **Don't checkout:** Multiple parallel reviews = don't let them change branches\n- **Post results:** Use `gh pr comment` to post reviews to GitHub\n\n---\n\n## tmux (interactive sessions)\n\nUse the tmux skill for interactive coding sessions (always, except very simple one-shot prompts). Prefer bash background mode for non-interactive runs.\n\n---\n\n## Parallel Issue Fixing with git worktrees + tmux\n\nFor fixing multiple issues in parallel, use git worktrees (isolated branches) + tmux sessions:\n\n```bash\n# 1. Clone repo to temp location\ncd /tmp && git clone git@github.com:user/repo.git repo-worktrees\ncd repo-worktrees\n\n# 2. Create worktrees for each issue (isolated branches!)\ngit worktree add -b fix/issue-78 /tmp/issue-78 main\ngit worktree add -b fix/issue-99 /tmp/issue-99 main\n\n# 3. Set up tmux sessions\nSOCKET=\"${TMPDIR:-/tmp}/kilo-fixes.sock\"\ntmux -S \"$SOCKET\" new-session -d -s fix-78\ntmux -S \"$SOCKET\" new-session -d -s fix-99\n\n# 4. Launch Kilo CLI in each (after npm install!)\ntmux -S \"$SOCKET\" send-keys -t fix-78 \"cd /tmp/issue-78 && npm install && kilo run 'Fix issue #78: <description>. Commit and push.'\" Enter\ntmux -S \"$SOCKET\" send-keys -t fix-99 \"cd /tmp/issue-99 && npm install && kilo run 'Fix issue #99: <description>. Commit and push.'\" Enter\n\n# 5. Monitor progress\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -30\ntmux -S \"$SOCKET\" capture-pane -p -t fix-99 -S -30\n\n# 6. Check if done (prompt returned)\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -3 | grep -q \"❯\" && echo \"Done!\"\n\n# 7. Create PRs after fixes\ncd /tmp/issue-78 && git push -u origin fix/issue-78\ngh pr create --repo user/repo --head fix/issue-78 --title \"fix: ...\" --body \"...\"\n\n# 8. Cleanup\ntmux -S \"$SOCKET\" kill-server\ngit worktree remove /tmp/issue-78\ngit worktree remove /tmp/issue-99\n```\n\n**Why worktrees?** Each Kilo CLI works in isolated branch, no conflicts. Can run 5+ parallel fixes!\n\n**Why tmux over bash background?** Kilo CLI is interactive — needs TTY for proper output. tmux provides persistent sessions with full history capture.\n\n---\n\n## ⚠️ Rules\n\n1. **Respect tool choice** — if user asks for Kilo CLI, use Kilo CLI. NEVER offer to build it yourself!\n2. **Be patient** — don't kill sessions because they're \"slow\"\n3. **Monitor with process:log** — check progress without interfering\n4. **--full-auto for building** — auto-approves changes\n5. **vanilla for reviewing** — no special flags needed\n6. **Parallel is OK** — run many Kilo CLI processes at once for batch work\n7. **NEVER start Kilo CLI in ~/clawd/** — it'll read your soul docs and get weird ideas about the org chart! Use the target project dir or /tmp for blank slate chats\n8. **NEVER checkout branches in ~/Projects/clawdbot/** — that's the LIVE Clawdbot instance! Clone to /tmp or use git worktree for PR reviews\n\n---\n\n## PR Template (The Razor Standard)\n\nWhen submitting PRs to external repos, use this format for quality & maintainer-friendliness:\n\n````markdown\n## Original Prompt\n[Exact request/problem statement]\n\n## What this does\n[High-level description]\n\n**Features:**\n- [Key feature 1]\n- [Key feature 2]\n\n**Example usage:**\n```bash\n# Example\ncommand example\n```\n\n## Feature intent (maintainer-friendly)\n[Why useful, how it fits, workflows it enables]\n\n## Prompt history (timestamped)\n- YYYY-MM-DD HH:MM UTC: [Step 1]\n- YYYY-MM-DD HH:MM UTC: [Step 2]\n\n## How I tested\n**Manual verification:**\n1. [Test step] - Output: `[result]`\n2. [Test step] - Result: [result]\n\n**Files tested:**\n- [Detail]\n- [Edge cases]\n\n## Session logs (implementation)\n- [What was researched]\n- [What was discovered]\n- [Time spent]\n\n## Implementation details\n**New files:**\n- `path/file.ts` - [description]\n\n**Modified files:**\n- `path/file.ts` - [change]\n\n**Technical notes:**\n- [Detail 1]\n- [Detail 2]\n\n---\n````\n\n**Key principles:**\n1. Human-written description (no AI slop)\n2. Feature intent for maintainers\n3. Timestamped prompt history\n4. Session logs if using Kilo CLI agent\n\nFile v0.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn70r260w4vjyjwbfg87t8t0xn80k3h4\",\n  \"slug\": \"kilocli-coding-agent\",\n  \"version\": \"0.0.2\",\n  \"publishedAt\": 1770303454776\n}\n\nArchive v0.0.1: 2 files, 3402 bytes\n\nFiles: SKILL.md (7309b), _meta.json (139b)\n\nFile v0.0.1:SKILL.md\n\n---\nname: kilocli-coding-agent\ndescription: Run Kilo CLI via background process for programmatic control.\n---\n\nIMPORTANT: You need to have Kilo CLI installed and configured so OpenClaw can use it without any issue.\n\n```sh\nnpm install -g @kilocode/cli\n```\n\n# Coding Agent (background-first)\n\nUse **bash background mode** for non-interactive coding work. For interactive coding sessions, use the **tmux** skill (always, except very simple one-shot prompts).\n\n## The Pattern: workdir + background\n\n```bash\n# Create temp space for chats/scratch work\nSCRATCH=$(mktemp -d)\n\n# Start agent in target directory (\"little box\" - only sees relevant files)\nbash workdir:$SCRATCH background:true command:\"<agent command>\"\n# Or for project work:\nbash workdir:~/project/folder background:true command:\"<agent command>\"\n# Returns sessionId for tracking\n\n# Monitor progress\nprocess action:log sessionId:XXX\n\n# Check if done  \nprocess action:poll sessionId:XXX\n\n# Send input (if agent asks a question)\nprocess action:write sessionId:XXX data:\"y\"\n\n# Kill if needed\nprocess action:kill sessionId:XXX\n```\n\n**Why workdir matters:** Agent wakes up in a focused directory, doesn't wander off reading unrelated files (like your soul.md 😅).\n\n---\n\n## Kilo CLI\n\n### Building/Creating (use --full-auto or --yolo)\n```bash\nbash workdir:~/project background:true command:\"kilo run \\\"Build a snake game with dark theme\\\"\"\n```\n\n### Reviewing PRs (vanilla, no flags)\n\n**⚠️ CRITICAL: Never review PRs in Clawdbot's own project folder!**\n- Either use the project where the PR is submitted (if it's NOT ~/Projects/clawdbot)\n- Or clone to a temp folder first\n\n```bash\n# Option 1: Review in the actual project (if NOT clawdbot)\nbash workdir:~/Projects/some-other-repo background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n\n# Option 2: Clone to temp folder for safe review (REQUIRED for clawdbot PRs!)\nREVIEW_DIR=$(mktemp -d)\ngit clone https://github.com/clawdbot/clawdbot.git $REVIEW_DIR\ncd $REVIEW_DIR && gh pr checkout 130\nbash workdir:$REVIEW_DIR background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n# Clean up after: rm -rf $REVIEW_DIR\n\n# Option 3: Use git worktree (keeps main intact)\ngit worktree add /tmp/pr-130-review pr-130-branch\nbash workdir:/tmp/pr-130-review background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n```\n\n**Why?** Checking out branches in the running Clawdbot repo can break the live instance!\n\n### Batch PR Reviews (parallel army!)\n```bash\n# Fetch all PR refs first\ngit fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'\n\n# Deploy the army - one Kilo CLI per PR!\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #86. git diff origin/main...origin/pr/86\\\"\"\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #87. git diff origin/main...origin/pr/87\\\"\"\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #95. git diff origin/main...origin/pr/95\\\"\"\n# ... repeat for all PRs\n\n# Monitor all\nprocess action:list\n\n# Get results and post to GitHub\nprocess action:log sessionId:XXX\ngh pr comment <PR#> --body \"<review content>\"\n```\n\n### Tips for PR Reviews\n- **Fetch refs first:** `git fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'`\n- **Use git diff:** Tell Kilo CLI to use `git diff origin/main...origin/pr/XX`\n- **Don't checkout:** Multiple parallel reviews = don't let them change branches\n- **Post results:** Use `gh pr comment` to post reviews to GitHub\n\n---\n\n## tmux (interactive sessions)\n\nUse the tmux skill for interactive coding sessions (always, except very simple one-shot prompts). Prefer bash background mode for non-interactive runs.\n\n---\n\n## Parallel Issue Fixing with git worktrees + tmux\n\nFor fixing multiple issues in parallel, use git worktrees (isolated branches) + tmux sessions:\n\n```bash\n# 1. Clone repo to temp location\ncd /tmp && git clone git@github.com:user/repo.git repo-worktrees\ncd repo-worktrees\n\n# 2. Create worktrees for each issue (isolated branches!)\ngit worktree add -b fix/issue-78 /tmp/issue-78 main\ngit worktree add -b fix/issue-99 /tmp/issue-99 main\n\n# 3. Set up tmux sessions\nSOCKET=\"${TMPDIR:-/tmp}/kilo-fixes.sock\"\ntmux -S \"$SOCKET\" new-session -d -s fix-78\ntmux -S \"$SOCKET\" new-session -d -s fix-99\n\n# 4. Launch Kilo CLI in each (after npm install!)\ntmux -S \"$SOCKET\" send-keys -t fix-78 \"cd /tmp/issue-78 && npm install && kilo run 'Fix issue #78: <description>. Commit and push.'\" Enter\ntmux -S \"$SOCKET\" send-keys -t fix-99 \"cd /tmp/issue-99 && npm install && kilo run 'Fix issue #99: <description>. Commit and push.'\" Enter\n\n# 5. Monitor progress\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -30\ntmux -S \"$SOCKET\" capture-pane -p -t fix-99 -S -30\n\n# 6. Check if done (prompt returned)\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -3 | grep -q \"❯\" && echo \"Done!\"\n\n# 7. Create PRs after fixes\ncd /tmp/issue-78 && git push -u origin fix/issue-78\ngh pr create --repo user/repo --head fix/issue-78 --title \"fix: ...\" --body \"...\"\n\n# 8. Cleanup\ntmux -S \"$SOCKET\" kill-server\ngit worktree remove /tmp/issue-78\ngit worktree remove /tmp/issue-99\n```\n\n**Why worktrees?** Each Kilo CLI works in isolated branch, no conflicts. Can run 5+ parallel fixes!\n\n**Why tmux over bash background?** Kilo CLI is interactive — needs TTY for proper output. tmux provides persistent sessions with full history capture.\n\n---\n\n## ⚠️ Rules\n\n1. **Respect tool choice** — if user asks for Kilo CLI, use Kilo CLI. NEVER offer to build it yourself!\n2. **Be patient** — don't kill sessions because they're \"slow\"\n3. **Monitor with process:log** — check progress without interfering\n4. **--full-auto for building** — auto-approves changes\n5. **vanilla for reviewing** — no special flags needed\n6. **Parallel is OK** — run many Kilo CLI processes at once for batch work\n7. **NEVER start Kilo CLI in ~/clawd/** — it'll read your soul docs and get weird ideas about the org chart! Use the target project dir or /tmp for blank slate chats\n8. **NEVER checkout branches in ~/Projects/clawdbot/** — that's the LIVE Clawdbot instance! Clone to /tmp or use git worktree for PR reviews\n\n---\n\n## PR Template (The Razor Standard)\n\nWhen submitting PRs to external repos, use this format for quality & maintainer-friendliness:\n\n````markdown\n## Original Prompt\n[Exact request/problem statement]\n\n## What this does\n[High-level description]\n\n**Features:**\n- [Key feature 1]\n- [Key feature 2]\n\n**Example usage:**\n```bash\n# Example\ncommand example\n```\n\n## Feature intent (maintainer-friendly)\n[Why useful, how it fits, workflows it enables]\n\n## Prompt history (timestamped)\n- YYYY-MM-DD HH:MM UTC: [Step 1]\n- YYYY-MM-DD HH:MM UTC: [Step 2]\n\n## How I tested\n**Manual verification:**\n1. [Test step] - Output: `[result]`\n2. [Test step] - Result: [result]\n\n**Files tested:**\n- [Detail]\n- [Edge cases]\n\n## Session logs (implementation)\n- [What was researched]\n- [What was discovered]\n- [Time spent]\n\n## Implementation details\n**New files:**\n- `path/file.ts` - [description]\n\n**Modified files:**\n- `path/file.ts` - [change]\n\n**Technical notes:**\n- [Detail 1]\n- [Detail 2]\n\n---\n````\n\n**Key principles:**\n1. Human-written description (no AI slop)\n2. Feature intent for maintainers\n3. Timestamped prompt history\n4. Session logs if using Kilo CLI agent\n\nFile v0.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn70r260w4vjyjwbfg87t8t0xn80k3h4\",\n  \"slug\": \"kilocli-coding-agent\",\n  \"version\": \"0.0.1\",\n  \"publishedAt\": 1770273905579\n}\n\nArchive v0.1.0: 2 files, 3402 bytes\n\nFiles: SKILL.md (7309b), _meta.json (139b)\n\nFile v0.1.0:SKILL.md\n\n---\nname: kilocli-coding-agent\ndescription: Run Kilo CLI via background process for programmatic control.\n---\n\nIMPORTANT: You need to have Kilo CLI installed and configured so OpenClaw can use it without any issue.\n\n```sh\nnpm install -g @kilocode/cli\n```\n\n# Coding Agent (background-first)\n\nUse **bash background mode** for non-interactive coding work. For interactive coding sessions, use the **tmux** skill (always, except very simple one-shot prompts).\n\n## The Pattern: workdir + background\n\n```bash\n# Create temp space for chats/scratch work\nSCRATCH=$(mktemp -d)\n\n# Start agent in target directory (\"little box\" - only sees relevant files)\nbash workdir:$SCRATCH background:true command:\"<agent command>\"\n# Or for project work:\nbash workdir:~/project/folder background:true command:\"<agent command>\"\n# Returns sessionId for tracking\n\n# Monitor progress\nprocess action:log sessionId:XXX\n\n# Check if done  \nprocess action:poll sessionId:XXX\n\n# Send input (if agent asks a question)\nprocess action:write sessionId:XXX data:\"y\"\n\n# Kill if needed\nprocess action:kill sessionId:XXX\n```\n\n**Why workdir matters:** Agent wakes up in a focused directory, doesn't wander off reading unrelated files (like your soul.md 😅).\n\n---\n\n## Kilo CLI\n\n### Building/Creating (use --full-auto or --yolo)\n```bash\nbash workdir:~/project background:true command:\"kilo run \\\"Build a snake game with dark theme\\\"\"\n```\n\n### Reviewing PRs (vanilla, no flags)\n\n**⚠️ CRITICAL: Never review PRs in Clawdbot's own project folder!**\n- Either use the project where the PR is submitted (if it's NOT ~/Projects/clawdbot)\n- Or clone to a temp folder first\n\n```bash\n# Option 1: Review in the actual project (if NOT clawdbot)\nbash workdir:~/Projects/some-other-repo background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n\n# Option 2: Clone to temp folder for safe review (REQUIRED for clawdbot PRs!)\nREVIEW_DIR=$(mktemp -d)\ngit clone https://github.com/clawdbot/clawdbot.git $REVIEW_DIR\ncd $REVIEW_DIR && gh pr checkout 130\nbash workdir:$REVIEW_DIR background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n# Clean up after: rm -rf $REVIEW_DIR\n\n# Option 3: Use git worktree (keeps main intact)\ngit worktree add /tmp/pr-130-review pr-130-branch\nbash workdir:/tmp/pr-130-review background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n```\n\n**Why?** Checking out branches in the running Clawdbot repo can break the live instance!\n\n### Batch PR Reviews (parallel army!)\n```bash\n# Fetch all PR refs first\ngit fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'\n\n# Deploy the army - one Kilo CLI per PR!\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #86. git diff origin/main...origin/pr/86\\\"\"\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #87. git diff origin/main...origin/pr/87\\\"\"\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #95. git diff origin/main...origin/pr/95\\\"\"\n# ... repeat for all PRs\n\n# Monitor all\nprocess action:list\n\n# Get results and post to GitHub\nprocess action:log sessionId:XXX\ngh pr comment <PR#> --body \"<review content>\"\n```\n\n### Tips for PR Reviews\n- **Fetch refs first:** `git fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'`\n- **Use git diff:** Tell Kilo CLI to use `git diff origin/main...origin/pr/XX`\n- **Don't checkout:** Multiple parallel reviews = don't let them change branches\n- **Post results:** Use `gh pr comment` to post reviews to GitHub\n\n---\n\n## tmux (interactive sessions)\n\nUse the tmux skill for interactive coding sessions (always, except very simple one-shot prompts). Prefer bash background mode for non-interactive runs.\n\n---\n\n## Parallel Issue Fixing with git worktrees + tmux\n\nFor fixing multiple issues in parallel, use git worktrees (isolated branches) + tmux sessions:\n\n```bash\n# 1. Clone repo to temp location\ncd /tmp && git clone git@github.com:user/repo.git repo-worktrees\ncd repo-worktrees\n\n# 2. Create worktrees for each issue (isolated branches!)\ngit worktree add -b fix/issue-78 /tmp/issue-78 main\ngit worktree add -b fix/issue-99 /tmp/issue-99 main\n\n# 3. Set up tmux sessions\nSOCKET=\"${TMPDIR:-/tmp}/kilo-fixes.sock\"\ntmux -S \"$SOCKET\" new-session -d -s fix-78\ntmux -S \"$SOCKET\" new-session -d -s fix-99\n\n# 4. Launch Kilo CLI in each (after npm install!)\ntmux -S \"$SOCKET\" send-keys -t fix-78 \"cd /tmp/issue-78 && npm install && kilo run 'Fix issue #78: <description>. Commit and push.'\" Enter\ntmux -S \"$SOCKET\" send-keys -t fix-99 \"cd /tmp/issue-99 && npm install && kilo run 'Fix issue #99: <description>. Commit and push.'\" Enter\n\n# 5. Monitor progress\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -30\ntmux -S \"$SOCKET\" capture-pane -p -t fix-99 -S -30\n\n# 6. Check if done (prompt returned)\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -3 | grep -q \"❯\" && echo \"Done!\"\n\n# 7. Create PRs after fixes\ncd /tmp/issue-78 && git push -u origin fix/issue-78\ngh pr create --repo user/repo --head fix/issue-78 --title \"fix: ...\" --body \"...\"\n\n# 8. Cleanup\ntmux -S \"$SOCKET\" kill-server\ngit worktree remove /tmp/issue-78\ngit worktree remove /tmp/issue-99\n```\n\n**Why worktrees?** Each Kilo CLI works in isolated branch, no conflicts. Can run 5+ parallel fixes!\n\n**Why tmux over bash background?** Kilo CLI is interactive — needs TTY for proper output. tmux provides persistent sessions with full history capture.\n\n---\n\n## ⚠️ Rules\n\n1. **Respect tool choice** — if user asks for Kilo CLI, use Kilo CLI. NEVER offer to build it yourself!\n2. **Be patient** — don't kill sessions because they're \"slow\"\n3. **Monitor with process:log** — check progress without interfering\n4. **--full-auto for building** — auto-approves changes\n5. **vanilla for reviewing** — no special flags needed\n6. **Parallel is OK** — run many Kilo CLI processes at once for batch work\n7. **NEVER start Kilo CLI in ~/clawd/** — it'll read your soul docs and get weird ideas about the org chart! Use the target project dir or /tmp for blank slate chats\n8. **NEVER checkout branches in ~/Projects/clawdbot/** — that's the LIVE Clawdbot instance! Clone to /tmp or use git worktree for PR reviews\n\n---\n\n## PR Template (The Razor Standard)\n\nWhen submitting PRs to external repos, use this format for quality & maintainer-friendliness:\n\n````markdown\n## Original Prompt\n[Exact request/problem statement]\n\n## What this does\n[High-level description]\n\n**Features:**\n- [Key feature 1]\n- [Key feature 2]\n\n**Example usage:**\n```bash\n# Example\ncommand example\n```\n\n## Feature intent (maintainer-friendly)\n[Why useful, how it fits, workflows it enables]\n\n## Prompt history (timestamped)\n- YYYY-MM-DD HH:MM UTC: [Step 1]\n- YYYY-MM-DD HH:MM UTC: [Step 2]\n\n## How I tested\n**Manual verification:**\n1. [Test step] - Output: `[result]`\n2. [Test step] - Result: [result]\n\n**Files tested:**\n- [Detail]\n- [Edge cases]\n\n## Session logs (implementation)\n- [What was researched]\n- [What was discovered]\n- [Time spent]\n\n## Implementation details\n**New files:**\n- `path/file.ts` - [description]\n\n**Modified files:**\n- `path/file.ts` - [change]\n\n**Technical notes:**\n- [Detail 1]\n- [Detail 2]\n\n---\n````\n\n**Key principles:**\n1. Human-written description (no AI slop)\n2. Feature intent for maintainers\n3. Timestamped prompt history\n4. Session logs if using Kilo CLI agent\n\nFile v0.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn70r260w4vjyjwbfg87t8t0xn80k3h4\",\n  \"slug\": \"kilocli-coding-agent\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1770269430132\n}","readmeExcerpt":"Skill: Kilo CLI Coding Agent Owner: nathansebhastian Summary: Run Kilo CLI via background process for programmatic control. Tags: latest:0.0.9 Version history: v0.0.9 | 2026-02-16T03:06:58.705Z | auto kilocli-coding-agent 0.0.9 - Updated SKILL.md metadata formatting by fixing indentation and structure for \"requires,\" \"env,\" \"bins,\" and \"primaryEnv\" fields. - No changes made to end-user usage or core functionality. - ","codeSnippets":[],"executableExamples":[{"language":"sh","snippet":"npm install -g @kilocode/cli"},{"language":"bash","snippet":"# Create temp space for chats/scratch work\nSCRATCH=$(mktemp -d)\n\n# Start agent in target directory (\"little box\" - only sees relevant files)\nbash workdir:$SCRATCH background:true command:\"<agent command>\"\n# Or for project work:\nbash workdir:~/project/folder background:true command:\"<agent command>\"\n# Returns sessionId for tracking\n\n# Monitor progress\nprocess action:log sessionId:XXX\n\n# Check if done  \nprocess action:poll sessionId:XXX\n\n# Send input (if agent asks a question)\nprocess action:write sessionId:XXX data:\"y\"\n\n# Kill if needed\nprocess action:kill sessionId:XXX"},{"language":"bash","snippet":"bash workdir:~/project background:true command:\"kilo run --auto \\\"Build a snake game with dark theme\\\"\""},{"language":"bash","snippet":"# Option 1: Review in the actual project (if NOT OpenClaw)\nbash workdir:~/Projects/some-other-repo background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n\n# Option 2: Clone to temp folder for safe review (REQUIRED for OpenClaw PRs!)\nREVIEW_DIR=$(mktemp -d)\ngit clone https://github.com/openclaw/openclaw.git $REVIEW_DIR\ncd $REVIEW_DIR && gh pr checkout 130\nbash workdir:$REVIEW_DIR background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n# Clean up after: rm -rf $REVIEW_DIR\n\n# Option 3: Use git worktree (keeps main intact)\ngit worktree add /tmp/pr-130-review pr-130-branch\nbash workdir:/tmp/pr-130-review background:true command:\"kilo run \\\"Review current branch against main branch\\\"\""},{"language":"bash","snippet":"# Fetch all PR refs first\ngit fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'\n\n# Deploy the army - one Kilo CLI per PR!\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #86. git diff origin/main...origin/pr/86\\\"\"\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #87. git diff origin/main...origin/pr/87\\\"\"\nbash workdir:~/project background:true command:\"kilo run \\\"Review PR #95. git diff origin/main...origin/pr/95\\\"\"\n# ... repeat for all PRs\n\n# Monitor all\nprocess action:list\n\n# Get results and post to GitHub\nprocess action:log sessionId:XXX\ngh pr comment <PR#> --body \"<review content>\""},{"language":"bash","snippet":"# 1. Clone repo to temp location\ncd /tmp && git clone git@github.com:user/repo.git repo-worktrees\ncd repo-worktrees\n\n# 2. Create worktrees for each issue (isolated branches!)\ngit worktree add -b fix/issue-78 /tmp/issue-78 main\ngit worktree add -b fix/issue-99 /tmp/issue-99 main\n\n# 3. Set up tmux sessions\nSOCKET=\"${TMPDIR:-/tmp}/kilo-fixes.sock\"\ntmux -S \"$SOCKET\" new-session -d -s fix-78\ntmux -S \"$SOCKET\" new-session -d -s fix-99\n\n# 4. Launch Kilo CLI in each (after npm install!)\ntmux -S \"$SOCKET\" send-keys -t fix-78 \"cd /tmp/issue-78 && npm install && kilo run 'Fix issue #78: <description>. Commit and push.'\" Enter\ntmux -S \"$SOCKET\" send-keys -t fix-99 \"cd /tmp/issue-99 && npm install && kilo run 'Fix issue #99: <description>. Commit and push.'\" Enter\n\n# 5. Monitor progress\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -30\ntmux -S \"$SOCKET\" capture-pane -p -t fix-99 -S -30\n\n# 6. Check if done (prompt returned)\ntmux -S \"$SOCKET\" capture-pane -p -t fix-78 -S -3 | grep -q \"❯\" && echo \"Done!\"\n\n# 7. Create PRs after fixes\ncd /tmp/issue-78 && git push -u origin fix/issue-78\ngh pr create --repo user/repo --head fix/issue-78 --title \"fix: ...\" --body \"...\"\n\n# 8. Cleanup\ntmux -S \"$SOCKET\" kill-server\ngit worktree remove /tmp/issue-78\ngit worktree remove /tmp/issue-99"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: kilocli-coding-agent\ndescription: Run Kilo CLI via background process for programmatic control.\nversion: 0.0.9\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - GITHUB_TOKEN\n      bins:\n        - kilo\n        - git\n        - gh\n        - tmux\n    primaryEnv: GITHUB_TOKEN\n---\n---\n\nIMPORTANT: You need to have Kilo CLI installed and configured so OpenClaw can use it without any issue.\n\n```sh\nnpm install -g @kilocode/cli\n```\n\nIf you want to automate pull requests to Github, then you also need to authenticate Github CLI in your project: https://github.com/cli/cli#installation\n\n# Coding Agent (background-first)\n\nUse **bash background mode** for non-interactive coding work. For interactive coding sessions, use the **tmux** skill (always, except very simple one-shot prompts).\n\n## The Pattern: workdir + background\n\n```bash\n# Create temp space for chats/scratch work\nSCRATCH=$(mktemp -d)\n\n# Start agent in target directory (\"little box\" - only sees relevant files)\nbash workdir:$SCRATCH background:true command:\"<agent command>\"\n# Or for project work:\nbash workdir:~/project/folder background:true command:\"<agent command>\"\n# Returns sessionId for tracking\n\n# Monitor progress\nprocess action:log sessionId:XXX\n\n# Check if done  \nprocess action:poll sessionId:XXX\n\n# Send input (if agent asks a question)\nprocess action:write sessionId:XXX data:\"y\"\n\n# Kill if needed\nprocess action:kill sessionId:XXX\n```\n\n**Why workdir matters:** Agent wakes up in a focused directory, doesn't wander off reading unrelated files (like your soul.md 😅).\n\n---\n\n## Kilo CLI\n\n### Building/Creating (Use Autonomous mode)\n\n```bash\nbash workdir:~/project background:true command:\"kilo run --auto \\\"Build a snake game with dark theme\\\"\"\n```\n\n### Reviewing PRs (vanilla, no flags)\n\n**⚠️ CRITICAL: Never review PRs in OpenClaw's own project folder!**\n- Either use the project where the PR is submitted (if it's NOT ~/Projects/openclaw)\n- Or clone to a temp folder first\n\n```bash\n# Option 1: Review in the actual project (if NOT OpenClaw)\nbash workdir:~/Projects/some-other-repo background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n\n# Option 2: Clone to temp folder for safe review (REQUIRED for OpenClaw PRs!)\nREVIEW_DIR=$(mktemp -d)\ngit clone https://github.com/openclaw/openclaw.git $REVIEW_DIR\ncd $REVIEW_DIR && gh pr checkout 130\nbash workdir:$REVIEW_DIR background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n# Clean up after: rm -rf $REVIEW_DIR\n\n# Option 3: Use git worktree (keeps main intact)\ngit worktree add /tmp/pr-130-review pr-130-branch\nbash workdir:/tmp/pr-130-review background:true command:\"kilo run \\\"Review current branch against main branch\\\"\"\n```\n\n**Why?** Checking out branches in the running OpenClaw repo can break the live instance!\n\n### Batch PR Reviews (parallel army!)\n```bash\n# Fetch all PR refs first\ngit fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'\n\n# Deploy the army - one Kilo CLI per PR!\nbash workdir:~/proj"},{"path":"README.md","content":"# Kilo CLI Coding Agent\n\nAn OpenClaw skill that programmatically controls Kilo CLI, allowing it to run tasks on your behalf."},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn70r260w4vjyjwbfg87t8t0xn80k3h4\",\n  \"slug\": \"kilocli-coding-agent\",\n  \"version\": \"0.0.9\",\n  \"publishedAt\": 1771211218705\n}"},{"path":"skill-card.md","content":"## Description:\n\nRun Kilo CLI via background process for programmatic control.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[nathansebhastian](https://clawhub.ai/user/nathansebhastian)\n\n### License/Terms of Use:\n\nMIT\n\n## Use Case:\n\nDevelopers and engineering teams use this skill to launch and monitor Kilo CLI coding tasks, PR reviews, issue fixes, and GitHub workflow work from an OpenClaw environment.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Autonomous Kilo CLI subprocesses may make repository changes or create GitHub output that the user did not fully inspect.\n\nMitigation: Review all diffs, generated files, PRs, and comments before pushing or publishing changes.\n\nRisk: A broad GitHub token can grant more repository or workflow access than a task needs.\n\nMitigation: Use a fine-grained, repository-scoped GitHub token and avoid actions:write unless the current task requires it.\n\nRisk: PR bodies, comments, prompts, logs, private paths, or internal context may expose sensitive information.\n\nMitigation: Sanitize generated GitHub content and session logs before posting or sharing them.\n\n## Reference(s):\n\n- [Kilo CLI Coding Agent on ClawHub](https://clawhub.ai/nathansebhastian/skills/kilocli-coding-agent)\n- [GitHub CLI installation](https://github.com/cli/cli#installation)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline shell commands and code blocks]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May require Kilo CLI, git, GitHub CLI, tmux, and a repository-scoped GITHUB_TOKEN.]\n\n## Skill Version(s):\n\n0.0.9 (source: release metadata, SKILL.md frontmatter, claw.json)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."},{"path":"claw.json","content":"{\n  \"name\": \"kilocli-coding-agent\",\n  \"version\": \"0.0.9\",\n  \"description\": \"Run Kilo CLI via background process for programmatic control.\",\n  \"author\": \"codewithnathan97\",\n  \"license\": \"MIT\",\n  \"tags\": [\"productivity\", \"web development\", \"github\"],\n  \"permissions\": [\"network\", \"exec\"],\n  \"entry\": \"SKILL.md\",\n  \"minOpenClawVersion\": \"0.8.0\",\n  \"env\": [\n    {\n      \"name\": \"GITHUB_TOKEN\",\n      \"description\": \"GitHub Personal Access Token with repo and actions:write permissions\",\n      \"required\": true\n    }\n  ]\n}"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Run Kilo CLI via background process for programmatic control. Skill: Kilo CLI Coding Agent Owner: nathansebhastian Summary: Run Kilo CLI via background process for programmatic control. Tags: latest:0.0.9 Version history: v0.0.9 | 2026-02-16T03:06:58.705Z | auto kilocli-coding-agent 0.0.9 - Updated SKILL.md metadata formatting by fixing indentation and structure for \"requires,\" \"env,\" \"bins,\" and \"primaryEnv\" fields. - No changes made to end-user usage or core functionality. -","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1193,"uniquenessScore":49,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T07:29:09.117Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T07:29:09.117Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-09T18:29:11.749Z","emptyReason":null},"items":[{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-10T18:48:31.762Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}