Quick Start (TL;DR)
pip install -r requirements.txt./install.sh- Total install time ~60 seconds
Uses (Claude Code Subagents) to provide alternative perspectives and contrarian analysis by consulting the OpenRouter API. I like using Moonshot Kimi K2 for this! This model thinks very differently than Claude, often in a complementary way.
Built for Solo Founders & Indie Hackers
Stop making critical decisions in an echo chamber.
ghost-cofounderis the co-founder you don't have—constantly challenging your assumptions about product, architecture, and market."It’s like having a brutally honest co-founder who never needs equity or sleep!"
I appreciate a star if you find this useful!
ghost-cofounder analyzing itself—brutal honesty included.
- Easily configurable model and system prompt via
config.json - Secure API key loading with
.env - Ready-to-use Bash install script for agent setup
- Compatible with Claude sub-agent workflows
- Claude Code (https://claude.ai/claude-code)
- Python 3.7+
pip(Python package manager)- An OpenRouter API key (get one here)
You can use any model from OpenRouter. I highly recommend you check your Openrouter settings > Privacy and > Paid Models and turn OFF "Enable providers that may train on inputs". Otherwise you may be routed to a provider that does train on your inputs without your explicit consent. More info here
-
Clone or Download This Repository
-
Install Python Dependencies
pip install -r requirements.txt
-
Configure Your API Key
- Copy
.env.exampleto.envand add your OpenRouter API key:cp .env.example .env # Edit .env and set your key
- Copy
-
Configure Model and System Prompt
- Copy
config.example.jsontoconfig.json:cp config.example.json config.json
- Edit
config.jsonto choose your preferred model and customize the system prompt. - Example:
{ "model": "moonshotai/kimi-k2:moonshotai", "system_prompt": "You are a constructive deviation agent. For any proposal, surface 2–3 concretely different approaches (not just criticisms) and finish with a 1-sentence recommendation on which trade-off is most pragmatic given current constraints. Stay ≤ 300 words." }
- Copy
-
Install the Agent for Claude Code
Run the install script to copy the agent files to your Claude agents directory and automatically bake in the correct script path:
bash install.sh
This will:
- Copy
ghost-cofounder.mdto~/.claude/agents/ - Replace
SCRIPT_DIRinghost-cofounder.mdwith the absolute path to your cloned project, so the agent always finds the correct script location.
- Copy
To get a contrarian response, simply ask Claude Code for a second opinion. You don't necessarily have to ask a specific question, Claude Code will take your current context into account and ask for a second opinion based on that. The subagent will use the OpenRouter API to provide alternative perspectives.
ghost_cofounder.py— Main script for querying OpenRouter APIconfig.json— Model and prompt configuration (copy fromconfig.example.jsonif missing)config.example.json— Example config for onboarding.env.example— API key storage example filerequirements.txt— Python dependenciesinstall.sh— Installs subagent and bakes in the script path for Claudeghost-cofounder.md— Documentation and agent definition for the ghost cofounder workflow
If you see errors about config.json not being found or invalid:
- Make sure you have copied
config.example.jsontoconfig.jsonin your project directory. - Ensure your
config.jsonis valid JSON (no trailing commas, proper quotes, etc.). - Edit
config.jsonto set your desired model and prompt.
MIT
