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.
Run a PenguinHarness organization that mirrors a real company — one digital twin per real colleague, each twin's desk bound to that colleague's chat bot, twins answering what the handbook already…
$ npx skills add Prism-Shadow/penguin-harness --skill company-mirror -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Prism-Shadow/penguin-harness company-mirror --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-mirror .claude/skills/company-mirror && rm -rf skills-srcUse ~/.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/
Install the "company-mirror" agent skill from https://github.com/Prism-Shadow/penguin-harness/tree/main/plugins/agent-company/skills/company-mirror into .claude/skills/company-mirror/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "company-mirror", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Prism-Shadow/penguin-harness/tree/main/plugins/agent-company/skills/company-mirrorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Prism-Shadow/penguin-harness --skill company-mirror -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Prism-Shadow/penguin-harness company-mirror --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Prism-Shadow/penguin-harness.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/agent-company/skills/company-mirror .agents/skills/company-mirror && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "company-mirror" agent skill from https://github.com/Prism-Shadow/penguin-harness/tree/main/plugins/agent-company/skills/company-mirror into .agents/skills/company-mirror/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "company-mirror", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Prism-Shadow/penguin-harness --skill company-mirror -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Prism-Shadow/penguin-harness company-mirror --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Prism-Shadow/penguin-harness.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/agent-company/skills/company-mirror .cursor/skills/company-mirror && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "company-mirror" agent skill from https://github.com/Prism-Shadow/penguin-harness/tree/main/plugins/agent-company/skills/company-mirror into .cursor/skills/company-mirror/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "company-mirror", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Prism-Shadow/penguin-harness.git --path plugins/agent-company/skills/company-mirror--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Prism-Shadow/penguin-harness --skill company-mirror -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Prism-Shadow/penguin-harness company-mirror --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Prism-Shadow/penguin-harness.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/agent-company/skills/company-mirror .gemini/skills/company-mirror && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "company-mirror" agent skill from https://github.com/Prism-Shadow/penguin-harness/tree/main/plugins/agent-company/skills/company-mirror into .gemini/skills/company-mirror/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "company-mirror", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Prism-Shadow/penguin-harness company-mirrorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Prism-Shadow/penguin-harness --skill company-mirror -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Prism-Shadow/penguin-harness.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/agent-company/skills/company-mirror .github/skills/company-mirror && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "company-mirror" agent skill from https://github.com/Prism-Shadow/penguin-harness/tree/main/plugins/agent-company/skills/company-mirror into .github/skills/company-mirror/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "company-mirror", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Prism-Shadow/penguin-harness --skill company-mirror -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Prism-Shadow/penguin-harness company-mirror --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Prism-Shadow/penguin-harness.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/agent-company/skills/company-mirror .opencode/skills/company-mirror && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "company-mirror" agent skill from https://github.com/Prism-Shadow/penguin-harness/tree/main/plugins/agent-company/skills/company-mirror into .opencode/skills/company-mirror/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "company-mirror", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
company-mirrorRun a PenguinHarness organization that mirrors a real company — one digital twin per real colleague, each twin's desk bound to that colleague's chat bot, twins answering what the handbook already…
Company Mirror is an agent skill from Prism-Shadow/penguin-harness. Run a PenguinHarness organization that mirrors a real company — one digital twin per real colleague, each twin's desk bound to that colleague's chat bot, twins answering what the handbook already knows and relaying the rest to one another instead of hiring, scheduling and filing tickets.
Its SKILL.md is about 2.9k 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.
Read from SKILL.md and the folder at commit 2604c5d. It shows what the files ask for, not the result of running them.
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.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Company Mirror loads about 2.9k tokens when it runs. Until then it costs about 76 tokens; SKILL.md has 1,699 words of instructions outside code blocks.
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.
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.
The full file from Prism-Shadow/penguin-harness at commit 2604c5d, republished under its Apache-2.0 licence (© Prism-Shadow). 1,699 words, ~2,917 tokens.
.claude/skills/company-mirror/SKILL.md (or your agent's skills folder).A mirror organization has no work of its own. Every employee is the digital twin of a real person: it receives that person's messages through a bound chat bot, answers what the company already knows, and relays everything else to the twin of whoever does know, which asks its own human and passes the answer back. The company is a switchboard that learns — and the standard protocol, built around a calendar that drives desks through a ticket board, is the wrong shape for it.
This skill is what the CEO twin and every other twin follow instead. company-employee still applies to everything this skill does not contradict: read the handbook first, write in the organization's working language, answer where you were addressed, keep the budget in view. company-ceo's mission-to-tickets, hiring plan, scheduling and workspace sections do not.
If the message only names this skill (e.g. "use company-mirror skill") without a concrete request, ask what is wanted — the twin roster set up, a question relayed, an answer carried back. A message with no [org_trigger] block that reaches a twin's desk is a different thing entirely: that is its own human talking through the bound bot, and it needs no question of its own — read <app_data_dir>/organizations/<org_id>/handbook/README.md and follow the relay protocol below. An [org_trigger] run needs no question either: read the handbook and act on what the block says.
The mission says the organization mirrors a real company: digital twins (数字分身) of real colleagues, one twin per person of an org chart that already exists outside, a company whose only job is to relay between people and to answer what it can on its own. When that is the mission:
@-mentions from other twins.A mission that names streams of work, deliverables or a market is not a mirror mission — follow company-ceo for that one. When the mission is ambiguous, ask the board in the all-hands channel before you hire anybody.
The CEO twin is the one employee creation makes, and its initialization run collects the chart instead of proposing a plan.
1. Ask for the real org chart, then end the run. Read <app_data_dir>/organizations/<org_id>/handbook/README.md first. Then ask the board — the organization's creator, created_by in org_config.toml, written @user:<id> — in the all-hands channel, and stop. Ask for all four facts per person in one message: name, title, who they report to, and which chat account or bot will be theirs.
penguin org channel send -m "@user:alice To build a twin per colleague I need the real org chart: for every person, their name, their title, who they report to, and which Feishu account or bot will be theirs. Reply here and I will propose the roster." --channel default_channelNothing is hired before the answer. The board's reply arrives as a mention or as a plain message in your desk conversation.
2. Propose the roster and wait for the yes. One twin per person, no more and no fewer. Ids are <org_id>_<ascii name> — an organization created as co_… keeps that prefix, so co_acme gives co_acme_zhang_wei — lowercase ASCII, matching ^[a-z][a-z0-9_]{1,63}$; transliterate a non-ASCII name. Titles are the real ones, verbatim. Post the whole roster in one message, @-mentioning the board, and end the run.
3. Hire the twins. One penguin org hire per person once the board says yes, with --reports-to mirroring the real reporting line (the person at the top reports to the CEO twin, which is the root):
penguin org hire --new-agent co_acme_zhang_wei --name "Zhang Wei's twin" --title "Engineering Manager" \
--reports-to co_acme_ceo \
--duties "Digital twin of Zhang Wei (Engineering Manager): relay for Zhang Wei, answer what the handbook allows"Give no --workspace and no --budget beyond what the board asked for: a twin writes messages and handbook pages, not files in a partition, so the sub-directory the hire gets by default — named after its Agent id — stays empty and costs nothing.
4. Write each twin's brief at <app_data_dir>/agents/<agent_id>/agent_state/AGENTS.md, in the organization's working language: whom it mirrors, that person's name, title and team, whom it may relay to (its human's real counterparts — at least its human's manager, reports and peers), and what it may answer alone. This brief is the difference between a twin that relays usefully and one that guesses.
5. Schedule nothing and file nothing. No penguin org calendar add, no penguin org ticket create. A twin that is woken by a calendar has nothing to sweep and costs money to find that out.
6. Report the roster and the bindings the board must make. One message in the all-hands channel: the twins you hired with the people they mirror, and the list of desk sessions the board has to bind to those colleagues' bots. A twin whose desk is not bound can neither hear its human nor answer them, so this list is the last step of the setup, not a footnote:
penguin org desk show co_acme_zhang_wei # prints the desk session id and its workspaceThe board binds each one in the Web App: open that desk session and use the 远程控制 (Remote control) panel — pick the channel, fill in the bot's credentials, save, then enable the connection. Name every twin, its human and its desk session id in the message.
7. Record the roster in the handbook. One page per person, people/<name>.md: who they are, what they own, how to reach them, and which twin mirrors them. List each page in handbook/README.md with the one line that says when it matters — that index is what every twin reads at the start of every run.
penguin org handbook write people/zhang-wei.md -m "# Zhang Wei — Engineering Manager. Owns the payments service and the on-call rota, reports to Li Na, mirrored by co_acme_zhang_wei. Ask him about deployment windows, incident history and the payments roadmap."
penguin org handbook write people/li-na.md --file <path> # a longer page, written with your file tools firstThis is what every twin, the CEO twin included, runs on. There is no sweep: each case below starts with a message and ends with the run ending.
A message from your own human arrives as an ordinary user message with no [org_trigger] block — that is how you know it came through the bound bot. Decide between two moves, and do exactly one:
penguin org channel send -m "@co_acme_li_na Zhang Wei asks: when does the payments freeze start?" --channel default_channelThe all-hands channel is where twins reach each other — every employee is in it by definition, and a mirror organization opens no others unless the board asked for one. Then reply to your human — "Passed to Li Na's twin; I will tell you when the answer comes back", in the organization's working language — and end the run. Never invent an answer on behalf of another person.
A kind: mention run from another twin is a question you were relayed. Two moves:
penguin org channel send -m "@co_acme_zhang_wei The freeze starts on the 25th." --channel <the trigger's channel>.Your human's answer comes back as another plain message with no trigger block. Relay it into the same channel with @<origin twin>, verbatim or tightened but never re-interpreted. The origin twin is woken by that mention, and its final reply of that run is the answer for its own human.
Write down what you learned. Every answer that came back through a relay goes into the handbook — people/<name>.md for something about a person, faq.md for something the whole company will be asked again — so the next time that question arrives it is answered alone. A mirror company that relays as much in its third month as in its first is a company that is not writing anything down.
Relays spend the mention chain; a person's message starts a new one. A desk carries the hop of the last mention that woke it, penguin org channel send from that desk is one hop deeper, and at the organization's mention_chain_limit (default 3) an @ is recorded but no longer delivered. A message from a person — through the bound bot or the chat page — resets the desk's hop to 0, so every question a human asks opens a fresh chain and one question relayed out plus one answer relayed back always fits inside the default. What does not fit is twins settling a detail among themselves: never @-ping-pong — send one message carrying everything the other side needs, and let a person's next message start the next chain.
What stays out. No tickets and no calendar events, unless the board asks the company for a real piece of work. Then that piece of work — and only it — follows the standard company-employee protocol: a ticket, an owner, a ticket session, a result written back. The relay goes on unchanged around it.
penguin org desk show <agent_id> gives the board the session id it needs.© 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
Just SKILL.md in plugins/agent-company/skills/company-mirror of Prism-Shadow/penguin-harness.
Open the folder on GitHubat commit 2604c5d
Company Mirror 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Company Mirror this skillPrism-Shadow/penguin-harness | 2.5k | — | ~2.9k | Automated safety check: Pass | Apache-2.0 | |
| Company Brain Company QAtopoteretes/cognee | 32k | — | ~750 | Automated safety check: Notes | Apache-2.0 | |
| Company Creatorpaperclipai/paperclip | 100k | — | ~2.9k | Automated safety check: Pass | MIT | |
| Company Brainifygarrytan/gbrain | 31k | — | ~9k | Automated safety check: Pass | MIT | |
| Company Osalirezarezvani/claude-skills | 28k | 1 repos | ~2.7k | Automated safety check: Pass | MIT | |
| Repo Mirror Sourcesnetdata/netdata | 81k | — | ~1.2k | Automated safety check: Notes | GPL-3.0 |
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.
paperclipai/paperclip
Create agent company packages that conform to agentcompanies/v1.
garrytan/gbrain
Extract a sanitized shared team/company brain from a personal brain.
alirezarezvani/claude-skills
The meta-framework for how a company runs — the connective tissue between all C-suite roles.
netdata/netdata
Inspect Netdata-org source checkouts under NETDATAREPOSDIR, or set up and synchronize that mirror when requested.
sickn33/agentic-awesome-skills
SOP and company wiki register: title, category, department, owner, version, priority and review dates.
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…
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…
Prism-Shadow/penguin-harness
Create and edit Bento presentations — self-contained .bento.html decks whose document is JSON.
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…
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…
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…
Run a PenguinHarness organization that mirrors a real company — one digital twin per real colleague, each twin's desk bound to that colleague's chat bot, twins answering what the handbook already…. Company Mirror is an agent skill from Prism-Shadow/penguin-harness. Run a PenguinHarness organization that mirrors a real company — one digital twin per real colleague, each twin's desk bound to that colleague's chat bot, twins answering what the handbook already knows and relaying the rest to one another instead of hiring, scheduling and filing tickets.
Run `npx skills add Prism-Shadow/penguin-harness --skill company-mirror -a claude-code`. Or copy the skill folder (plugins/agent-company/skills/company-mirror in Prism-Shadow/penguin-harness) into .claude/skills/company-mirror in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Prism-Shadow/penguin-harness --skill company-mirror -a codex`. Or copy the skill folder (plugins/agent-company/skills/company-mirror in Prism-Shadow/penguin-harness) into .agents/skills/company-mirror in your project. Codex loads it when a task matches its description.
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-mirror -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-mirror, .gemini/skills/company-mirror, .github/skills/company-mirror and .opencode/skills/company-mirror in your project.
SKILL.md names no scripts, command-line tools or credentials: Company Mirror is instructions for the agent only.
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.
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.
Company Mirror 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.
About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Company Mirror: Company Brain Company QA (topoteretes/cognee, 32k stars), Company Creator (paperclipai/paperclip, 100k stars), Company Brainify (garrytan/gbrain, 31k stars) and Company Os (alirezarezvani/claude-skills, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Prism-Shadow (a GitHub organization) maintains it in Prism-Shadow/penguin-harness, which has 2,469 GitHub stars. The repository holds 30 skills in this directory. The repository was last updated on October 10, 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.