Skip to content
zedkit
@zedtech/zedkit-ai

Set up AI agent instructions, skills, subagents and commands in a repo

Install one agent-agnostic setup (instructions, skills, subagents, commands) with a single CLI call.

At a glance

  • Who: Teams onboarding a coding agent (Cursor, Claude, Codex) on a shared repo.
  • What: Install one agent-agnostic setup (instructions, skills, subagents, commands) with a single CLI call.
  • Use when: When every developer and agent should share the same instructions and review workflow.
  • Avoid when: When you only need one provider's config — write that provider's file by hand instead.
  • See also: Check that skills, subagents, commands and provider copies are valid

Install

pnpm add @zedtech/zedkit-ai

Latest: 1.2.0 (via changesets).

Example

Usage
import { installKit } from "@zedtech/zedkit-ai";
const result = installKit({
  dest: ".",
  preset: "core",
  providers: ["claude", "cursor"],
});
if (!result.ok) throw result.error;
for (const action of result.value) console.log(action.kind, action.path);

Wraps: (none)

What gets installed

One shared source plus a thin layer per provider. With preset: "core", providers: ["claude", "cursor"], installKit creates (run it to see the reported action count):

.agents/            # shared source: skills/, agents/, commands/, tokenomics.md
.claude/            # skills/commands link into .agents; agents generated by sync
.cursor/            # rules/project.mdc + skills link; agents generated by sync

Presets: starter (default), setup (starter plus domain, review lenses, retro, and product/UI/copy subagents), core (planning and implement), full (every skill). init also writes AGENTS.md/CLAUDE.md templates. Supported providers: claude, cursor, codex, muse. init never overwrites existing files. zedkit-ai sync writes each tool's agent files from .agents/agents and .agents/tokenomics.md; validate reports drift, and zedkit-ai sync --check prints out of date, run: npx @zedtech/zedkit-ai sync.

Agents

Subagents installed from kit.json (23). Read-only unless noted.

AgentRole
explorercodebase lookup: files, symbols, usages
architectfile-level implementation plan, never code
verifierquality gate: runs gates + definition of done
improverapplies review findings, smallest diff first (writes)
implementerone frozen work unit, exclusive files (writes)
reviewerread-only punchlist for improver
domain-guardianpackage / feature / hexagonal boundary audit
event-contractsadditive or versioned event and command contracts
test-runnercheap loop, first failure, no code edits
security-reviewerauth, tenancy, secrets, user data, input parsing
skepticpre-mortem, one angle per brief
ui-designerUI review: kit reuse, tokens, states, lazy-client bar
copywriteri18n-first microcopy review (writes nothing)
seo-auditorpages, metadata, sitemap, redirects
a11y-auditorWCAG basics for components, forms, pages
dependency-auditorneed, size, license, maintenance, duplicates
docs-writerREADME/AGENTS.md/catalog prose, compiling examples (writes docs)
researcherreuse scout: adopt/wrap/build with sources
test-writeradversarial tests, behavior-named (writes tests)
release-managersemver by version line, changesets, migration notes, maturity
console-architectureroute/view/data layer boundaries
orchestratormulti-step coordination: frame, dispatch, aggregate, verify
product-directorone-page delivery brief with links

Orchestrator

The orchestrator agent owns tasks that need several steps or lenses (plan, review, implementation, audit, research, or a mix). It reads repo context and the installed agent roster, decomposes work, dispatches self-contained briefs (see parallel-work), aggregates evidence, and runs verifier before closing. It never edits files. Limits by default: six subagents per wave, twelve total, depth one, one retry per failed unit; no destructive git or deploy actions without explicit approval. Invoke it via the orchestrate skill or /orchestrate.

Commands

Bundled slash commands (each runs its skill on the command arguments):

reviewplanchallengeimplementsetup-aiprhandoffauditorchestrateresearchimprove-configfrom-auditto-audit.

Each file starts with frontmatter (name, one-line description, model: inherit, disallowedTools for read-only agents) at packages/ai/kit/agents/<name>.md. Full trigger table: docs/agents-catalog.md.

Review lenses

review pins the diff once, then routes paths to lenses (packages/ai/kit/skills/review/lenses.md). Always mandatory: codeponytailpersonaquality gate. Triggered by what changed: adversarial-testsboundariescontractssecurityskepticuicopya11yseodependenciesdocsreleaseresearchfrontend-qualitydoc-demos. Every verdict needs evidence (file:line, command, screenshot).

Personas

persona-review picks 2–4 personas per change from the repo's .agents/personas.md (template: 8 rows — Stressed user, Lazy end client, Integrating developer, Coding agent, Maintainer / operator, New contributor, Security reviewer, Business owner) and requires evidence for every Pass/Rough/Fail. Customize names and bars per project.

Customize

  • Add or remove an agent or skill: edit the .md file plus the kit.json lists, re-run init, then validate to catch drift.
  • Repo rules live in AGENTS.md (the ladder section is appended, never overwritten).
  • Upgrade from 1.1.x: re-run npx @zedtech/zedkit-ai setup (adopt on, preset setup). Colliding files stay yours; the kit copy lands as *.kit.md or zk-<name>. Then /setup-ai for discovery artifacts. Opt-in /setup-ai reads the code before it asks: read-only subagents (1–5 on a small repo, up to 20 on a big one; zedkit-ai scan sizes them) report the rules already in place, and the interview covers only the gaps. It writes domain rules, nested AGENTS.md files and .agents/tokenomics.md, then zedkit-ai sync. zedkit-ai validate --setup checks that the plan covers every git-changed path, that .agents/setup-log/gates/*.log start with CMD: and end with EXIT:<code>, and D4: a real model on build.standard and decide.sensitive in .agents/tokenomics.md, pointed at from AGENTS.md. The verifier agent plus the definition of done is the CI-side quality gate.

On this page