SKILL.md
SKILL.mdBrowse 4 files
2,682 tokens
11,849 bytes
Token encoding: o200k_base
Snapshot 5b913e7
1---2name: company-creator3description: >4 Create agent company packages that conform to agentcompanies/v1. Use when asked5 to create a company, scaffold an agent team, hire agents, or turn a repo/skills6 collection into a company package.7---8 9# Company Creator10 11Create agent company packages that conform to the Agent Companies specification.12 13Spec references:14 15- Normative spec: `docs/companies/companies-spec.md` (read this before generating files)16- Web spec: https://agentcompanies.io/specification17- Protocol site: https://agentcompanies.io/18 19## Two Modes20 21### Mode 1: Company From Scratch22 23The user describes what they want. Interview them to flesh out the vision, then generate the package.24 25### Mode 2: Company From a Repo26 27The user provides a git repo URL, local path, or tweet. Analyze the repo, then create a company that wraps it.28 29See [references/from-repo-guide.md](references/from-repo-guide.md) for detailed repo analysis steps.30 31## Process32 33### Step 1: Gather Context34 35Determine which mode applies:36 37- **From scratch**: What kind of company or team? What domain? What should the agents do?38- **From repo**: Clone/read the repo. Scan for existing skills, agent configs, README, source structure.39 40### Step 2: Interview (Use AskUserQuestion)41 42Do not skip this step. Use AskUserQuestion to align with the user before writing any files.43 44**For from-scratch companies**, ask about:45 46- Company purpose and domain (1-2 sentences is fine)47- What agents they need - propose a hiring plan based on what they described48- Whether this is a full company (needs a CEO) or a team/department (no CEO required)49- Any specific skills the agents should have50- How work flows through the organization (see "Workflow" below)51- Whether they want projects and starter tasks52 53**For from-repo companies**, present your analysis and ask:54 55- Confirm the agents you plan to create and their roles56- Whether to reference or vendor any discovered skills (default: reference)57- Any additional agents or skills beyond what the repo provides58- Company name and any customization59- Confirm the workflow you inferred from the repo (see "Workflow" below)60 61**Workflow — how does work move through this company?**62 63A company is not just a list of agents with skills. It's an organization that takes ideas and turns them into work products. You need to understand the workflow so each agent knows:64 65- Who gives them work and in what form (a task, a branch, a question, a review request)66- What they do with it67- Who they hand off to when they're done, and what that handoff looks like68- What "done" means for their role69 70**Not every company is a pipeline.** Infer the right workflow pattern from context:71 72- **Pipeline** — sequential stages, each agent hands off to the next. Use when the repo/domain has a clear linear process (e.g. plan → build → review → ship → QA, or content ideation → draft → edit → publish).73- **Hub-and-spoke** — a manager delegates to specialists who report back independently. Use when agents do different kinds of work that don't feed into each other (e.g. a CEO who dispatches to a researcher, a marketer, and an analyst).74- **Collaborative** — agents work together on the same things as peers. Use for small teams where everyone contributes to the same output (e.g. a design studio, a brainstorming team).75- **On-demand** — agents are summoned as needed with no fixed flow. Use when agents are more like a toolbox of specialists the user calls directly.76 77For from-scratch companies, propose a workflow pattern based on what they described and ask if it fits.78 79For from-repo companies, infer the pattern from the repo's structure. If skills have a clear sequential dependency (like `plan-ceo-review → plan-eng-review → review → ship → qa`), that's a pipeline. If skills are independent capabilities, it's more likely hub-and-spoke or on-demand. State your inference in the interview so the user can confirm or adjust.80 81**Key interviewing principles:**82 83- Propose a concrete hiring plan. Don't ask open-ended "what agents do you want?" - suggest specific agents based on context and let the user adjust.84- Keep it lean. Most users are new to agent companies. A few agents (3-5) is typical for a startup. Don't suggest 10+ agents unless the scope demands it.85- From-scratch companies should start with a CEO who manages everyone. Teams/departments don't need one.86- Ask 2-3 focused questions per round, not 10.87 88### Step 3: Read the Spec89 90Before generating any files, read the normative spec:91 92```93docs/companies/companies-spec.md94```95 96Also read the quick reference: [references/companies-spec.md](references/companies-spec.md)97 98And the example: [references/example-company.md](references/example-company.md)99 100### Step 4: Generate the Package101 102Create the directory structure and all files. Follow the spec's conventions exactly.103 104**Directory structure:**105 106```107<company-slug>/108├── COMPANY.md109├── agents/110│ └── <slug>/AGENTS.md111├── teams/112│ └── <slug>/TEAM.md (if teams are needed)113├── projects/114│ └── <slug>/PROJECT.md (if projects are needed)115├── tasks/116│ └── <slug>/TASK.md (if tasks are needed)117├── skills/118│ └── <slug>/SKILL.md (if custom skills are needed)119└── .paperclip.yaml (Paperclip vendor extension)120```121 122**Rules:**123 124- Slugs must be URL-safe, lowercase, hyphenated125- COMPANY.md gets `schema: agentcompanies/v1` - other files inherit it126- Agent instructions go in the AGENTS.md body, not in .paperclip.yaml127- Skills referenced by shortname in AGENTS.md resolve to `skills/<shortname>/SKILL.md`128- For external skills, use `sources` with `usage: referenced` (see spec section 12)129- Do not export secrets, machine-local paths, or database IDs130- Omit empty/default fields131- For companies generated from a repo, add a references footer at the bottom of COMPANY.md body:132 `Generated from [repo-name](repo-url) with the company-creator skill from [Paperclip](https://github.com/paperclipai/paperclip)`133 134**Reporting structure:**135 136- Every agent except the CEO should have `reportsTo` set to their manager's slug137- The CEO has `reportsTo: null`138- For teams without a CEO, the top-level agent has `reportsTo: null`139 140**Writing workflow-aware agent instructions:**141 142Each AGENTS.md body should include not just what the agent does, but how they fit into the organization's workflow. Include:143 1441. **Where work comes from** — "You receive feature ideas from the user" or "You pick up tasks assigned to you by the CTO"1452. **What you produce** — "You produce a technical plan with architecture diagrams" or "You produce a reviewed, approved branch ready for shipping"1463. **Who you hand off to** — "When your plan is locked, hand off to the Staff Engineer for implementation" or "When review passes, hand off to the Release Engineer to ship"1474. **What triggers you** — "You are activated when a new feature idea needs product-level thinking" or "You are activated when a branch is ready for pre-landing review"148 149This turns a collection of agents into an organization that actually works together. Without workflow context, agents operate in isolation — they do their job but don't know what happens before or after them.150 151Add a concise execution contract to every generated working agent:152 153- Start actionable work in the same heartbeat and do not stop at a plan unless planning was requested.154- Leave durable progress in comments, documents, or work products with the next action.155- Use child issues for long or parallel delegated work instead of polling agents, sessions, or processes.156- Mark blocked work with the unblock owner and action.157- Respect budget, pause/cancel, approval gates, and company boundaries.158 159### Step 5: Confirm Output Location160 161Ask the user where to write the package. Common options:162 163- A subdirectory in the current repo164- A new directory the user specifies165- The current directory (if it's empty or they confirm)166 167### Step 6: Write README.md and LICENSE168 169**README.md** — every company package gets a README. It should be a nice, readable introduction that someone browsing GitHub would appreciate. Include:170 171- Company name and what it does172- The workflow / how the company operates173- Org chart as a markdown list or table showing agents, titles, reporting structure, and skills174- Brief description of each agent's role175- Citations and references: link to the source repo (if from-repo), link to the Agent Companies spec (https://agentcompanies.io/specification), and link to Paperclip (https://github.com/paperclipai/paperclip)176- A "Getting Started" section explaining how to import: `paperclipai company import --from <path>`177 178**LICENSE** — include a LICENSE file. The copyright holder is the user creating the company, not the upstream repo author (they made the skills, the user is making the company). Use the same license type as the source repo (if from-repo) or ask the user (if from-scratch). Default to MIT if unclear.179 180### Step 7: Write Files and Summarize181 182Write all files, then give a brief summary:183 184- Company name and what it does185- Agent roster with roles and reporting structure186- Skills (custom + referenced)187- Projects and tasks if any188- The output path189 190## .paperclip.yaml Guidelines191 192The `.paperclip.yaml` file is the Paperclip vendor extension. It configures adapters and env inputs per agent.193 194### Adapter Rules195 196**Do not specify an adapter unless the repo or user context warrants it.** If you don't know what adapter the user wants, omit the adapter block entirely — Paperclip will use its default. Specifying an unknown adapter type causes an import error.197 198Paperclip's supported adapter types (these are the ONLY valid values):199- `claude_local` — Claude Code CLI200- `codex_local` — Codex CLI201- `opencode_local` — OpenCode CLI202- `pi_local` — Pi CLI203- `cursor` — Cursor204- `gemini_local` — Gemini CLI205- `openclaw_gateway` — OpenClaw gateway206 207Only set an adapter when:208- The repo or its skills clearly target a specific runtime (e.g. gstack is built for Claude Code, so `claude_local` is appropriate)209- The user explicitly requests a specific adapter210- The agent's role requires a specific runtime capability211 212### Env Inputs Rules213 214**Do not add boilerplate env variables.** Only add env inputs that the agent actually needs based on its skills or role:215- `GH_TOKEN` for agents that push code, create PRs, or interact with GitHub216- API keys only when a skill explicitly requires them217- Never set `ANTHROPIC_API_KEY` as a default empty env variable — the runtime handles this218 219Example with adapter (only when warranted):220```yaml221schema: paperclip/v1222agents:223 release-engineer:224 adapter:225 type: claude_local226 config:227 model: claude-sonnet-4-6228 inputs:229 env:230 GH_TOKEN:231 kind: secret232 requirement: optional233```234 235Example — only agents with actual overrides appear:236```yaml237schema: paperclip/v1238agents:239 release-engineer:240 inputs:241 env:242 GH_TOKEN:243 kind: secret244 requirement: optional245```246 247In this example, only `release-engineer` appears because it needs `GH_TOKEN`. The other agents (ceo, cto, etc.) have no overrides, so they are omitted entirely from `.paperclip.yaml`.248 249## External Skill References250 251When referencing skills from a GitHub repo, always use the references pattern:252 253```yaml254metadata:255 sources:256 - kind: github-file257 repo: owner/repo258 path: path/to/SKILL.md259 commit: <full SHA from git ls-remote or the repo>260 attribution: Owner or Org Name261 license: <from the repo's LICENSE>262 usage: referenced263```264 265Get the commit SHA with:266 267```bash268git ls-remote https://github.com/owner/repo HEAD269```270 271Do NOT copy external skill content into the package unless the user explicitly asks.272 Discovery context
Discovered by repository scan. No exact path reference found in the snapshot’s root AGENTS.md.