# How to Implement Private Company Research for Unlisted Companies in AI Berkshire

> Learn how AI Berkshire implements private company research for unlisted companies. Discover the multi-agent workflow and how to get a comprehensive markdown report.

- Repository: [Xbt Lin/ai-berkshire](https://github.com/xbtlin/ai-berkshire)
- Tags: how-to-guide
- Published: 2026-07-11

---

**AI Berkshire implements private company research through a multi-agent workflow defined in [`skills/private-company-research.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/private-company-research.md), where a team-lead agent orchestrates six specialist agents to gather, validate, and synthesize data into a comprehensive markdown report.**

AI Berkshire provides a systematic approach to analyzing unlisted firms through its dedicated research workflow. The repository's canonical skill file defines a parallel deep-dive methodology that transforms fragmented public signals into coherent investment theses. This implementation leverages Claude-Code and Codex command generators to automate the creation of research teams and task distribution.

## Understanding the Multi-Agent Architecture

The private company research workflow operates as a three-layer system designed specifically for unlisted entities that lack public filings.

### Team Orchestration Layer

At the core of the implementation is the **TeamCreate** mechanism (lines 55-60 in [`skills/private-company-research.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/private-company-research.md)). The team-lead agent instantiates a dedicated research team named `{company}-private-research` and spawns six background agents running in parallel. Each agent operates as a `general-purpose` type (lines 92-94) with specialized instructions tailored to unlisted company analysis.

### The Six Specialist Agents

The workflow distributes cognitive labor across distinct functional domains:

- **business-decoder** – Analyzes business models and user metrics
- **financial-detective** – Stitches financial data and performs valuation calculations  
- **competitive-mapper** – Maps industry landscapes and competitive positioning
- **risk-governance-analyst** – Evaluates management quality and governance structures
- **tech-ip-analyst** – Assesses technology stacks and intellectual property
- **signal-miner** – Extracts alternative data from recruiting platforms, patent filings, and app store metrics (lines 53-54, 61-68)

## Configuring Task Definitions and Validation Rules

Each specialist receives a **TaskCreate** payload containing a `subject`, `activeForm` instruction, and detailed `description` specifying required data points and table formats.

### Parallel Task Execution

The system launches six simultaneous **TaskCreate** operations (lines 61-68) to maximize research speed. Each task block includes enumerated requirements (Task 1 through Task 6) that drive agents to gather specific datasets in parallel, reducing total research time for unlisted companies.

### Confidence Rating and Cross-Validation

Every data point requires explicit confidence tagging using a three-tier system defined in lines 27-28 and 26-29:

- 🟢 **High confidence**: Verified by dual sources
- 🟡 **Medium confidence**: Single reliable source or reasonable inference  
- 🔴 **Low confidence**: Speculative or unverified data

The team-lead performs mandatory **cross-validation** (lines 31-34, 52-55) to arbitrate conflicts between agent reports before final synthesis.

## Invoking the Private Company Research Workflow

Users can trigger the workflow through multiple interfaces provided by the AI Berkshire runtime.

### Slash Command Interface

The simplest invocation uses the Claude or Codex client:

```text
/private-company-research SpaceX

```

This expands automatically into the full workflow, creating the `space-x-private-research` team and returning progress updates through the chat interface.

### Direct API Integration

For programmatic access, POST to the internal skill endpoint:

```python
import json
import requests

payload = {
    "skill": "private-company-research",
    "arguments": "Ant Group"
}

resp = requests.post(
    "http://localhost:8000/api/skill",
    json=payload
)

print(json.dumps(resp.json(), indent=2))

```

The server triggers team creation, dispatches parallel agents, and writes the final report to [`reports/ant-group/ant-group-private-20260711.md`](https://github.com/xbtlin/ai-berkshire/blob/main/reports/ant-group/ant-group-private-20260711.md).

### Synchronizing Skill Changes

After modifying [`skills/private-company-research.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/private-company-research.md), regenerate the Codex artifacts:

```bash
python3 scripts/sync-codex-skills.py

```

This updates [`codex-skills/private-company-research/SKILL.md`](https://github.com/xbtlin/ai-berkshire/blob/main/codex-skills/private-company-research/SKILL.md) and [`codex-prompts/private-company-research.md`](https://github.com/xbtlin/ai-berkshire/blob/main/codex-prompts/private-company-research.md) with the latest task definitions.

## Report Structure and Output Format

The final synthesis occurs in the "information-puzzle" step (lines 52-66, 70-78), where the team-lead merges six sub-reports into a unified markdown document.

The output typically follows this structure:

```markdown
#### 1. 一句话结论

> Ant Group 的真实价值约在 $180-$220B 之间，核心驱动是其支付网络的规模效应与数据壁垒。

| 项目 | 内容 | 置信度 |
|---|---|---|
| 公司名称 | Ant Group | 🟢 |
| 成立时间 | 2004年 | 🟢 |
| 最新估值 | $200B（2023轮） | 🟢 |
| 关键用户规模 | 1.2B MAU | 🟡 |
| 主要投资方 | 高瓴、软银等 | 🟢 |

```

Reports are saved to `reports/{Company}/{Company}-private-{YYYYMMDD}.md` according to the "保存报告" section of the skill file.

## Summary

- AI Berkshire implements private company research through a **multi-agent workflow** defined in [`skills/private-company-research.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/private-company-research.md)
- The system orchestrates **six specialist agents** (business-decoder, financial-detective, competitive-mapper, risk-governance-analyst, tech-ip-analyst, and signal-miner) working in parallel
- **Confidence tagging** (🟢/🟡/🔴) and **cross-validation** ensure data quality for unlisted entities lacking public filings
- Use `/private-company-research {Company}` for CLI invocation or POST to `/api/skill` for programmatic access
- Run `python3 scripts/sync-codex-skills.py` after editing skill definitions to update generated artifacts

## Frequently Asked Questions

### What file contains the canonical definition of the private company research workflow?

The primary implementation resides in [`skills/private-company-research.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/private-company-research.md) at the repository root. This file contains the TeamCreate logic, task definitions for all six specialist agents, confidence rating conventions, and cross-validation rules. After editing this file, you must run [`scripts/sync-codex-skills.py`](https://github.com/xbtlin/ai-berkshire/blob/main/scripts/sync-codex-skills.py) to regenerate the Codex-compatible versions in [`codex-skills/private-company-research/SKILL.md`](https://github.com/xbtlin/ai-berkshire/blob/main/codex-skills/private-company-research/SKILL.md).

### How does AI Berkshire handle data quality for unlisted companies without public financials?

The workflow enforces **dual-source verification** through the team-lead's cross-validation step (lines 31-34). Every key metric receives a confidence rating (high/medium/low), and the signal-miner agent specifically targets alternative data sources like recruiting activity, patent filings, and app store metrics to triangulate financial estimates when traditional filings are unavailable.

### Can I customize the six specialist agents for specific industries?

Yes. The `activeForm` parameters within each **TaskCreate** payload in [`skills/private-company-research.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/private-company-research.md) define the instructions for each agent. You can modify these task blocks to add industry-specific data requirements or adjust the validation criteria. Remember to run `python3 scripts/sync-codex-skills.py` after making changes to ensure the Codex runtime receives the updated prompts.

### Where are the final research reports stored?

The system saves completed analyses to `reports/{Company}/{Company}-private-{YYYYMMDD}.md` as specified in the skill's "保存报告" section. This path structure organizes outputs by company name and research date, making it easy to track historical valuations for unlisted companies over time.