cultivar

作者: pinecone-io

驅動 cultivar 命令列介面,測試代理技能是否能改善行為——建立任務框架,在 Claude/Copilot/Gemini(本地或…)上分別以啟用與未啟用技能的方式執行。

npx skills add https://github.com/pinecone-io/cultivar --skill cultivar

cultivar

cultivar is a CLI that measures whether an agent skill actually improves an agent's behavior. For each task it runs the agent with the skill and without it (and optionally with the source docs), then an LLM grader scores each run against a natural-language rubric. Use this skill when the user wants to create, run, or interpret cultivar evals.

The loop

  1. cultivar init <skill> — scaffold tasks/<skill>.yaml + a SKILL.md stub.
  2. Edit the task file (intent + PASS/FAIL criteria) and the skill.
  3. cultivar run -s <skill> -r <runner> --grade — run all variants and grade.
  4. cultivar report / cultivar show latest -t <task> — read the outcome.
  5. Iterate on the skill; re-run; compare.

Always confirm the install first with cultivar hello (or cultivar hello --no-grade when no ANTHROPIC_API_KEY is available) — it runs a packaged smoke task end-to-end.

Commands

  • cultivar init <skill> [--skills-dir DIR] — scaffold task YAML + SKILL.md stub.
  • cultivar run -s <skill> -r <claude|copilot|gemini> — run. Key flags:
    • -t <task> one task · -v <with-skill|without-skill|with-docs> one variant
    • --remote run in isolated Modal sandboxes · -n N repeat · -p N parallelism
    • --grade grade after running · --title NAME label the run · --dry-run print the prompt + command without calling anything · --timeout S per-call budget (default 90)
  • cultivar grade <run|latest> -s <skill> [--report] — (re)grade an existing run.
  • cultivar report [run] — summary table across runners/variants.
  • cultivar show <run|latest> -t <task> [--grader|--conversation-only|--workdir] — inspect one run.

--dry-run is the safe way to preview exactly what will be sent before spending tokens.

Variants (the controls)

  • with-skill — skill loaded; prompt prefixed Use the /<skill>.
  • without-skill — no skill; identical otherwise. The baseline.
  • with-docs — no skill, but the task's ground_truth.context_refs files are prepended. Only runs for tasks that declare context_refs.

Read two deltas: with-skill vs without-skill ("does the skill do anything?") and with-skill vs with-docs ("is the distilled skill better than dumping the raw docs?").

Tasks

tasks/<skill>.yaml holds one or more tasks. Each task:

tasks:
  - id: a-short-id
    intent: "what you'd ask the agent to do"
    category: cli            # or: code-gen
    # setup / teardown / verify: optional shell hooks
    # env: ["SOME_KEY"]      # required env vars, checked upfront
    ground_truth:
      criteria: |
        PASS requires <2-3 concrete, checkable things>.
        FAIL if <a common failure mode>.
      # context_refs: [docs/ref.md]   # activates the with-docs variant

Guidance:

  • For code-gen tasks, the intent must say "write a file … in the current directory." Anything the agent writes to its cwd is captured and shown to the grader. A code-gen task that produces no file auto-fails.
  • Write criteria as crisp PASS conditions + at least one concrete FAIL mode — vague criteria produce vague grades.

Where skills live

cultivar tests exactly one skill per run (the -s one). It resolves the skills root as: --skills-dir flag → CULTIVAR_SKILLS_DIR env → ./.claude/skills. Keep skills-under-test outside .claude/ (e.g. ./skills, via CULTIVAR_SKILLS_DIR=skills) if you don't want your interactive coding agent to auto-load them.

Local vs remote

  • Local (default) — uses the runner CLI installed on your machine + its auth.
  • --remote — each (task, variant, repeat) runs in its own Modal sandbox: clean isolation, parallelism, reproducibility. Requires a Modal account (modal token new) and a secret holding the agent's ANTHROPIC_API_KEY (default secret name eval-sandbox-secrets; override with CULTIVAR_MODAL_SECRET). Prefer --remote for rigorous comparisons. The grader always runs locally and needs ANTHROPIC_API_KEY.

Reading results

results/<timestamp>[__title]/ holds per-run .json (stats), .md (readable trace), .jsonl (raw events), and .workdir/ (files the agent wrote). grades.json holds the verdicts. Use cultivar report for the table and cultivar show … --grader for the grader's reasoning + suggestions on a failure.

Gotchas

  • Grading needs ANTHROPIC_API_KEY (loaded from a .env in the cwd). hello --no-grade and run --dry-run need no key.
  • tasks/, examples/, and results/ are cwd-relative and user-owned.
  • One run is a sample, not a signal — use -n 3 (or more) for anything you'll act on.

來自 pinecone-io 的更多技能

workdir-smoke
pinecone-io
僅用於對評估框架的工作目錄捕獲機制進行冒煙測試的佔位技能。非實際技能——待實際程式碼生成技能建立後即可刪除。
official
pinecone:assistant
pinecone-io
建立、管理並與 Pinecone Assistants 進行對話,用於文件問答並附上引用。處理所有助理操作——建立、上傳、同步、對話、上下文……
official
pinecone:cli
pinecone-io
使用 Pinecone CLI(pc)從終端管理 Pinecone 資源的指南。該 CLI 支援所有索引類型(標準、整合、稀疏)及所有…
official
pinecone:docs
pinecone-io
為使用Pinecone進行開發的開發者提供的精選文檔參考。包含按主題組織的官方文檔鏈接和數據格式參考。用於…
official
pinecone:full-text-search
pinecone-io
使用預覽 API(2026-01.alpha,公開預覽)建立、匯入資料至 Pinecone 全文搜尋(FTS)索引並進行查詢。當使用者或代理要求…時使用。
official
pinecone:help
pinecone-io
所有可用Pinecone技能的概覽,以及使用者入門所需資訊。當使用者詢問有哪些可用技能、如何開始使用…時調用。
official
pinecone:mcp
pinecone-io
Pinecone MCP伺服器工具的參考資料。記錄所有可用的工具——列出索引、描述索引、描述索引統計、為模型建立索引……
official
pinecone:n8n
pinecone-io
使用Pinecone Assistant節點或Pinecone Vector Store節點建構n8n工作流程。適用於建構RAG管道、文件對話工作流程、配置…
official