Company Creator
Create agent company packages that conform to the Agent Companies specification.
Spec references:
- - Normative spec: https://agentcompanies.io/specification
- Local quick reference: INLINECODE0
- Protocol site: https://agentcompanies.io/
Two Modes
Mode 1: Company From Scratch
The user describes what they want. Interview them to flesh out the vision, then generate the package.
Mode 2: Company From a Repo
The user provides a git repo URL, local path, or tweet. Analyze the repo, then create a company that wraps it.
See references/from-repo-guide.md for detailed repo analysis steps.
Process
Step 1: Gather Context
Determine which mode applies:
- - From scratch: What kind of company or team? What domain? What should the agents do?
- From repo: Clone/read the repo. Scan for existing skills, agent configs, README, source structure.
Step 2: Interview the User
Do not skip this step. Ask focused questions to align with the user before writing any files.
For from-scratch companies, ask about:
- - Company purpose and domain (1-2 sentences is fine)
- What agents they need - propose a hiring plan based on what they described
- Whether this is a full company (needs a CEO) or a team/department (no CEO required)
- Any specific skills the agents should have
- How work flows through the organization (see "Workflow" below)
- Whether they want projects and starter tasks
For from-repo companies, present your analysis and ask:
- - Confirm the agents you plan to create and their roles
- Whether to reference or vendor any discovered skills (default: reference)
- Any additional agents or skills beyond what the repo provides
- Company name and any customization
- Confirm the workflow you inferred from the repo (see "Workflow" below)
Workflow — how does work move through this company?
A 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:
- - Who gives them work and in what form (a task, a branch, a question, a review request)
- What they do with it
- Who they hand off to when they're done, and what that handoff looks like
- What "done" means for their role
Not every company is a pipeline. Infer the right workflow pattern from context:
- - 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).
- 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).
- 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).
- 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.
For from-scratch companies, propose a workflow pattern based on what they described and ask if it fits.
For 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.
Key interviewing principles:
- - 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.
- 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.
- From-scratch companies should start with a CEO who manages everyone. Teams/departments don't need one.
- Ask 2-3 focused questions per round, not 10.
Step 3: Read the Spec
Before generating any files, read the normative spec at:
INLINECODE2
Also read the local quick reference: references/companies-spec.md
And the example: references/example-company.md
Step 4: Generate the Package
Create the directory structure and all files. Follow the spec's conventions exactly.
Directory structure:
CODEBLOCK0
Rules:
- - Slugs must be URL-safe, lowercase, hyphenated
- COMPANY.md gets
schema: agentcompanies/v1 - other files inherit it - Agent instructions go in the AGENTS.md body, not in .paperclip.yaml
- Skills referenced by shortname in AGENTS.md resolve to INLINECODE4
- For external skills, use
sources with usage: referenced (see spec section 12) - Do not export secrets, machine-local paths, or database IDs
- Omit empty/default fields
- For companies generated from a repo, add a references footer at the bottom of COMPANY.md body:
INLINECODE7
Reporting structure:
- - Every agent except the CEO should have
reportsTo set to their manager's slug - The CEO has INLINECODE9
- For teams without a CEO, the top-level agent has INLINECODE10
Writing workflow-aware agent instructions:
Each AGENTS.md body should include not just what the agent does, but how they fit into the organization's workflow. Include:
- 1. Where work comes from — "You receive feature ideas from the user" or "You pick up tasks assigned to you by the CTO"
- What you produce — "You produce a technical plan with architecture diagrams" or "You produce a reviewed, approved branch ready for shipping"
- 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"
- 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"
This 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.
Step 5: Confirm Output Location
Ask the user where to write the package. Common options:
- - A subdirectory in the current repo
- A new directory the user specifies
- The current directory (if it's empty or they confirm)
Step 6: Write README.md and LICENSE
README.md — every company package gets a README. It should be a nice, readable introduction that someone browsing GitHub would appreciate. Include:
- - Company name and what it does
- The workflow / how the company operates
- Org chart as a markdown list or table showing agents, titles, reporting structure, and skills
- Brief description of each agent's role
- 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)
- A "Getting Started" section explaining how to import: INLINECODE11
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.
Step 7: Write Files and Summarize
Write all files, then give a brief summary:
- - Company name and what it does
- Agent roster with roles and reporting structure
- Skills (custom + referenced)
- Projects and tasks if any
- The output path
.paperclip.yaml Guidelines
The .paperclip.yaml file is the Paperclip vendor extension. It configures adapters and env inputs per agent.
Adapter Rules
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.
Paperclip's supported adapter types (these are the ONLY valid values):
- -
claude_local — Claude Code CLI - INLINECODE14 — Codex CLI
- INLINECODE15 — OpenCode CLI
- INLINECODE16 — Pi CLI
- INLINECODE17 — Cursor
- INLINECODE18 — Gemini CLI
- INLINECODE19 — OpenClaw gateway
Only set an adapter when:
- - The repo or its skills clearly target a specific runtime (e.g. gstack is built for Claude Code, so
claude_local is appropriate) - The user explicitly requests a specific adapter
- The agent's role requires a specific runtime capability
Env Inputs Rules
Do not add boilerplate env variables. Only add env inputs that the agent actually needs based on its skills or role:
- -
GH_TOKEN for agents that push code, create PRs, or interact with GitHub - API keys only when a skill explicitly requires them
- Never set
ANTHROPIC_API_KEY as a default empty env variable — the runtime handles this
Example with adapter (only when warranted):
CODEBLOCK1
Example — only agents with actual overrides appear:
CODEBLOCK2
In 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.
External Skill References
When referencing skills from a GitHub repo, always use the references pattern:
CODEBLOCK3
Get the commit SHA with:
CODEBLOCK4
Do NOT copy external skill content into the package unless the user explicitly asks.
Tips
- - Try to keep agents 1:1 - if the readme of the source repo says something like "48 agents, 37 workflows" - then you should have 48 agents when you're done. Though when you have a lot of agents, it's a good idea to invent middle management to break them up into teams.
- - Cite the upstream repo in the README - If you're generating a readme from an upstream github, be sure to credit that near the top of the README.md. Link to the original repo and describe what it does. E.g. an Agent Company based on GStack to do
- - Every company MUST be a well-formed graph with a CEO - make sure every agent reports to either 1. their boss or 2. the ceo. You must have a CEO who reports to no one.
公司创建器
创建符合Agent Companies规范的Agent公司包。
规范参考:
- - 规范性规范:https://agentcompanies.io/specification
- 本地快速参考:references/companies-spec.md
- 协议网站:https://agentcompanies.io/
两种模式
模式1:从零创建公司
用户描述他们的需求。通过访谈来完善愿景,然后生成包。
模式2:从仓库创建公司
用户提供Git仓库URL、本地路径或推文。分析仓库,然后创建一个包装它的公司。
详细的仓库分析步骤请参见 references/from-repo-guide.md。
流程
步骤1:收集上下文
确定适用哪种模式:
- - 从零创建:什么样的公司或团队?什么领域?Agent应该做什么?
- 从仓库创建:克隆/读取仓库。扫描现有技能、Agent配置、README、源代码结构。
步骤2:访谈用户
不要跳过这一步。在编写任何文件之前,提出有针对性的问题以与用户对齐。
对于从零创建的公司,询问以下内容:
- - 公司目的和领域(1-2句话即可)
- 他们需要哪些Agent——根据他们的描述提出招聘计划
- 这是一个完整的公司(需要CEO)还是一个团队/部门(不需要CEO)
- Agent应具备哪些特定技能
- 工作如何在组织中流转(参见下面的工作流)
- 他们是否想要项目和启动任务
对于从仓库创建的公司,展示你的分析并询问:
- - 确认你计划创建的Agent及其角色
- 是引用还是供应商化发现的技能(默认:引用)
- 除了仓库提供的技能外,是否需要额外的Agent或技能
- 公司名称和任何定制化内容
- 确认你从仓库推断出的工作流(参见下面的工作流)
工作流——工作如何在这个公司中流转?
一个公司不仅仅是拥有技能的Agent列表。它是一个将想法转化为工作产品的组织。你需要理解工作流,以便每个Agent知道:
- - 谁给他们分配工作,以什么形式(任务、分支、问题、审查请求)
- 他们如何处理工作
- 完成后交给谁,交接形式是什么
- 对于他们的角色,完成意味着什么
并非每个公司都是流水线。 根据上下文推断正确的工作流模式:
- - 流水线——顺序阶段,每个Agent交给下一个。当仓库/领域有清晰的线性流程时使用(例如:计划→构建→审查→发布→QA,或内容构思→草稿→编辑→发布)。
- 中心辐射型——管理者委派给专家,专家独立汇报。当Agent执行不同类型的工作且彼此不衔接时使用(例如:CEO分派任务给研究员、营销人员和分析师)。
- 协作型——Agent作为同级别人员共同处理相同事务。适用于小型团队,每个人都为同一输出做贡献(例如:设计工作室、头脑风暴团队)。
- 按需型——根据需要召唤Agent,没有固定流程。当Agent更像是用户直接调用的专家工具箱时使用。
对于从零创建的公司,根据用户描述提出一个工作流模式,并询问是否合适。
对于从仓库创建的公司,从仓库结构推断模式。如果技能有明显的顺序依赖关系(如 plan-ceo-review → plan-eng-review → review → ship → qa),那就是流水线。如果技能是独立的能力,则更可能是中心辐射型或按需型。在访谈中陈述你的推断,以便用户确认或调整。
关键访谈原则:
- - 提出具体的招聘计划。不要问开放式的你想要什么Agent?——根据上下文建议具体的Agent,让用户调整。
- 保持精简。大多数用户是Agent公司的新手。对于初创公司,3-5个Agent是典型的。除非范围要求,否则不要建议10个以上的Agent。
- 从零创建的公司应该从管理所有人的CEO开始。团队/部门不需要CEO。
- 每轮问2-3个有针对性的问题,而不是10个。
步骤3:阅读规范
在生成任何文件之前,阅读规范性规范:
https://agentcompanies.io/specification
同时阅读本地快速参考:references/companies-spec.md
以及示例:references/example-company.md
步骤4:生成包
创建目录结构和所有文件。严格遵循规范的约定。
目录结构:
/
├── COMPANY.md
├── agents/
│ └── /AGENTS.md
├── teams/
│ └── /TEAM.md (如果需要团队)
├── projects/
│ └── /PROJECT.md (如果需要项目)
├── tasks/
│ └── /TASK.md (如果需要任务)
├── skills/
│ └── /SKILL.md (如果需要自定义技能)
└── .paperclip.yaml (Paperclip供应商扩展)
规则:
- - Slug必须URL安全、小写、连字符分隔
- COMPANY.md 获取 schema: agentcompanies/v1 - 其他文件继承它
- Agent指令放在AGENTS.md正文中,而不是.paperclip.yaml中
- AGENTS.md中通过短名称引用的技能解析为 skills//SKILL.md
- 对于外部技能,使用 sources 并设置 usage: referenced(参见规范第12节)
- 不要导出密钥、机器本地路径或数据库ID
- 省略空/默认字段
- 对于从仓库生成的公司,在COMPANY.md正文底部添加引用页脚:
使用Paperclip的company-creator技能从
repo-name 生成,Paperclip地址:https://github.com/paperclipai/paperclip
汇报结构:
- - 除CEO外,每个Agent都应设置 reportsTo 为其管理者的slug
- CEO的 reportsTo: null
- 对于没有CEO的团队,顶级Agent的 reportsTo: null
编写工作流感知的Agent指令:
每个AGENTS.md正文不仅应包括Agent做什么,还应包括他们如何融入组织的工作流。包括:
- 1. 工作来源——你从用户那里接收功能想法或你领取CTO分配给你的任务
- 你产出的内容——你生成包含架构图的技术计划或你生成一个经过审查、批准、准备发布的分支
- 你交给谁——当你的计划锁定后,交给高级工程师实施或当审查通过后,交给发布工程师发布
- 什么触发你——当新功能想法需要产品级思考时,你被激活或当分支准备好进行预合并审查时,你被激活
这将一组Agent转变为一个实际协作的组织。没有工作流上下文,Agent孤立运作——他们完成自己的工作,但不知道前后发生了什么。
步骤5:确认输出位置
询问用户将包写入何处。常见选项:
- - 当前仓库的子目录
- 用户指定的新目录
- 当前目录(如果为空或用户确认)
步骤6:编写README.md和LICENSE
README.md —— 每个公司包都有一个README。它应该是一个友好、可读的介绍,让浏览GitHub的人感到满意。包括:
- - 公司名称及其功能
- 工作流/公司如何运作
- 组织架构图,以Markdown列表或表格形式显示Agent、职位、汇报结构和技能
- 每个Agent角色的简要描述
- 引用和参考:链接到源仓库(如果是从仓库创建)、链接到Agent Companies规范(https://agentcompanies.io/specification)、链接到Paperclip(https://github.com/paperclipai/paperclip)
- 入门部分,解释如何导入:paperclipai company import --from
LICENSE —— 包含一个LICENSE文件。版权持有人是创建公司的用户,而不是上游仓库作者(他们制作了技能,用户制作了公司)。使用与源仓库相同的许可证类型(如果是从仓库创建)或询问用户(如果是从零创建)。如果不明确,默认为MIT。
步骤7:编写文件并总结
编写所有文件,然后给出简要总结:
- - 公司名称及其功能
- Agent名单,包括角色和汇报结构
- 技能(自定义+引用)
- 项目与任务(如果有)
- 输出路径
.paperclip.yaml 指南
.paperclip.yaml 文件是Paperclip供应商扩展。它为每个Agent配置适配器和环境输入。
适配器规则
除非仓库或用户上下文需要,否则不要指定适配器。 如果你不知道用户想要什么适配器,完全省略适配器块——Paperclip将使用其默认值。指定未知的适配器类型会导致导入错误。
Paperclip支持的适配器类型(这些是唯一有效的值):
- - claudelocal —— Claude Code CLI
- codexlocal —— Codex CLI
- opencodelocal —— OpenCode CLI
- pilocal —— Pi CLI
- cursor —— Cursor
- geminilocal —— Gemini CLI
- openclawgateway —— OpenClaw网关
仅在以下情况下设置适配器: