agentsclimarketplace

Contribute

Skill hec-ovi/agentickit/.pilot/skills/contribute

Extend agentickit as a contributor. Add a hook, a component, a provider prefix, a new protocol field, or an example. Covers the expected shape of a patch (src + test + docs), the size budget (~5 kLoC; below this, shipping is cheap — growing much past it costs the "readable in an afternoon" promise), and how to validate a change before sending a PR.From its SKILL.md

Install
npx -y skills add hec-ovi/agentickit --skill contribute

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 7 commands, including `pnpm --filter @hec-ovi/agentickit test:watch` and 6 more.

SKILL.md

6.2 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it

Contribute

Contract

By the end of this skill a contributor has:

  • A change localized to the right file under packages/agentickit/src/.
  • A matching test under the same package.
  • Updated public docs: both READMEs when the surface changes, plus the relevant .pilot/skills/* if the procedure for consumers shifts.
  • A green pnpm --filter @hec-ovi/agentickit build and pnpm --filter agentickit test.
  • A commit message matching conventions/commit-style.md.
  • Awareness of the rough size budget. The tree is ~5 kLoC today. A PR that adds 500 net lines is a red flag worth justifying; a PR that shrinks is a celebration.

Iron Law: the public surface is the four hooks + two components + handler

The entire external API is:

  • usePilotState, usePilotAction, usePilotForm
  • <Pilot>, <PilotSidebar>, <PilotConfirmModal>
  • createPilotHandler, loadPilotProtocol, autoDetectModel (server)
  • parseResolver, parseSkill (protocol)
  • agentickit CLI (init, add-skill)

Adding to this surface is a deliberate choice with ecosystem consequences. Every new export is a promise you'll maintain it. Shrink before you grow; refactor before you add.

Phases

Phase 1: scope the change

Before editing, write down in one paragraph:

  • What the change enables that wasn't possible before.
  • Whether it extends the public surface (new export) or refines an internal (same surface, different behavior).
  • What file(s) will change.
  • What test(s) will change.
  • What doc sections will change.

If that paragraph is vague, the change isn't ready to code.

Phase 2: find the right file

The layout under packages/agentickit/src/ is narrow on purpose:

ConcernFile
Public exportsindex.ts
Client-side typestypes.ts
React contextscontext.ts
Dev-mode helpersenv.ts
A hookhooks/use-pilot-*.ts
The providercomponents/pilot-provider.tsx
The sidebar (split)components/pilot-sidebar*.tsx
The server handlerserver/handler.ts
Server entry pointserver/index.ts
.pilot/ parsingprotocol/resolver.ts, protocol/skill.ts, protocol/manifest.ts

Prefer editing an existing file over creating a new one. Every new file is a new boundary someone has to reason about.

Phase 3: write the test first

Vitest + happy-dom. Tests live adjacent to source (or under a __tests__/ sibling if preferred). Run locally with pnpm --filter @hec-ovi/agentickit test:watch.

Test shape we want:

  • Happy path (canonical usage).
  • Edge case (empty input, cleanup on unmount, two registrations).
  • Failure mode (invalid schema, missing provider context).

Phase 4: implement

Match the existing style:

  • Opinionated TypeScript, no any.
  • Comments describe why, not what.
  • Zod at trust boundaries.
  • Refs for volatile values to avoid thrashing registrations (see use-pilot-action.ts lines 57-64 for the canonical pattern).
  • Dev-mode warnings for misuse (see isDev() in env.ts and usage throughout the hooks).

Phase 5: update docs when the surface moves

When you change the public surface, update in this order:

  1. README.md at the repo root (the narrative).
  2. packages/agentickit/README.md (the npm description, often shorter).
  3. .pilot/skills/*/SKILL.md for every skill whose procedure drifts.
  4. Type exports in packages/agentickit/src/index.ts (and server/index.ts, protocol/index.ts).

Skip steps 1-2 for internal refactors that don't change the surface. Always do (3); the skills are the agent-facing contract.

Phase 6: validate

pnpm --filter @hec-ovi/agentickit build
pnpm --filter @hec-ovi/agentickit test
pnpm --filter @agentickit-examples/todo dev   # smoke test in the example

All three green. Then, and only then, stage and commit.

Phase 7: commit and push

Follow .pilot/conventions/commit-style.md. Quick template:

git add packages/agentickit/src/hooks/use-pilot-action.ts \
        packages/agentickit/src/hooks/__tests__/use-pilot-action.test.ts \
        README.md \
        packages/agentickit/README.md \
        .pilot/skills/register-action/SKILL.md

git commit -m "feat(hooks): <one-line summary>"

Do NOT use git add -A. A stray .env, screenshot, or node_modules slipping in is a headache.

Phase 8: size check

Current package source (including CSS-in-JS + the CLI) sits at about 5 kLoC. After a change, eyeball the delta with:

cloc packages/agentickit/src   # or any line-counter

If a PR is adding a lot, ask: is there an existing file that shrinks? A comment that's too long? A helper that could be inlined? The "readable in an afternoon" promise is worth protecting.

Anti-Patterns

  • Adding a new peer dependency casually. Every peer is a prompt for consumers to npm install something. The bar is high.
  • Introducing a wrapper around an AI SDK type that just re-exports it. Consumers can import from ai directly.
  • Writing docs before the code exists. READMEs lie when they describe vapor features. Ship the code first, then document it.
  • Fixing a bug in the example and not in the package. The example is consumer code; the source of truth lives under packages/agentickit/src/.
  • Editing dist/. It's generated.

Output Format

After contributing, report:

  • The change summary (1 sentence).
  • The files touched (paths).
  • Test coverage added (which test file + how many cases).
  • Doc sections updated.
  • LoC delta for the package.
  • Proof that build and test are green.

Tools Used

  • pnpm --filter @hec-ovi/agentickit build / test / test:watch.
  • Edit source, test, and doc files.
  • git add <specific files>, git commit -m.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.