@corbat-tech/coco 2.24.2 → 2.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -96,6 +96,10 @@ Quality mode is configurable and can be turned on/off per session.
96
96
  - Tool-call handling is normalized across OpenAI/Codex-style streaming events to reduce malformed argument regressions.
97
97
  - Agent turns include quality telemetry (`score`, iteration usage, tool success/failure, repeated-output suppression).
98
98
  - Repeated identical tool outputs are suppressed in context to reduce token waste in multi-iteration loops.
99
+ - Agent loop now recovers from common "silent stop" cases (e.g. `tool_use` without reconstructed tool calls, empty `max_tokens` turns, short planning-only replies) before giving control back.
100
+ - Recovery replay also covers multimodal prompts (image + text / image-only) by rebuilding a retryable task prompt when possible.
101
+ - Iteration budget can auto-extend when the task is still making real progress to reduce manual `continue` prompts.
102
+ - Automatic provider switching is **opt-in** via `agent.enableAutoSwitchProvider` (default: `false`).
99
103
  - Release readiness can be gated with `pnpm check:release` (typecheck + lint + stable provider/agent suites).
100
104
 
101
105
  ## Commands (REPL)
@@ -145,18 +149,98 @@ For setup details and model matrix:
145
149
 
146
150
  - [Provider Guide](docs/guides/PROVIDERS.md)
147
151
 
148
- ## Skills and MCP
152
+ ## Skills
149
153
 
150
- Coco supports:
154
+ Skills are instruction files (SKILL.md) that Coco injects into its context to follow project-specific conventions or workflows. They activate automatically by context or manually via `/skill-name`.
151
155
 
152
- - Built-in skills (for example `/review`, `/ship`, `/open`, `/diff`).
153
- - Project/user skills loaded from skill files.
154
- - MCP servers for external tools and systems.
156
+ **Where to place skills:**
155
157
 
156
- References:
158
+ | Location | Scope |
159
+ |----------|-------|
160
+ | `.agents/skills/<skill-name>/SKILL.md` | Project — native, highest priority |
161
+ | `~/.coco/skills/<skill-name>/SKILL.md` | Global — personal, all projects |
157
162
 
158
- - [MCP Guide](docs/MCP.md)
159
- - [Cookbook](docs/guides/COOKBOOK.md)
163
+ By default, Coco also scans compatible global directories from other agents:
164
+ `~/.agents/skills/`, `~/.claude/skills/`, `~/.gemini/skills/`, `~/.codex/skills/`, and `~/.opencode/skills/`.
165
+
166
+ Coco also reads skills from other agents automatically, so you can bring skills you already have:
167
+
168
+ | Directory | Agent |
169
+ |-----------|-------|
170
+ | `.agents/skills/` | Native (Coco, shared standard) |
171
+ | `.claude/skills/` | Claude Code |
172
+ | `.codex/skills/` | Codex CLI |
173
+ | `.gemini/skills/` | Gemini CLI |
174
+ | `.opencode/skills/` | OpenCode |
175
+
176
+ **Create your first skill:**
177
+
178
+ ```bash
179
+ coco skills create my-conventions
180
+ # → creates .agents/skills/my-conventions/SKILL.md
181
+ ```
182
+
183
+ **List all skills (including imported from other agents):**
184
+
185
+ ```bash
186
+ coco skills list
187
+ ```
188
+
189
+ See [Skills Guide](docs/guides/SKILLS.md) for full documentation.
190
+
191
+ ## MCP Servers
192
+
193
+ MCP (Model Context Protocol) lets Coco use external tools: GitHub, databases, APIs, web search, and more.
194
+
195
+ **Quick setup — create `.mcp.json` in your project root:**
196
+
197
+ ```json
198
+ {
199
+ "mcpServers": {
200
+ "github": {
201
+ "command": "npx",
202
+ "args": ["-y", "@modelcontextprotocol/server-github"],
203
+ "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "your-token" }
204
+ },
205
+ "filesystem": {
206
+ "command": "npx",
207
+ "args": ["-y", "@modelcontextprotocol/server-filesystem", "/your/path"]
208
+ }
209
+ }
210
+ }
211
+ ```
212
+
213
+ This format is compatible with Claude Code, Cursor, and Windsurf — if you already have a `.mcp.json`, Coco reads it automatically.
214
+
215
+ **Check MCP status inside the REPL:**
216
+
217
+ ```
218
+ /mcp list — show configured servers
219
+ /mcp status — show connected servers and available tools
220
+ /mcp health — run health check on all servers
221
+ ```
222
+
223
+ **Authenticate with environment variables** (recommended — never hardcode tokens):
224
+
225
+ ```json
226
+ {
227
+ "mcpServers": {
228
+ "github": {
229
+ "command": "npx",
230
+ "args": ["-y", "@modelcontextprotocol/server-github"],
231
+ "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}" }
232
+ },
233
+ "my-api": {
234
+ "url": "https://api.example.com/mcp",
235
+ "headers": { "Authorization": "Bearer ${MY_API_TOKEN}" }
236
+ }
237
+ }
238
+ }
239
+ ```
240
+
241
+ Set the variables in your shell environment (or in `~/.coco/.env` for Coco-managed global secrets).
242
+
243
+ See [MCP Guide](docs/MCP.md) for full documentation, authentication options, and troubleshooting.
160
244
 
161
245
  ## Configuration
162
246