Skip to content
cccskills
FreePublished on GitHub

onboard

Set up CIAgent regression testing for the AI agent in this repo — write a runner, record golden baselines, generate a test spec, and verify it. Use when the user asks to add tests, evals, or regression testing for their AI agent, or to set up CIAgent.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md5.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Onboard CIAgent into this repo

You are setting up CIAgent (pip install ciagent) so this repo's AI agent has recorded golden baselines and a runnable regression suite. The end state: the user can run ciagent test --runs 3 and see a stability report for their agent.

Work through the steps in order. Do not skip the cost gate in step 4.

1. Find the agent and install CIAgent

  • Locate the agent: search for LLM SDK usage (openai, anthropic, langgraph, langchain) and for the function or endpoint that takes a user message and returns the agent's answer.
  • Install with the matching extra so trace capture hooks the SDK: pip install "ciagent[openai]", [anthropic], [langgraph], or [all].
  • Sanity check: ciagent --version then ciagent doctor (it reports what is missing; a missing spec is expected at this point).

2. Write the runner

Create agentci_runner.py at the repo root (or inside the package if the repo has one clear package):

def run_for_agentci(query: str) -> str:
    """CIAgent entry point: one query in, final answer text out."""
    # import the user's agent and invoke it ONCE, no chat history
    ...
    return final_answer_text

Rules:

  • Return the final answer string. CIAgent wraps the call in its own trace capture, so LLM calls and tool calls are recorded automatically — do not build Trace objects unless the repo already produces them.
  • Fresh context per call: no shared history between queries.
  • Reuse the repo's own config/env loading so the runner works from the repo root.
  • Verify it imports and answers before going further: python -c "from agentci_runner import run_for_agentci; print(run_for_agentci('hello'))".

3. Choose queries

Write agentci_queries.txt, one query per line — 8 to 15 queries:

  • Cover the agent's main jobs (mine the README, docs, knowledge base, prompts, and existing tests for what it is supposed to handle).
  • Include at least 2 out-of-scope queries the agent should refuse or deflect.
  • Prefer queries whose correct answers contain hard facts (prices, dates, limits, names) — those become deterministic checks in step 6.

4. Cost gate — ask before running live

Recording baselines runs the real agent once per query, on the user's API keys. State the query count and a cost ballpark, and ask the user to confirm before step 5. If there are no API keys or the user declines: write agentci_spec.yaml by hand instead (same queries, runner: set), validate with ciagent test --mock, and tell the user which step to resume later.

5. Record golden baselines

ciagent bootstrap --runner agentci_runner:run_for_agentci \
  --queries agentci_queries.txt --agent <agent-name> --yes

This runs every query, saves each trace as a golden baseline under ./baselines/<agent-name>/, and writes agentci_spec.yaml with path and cost budgets derived from the recorded traces. Read the printed answers as they stream by — if an answer is visibly wrong, that query should not be golden: fix the agent or the query, delete that baseline file, and rerun.

6. Add correctness checks

The generated spec has path and cost budgets but no correctness checks. Add a correctness: block per query, derived from the recorded baseline answers and the repo's docs/KB — never from what you wish the agent said:

correctness:
  expected_in_answer: ["30 days"]          # hard facts, AND
  any_expected_in_answer: ["$9.95", "9.95"] # phrasing variants, OR
  not_in_answer: ["I don't know"]           # forbidden content

Check facts, not phrasing. If the repo has a knowledge-base directory, run ciagent generate-checks --kb <dir> --dry-run and review its candidates — every surviving candidate was already validated against the recorded goldens.

7. Verify

ciagent test --mock                      # structure check, zero API calls
ciagent test --yes --format json         # live run (covered by step 4 approval)
ciagent test --runs 3 --yes              # stability report

Exit codes: 0 = pass (flaky-but-passing is 0), 1 = correctness failure in every run, 2 = infra/config error. In the stability report, flips labeled agent-variance mean the agent's answer changed (an agent problem); flips labeled judge-flake mean the eval itself is unstable (a check/judge problem).

If a check fails, fix the agent or fix a factually wrong check. Do not loosen a correct check to make the run green — report the failure to the user instead.

8. Wire CI and hand off

  • ciagent init scaffolds a GitHub Actions workflow (add --hook for a pre-push hook if the user wants it).
  • Commit: runner, agentci_queries.txt, agentci_spec.yaml, baselines/, and the workflow.
  • Tell the user: how many goldens were recorded, the suite score, anything flaky (with its flip source), and that ciagent test --runs 3 is the command to watch after future agent changes.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Automate ActiveCampaign tasks via Rube MCP (Composio): manage contacts, tags, list subscriptions, automation enrollment, and tasks. Always search tools first for current schemas.

The English summary is being prepared. Showing the original description.

davepoon/buildwithclaude3.7KUpdated Oct 19, 2026

Pull the ads a competitor is running right now on Meta (Facebook/Instagram) and Google, then extract the hooks, offers, CTAs and landing pages worth modelling. Use when writing ad copy, planning creative tests, choosing a landing page angle, or when the user asks "what is X advertising", "what ads does X run", "find competitor ad hooks". Reads live Ad Library and Ads Transparency data through the Tracetify MCP; falls back to a manual Ad Library walkthrough when the connector is absent.

The English summary is being prepared. Showing the original description.

davepoon/buildwithclaude3.7KUpdated Oct 19, 2026

Analytics your AI agent can actually use. Track, analyze, run A/B experiments, and optimize across all your projects via CLI. Includes a growth playbook so your agent knows HOW to grow, not just what to track.

The English summary is being prepared. Showing the original description.

davepoon/buildwithclaude3.7KUpdated Oct 19, 2026

Teaches when to recall from long-term memory before acting and when to save durable decisions, corrections and failures afterwards. Use when a memory tool or MCP memory server is connected but the agent is not using it consistently, when the user complains that the assistant forgets preferences, conventions or past decisions between sessions, or when setting up persistent memory for a project. Works with any memory backend: a folder of Markdown files, a local MCP server, or a managed service.

The English summary is being prepared. Showing the original description.

davepoon/buildwithclaude3.7KUpdated Oct 19, 2026

Audit local AI coding-agent sessions with agenttrace for cost, tokens, tool failures, latency, anomalies, health, diffs, and CI gates.

The English summary is being prepared. Showing the original description.

davepoon/buildwithclaude3.7KUpdated Oct 19, 2026

Checks which private files (.env, keys, secrets) Claude Code and its subagents reached in this project, whether a value came into an agent's context, and which key to change, by running the open source agentwhy CLI over the session records Claude Code already keeps on disk. Use when the user asks whether the agent or a subagent read their .env or other secrets, which private files a session touched, whether a key leaked into the conversation, or which key to rotate. Runs locally and never prints a secret value.

The English summary is being prepared. Showing the original description.

davepoon/buildwithclaude3.7KUpdated Oct 19, 2026

See all skills by davepoon

Report a problem with this skill