You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|[`testing-patterns`](skills/testing-patterns/)| Testing strategy, test data management, scope/collection isolation — concepts only (no language code) |
25
+
|[`testing-patterns-python`](skills/testing-patterns-python/)| Unit testing with unittest.mock, integration testing with testcontainers, scope isolation — Python |
26
+
|[`testing-patterns-java`](skills/testing-patterns-java/)| Unit testing with Mockito, integration testing with testcontainers, scope isolation — Java |
27
+
|[`testing-patterns-go`](skills/testing-patterns-go/)| Unit testing with testify/mock, integration testing with testcontainers, scope isolation — Go |
28
+
|[`testing-patterns-dotnet`](skills/testing-patterns-dotnet/)| Unit testing with Moq, integration testing with Testcontainers.Couchbase, scope isolation — .NET |
29
+
|[`testing-patterns-nodejs`](skills/testing-patterns-nodejs/)| Unit testing with Jest, integration testing with testcontainers, scope isolation — Node.js |
30
+
|[`testing-patterns-rust`](skills/testing-patterns-rust/)| Unit testing with mockall, integration testing with testcontainers-rs, scope isolation — Rust |
31
+
|[`testing-patterns-scala`](skills/testing-patterns-scala/)| Unit testing with ScalaMock, integration testing with testcontainers-scala, scope isolation — Scala |
32
+
|[`testing-patterns-php`](skills/testing-patterns-php/)| Unit testing with PHPUnit, integration testing with testcontainers, scope isolation — PHP |
33
+
|[`testing-patterns-ruby`](skills/testing-patterns-ruby/)| Unit testing with RSpec doubles, integration testing with testcontainers-ruby, scope isolation — Ruby |
24
34
25
35
### Couchbase Capella (DBaaS)
26
36
@@ -37,6 +47,16 @@ A collection of Couchbase agent skills for use in agentic workflows. Each skill
@@ -61,6 +81,9 @@ A collection of Couchbase agent skills for use in agentic workflows. Each skill
61
81
62
82
#### SDK Connection (per language)
63
83
84
+
> Each skill includes `references/deployment-scenarios.md` with language-specific Serverless, OLTP, OLAP, High-Traffic, and Multi-Node connection examples.
|[`shared/server/durability.md`](shared/server/durability.md)| all server-connection-* skills (9 languages) — guidance on when to use each durability level |
235
+
|[`shared/server/subdocument.md`](shared/server/subdocument.md)| all server-connection-* and sdk-patterns-* skills — lookup_in, mutate_in, array ops, counters |
|[`shared/server/analytics-vs-query.md`](shared/server/analytics-vs-query.md)| all analytics-* skills (8 languages) — when to use Analytics vs Query Service |
200
238
|[`shared/server/search-concepts.md`](shared/server/search-concepts.md)| all search-* skills (9 languages) — index prerequisites, hybrid search, RYOW, pagination, query types |
-**`shared/`** — content that is language-agnostic and applies to multiple skill families. Add here when the same concepts or multi-language examples would otherwise be duplicated across 3+ skills. Link from SKILL.md with `../../shared/...`.
251
+
-**`references/`** inside a skill — content that is specific to that skill's language or narrow topic (e.g., language-specific bulk-ops patterns, reactive API details). Do not put multi-language content here; promote it to `shared/` instead.
252
+
-**Rule**: if a `references/` file is identical or near-identical across two or more language skills, it belongs in `shared/`.
253
+
209
254
## Discovery Manifest
210
255
211
256
[`discovery.yaml`](discovery.yaml) — canonical source for first-turn routing. Each entry defines `skill`, `priority` (`primary`/`secondary`), `use_when`, and `triggers`. The validator enforces no duplicate triggers across skills and a minimum of 3 triggers per skill. Do **not** add these fields to individual SKILL.md files.
@@ -229,6 +274,8 @@ Runnable helper scripts in `scripts/`:
229
274
|---|---|
230
275
|[`validate-skills.sh`](scripts/validate-skills.sh)| Validate all skills for structural correctness (no cluster needed) |
231
276
|[`sync-handoffs.sh`](scripts/sync-handoffs.sh)| Sync SKILL.md handoff: blocks from routing.yaml (dry-run by default; `--apply` to write) |
277
+
|[`eval.sh`](scripts/eval.sh)| List eval cases (`--dry-run`) or run them against an LLM (`--execute`, not yet implemented) |
278
+
|[`test-validator.sh`](scripts/test-validator.sh)| Self-test for validate-skills.sh — runs assertions against a minimal fixture tree |
232
279
|[`check-cluster.sh`](scripts/check-cluster.sh)| Verify cluster connectivity and run SQL++ smoke tests against travel-sample |
233
280
|[`explain-query.sh`](scripts/explain-query.sh)| Run EXPLAIN and highlight plan warnings |
234
281
|[`create-gsi-index.sh`](scripts/create-gsi-index.sh)| Create a GSI index via REST API |
@@ -286,7 +333,20 @@ cases:
286
333
287
334
Keep `input` realistic — use actual user phrasings, not test descriptions. Keep `expect` terms specific enough to distinguish correct from incorrect responses.
288
335
289
-
> **Eval execution status:** The `examples.md` frontmatter is a specification for LLM-based evaluation — it defines what a correct agent response must contain. `validate-skills.sh` checks structural validity (required fields, recognised language identifiers) but does not execute the cases against an LLM. `check-cluster.sh` tests cluster connectivity via SQL++ smoke tests only and does not read `examples.md`. To run a full eval, send each `input` to an LLM with the skill loaded and assert that `expect` terms appear and `reject` terms do not appear in the response.
336
+
**Markdown body** (after the closing `---`): the body is human-readable documentation of the same cases. Each example follows this structure:
337
+
338
+
```markdown
339
+
## Example N
340
+
341
+
**Input:** <sametextasthefrontmatterinputfield>
342
+
343
+
**Output:**
344
+
<representative ideal response, including code blocks where relevant>
345
+
```
346
+
347
+
The body is not parsed by tooling — it exists for human review and as a reference when writing or updating eval cases. Keep it in sync with the frontmatter cases (same order, same inputs).
348
+
349
+
> **Eval execution status:** The `examples.md` frontmatter is a specification for LLM-based evaluation — it defines what a correct agent response must contain. `validate-skills.sh` checks structural validity (required fields, recognised language identifiers) but does not execute the cases against an LLM. `check-cluster.sh` tests cluster connectivity via SQL++ smoke tests only and does not read `examples.md`. Use `scripts/eval.sh --dry-run` to list all cases; `--execute` (not yet implemented) will run them against an LLM.
0 commit comments