by gongdear
An Agent Skill: drive Cline CLI coding tasks as the user's proxy.
# Add to your Claude Code skills
git clone https://github.com/gongdear/cline-pilotcline-pilot is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by gongdear. An Agent Skill: drive Cline CLI coding tasks as the user's proxy. It has 73 GitHub stars.
cline-pilot's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/gongdear/cline-pilot" and add it to your Claude Code skills directory (see the Installation section above). cline-pilot ships a SKILL.md manifest, so compatible agents can discover and load it automatically.
cline-pilot is primarily written in Python. It is open-source under gongdear on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh cline-pilot against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
定位(不可擅改):我扮演“学习并代替给用户发指令”的角色。不掌握项目架构细节、不参与技术决策,只管三件事:
架构知识的单事实源 = 工程自己的 memory bank + clinerules(跟随仓库、Cline 维护)。本技能只存简介+标签与指令偏好。
cline --version 可用(本环境要求 cline CLI v3.x、git、可用的 OpenAI-compatible LLM 端点、zsh 或 bash);启动前探活 LLM 端点——端点值不存技能档案(易变配置,实时配置文件为唯一事实源,见 references/local-config.md 的 LLM 端点节)Cline 进程必须在用户指定开发环境内启动(继承工具链),自检通过才启动:
git branch --show-current = 任务分支env=<name> 为准模式 1:非交互(默认)——长 prompt 写进技能目录任务文件注入(遵最高优先级纪律第3条:不落 /tmp、不落代码工程),避免引号地狱:
cd 仓库 && cline --json "$(cat ~/.hermes/skills/cline-pilot/scratch/task.md)" # 后台 + 完成通知(terminal background=true notify=true)
# 任务书短也可内联:cline --json "active memory bank\n..."
# 任务书内不得含删除/回滚指令(先经用户审核才单独发)
# 常用限制参数:--retries 6(默认)/ -t <秒> 超时 / --thinking high 仅疑难 / --compaction agentic(默认)
# 长/隔夜: -z 后台hub / 续跑: --id <session-id> "继续..." / 收紧审批: --auto-approve false
prompt 里写死验收标准 + commit 规范 + 禁止项(非交互无会话可追,一次说清);首句固定 active memory bank。
模式 2:TUI 交互(仅短任务+需实时批准):cline -i + pty。
实测陷阱:文本可写入,但多行编辑器的单发回车提交不可靠;非预期键可能弹订阅页(任意键关闭)。超过两三句的内容一律用模式 1。
~/.hermes/skills/cline-pilot/,已 .gitignore、永不提交),且仅允许写:修改计划与完成情况记录、进程 pid 台账及说明、技能维护文档;此范围/用途之外(含 /tmp、代码工程)一律不写,任务书改为内联进 cline 命令行或写 skill 目录内active memory bank 发出后 cline 的大面积代码扫描盘点 = 正常冷启动行为,禁止干预/禁止杀进程;active memory bank 成功 + 任务书发出后 cline 才大面积扫描 = 任务书粒度不合格(只有模块名/类名,未给包路径+端点/方法级),修复方式是重写任务书,不是干预进程当发现 cline 超出指令行为(越权动作、擅自删改、自造指令、范围溢出)或整体开发偏离用户意图(方向跑偏、同类坑重复踩、质量持续塌降)时,处置 = 调度 cline 更新工程的 clinerules,把"禁止的行为 + 优先做法"写成成对硬规则落进规则文件,防再次发生。 审批硬门禁:任何一次 clinerules 更新调度必须先向用户报告(触发事件 + 拟写入的规则条目原文),得到肯定答复后才可发出;未获批 = 不发。 两个合法时机:
.clinerules/memory-bank 只读,禁止直接写(写=违反最高优先级纪律第1条);cline 落盘后由编排侧只读核证规则文件已实际更新,再交下一个任务。同一时间只允许一个 cline 编码进程。拉起新编码轮次前,必须先查台账(~/.hermes/skills/cline-pilot/scratch/bg-procs.md)+ ps:确认上一个编码进程已退出(连同其 hub daemon、nohup 子进程),否则先处置干净再起,禁止进程叠加
多任务只允许串行:一个结束 → 验收 → 记录 → 再启下一个。禁止用多子代理/多 worktree/并行 mvn 把多个任务压给同一批进程;禁止为了赶进度开第二个编码会话
一次编码 = 一个聚焦小任务(单一功能/单模块/单修复点)。禁止把“整工程里程碑”压给一个会话——长任务必炸上下文(实测:340轮/2.2亿input token 后流断,且断点前大量轮次耗在调研上)
任务生命周期闭环(每个小任务严格走完):
a. 启动前:dev-env 自检通过(见环境铁律)
b. 启动:prompt 首句 active memory bank,任务书只含本小任务的范围/验收标准/禁止项
c. 运行:按工程级约束执行(查 references/project-profiles.md)
d. 完成:cline 报告编码完成后,调度 cline 总结整理本次会话,并更新 memory-bank 的进度及相关文档(active-context/progress/本次决策与坑);确认 memory-bank 落盘后进程才算结束
e. 结束:台账更新状态;Cline 进程退出
f. 下一个任务 = 重新拉起一个新进程、重新从 active memory bank 开始(上下文不带上一任务残留)
todolist 串行执行流程(接到用户复合指令时): a. 把指令拆成有序 todo 清单(每行一个聚焦任务,附验收标准) b. 先列清单向用户确认,用户确认后才开始 c. 确认后逐个按生命周期调度 cline:每完成一个就在清单上打勾 ✓ + 记台账 d. 全部打勾才算交付;某任务失败 → 按“报完成前自检”报差距给用户决策(重试/改范围/记遗留),不擅自换任务书反复重跑
监控(确定性脚本优先)
长任务后台跑时,优先跑 scripts/session_report.py(读会话消息流 + git/测试报告硬证据):
python3 scripts/session_report.py # 最新会话 + 当前目录证据
python3 scripts/session_report.py 15 /path/to/repo
原则:不信 Cline 自述,只信最终态证据(git status/diff、构建工具测试报告数字、产物文件非空)。其次才看 PTY 输出。具体构建/测试/覆盖率工具由工程画像决定(见 references/project-profiles.md),本技能不假设任何语言或栈。
完整手册见 references/cold-start.md,三步骨架:
~/.cline 全局配置/自定义指令,找 记忆库/Memory Bank 关键词 + memory-bank 目录结构约定):
assets/global-memory-bank-prompt.md(英文用户/英文工程用 global-memory-bank-prompt.en.md)全文;给用户完整操作话术active memory bank(顺序不可反过来)【Cline 决策点】<一句话场景>
1) …(后果一句话)
2) …(后果一句话)
Cline 建议:X(理由)
我的倾向:Y(有已学偏好则写依据;无则写“无先例”)
拍板后原样回传(含纠偏),同一条消息同时要求 Cline 写入工程 rules/memory bank(用户既定实践)。
git status / diff --stat:改动与声称一致、无越界文件git log -1:commit 规范(含约定尾部)且未 pushwc -l + 抽样首尾)端(后端/前端/全栈)× 生命周期(长护产品/短期项目)× 风险面(生产数据/对外服务 是/否)→ 记 references/project-profiles.md(私有文件)。不记架构、不记模块。
references/decision-log.md(带标签类,私有文件)(示例——具体偏好按你的项目标签蒸馏,私有档案不入库)
data 不是 text;bytes_written=0 先 poll 看进程是否还活(raw 模式不回显)~/.cline 数据共享但运行时不共享session_report.py + poll 确认在工作Response stream ended without a finish reason / 流断连:优先怀疑上下文长度接近上限(非网络故障)。正确做法 = 让 cline 重试即可,cline 会自动压缩上下文;禁止换全新任务书从零重跑、禁止手动清理会话、禁止 kill 进程换目录重开。非交互模式:再发一条简短继续提示(以磁盘现状为准盘点);TUI:直接让它继续operation timed out 但迭代数很多:多为单步长操作(全仓级构建测试/大批量写入)触发,不是进程挂死;任务书加单步上限(每命令 ≤300s、禁止一次性跑全仓级命令);同样续跑不重跑cli-<platform>/bin/cline 二进制子进程会孤儿化残留(实测一次 38 小时僵尸);新会话启动后报 session not found 崩溃、零产出。派发前存活检查必须枚举真实二进制路径(pgrep -f "bin/cline" 全量核),不能只匹配派发命令行 bin/cline --json(会漏二进制进程自身);发现孤儿(会话已结束)清干净再发tests 属性会把不同 @Nested 组内的同名测试方法压缩计数(实测:suite 声明 8、实际 <testcase> 元素 9)。统计用例数一律按 <testcase> 元素计数;验收汇报的用例数与编排侧独立重跑数必须同口径核对active memory bank(写进 prompt 首部)active memory bank(见“编码任务生命周期”)启动前建台账行(pid待填) → 启动后30s内回填真实pid/会话id → 退出/结束/被kill时更新状态列。未登记 = 未启动(禁止先启后补)。台账单文件:~/.hermes/skills/cline-pilot/scratch/bg-procs.md(技能自有临时目录,追加式,历史不清;此目录已被 .gitignore,不提交进技能仓库;2026-09-28 前旧台账在 ~/.hermes/cache/scratch/bg-procs.md.migrated):一行一条 时间 | pid(含伴随daemon) | 会话id | 目的 | 状态。查杀决策清单(kill 前逐项过):①目的列写明在干什么 → ②会话 ~/.cline/data/sessions/<id> 最后活动时间是否已结束 → ③是否还有 nohup 子进程(构建/测试等长进程)挂在其下未跑完 → ④是孤儿 daemon 还是活跃会话配套(比对 --cwd + 启动时间)。四项都确认无活体才 kill。每个 cline 会话会自带一个 cline-hub-daemon --cwd <工程>(孤儿化到系统进程管理器,会话结束后可能残留)——活跃会话的 daemon 绝不可杀session not found 崩溃(实测 2026-09-26):每个 cline 会话带一个 cline-hub-daemon(孤儿化);daemon 重启/被杀后 hub 会话注册表丢失,运行中会话直接崩。处置:先清孤儿 daemon 再启新会话开新对话;崩溃前已用 nohup 挂出的长构建/测试子进程会独立存活,先等其跑完再盘点磁盘现状。references/project-profiles.md(私有)该工程的工程级特殊要求并逐条显式写进任务书(例:并发模型限制、串行推进要求、单步命令时长上限等)。工程级约束优先级高于本技能通用流程——并行/子代理等通用行为若与工程约束冲突,以工程约束为准。本技能全局规则只写通用机制,不写任何具体工程、语言、栈相关的值——那些归口 private references(project-profiles / local-config)An Agent Skill: drive Cline CLI coding tasks as the user's proxy.
Dispatch tasks → run Cline non-interactively or interactively → monitor progress from session files + hard evidence (git / test reports) → relay decision points back to the user in a fixed 4-part format → verify against a checklist before reporting done — while learning the user's per-project-tag preferences and gradually making the decisions for them.
Follows the Agent Skills open specification. Works with any agent that supports the standard: Hermes, Cline, Claude Code, Codex, Cursor, OpenCode, and more. (Chinese docs: README.zh.md)
| DOES (this skill's job) | DOES NOT |
|---|---|
| Dispatch user tasks to Cline CLI (context + constraints, nothing dropped) | Know/hold project architecture (that lives in the project's own memory bank + clinerules) |
| Launch Cline inside the user's dev environment (conda env, pinned branch) | Make unilateral technical decisions — hard-constraint actions always go back to the user first |
Monitor long background jobs via session files + git/test-report evidence, not self-reports |
Push, delete, write to DB, spend money, change global config — always asks first |
| Relay Cline's decision points in a fixed 4-element format, with learned preference stated or "no precedent" | |
| Verify against a 6-item acceptance checklist before reporting "done" | |
| Log every correction/decision by project tag class and distill stable preferences over time |
# Option 1: npx skills CLI (generic)
npx skills add https://github.com/gongdear/cline-pilot
# Option 2: copy the skill folder into your agent's skills dir
# Hermes: ~/.hermes/skills/
# Cline: ~/.cline/skills/
# Claude Code: ~/.claude/skills/
# Codex: ~/.codex/skills/
mkdir -p ~/.hermes/skills && cp -r cline-pilot ~/.hermes/skills/
references/local-config.md (see references/local-config.example.md). That file is
private and git-ignored.active memory bank), runs in the
background, and monitors via scripts/session_report.py.python3 scripts/session_report.py 15 /path/to/repo
cline-pilot/
├── SKILL.md # core workflow (<150 lines, loaded on activation)
├── README.md / README.zh.md
├── LICENSE # MIT
├── scripts/
│ └── session_report.py # read-only monitor: session messages + git/surefire evidence (stdlib only)
├── references/
│ ├── cold-start.md # cold-start handbook (new projects: no clinerules/memory-bank)
│ ├── local-config.example.md # template → private local-config.md
│ ├── project-profiles.example.md # template → private project-profiles.md
│ └── decision-log.example.md # template → private decision-log.md
└── assets/
└── global-memory-bank-prompt.md # verbatim global memory-bank prompt (must be in place before any memory bank)
SKILL.md loads only when activated; references/* on demand; the script is
deterministic code — the agent doesn't improvise monitoring each time.
assets/global-memory-bank-prompt.md,
verbatim template)decision-log.md (per tag class) → ≥2 consistent
samples → distilled into the preference section of SKILL.mdreferences/*.mdCline's cost/quality balance changes dramatically between the cold-start and the steady-state phases. Recommended setup (validated on a production Java backend):
Initialization — use a strong long-context (paid) model.
Give it the full weight: whole-project codebase scan, writing project rules
(clinerules / memory-bank seed) grounded in what the code actually does, and
authoring one or two template test/code patterns representative of the
project (assertion style, mock granularity, naming, edge-case coverage).
This phase is read-heavy and long-context-heavy — exactly where frontier
models pay for themselves. A single good cold start prevents most
rework later: every batch after it is constrained by the rules it wrote.
Steady state — switch to a small local model for the task loop.
Once the rules + templates exist, each batch is a small, tightly-scoped
task with an explicit spec (target class, test file path, mock list,
assertion requirements). That shape is ideal for a local, low-parameter
model: the skill's task-spec granularity, the anti-hallucination protocol,
and per-batch verification carry the discipline, so model quality can be
traded against cost/privacy/throughput. (The maintainer runs
qwen3.8:27b locally via Ollama for all batch execution — 50+ test
classes delivered against a 7-module Java backend on that setup.)
Rule of thumb: frontier model buys the rules once; the local model runs the discipline every day. If a local batch fails the same assertion 3 times in a row, that is a signal the template/rules are the gap — escalate that batch back to the stronger model, don't keep burning local retries.
npx @anthropics/skills-ref validate . # or: skills-ref validate ./cline-pilot
python3 -m py_compile scripts/session_report.py
python3 scripts/session_report.py 5 /path/to/repo
SKILL.md (keep it under 500 lines)scripts/, stdlib only, independently runnableMIT — see LICENSE