Confident AI Administration Skill
Teach your agent to administer your account with the Admin SDK — projects, members, RBAC, and API keys.
Overview
The confident-client Agent Skill teaches your coding agent how to administer your Confident AI account with the Admin SDK — the confidentai package for Python and TypeScript. Describe what you want ("create a project owned by alice@example.com") and the agent writes and runs the correct SDK call. It ships in the confident-ai/confident-client repository — the same repo as the SDKs, so the guidance always matches the code.
Its scope is account and project administration only: organizations, projects, members and invitations, RBAC (permissions, policies, roles), governance policies, and API keys.
When It Triggers
The skill activates on prompts like:
Create a Confident AI project called "Customer Support Bot" and make alice@example.com the owner.
Invite bob@example.com to my organization with a read-only Analyst role.
Rotate the API keys on all our staging projects.
Assign our governance policy to every production project.Installation
Works with Cursor, Claude Code, Codex, Windsurf, OpenCode, and any other Skills-compatible assistant:
npx skills add confident-ai/confident-client --skill "confident-client"/plugin marketplace add confident-ai/confident-client
/plugin install confident-client@confident-ai-plugins
/reload-pluginsCopy the skill folder into your agent's skills directory:
git clone https://github.com/confident-ai/confident-client
cp -r confident-client/skills/confident-client .claude/skills/Prerequisites
- The Admin SDK:
pip install confidentaiornpm install confidentai - An Organization API Key exported as
CONFIDENT_ORG_API_KEY
Getting Started
Export your Organization API Key
export CONFIDENT_ORG_API_KEY="confident_us_org_..."Describe what you want
The skill detects whether your project is Python or TypeScript — and stops to ask if the codebase has markers from both — then asks about consequential options you didn't specify, like whether the project should have an owner.
Prompt Create a Confident AI project called "Customer Support Bot" and make alice@example.com the owner.The agent writes and runs the SDK call
See what the agent runs
from confidentai import ConfidentAI client = ConfidentAI() # reads CONFIDENT_ORG_API_KEY created = client.projects.create( "Customer Support Bot", email="alice@example.com", ) print(created.project.id) print(created.api_key.value) # shown only once — the skill surfaces it immediatelyimport { ConfidentAI } from "confidentai"; const client = new ConfidentAI(); // reads CONFIDENT_ORG_API_KEY const created = await client.projects.create({ name: "Customer Support Bot", email: "alice@example.com", }); console.log(created.project.id); console.log(created.apiKey?.value); // shown only once — the skill surfaces it immediatelyKeep going with prompts
The same flow covers members, RBAC (composed in order: permissions → policies → roles → members), governance policies, and key rotation — with the skill preferring to disable a key over deleting it when revocation might be temporary.
Prompt Invite bob@example.com with a read-only Analyst role, then assign our governance policy to every production project.
FAQs
How is the organization API key different from the project API key?
CONFIDENT_ORG_API_KEY is organization-scoped and authorizes
administration — creating projects, inviting members, managing roles and
keys. CONFIDENT_API_KEY is project-scoped and authorizes tracing and
evals against one project. They're separate variables, so both can be set
at once.
Can the skill delete things? Is that safe?
It can, and deletions are irreversible — deleting a project permanently
removes its datasets, prompts, traces, and evaluations. The skill's
guardrails help: it asks before consequential mutations, and it prefers
disabling an API key (setting valid to false) over deleting it when
revocation might be temporary.
Does it work with both Python and TypeScript?
Yes — the confidentai package ships for both, and every reference in the
skill carries both examples. The skill infers the language from your
project's files and stops to ask when the codebase has markers from both
ecosystems rather than guessing.
Can it send traces or run evals too?
No — that's a different job with a different key. Use the
deepeval,
deepeval-tracing, or
deepeval-otel skills, which
authenticate with the project-scoped CONFIDENT_API_KEY.
Next Steps
Vibe Code Your Administration
The step-by-step walkthrough: install the SDK and skill, create a project, and onboard members entirely through prompts.
Admin SDK Quickstart
See the underlying SDK calls the skill generates, for Python and TypeScript.
Last updated on