{
  "schemaVersion": "1.0",
  "item": {
    "slug": "kilocli-coding-agent",
    "name": "Kilo CLI Coding Agent",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/codewithnathan97/kilocli-coding-agent",
    "canonicalUrl": "https://clawhub.ai/codewithnathan97/kilocli-coding-agent",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/kilocli-coding-agent",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=kilocli-coding-agent",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "claw.json"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/kilocli-coding-agent"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/kilocli-coding-agent",
    "agentPageUrl": "https://openagent3.xyz/skills/kilocli-coding-agent/agent",
    "manifestUrl": "https://openagent3.xyz/skills/kilocli-coding-agent/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/kilocli-coding-agent/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Coding Agent (background-first)",
        "body": "Use bash background mode for non-interactive coding work. For interactive coding sessions, use the tmux skill (always, except very simple one-shot prompts)."
      },
      {
        "title": "The Pattern: workdir + background",
        "body": "# 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\nWhy workdir matters: Agent wakes up in a focused directory, doesn't wander off reading unrelated files (like your soul.md 😅)."
      },
      {
        "title": "Building/Creating (Use Autonomous mode)",
        "body": "bash workdir:~/project background:true command:\"kilo run --auto \\\"Build a snake game with dark theme\\\"\""
      },
      {
        "title": "Reviewing PRs (vanilla, no flags)",
        "body": "⚠️ CRITICAL: Never review PRs in OpenClaw's own project folder!\n\nEither use the project where the PR is submitted (if it's NOT ~/Projects/openclaw)\nOr clone to a temp folder first\n\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\nWhy? Checking out branches in the running OpenClaw repo can break the live instance!"
      },
      {
        "title": "Batch PR Reviews (parallel army!)",
        "body": "# 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>\""
      },
      {
        "title": "Tips for PR Reviews",
        "body": "Fetch refs first: git fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'\nUse git diff: Tell Kilo CLI to use git diff origin/main...origin/pr/XX\nDon't checkout: Multiple parallel reviews = don't let them change branches\nPost results: Use gh pr comment to post reviews to GitHub"
      },
      {
        "title": "tmux (interactive sessions)",
        "body": "Use the tmux skill for interactive coding sessions (always, except very simple one-shot prompts). Prefer bash background mode for non-interactive runs."
      },
      {
        "title": "Parallel Issue Fixing with git worktrees + tmux",
        "body": "For fixing multiple issues in parallel, use git worktrees (isolated branches) + tmux sessions:\n\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\nWhy worktrees? Each Kilo CLI works in isolated branch, no conflicts. Can run 5+ parallel fixes!\n\nWhy tmux over bash background? Kilo CLI is interactive — needs TTY for proper output. tmux provides persistent sessions with full history capture."
      },
      {
        "title": "⚠️ Rules",
        "body": "Respect tool choice — if user asks for Kilo CLI, use Kilo CLI. NEVER offer to build it yourself!\nBe patient — don't kill sessions because they're \"slow\"\nMonitor with process:log — check progress without interfering\n--full-auto for building — auto-approves changes\nvanilla for reviewing — no special flags needed\nParallel is OK — run many Kilo CLI processes at once for batch work\nNEVER 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\nNEVER checkout branches in ~/Projects/openclaw/ — that's the LIVE OpenClaw instance! Clone to /tmp or use git worktree for PR reviews"
      },
      {
        "title": "PR Template (The Razor Standard)",
        "body": "When submitting PRs to external repos, use this format for quality & maintainer-friendliness:\n\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\nKey principles:\n\nHuman-written description (no AI slop)\nFeature intent for maintainers\nTimestamped prompt history\nSession logs if using Kilo CLI agent"
      }
    ],
    "body": "IMPORTANT: You need to have Kilo CLI installed and configured so OpenClaw can use it without any issue.\n\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\nCoding 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\nThe Pattern: workdir + background\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\nWhy workdir matters: Agent wakes up in a focused directory, doesn't wander off reading unrelated files (like your soul.md 😅).\n\nKilo CLI\nBuilding/Creating (Use Autonomous mode)\nbash workdir:~/project background:true command:\"kilo run --auto \\\"Build a snake game with dark theme\\\"\"\n\nReviewing PRs (vanilla, no flags)\n\n⚠️ CRITICAL: Never review PRs in OpenClaw's own project folder!\n\nEither use the project where the PR is submitted (if it's NOT ~/Projects/openclaw)\nOr clone to a temp folder first\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\nWhy? Checking out branches in the running OpenClaw repo can break the live instance!\n\nBatch PR Reviews (parallel army!)\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\nTips for PR Reviews\nFetch refs first: git fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'\nUse git diff: Tell Kilo CLI to use git diff origin/main...origin/pr/XX\nDon't checkout: Multiple parallel reviews = don't let them change branches\nPost results: Use gh pr comment to post reviews to GitHub\ntmux (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\nParallel Issue Fixing with git worktrees + tmux\n\nFor fixing multiple issues in parallel, use git worktrees (isolated branches) + tmux sessions:\n\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\nWhy worktrees? Each Kilo CLI works in isolated branch, no conflicts. Can run 5+ parallel fixes!\n\nWhy tmux over bash background? Kilo CLI is interactive — needs TTY for proper output. tmux provides persistent sessions with full history capture.\n\n⚠️ Rules\nRespect tool choice — if user asks for Kilo CLI, use Kilo CLI. NEVER offer to build it yourself!\nBe patient — don't kill sessions because they're \"slow\"\nMonitor with process:log — check progress without interfering\n--full-auto for building — auto-approves changes\nvanilla for reviewing — no special flags needed\nParallel is OK — run many Kilo CLI processes at once for batch work\nNEVER 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\nNEVER checkout branches in ~/Projects/openclaw/ — that's the LIVE OpenClaw instance! Clone to /tmp or use git worktree for PR reviews\nPR Template (The Razor Standard)\n\nWhen submitting PRs to external repos, use this format for quality & maintainer-friendliness:\n\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\nKey principles:\n\nHuman-written description (no AI slop)\nFeature intent for maintainers\nTimestamped prompt history\nSession logs if using Kilo CLI agent"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/codewithnathan97/kilocli-coding-agent",
    "publisherUrl": "https://clawhub.ai/codewithnathan97/kilocli-coding-agent",
    "owner": "codewithnathan97",
    "version": "0.0.9",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/kilocli-coding-agent",
    "downloadUrl": "https://openagent3.xyz/downloads/kilocli-coding-agent",
    "agentUrl": "https://openagent3.xyz/skills/kilocli-coding-agent/agent",
    "manifestUrl": "https://openagent3.xyz/skills/kilocli-coding-agent/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/kilocli-coding-agent/agent.md"
  }
}