# Authoring Pluginpack Config

> Use when someone wants to ship one set of agent skills/plugins to multiple AI apps (Claude Code, Cursor, Antigravity CLI, GitHub Copilot, OpenAI Codex CLI) from a single source, and needs to create or update a pluginpack.config.ts — choosing targets, source layout, MCP servers, and output directories.

- **Type:** Skill
- **Install:** `agentstack add skill-gleanwork-pluginpack-authoring-pluginpack-config`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [gleanwork](https://agentstack.voostack.com/s/gleanwork)
- **Installs:** 0
- **Category:** [Developer Tools](https://agentstack.voostack.com/c/developer-tools)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [gleanwork](https://github.com/gleanwork)
- **Source:** https://github.com/gleanwork/pluginpack/tree/main/skills/authoring-pluginpack-config

## Install

```sh
agentstack add skill-gleanwork-pluginpack-authoring-pluginpack-config
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Authoring a pluginpack config

pluginpack compiles one portable source into each app's native plugin format.
The config (`pluginpack.config.ts`) declares the source layout and the targets
to emit.

## Fastest start

`npx @gleanwork/pluginpack init` scaffolds a `pluginpack.config.ts` and an
example source plugin. Then edit to taste.

## Config shape

```ts
import { defineConfig } from "@gleanwork/pluginpack";

export default defineConfig({
  name: "acme-plugins",
  version: "0.1.0",
  source: {
    // Recommended: portable skills at the repo-level skills/ directory.
    skills: "skills",
    rootPlugin: { id: "core", description: "Acme portable skills." },
    // Alternatively, richer source plugins live under plugins//.
    // plugins: "plugins",
  },
  metadata: {
    description: "Acme agent plugins.",
    author: { name: "Acme" },
    owner: { name: "Acme", email: "support@acme.com" },
    license: "MIT",
  },
  targets: {
    cursor: {
      outDir: ".",
      plugins: {
        acme: {
          from: ["core"],
          path: "plugins/cursor/acme",
          components: ["skills"],
        },
      },
    },
    claude: {
      outDir: ".",
      pluginRoot: "plugins/claude",
      plugins: { acme: { from: ["core"] } },
    },
    antigravity: {
      outDir: "plugins/antigravity",
      plugins: { acme: { from: ["core"] } },
    },
    copilot: {
      outDir: "plugins/copilot",
      plugins: { acme: { from: ["core"] } },
    },
    codex: {
      outDir: "plugins/codex",
      plugins: { acme: { from: ["core"] } },
    },
  },
});
```

- `source.skills` is the portable surface; `source.rootPlugin.id` is the source
  plugin name targets reference via `from`.
- Each emitted plugin's `from` lists the source plugin id(s) to include; multiple
  ids merge (a colliding file path is an error).
- `path` / `pluginRoot` control where a target places the emitted plugin.

## Critical: avoid output collisions

`claude` and `copilot` both write `.claude-plugin/marketplace.json`, so they
cannot share an `outDir`. Give them distinct roots (e.g. claude at `.`, copilot
at `plugins/copilot`). `pluginpack build` errors on overlapping output paths.

## MCP servers

Add a `.mcp.json` (`{ "mcpServers": { "name": { ... } } }`) at the source plugin
root, or an `mcpServers` key in `plugin.pluginpack.json`. pluginpack wires it
into each target natively.

## Verify

After editing: `pluginpack build` then `pluginpack validate --target `. See
the build-and-verify skill.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [gleanwork](https://github.com/gleanwork)
- **Source:** [gleanwork/pluginpack](https://github.com/gleanwork/pluginpack)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-gleanwork-pluginpack-authoring-pluginpack-config
- Seller: https://agentstack.voostack.com/s/gleanwork
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
