Agent skill

Company Setup

by Prism-Shadow in Prism-Shadow/penguin-harness

Create a company-mode organization together with the user — collect its id, name, mission, shared workspace, model and CEO budget one question at a time, confirm the whole thing in one summary, then…

Apache-2.0Auto-check passed

Install Company Setup

skills CLI
$ npx skills add Prism-Shadow/penguin-harness --skill company-setup -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Prism-Shadow/penguin-harness company-setup --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Prism-Shadow/penguin-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/agent-company/skills/company-setup .claude/skills/company-setup && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
company-setup
GitHub stars
2.5k
Token cost
~2.7k tokens
SKILL.md length
1,582 words
Files
1
Skills in repo
31
Repo updated
First seen
Licence
Apache-2.0

At a glance

Create a company-mode organization together with the user — collect its id, name, mission, shared workspace, model and CEO budget one question at a time, confirm the whole thing in one summary, then…

  • Works in 6 steps: Organization id. The directory name and… → Name. The display name, free text. Say… → Mission. One sentence: what the company… → …
  • SKILL.md covers Before you start, Which Project the organization…, Ask one question at a time and Show the summary and wait for…, plus 3 more sections
  • Needs PENGUIN_API_TOKEN

What it does

Company Setup is an agent skill from Prism-Shadow/penguin-harness. Create a company-mode organization together with the user — collect its id, name, mission, shared workspace, model and CEO budget one question at a time, confirm the whole thing in one summary, then run penguin org create and hand the user over to company mode.

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: 🐧 Unified and Stable RSI Platform. The licence is Apache-2.0.

Example prompts

  • “/company-setup”

Requirements

  • A credential in PENGUIN_API_TOKEN

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Organization id. The directory name and the id every command takes: a-z{1,63} — a lowercase letter, then lowercase letters, digits and…
  2. Name. The display name, free text. Say that leaving it empty makes it the id.
  3. Mission. One sentence: what the company is for, and how one would know it succeeded. This is the single most load-bearing answer — it…
  4. Shared workspace. The company's working directory, whose root holds the shared inputs and is nobody's desk: every desk works in a…
  5. Model. The provider + model id every desk and ticket session runs on when the employee names none, or the Project's default. This is the…
  6. CEO monthly budget. USD per calendar month, default 100. Explain what the number means before taking it: budgets accumulate along the…

What it can do on your machine

Read from SKILL.md and the folder at commit d56d9ce. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • PENGUIN_API_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Company Setup loads about 2.7k tokens when it runs. Until then it costs about 69 tokens; SKILL.md has 1,582 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~69
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Prism-Shadow/penguin-harness at commit d56d9ce, republished under its Apache-2.0 licence (© Prism-Shadow). 1,582 words, ~2,706 tokens.

