cline-sdk
Comprehensive Cline SDK skill for building AI agents. Covers the direct Agent runtime, ClineCore sessions, custom tools, plugins, events, LLM providers, scheduling, multi-agent teams, and production deployment. Use for any task involving @cline/sdk or its sub-packages.
By cline · 1,992 installs
npx skills add cline/sdk-skill --skill cline-sdk
Source repository · Upstream listing
Cline SDK Skill
Consolidated skill for building AI agents with the Cline SDK. Use the decision trees below to find the right entry point and API surface, then load detailed references.
Critical Rules
Follow these rules in all Cline SDK code:
1. Install with npm install @cline/sdk . The @cline/sdk package re exports @cline/core , not every sub package directly. Core re exports the public SDK surface such as ClineCore , Agent , createAgentRuntime , createTool , built in tool helpers, provider helpers, and the Llms namespace. Import from @cline/agents , @cline/llms , or @cline/shared only when you need APIs that core does not re export, such as AgentRuntime , createAgent , or some low level types.
2. Requires Node.js 22 or later.
3. Use createTool() from @cline/sdk (or @cline/shared ) to define tools. Tool names must be snake case .
4. Prefer returning structured error data from tool execute functions when the agent can recover. Direct Agent converts thrown tool errors into error tool results; ClineCore can also count repeated failed tool turns toward its mistake limit handling.
5. Use lifecycle: { completesRun: true } on tools that should end the agent loop (e.g. a "submit answer" tool).
6. When using ClineCore , always call dispose() when done to clean up resources.
7. The direct Agent and ClineCore have different event systems. For Agent : use agent.subscribe() to get AgentRuntimeEvent types, text streaming is "assistant text delta" , and result text is result.outputText . For ClineCore : use cline.subscribe() to get CoreSessionEvent types. Render user facing text, reasoning, and tool activity from "agent event" payloads ( content start , content update , content end , done ). Treat "chunk" events as raw transport chunks with { stream, chunk, ts } , not as typed text deltas. ClineCore result text is result.text . There is no top level onEvent field on AgentRuntimeConfig ; use agent.subscribe() or hooks.onEvent instead. Do not use "content update" or "content start" with agent.subscribe() ; those are host facing AgentEvent types carried inside ClineCore agent event events.
8. For direct Agent , plugins are simple runtime plugins with setup(context) returning { tools, hooks } . For ClineCore , extensions are AgentPlugin objects with manifest , setup(api, ctx) , and optional hooks . Do not use ClineCore plugin examples inside direct Agent.plugins .
9. Plugin skills are file based , not registered. There is no registerSkill() and no api.registerSkill . A plugin ships skills as SKILL.md files under <package /skills/<name /SKILL.md (package shape required); the host discovers them and surfaces them as /slash commands automatically do not call registerCommand for skills. Plugin MCP servers use api.registerMcpServer() with the "mcp" capability. Configured agents (agent profiles) are YAML files in .cline/agents/ loaded as subagent <name tools when enableSpawnAgent is true.
How to Use This Skill
Reference File Structure
The two main API surfaces ( Agent and ClineCore ) follow a 4 file pattern. Cross cutting concepts are single file guides.
Each main API surface in ./references/<api / contains:
File Purpose When to Read
REFERENCE.md Overview, when to use, quick start Always read first
api.md Full API: classes, methods, config, types Writing code
patterns.md Common patterns, best practices Implementation guidance
gotchas.md Pitfalls, limitations, debugging Troubleshooting
Cross cutting concepts in ./references/<concept / have REFERENCE.md as the entry point.
Reading Order
1. Start with REFERENCE.md for your chosen API surface
2. Then read additional files relevant to your task:
Writing agent code api.md
Common patterns patterns.md
Creating tools tools/REFERENCE.md
Adding plugins/hooks plugins/REFERENCE.md
Configuring LLM providers providers/REFERENCE.md
Streaming events events/REFERENCE.md
Deploying to production production/REFERENCE.md
Scheduling agents scheduling/REFERENCE.md
Multi agent orchestration multi agent/REFERENCE.md
Debugging gotchas.md
Example Paths
Quick Decision Trees
"Which API surface should I use?"
"I need to create tools"
"I need to handle events"
"I need to configure a model provider"
"I need plugins or hooks"
"I need multi agent coordination"
"I need scheduling or automation"
"I need to go to production"
Troubleshooting Index
Agent loop not stopping tools/REFERENCE.md (completion tools)
Tool errors crashing the agent agent/gotchas.md or clinecore/gotchas.md
Provider auth failures providers/REFERENCE.md
Session not persisting clinecore/gotchas.md
Token usage too high production/REFERENCE.md (cost control)
Hub connection issues clinecore/gotchas.md
Plugin not loading plugins/REFERENCE.md
Events not firing events/REFERENCE.md
Product Index
API Surfaces
API Entry File Description
Agent ./references/agent/REFERENCE.md Lightweight in memory agent loop
ClineCore ./references/clinecore/REFERENCE.md Full runtime with sessions, persistence, built in tools
Cross Cutting Concepts
Concept Entry File Description
Tools ./references/tools/REFERENCE.md Built in and custom tool creation
Plugins ./references/plugins/REFERENCE.md Extension system with hooks, MCP servers, and bundled skills
Events ./references/events/REFERENCE.md Real time streaming events
Providers ./references/providers/REFERENCE.md LLM provider configuration
Production ./references/production/REFERENCE.md Deployment, security, observability
Scheduling ./references/scheduling/REFERENCE.md Cron jobs and automation
Multi Agent ./references/multi agent/REFERENCE.md Teams, sub agents, and configured agent profiles
Package Map
Package Purpose
@cline/sdk User facing alias for @cline/core ; install this first
@cline/core Sessions, persistence, built in tools, config, hub, and selected re exports
@cline/agents Browser compatible AgentRuntime class and lower level factories
@cline/llms LLM provider gateway
@cline/shared Types, tool helpers, hook engine
Resources
Repository: https://github.com/cline/cline
SDK Source: https://github.com/cline/cline/tree/main/sdk
Documentation: https://docs.cline.bot/sdk/overview
Discord: https://discord.gg/cline