@jalco/ap-sdk
v0.4.0
Published
Write a plugin once, ship it to every agent harness. Define skills, commands, and tools in one place and generate native plugin artifacts for Claude Code, Codex, Pi, and OpenCode.
Maintainers
Readme
@jalco/ap-sdk
Write an agent plugin once, ship it to every harness.
Each coding agent — Claude Code, Codex, Gemini CLI, Copilot, Cursor, Windsurf, Pi, OpenCode — has its own plugin system, file layout, and frontmatter rules. @jalco/ap-sdk lets you define a plugin once in TypeScript and compile it to the native installable artifacts each harness expects.
import { definePlugin, defineSkill } from "@jalco/ap-sdk";
export default definePlugin({
id: "git-helper",
description: "Helpers for reviewing and committing changes in a git repo.",
skills: [
defineSkill({
name: "diff-review",
description:
"Summarize and risk-flag uncommitted changes. Use when the user asks what changed.",
instructions:
"Run `git diff HEAD` and summarize the changes in 2-4 bullets.",
}),
],
});ap-sdk build # → .aps-out/{claude,codex,gemini,copilot,cursor,windsurf,pi,opencode}/
ap-sdk install # → drops artifacts into your local harness dirsInstall
pnpm add -D @jalco/ap-sdkWhat you can define
- Instructions: always-on system or project guidance for every supported harness.
- Skills: reusable skill documents with descriptions and instructions.
- Commands: slash commands or prompt commands in harnesses that support them.
- Subagents: named specialist agents with their own prompts, tools, and model hints.
- Hooks: lifecycle hooks and scripts translated to each harness' event model.
- MCP servers: MCP server config emitted in native JSON/TOML/YAML formats.
- Shared tools: real TypeScript implementations with per-harness glue.
- Companion files: files copied next to generated native artifacts.
See the support matrix for what each harness supports.
Already have a plugin?
Point ap-sdk port at an existing Claude Code, Cursor, Codex, Gemini, Copilot, Windsurf, Pi, or OpenCode layout and it generates a portable plugin.ts that loads your existing files instead of inlining them.
npx ap-sdk port ./my-plugin
npx ap-sdk check ./plugin.ts
npx ap-sdk install owner/repoRead the porting guide, or install straight from GitHub with ap-sdk install owner/repo.
Links
License
MIT · Originally by Sahaj Jain, continued by Justin Levine.
