CYBernetic Operating System - AI-powered VC operations assistant. Research companies, process Telegram/email, generate content, write investment memos.
See SETUP.md for full setup and personalization.
# Install dependencies
curl -fsSL https://bun.sh/install | bash
cp .env.example .env # Add API keys, DB config, and CYBOS_USER_NAME
# Start database
cd scripts/db && docker compose up -d && cd ../..
bun scripts/db/init.ts
bun scripts/db/index.ts --extract
# Run
claudeFirst run: Database indexes entities from /deals/, /context/calls/, /context/telegram/. Run /cyber-reindex to rebuild.
Available slash commands:
/cyber-research-company "Company Name"- Company DD research/cyber-research-tech "Technology"- Technology deep-dive/cyber-research-market "Market"- Market analysis/cyber-telegram- Process 1 unread Telegram message (read, draft reply, move to TO ANSWER)/cyber-telegram --count 3- Process 3 unread Telegram messages/cyber-browse- Scan Twitter for trending topics (saves to /content/ideas/)/cyber-tweet "Topic"or/cyber-tweet @content/ideas/file.md- Draft tweet (with optional source)/cyber-essay "Topic"or/cyber-essay @content/ideas/file.md "expand"- Write essay (with optional source)/cyber-image "Concept"- Generate image/cyber-memo "Company"- Generate investment memo/cyber-init-deal "Company"- Initialize deal folder/cyber-log- Show recent activity/cyber-gtd- Process GTD items autonomously (plan-first by default)/cyber-gtd --count 3- Process 3 GTD items/cyber-reindex- Rebuild entity index from deals/calls/entity files/telegram logs/cyber-email --sync- Sync emails to /context/emails/ (last 3 days)/cyber-calendar- Show today + tomorrow calendar events/cyber-unstuck- Interactive focus ritual for breaking distraction loops/cyber-init-project "Name"- Initialize a project folder/cyber-project <slug>- Show project status and tasks/cyber-projects- List all projects with status/cyber-gtd --project <slug>- Process GTD tasks for specific project
CYBOS
├── SKILLS (organized workflows)
│ ├── Research (company, tech, market)
│ ├── Browse (Twitter feed discovery)
│ ├── Telegram (message processing)
│ ├── Content (tweets, essays, images)
│ ├── DDMemo (investment memos)
│ └── GTD (autonomous task execution)
│
├── AGENTS (parallel execution via Task tool)
│ ├── Researchers: company, market, financial, team, tech
│ ├── Content: content-writer, image-prompter
│ ├── Memo: memo-analyst, memo-writer
│ └── Synthesizer: consolidates research
│
├── HOOKS
│ └── SessionStart: load identity & context
│
├── MCP SERVERS (external tools)
│ ├── perplexity, parallel-task, exa (PRIMARY)
│ ├── parallel-search (fallback), playwright
│ ├── claude-in-chrome (browser automation)
│ ├── notion, nano-banana
│
└── CONTEXT (identity, philosophy, brand)
- File-first: All state is markdown on disk
- Scaffolding > prompting: Workflows + tools beat raw prompts
- Parallel agents: Multiple Task calls in single response
- Context auto-loading: Deal context loads when company mentioned
- Single-file logging: One log file per day
# Initialize a new deal
/cyber-init-deal "Acme Corp"
# Research the company
/cyber-research-company "Acme Corp"What happens:
- Parallel MCP calls gather data (Parallel AI, Perplexity, Exa)
- 4 parallel agents analyze (company, market, financial, team)
- Synthesizer consolidates with investment lens
- Report saved to
/deals/acme-corp/research/MMDD-<slug>-YY.md - Deal context created/updated
- Action logged
- Duration: 4-8 minutes
Output:
- Comprehensive research report with investment analysis
- Deal context with status and key facts
- Log entry
/cyber-research-tech "Trusted Execution Environments"What happens:
- Deep technical research via MCP tools
- 3 parallel agents (tech, market, financial)
- Synthesis with focus on investment opportunities
- Report saved to
/research/trusted-execution-environments/MMDD-<slug>-YY.md - Duration: 5-8 minutes
Focus areas: TEEs/privacy, AI agents, robotics data, compute financialization
/cyber-research-market "AI Infrastructure"What happens:
- Market sizing and dynamics research
- 3 parallel agents analyze market, technology, investment activity
- Report includes TAM, key players, white spaces, timing
- Saved to
/research/ai-infrastructure/MMDD-<slug>-YY.md - Duration: 8-12 minutes
/cyber-tweet "AI agents using crypto wallets"Workflow: Draft → Review → Polish
- Draft: Loads
voice-identity.md+writing-style-en.md, creates tweet - Review: User provides feedback or approves
- Polish: Revise based on feedback
- Output: Save to
/content/tweets/MMDD-<slug>-YY.md
Style: Hook-driven, one idea per tweet, specific claims with evidence
Duration: 2-5 minutes
/cyber-essay "Why compute is becoming a commodity"Workflow: Draft → Review → Polish
- Draft: Loads
voice-identity.md+writing-style-en.md, creates essay (500-2500 words) - Review: User feedback on structure/tone
- Polish: Finalize with revisions
- Output:
/content/essays/MMDD-<slug>-YY.md
Structure: Hook → Stakes → Mechanism → Turn (optional) → Landing (forward momentum)
Duration: 15-30 minutes
/cyber-image "Solitary figure in brutalist VC office"Workflow: Draft Prompt → Review → Generate
- Draft Prompt: image-prompter creates detailed prompt following Mural of Souls aesthetic
- Review: User approves or adjusts prompt
- Generate: Nano Banana MCP (
mcp__nano-banana__generate_image) using Gemini 3 Pro Image - Iterate: Use
continue_editingfor refinements - Output:
/content/images/MMDD-<slug>-YY.png(no metadata files)
Aesthetic: Mural of Souls - sacred transformation, particle dissolution, monumental scale
Duration: 3-7 minutes
The Ideas Folder: /content/ideas/ stores raw thoughts, notes, and fragments that can be expanded into polished content.
# 1. Save raw idea to /content/ideas/
# Create file: /content/ideas/agent-economy.md
# Content: Bullet points, rough paragraphs, data, quotes - no polish needed
# 2. Expand into essay
/cyber-essay @content/ideas/agent-economy.md "Expand into full essay with examples"
# 3. Or distill into tweet
/cyber-tweet @content/ideas/agent-economy.md "Create tweet from key insight"Source Material Pattern: Commands now support @-prefixed file/folder references:
# Single source
/cyber-essay @content/ideas/tee-compute.md "Expand this"
# Multiple sources (synthesize)
/cyber-essay "TEE market analysis" @content/ideas/tee.md @research/tee-market/
# From research to tweet
/cyber-tweet @deals/acme-corp/research/2025-12-28.md "Distill key insight"
# Thread from folder
/cyber-tweet @research/ai-infrastructure/ "Create thread summarizing findings"Workflow:
- Capture: Save rough ideas to
/content/ideas/(no format required) - Reference: Use
@path/to/file.mdin/cyber-essayor/cyber-tweet - Expand: Agent reads source, extracts insights, expands with structure/examples
- Output: Polished content in
/content/essays/or/content/tweets/
Benefits:
- Capture ideas without worrying about polish
- Build library of reusable thoughts
- Synthesize multiple sources into coherent content
- Transform research into public-facing content
See: /content/ideas/README.md for detailed guide and _template.md for starter template.
# Plan and show what will be done for first GTD item
/cyber-gtd
# Process 3 items
/cyber-gtd --count 3
# Skip plan, execute immediately
/cyber-gtd --execute
# Process specific item
/cyber-gtd "Dan Meissler"
# Rebuild entity index
/cyber-reindexWhat happens:
- Parse: Read
GTD.md, extract items from# Next - Classify: Match patterns to workflows (outreach, call-prep, podcast, research)
- Entity Lookup: Query database for people/company context
- Plan: Show what will be done for each item
- Execute: Run each task sequentially (one at a time)
- Output: Save to
/content/work/MMDD-<slug>.mdwith draft + pending actions
Workflows:
| Pattern | Workflow | Action |
|---|---|---|
| "ask for call", "message", "email" | outreach | Draft message, find contact |
| "call with", "meeting", "<> X" | call-prep | Prepare agenda, questions |
| "podcast" | podcast | Research guest, prepare questions |
| company name, "research" | research | Quick research summary |
| unknown | best judgment | Log to learnings.md |
Entity System:
Entities (people, companies) are indexed in PostgreSQL database from:
/deals/*/folder names (orgs)/context/calls/attendees (people with emails)/context/entities/*.md(manual enrichment with aliases, notes)/context/telegram/*.mdconversation files (people with telegram usernames)
Query entities: bun scripts/db/query.ts find-entity "<name>"
Index rebuilt automatically every 24 hours or via /cyber-reindex.
Output Format:
Each task produces /content/work/MMDD-<slug>.md with:
- Context summary (entity info, previous calls)
- Draft content (message, agenda, questions)
- Pending actions (checkboxes for Gmail send, etc.)
- Execution log
Duration: 1-5 minutes per task
# Prerequisite: Run company research first
/cyber-research-company "Acme Corp"
# Generate investment memo
/cyber-memo "Acme Corp"What happens:
- Gather: Load all research from
/deals/acme-corp/research/ - Analyze: memo-analyst (Opus) applies investment rubric
- Write: memo-writer (Sonnet) fills template
- Output:
/deals/acme-corp/memo/memo.md(overwrites) - Duration: 8-15 minutes
Output: Comprehensive investment memo with:
- Executive summary & investment thesis
- Scoring sheet (10 categories)
- Product, business model, technology analysis
- Team assessment, financials, projections
- Risks, exit scenarios, IC Q&A
- Clear recommendation (INVEST/PASS/MORE DILIGENCE)
Projects are multi-week initiatives that don't fit into /deals/ (external companies) or single GTD tasks. Examples: organizing events, running accelerator, building internal products.
# Initialize a new project
/cyber-init-project "Cyber Accelerator Q1"
# View project status
/cyber-project cyber-accelerator-q1
# List all projects
/cyber-projects
# Work on project-specific GTD tasks
/cyber-gtd --project cyber-accelerator-q1What happens:
- Initialize: Creates
/projects/cyber-accelerator-q1/.cybos/context.mdfrom template - GTD Integration: Add
# cyber-accelerator-q1heading to GTD.md, tasks underneath belong to project - Auto-loading: Mention project name → context loaded automatically
- Progress tracking: Context file tracks status, goal, key results, milestones
GTD.md Integration:
# cyber-accelerator-q1
- [ ] Finalize speaker lineup
- [ ] Create participant application form
- [x] Book venue
# scheduler
- [ ] Implement calendar sync
- [ ] Add recurring event supportProjects are identified by # heading (level-1). Reserved headings (# Next, # Someday, # IC, # Skip) are not projects.
Project Types:
- Event: Conference, demo day, meetup
- Accelerator: Cohort program
- Product: Internal tool development
- Initiative: Multi-step strategic effort
Duration: Initialization takes seconds, projects span weeks/months
Cybos applies your organization's investment rubric to all research:
| Criteria | Green Flag | Red Flag |
|---|---|---|
| Market Size | Path to $1B+ revenue | Niche $50M ARR cap |
| Moat | Data/network/hard tech | Wrapper (6-week rule) |
| Business Model | Clear revenue model | Token speculation |
| Founders | High energy, sales DNA, deep expertise | Low energy, lab mindset |
| Why Now? | Clear catalyst/unlock | Red ocean, no timing |
| Valuation | Reasonable for stage | >$100M FDV pre-revenue |
- Can Big Tech build this in 6 weeks?
- Pure "wrapper" with no moat
- Media/entertainment robotics plays
- Regional stablecoins vs global giants
- Generic devtools without massive pain point
- AI Infrastructure: Training, inference, privacy (TEEs), agents
- Crypto/Blockchain: Self-custodial finance, programmable markets, novel consensus
- Robotics: Data moats (teleoperation, simulation), embodied AI
cybos/
├── .mcp.json # MCP server configuration (uses ${VAR} for env vars)
├── .claude/
│ ├── settings.json # Hook wiring, permissions
│ ├── skills/ # Organized workflows
│ │ ├── CORE/ # System overview
│ │ ├── Research/workflows/ # company, tech, market
│ │ ├── Browse/workflows/ # twitter-feed
│ │ ├── Telegram/workflows/ # answer-messages
│ │ ├── Content/workflows/ # tweet, essay, image
│ │ ├── DDMemo/workflows/ # generate
│ │ └── GTD/ # autonomous task execution
│ │ ├── SKILL.md # main skill entry point
│ │ ├── workflows/ # outreach, call-prep, podcast, research
│ │ └── learnings.md # action log
│ ├── agents/ # 10 agent profiles
│ ├── hooks/
│ │ └── load-context.ts # SessionStart hook
│ └── commands/ # 11 slash commands
│
├── .cybos/logs/ # Daily log files (MMDD-YY.md)
│
├── context/ # Core context
│ ├── who-am-i.md
│ ├── organization.md
│ ├── investment-philosophy.md
│ ├── style/ # Writing style guides
│ │ ├── voice-identity.md # Shared persona, tone (all content)
│ │ ├── writing-style-en.md # English style (essays, tweets)
│ │ └── writing-style-ru.md # Russian style (Telegram)
│ ├── img-style.md
│ ├── MEMO_template.md # DD memo template
│ ├── telegram/ # Per-person conversation logs
│ │ ├── README.md
│ │ └── <person-slug>.md # Persistent conversation file
│ └── entities/ # Entity context (indexed in PostgreSQL)
│ ├── README.md # Usage documentation
│ ├── people/ # Manual entity files (optional)
│ └── orgs/ # Manual entity files (optional)
│
├── deals/ # Deal folders
│ └── <company-slug>/
│ ├── .cybos/
│ │ ├── context.md # Deal metadata, status
│ │ └── scratchpad/ # Agent working files
│ ├── research/ # Research reports
│ └── memo/ # Investment memo
│
├── research/ # Topic/market research
│ └── <topic-slug>/
│
├── projects/ # Multi-week initiatives
│ └── <project-slug>/
│ └── .cybos/
│ └── context.md # Project context, status, goals
│
├── content/ # Generated content
│ ├── ideas/ # Raw ideas, notes (source material)
│ │ ├── README.md # Usage guide
│ │ └── _template.md # Idea template
│ ├── tweets/
│ ├── essays/
│ ├── images/
│ └── work/ # GTD task outputs (MMDD-<slug>.md)
│
├── .env.example # API key template
└── .gitignore # Excludes sensitive data
1. FAST SEARCH (seconds)
└─ perplexity search OR exa search
└─ Good for: quick facts, validation
2. DEEP RESEARCH (1-5 minutes)
└─ parallel-task createTask → poll getTask
└─ Good for: comprehensive reports
3. TARGETED EXTRACTION (as needed)
└─ exa getContents (PRIMARY)
└─ Fallback: parallel-search web_fetch
└─ Last resort: firecrawl scrape
4. HARD SCRAPING (last resort)
└─ playwright for JS-heavy sites
Perplexity:
mcp__perplexity__search- Fast search with citationsmcp__perplexity__research- Deep research (basic/deep)
Parallel Task:
mcp__parallel-task__createTask- Start deep researchmcp__parallel-task__getTask- Poll for results
Exa (PRIMARY for URL content):
mcp__exa__search- Web searchmcp__exa__findSimilar- Similar pagesmcp__exa__getContents- Extract content from URLs (PRIMARY)mcp__exa__linkedinSearch- LinkedIn profiles
Parallel Search (FALLBACK):
mcp__parallel-search__web_search_preview- Web search fallbackmcp__parallel-search__web_fetch- URL content fallback
Firecrawl (LAST RESORT ONLY - use when exa and parallel-search fail):
mcp__firecrawl__scrape- Scrape URLmcp__firecrawl__extract- Structured extraction
Nano Banana:
mcp__nano-banana__generate_image- Generate images (Gemini 3 Pro Image)mcp__nano-banana__edit_image- Edit existing imagesmcp__nano-banana__continue_editing- Iterative refinement
Available Agents
| Agent | Model | Purpose |
|---|---|---|
| company-researcher | Haiku | Company business model, product, traction |
| market-researcher | Haiku | TAM, dynamics, competitive landscape |
| financial-researcher | Haiku | Funding history, metrics, valuation |
| team-researcher | Haiku | Founder backgrounds, assessment |
| tech-researcher | Haiku | Technology deep-dives, moat analysis |
| content-researcher | Haiku | Topic research for content (academic, social, first-principles) |
| investment-researcher | Haiku | Topic research for investment (market dynamics, opportunities) |
| quality-reviewer | Sonnet | Gap analysis, quality assurance (deep mode only) |
| content-writer | Sonnet | Tweets, essays following brand |
| image-prompter | Sonnet | Image prompt generation |
| memo-analyst | Opus | Strategic investment analysis |
| memo-writer | Sonnet | Memo generation from template |
| synthesizer | Sonnet | Consolidate parallel research |
Research agent selection: Agents are selected dynamically based on research type (Company, Tech, Market, Topic) and intensity (Quick, Standard, Deep). See .claude/skills/Research/shared/agent-selection-matrix.md for the complete selection matrix.
To run agents in parallel, issue multiple Task calls in the same response:
- Task 1: company-researcher
- Task 2: market-researcher
- Task 3: financial-researcher
- Task 4: team-researcher
Claude Code executes these simultaneously for maximum speed.
All workflows log to /.cybos/logs/MMDD-<slug>-YY.md (single file per day).
Format:
## HH:MM | category | type | subject
- Workflow: name
- Duration: Xm Ys
- Output: /path/to/output.md
- Agents: (if used)
- Sources: (if used)
---View logs:
/cyber-log # Today's activity
/cyber-log week # Last 7 days
/cyber-log 2025-12-19 # Specific dateSymptom: Context not injected at session start
Solution:
# Verify hook is executable
chmod +x .claude/hooks/load-context.ts
# Test hook manually
bun .claude/hooks/load-context.ts < /dev/nullSymptom: mcp__[server]__[tool] is not available
Solution:
- Check API key in
.env - Verify
.mcp.jsonconfiguration (uses${VAR}syntax for env vars) - Test MCP server independently:
npx -y @perplexity-ai/mcp-server --helpSymptom: Task agent doesn't complete
Solution:
- Reduce scope of agent task
- Use Haiku for simpler tasks (faster)
- Opus is slower but provides strategic depth
Symptom: Research report is sparse
Solution:
- Run research workflow again (MCP services may have been slow)
- Try different MCP tools (Exa vs Perplexity)
- Check API quotas/limits
Symptom: Nano Banana returns error
Solution:
- Check
GEMINI_API_KEYis set in environment - Simplify prompt if safety checker triggered
- Use
continue_editingto iterate on partial results
Always run company research before generating a memo:
/cyber-research-company "Company"
# Wait for completion
/cyber-memo "Company"Workflows automatically use parallel agents for speed. Don't try to serialize them.
Content workflows expect iteration. Provide specific feedback:
- "Good" or "ship it" = approved
- "More technical" = adjust tone
- "Different hook" = revise opening
When new information emerges, update /deals/<company>/.cybos/context.md manually and regenerate memo.
Check /cyber-log regularly to track what's been done and what's pending.
Capture rough thoughts in /content/ideas/ and expand later:
# Quick capture
echo "# Agent economy\n\n- AI agents need wallets\n- Crypto enables M2M payments" > content/ideas/agent-econ.md
# Expand when ready
/cyber-essay @content/ideas/agent-econ.md "Full essay with examples"Commit regularly, especially after research completion:
git add .
git commit -m "Research: Acme Corp"- Create workflow file:
.claude/skills/<Skill>/workflows/<workflow>.md - Create slash command:
.claude/commands/cyber-<command>.md - Reference workflow with
@.claude/skills/...in command - Test with
/cyber-<command>
- Create agent profile:
.claude/agents/<agent-name>.md - Define purpose, output format, guidelines
- Reference in workflow as
Task: <agent-name>
Edit context/investment-philosophy.md - all workflows automatically apply updated criteria.
Content follows a layered style system:
- Shared persona:
context/style/voice-identity.md- archetype, tone, anti-patterns (all languages) - English style:
context/style/writing-style-en.md- essay/tweet structure, rhythm, banned words - Russian style:
context/style/writing-style-ru.md- Telegram posts, Russian-English mix
Edit the appropriate file based on what you want to change. The content-writer agent and all workflows reference these files.
Edit context/img-style.md - image-prompter agent uses this aesthetic system.
- Research workflows (company, tech, market)
- Content generation (tweets, essays, images)
- DD memo generation
- Slash command interface
- Logging system
- MCP integration
- CLI wrapper (Bun/TypeScript) for headless execution
- Scheduled automation (cron jobs)
- Voice notifications (ElevenLabs)
- Call prep skill (meeting briefings)
- Portfolio monitoring (ongoing tracking)
- Team collaboration features
MIT License with Attribution Requirement
Copyright (c) 2026 Cybos Contributors