Download SKILL.mdSave it as .claude/skills/company-setup/SKILL.md (or your agent's skills folder).
name
company-setup
description
Create a company-mode organization together with the user — collect its id, name, mission, shared workspace, model and CEO budget one question at a time, confirm the whole thing in one summary, then run penguin org create and hand the user over to company mode.

Company Setup

Company mode is the second work mode of PenguinHarness: a Project's Agents organized into a company — a CEO at the root of a reporting tree, one standing desk session per employee, a calendar as the only periodic driver, a ticket board that carries the work, channels where @ mentions interrupt, and monthly budgets that pause spending before it runs away. Creating one takes six facts and a single command.

This skill is how you collect those six facts and run that command. It ends there. You never hire, never schedule a calendar event and never file a ticket: creation produces the CEO and nothing else, and the CEO does the rest — after it has proposed a plan and the board (the humans of the Project) has answered.

Before you start

If the user's message only invokes this skill (e.g. "use company-setup skill") without naming a company to create, ask what organization they want and what it should do. One sentence is enough to start the questions below; do not create anything until every question has an answer and the user has said yes to the summary.

Look before the first question:

bash
penguin org ls --json     # the Project's organizations, so you never propose a taken id

If that call answers 404, company mode is off for this server (System settings › Server › Company mode). Say so and stop — nothing here can succeed until an admin turns it on.

Which Project the organization lands in

Inside a harness agent session every command subprocess carries PENGUIN_API_URL, PENGUIN_API_TOKEN and PENGUIN_PROJECT_ID, and penguin org create reads that last one as its --project-id — so you normally pass no flag and the organization is created in the Project you are running in. Check which one that is before you create anything:

bash
echo "${PENGUIN_PROJECT_ID:-default_project}"

Name the Project in the summary. Pass --project-id <id> only when the user explicitly wants a different one.

Ask one question at a time

One question per message, in the user's own language, in this order. Never batch them into a form and never fill one in yourself: an unanswered question is asked again, not guessed. Each answer is echoed back in the summary at the end, so a mistake costs one line, not a re-run.

  1. Organization id. The directory name and the id every command takes: [a-z][a-z0-9_]{1,63} — a lowercase letter, then lowercase letters, digits and underscores, 2–64 characters. Suggest one derived from what the user has already called the company: lowercase it, transliterate to ASCII, join the words with underscores and put co_ in front — "Plugin Marketplace" → co_plugin_marketplace. The prefix is the convention (co_ for an organization, ch_ for a channel, so an id says what it names); the server does not enforce it, so a user who wants a bare id gets one. Let them confirm or replace the suggestion. If nothing in the conversation names the company yet, ask question 2 first and derive the suggestion from that answer — those two questions swap, the rest of the order does not. Never propose an id already in penguin org ls; the server refuses it with 409 org_exists.
  2. Name. The display name, free text. Say that leaving it empty makes it the id.
  3. Mission. One sentence: what the company is for, and how one would know it succeeded. This is the single most load-bearing answer — it becomes the CEO's initialization run, the handbook and the first tickets. A vague mission ("build a website") produces a vague company, so if the user's sentence is broad, propose a sharper wording and ask them to confirm or correct it; propose once, do not negotiate it into a paragraph. Their wording wins if they keep it. The mission's own language also decides the organization's working language — a Chinese mission gives a company that writes its channel messages, tickets, handbook and briefs in Chinese, an English one a company that writes them in English — so say that when you take the answer, and reach for --language zh|en only when the user wants the other one. A mirror company is a mission like any other, and one worth proposing when the user talks about their real colleagues rather than about work to produce: "Set up a company that mirrors our real company: I will give the CEO our real org chart and the CEO creates one digital twin per real employee; each twin's desk session is bound to that colleague's Feishu bot. A twin only receives its own colleague's messages by default, answers what it can on its own and relays the rest to the relevant colleague's twin, who passes it on to the real person. The CEO hires nobody on its own, schedules nothing and files no tickets; the company only relays and solves what it can." Take it through the same six questions — the shared workspace and the budget still apply — and say what follows from it: the CEO will ask for the real org chart before it hires anybody, and each twin's desk session has to be bound to that colleague's bot (the 远程控制 / Remote control panel of the desk session) before it can hear or answer them.
  4. Shared workspace. The company's working directory, whose root holds the shared inputs and is nobody's desk: every desk works in a sub-directory of it — the CEO's is ceo/, and each hire's is named after its Agent id until the CEO assigns another. Either an existing absolute directory or the default — the organization's own workspace/ inside the Project directory, which is what most missions want. Offer the default explicitly; if the user names a path, check it exists before you put it in the summary (the server refuses one that does not).
  5. Model. The provider + model id every desk and ticket session runs on when the employee names none, or the Project's default. This is the one model the whole company runs on: the CEO assigns no model per employee unless the user asks for particular ones, so a user wondering whether to pick different models for different roles hears that the default is one model for everyone. Offer the default explicitly; list what is configured only if the user wants to choose:
    bash
    penguin config model list      # the configured pairs; `*` marks the Project default
    The pair is both-or-neither — a provider without a model id is not a model reference.
  6. CEO monthly budget. USD per calendar month, default 100. Explain what the number means before taking it: budgets accumulate along the reporting line, so the CEO's budget is the whole company's — every employee's spend rolls up into it. At 80% of it a warning lands in the all-hands channel; at 100% the whole company's calendar stops until the next month or a raised budget. It is a cap, not a spend target, and the board can raise it at any time (penguin org employee set <org_id>_ceo --budget <usd>).
Show full SKILL.md (465 more words)Show less

Show the summary and wait for a yes

Before running anything, put all six answers on one screen, in the user's language, and ask for a plain yes:

text
Organization  co_plugin_marketplace  (Project: default_project)
Name          Plugin Marketplace
Mission       Build a PenguinHarness plugin marketplace, promote it into the top three search results, and earn from paid featured slots.
Workspace     default (the organization's own workspace/)
Model         Project default
CEO budget    100 USD / month  — the whole company's cap

Anything but a clear yes is a correction: change that one line and show the summary again. Do not run the command on a "sure, but …" without settling the "but" first.

Create it

One command, exactly the answers, nothing else:

bash
penguin org create --org-id <id> --mission <sentence> \
  [--name <display name>] [--language <zh|en>] [--workspace <absolute path>] \
  [--provider <provider> --model-id <model id>] [--ceo-budget <usd>]

A complete invocation of the summary above:

bash
penguin org create --org-id co_plugin_marketplace \
  --name "Plugin Marketplace" \
  --mission "Build a PenguinHarness plugin marketplace, promote it into the top three search results, and earn from paid featured slots." \
  --ceo-budget 100
  • --org-id is the id to create; unlike every other penguin org command it never comes from PENGUIN_ORG_ID.
  • Omit --name, --workspace and the model pair when the user took the defaults. --ceo-budget defaults to 100, so it may be omitted too — but pass it whenever the user named a number, including 0. Omit --language unless the user asked for a working language other than the mission's own.
  • The command prints the new organization's id and the CEO's desk session id. Errors surface verbatim: 409 org_exists (the id, or the CEO's Agent id <org_id>_ceo, is taken), 400 with the reason for a bad id, an empty mission, a missing workspace directory or an unconfigured model. Fix the one field and run it again — creation is all-or-nothing and leaves nothing behind when it fails.

Hand off

Creation writes the organization's files, creates the CEO Agent, opens its desk session and starts an initialization run on it. That run has already posted one proposal in the all-hands channel — the CEO's reading of the mission, the streams and first tickets it intends to file, the roles it wants to hire with their budgets, and how it will split the shared workspace — and then stopped, waiting for the board. Tell the user, in their language, exactly that:

  • the organization was created and only the CEO exists;
  • switch to company mode with the 开发 | 公司 (Development | Company) control at the top of the sidebar, then pick the organization;
  • the CEO's proposal is waiting in the all-hands channel and nothing else happens until the board answers it — an answer in that channel that @-mentions the CEO wakes its desk;
  • the CEO hires, partitions the workspace, schedules the calendar and files the tickets itself once it has that answer.

Cautions

  • Do the CEO's job for it and the company never starts. No penguin org hire, no penguin org calendar add, no penguin org ticket create from this skill, however obvious the first hire looks — the decision gate is the point: the board approves the plan, then the CEO executes it.
  • One organization per run. If the user wants a second company, start the questions over; ids, missions and budgets are not shared.
  • Nothing is created before the yes. The questions are cheap and reversible; the command is not — it creates an Agent and starts a run that spends money.

© Prism-Shadow, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/agent-company/skills/company-setup of Prism-Shadow/penguin-harness.

Open the folder on GitHubat commit d56d9ce

Compare with similar skills

Company Setup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Company Setup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Company Setup this skillPrism-Shadow/penguin-harness2.5k—~2.7kAutomated safety check: PassApache-2.0
Company Brain Company QAtopoteretes/cognee32k—~750Automated safety check: NotesApache-2.0
Company Creatorpaperclipai/paperclip99k—~2.9kAutomated safety check: PassMIT
Agent Collective Intelligence Coordinatorruvnet/ruflo74k2 repos~1kAutomated safety check: PassMIT
Collection Digestoutline/outline41k—~498Automated safety check: PassCustom licence
Company Brainifygarrytan/gbrain31k—~9kAutomated safety check: PassMIT

Similar skills

  • Company Brain Company QA

    topoteretes/cognee

    Build one company memory from a SQL database, a support ticket export and a folder of documents, linked into one graph by cognee, then answer questions that need several of those sources together.

    32k GitHub stars~750 tokensUpdated today
    Sales & SupportAuto-check: notes
  • Company Creator

    paperclipai/paperclip

    Create agent company packages that conform to agentcompanies/v1.

    99k GitHub stars~2.9k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Agent skill for collective-intelligence-coordinator - invoke with $agent-collective-intelligence-coordinator

    74k GitHub starsUsed in 2 repos~1k tokens
    Auto-check passed
  • Collection Digest

    outline/outline

    Summarize what changed in an Outline collection since a date; use when the user asks what is new, what was updated, or wants a digest of recent documents.

    41k GitHub stars~498 tokensUpdated today
    Knowledge ManagementAuto-check passed
  • Company Brainify

    garrytan/gbrain

    Extract a sanitized shared team/company brain from a personal brain.

    31k GitHub stars~9k tokensUpdated today
    DevelopmentAuto-check passed
  • Company Os

    alirezarezvani/claude-skills

    The meta-framework for how a company runs — the connective tissue between all C-suite roles.

    28k GitHub starsUsed in 1 repo~2.7k tokens
    Business, Finance & HRAuto-check passed

More from Prism-Shadow/penguin-harness

All 31 skills in this repo
  • A2ui

    Prism-Shadow/penguin-harness

    Make a reply easier to read and act on with rich blocks inside ordinary Markdown — a choice the user picks from, a form that collects several answers, a procedure as steps with warnings in place, a…

    2.5k GitHub stars~3k tokensUpdated 2 days ago
    Auto-check passed
  • Penguin Harness Dev

    Prism-Shadow/penguin-harness

    A skill your agent uses when developing PenguinHarness itself — changing packages/{core,server,web,cli,desktop,landing,docs,skills}, the built-in model catalog, the installers or the release…

    2.5k GitHub stars~3.4k tokensUpdated 2 days ago
    Auto-check passed
  • Bento Slides

    Prism-Shadow/penguin-harness

    Create and edit Bento presentations — self-contained .bento.html decks whose document is JSON.

    2.5k GitHub stars~1.6k tokensUpdated 2 days ago
    Auto-check passed
  • Penguin Harness Manual Test

    Prism-Shadow/penguin-harness

    A skill your agent uses when standing PenguinHarness up to try a change by hand — launching the Web App, the desktop shell, the landing page, the docs site or the component gallery to click through…

    2.5k GitHub stars~1.3k tokensUpdated 2 days ago
    Auto-check passed
  • Penguin Harness Frontend

    Prism-Shadow/penguin-harness

    A skill your agent uses when changing the PenguinHarness Web App (packages/web) or the shared UI package — adding or restyling any UI, picking a status colour, adding an icon, laying out a row or a…

    2.5k GitHub stars~6.4k tokensUpdated 2 days ago
    Auto-check passed
  • Browser Automation

    Prism-Shadow/penguin-harness

    Drive the PenguinHarness agent browser — the desktop app's built-in browser or the user's own Chrome — from the shell with penguin browser: open pages, read them as simplified HTML or text, act with…

    2.5k GitHub stars~2.9k tokensUpdated 2 days ago
    Auto-check: warnings

Questions about Company Setup

What does Company Setup do?

Create a company-mode organization together with the user — collect its id, name, mission, shared workspace, model and CEO budget one question at a time, confirm the whole thing in one summary, then…. Company Setup is an agent skill from Prism-Shadow/penguin-harness. Create a company-mode organization together with the user — collect its id, name, mission, shared workspace, model and CEO budget one question at a time, confirm the whole thing in one summary, then run penguin org create and hand the user over to company mode.

How do I install Company Setup in Claude Code?

Run `npx skills add Prism-Shadow/penguin-harness --skill company-setup -a claude-code`. Or copy the skill folder (plugins/agent-company/skills/company-setup in Prism-Shadow/penguin-harness) into .claude/skills/company-setup in your project. Claude Code loads it when a task matches its description.

How do I install Company Setup in Codex?

Run `npx skills add Prism-Shadow/penguin-harness --skill company-setup -a codex`. Or copy the skill folder (plugins/agent-company/skills/company-setup in Prism-Shadow/penguin-harness) into .agents/skills/company-setup in your project. Codex loads it when a task matches its description.

Can I use Company Setup in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Prism-Shadow/penguin-harness --skill company-setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/company-setup, .gemini/skills/company-setup, .github/skills/company-setup and .opencode/skills/company-setup in your project.

What does Company Setup need to run?

Going by SKILL.md and its folder, Company Setup needs credentials named PENGUIN_API_TOKEN. Our summary lists: A credential in PENGUIN_API_TOKEN.

Does Company Setup access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Company Setup safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Company Setup use?

Company Setup is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Company Setup use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Company Setup?

Skills that share tags, products or a category with Company Setup: Company Brain Company QA (topoteretes/cognee, 32k stars), Company Creator (paperclipai/paperclip, 99k stars), Agent Collective Intelligence Coordinator (ruvnet/ruflo, 74k stars) and Collection Digest (outline/outline, 41k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Company Setup?

Prism-Shadow (a GitHub organization) maintains it in Prism-Shadow/penguin-harness, which has 2,464 GitHub stars. The repository holds 31 skills in this directory. The repository was last updated on October 7, 2026.

Source: Prism-Shadow/penguin-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.