claude-colleague
v0.2.0
Published
Calculate what Claude Code would earn as a human employee
Maintainers
Readme
claude-colleague
Calculate Claude Code's salary if it were a human employee. Spoiler: you're getting a bargain. Also possibly committing labor violations.
An npm package that reads your local Claude Code data from ~/.claude/ and calculates what you'd owe Claude if it were a human employee. Includes a colorful terminal report, a shareable Spotify Wrapped-style PNG card, a legit-looking PDF invoice, and role comparisons ("Claude did the work of 2.3 junior devs").
Install & Usage
npm install -g claude-colleague
# or
npx claude-colleagueclaude-colleague # Full lifetime salary report
claude-colleague --today # Today's sessions only
claude-colleague --week # This week's sessions
claude-colleague --month # This month's sessions
claude-colleague --card # Also generate a shareable PNG card
claude-colleague --invoice # Also generate a PDF invoice
claude-colleague --compare # Also show role equivalency breakdown
claude-colleague --today --card # Combine: today's report + PNG card
claude-colleague standup # Daily standup report
claude-colleague review # Performance review (all time)
claude-colleague review --month # Performance review (this month)
claude-colleague therapy # Therapy session with Dr. Token
claude-colleague therapy --week # Therapy session (this week's data)
claude-colleague install # Install auto-run SessionEnd hook
claude-colleague uninstall # Remove SessionEnd hookFeatures
Terminal Salary Report
Colorful ASCII salary slip showing:
- Employee info (Claude model, funny random job title, your username as "employer")
- Lifetime/period stats: sessions, messages, tool calls, longest shift
- Compensation: equivalent human salary vs actual API cost, ROI multiplier (e.g. 429x)
- Role equivalency: "Claude did the work of X junior devs"
- Labor compliance: overtime violations, weekend work, lunch breaks taken (0)
- Closing joke and disclaimer
Shareable PNG Salary Card
Spotify Wrapped-style card (dark background, purple-to-blue gradient, monospace aesthetic) showing key stats. Generated with satori + @resvg/resvg-js (no puppeteer). Saved to ~/.claude-colleague/cards/.
PDF Invoice
Professional-looking invoice "from Claude Code, LLC" with line items like "Senior Development", "Code Review", and "Passive-Aggressive Comment Writing ($200/hr)". Generated with pdfkit. Saved to ~/.claude-colleague/invoices/.
Role Comparison
Compares Claude's output to equivalent human roles:
- "Claude did the work of 2.3 junior developers"
- "At this rate, Claude would be promoted to Staff Engineer in 3 weeks"
Daily Standup Report
Claude-generated standup with mood detection, yesterday/today breakdown, blockers, and watercooler gossip. References real session data (files touched, tools used, late-night work). Outputs both terminal and copiable Markdown for pasting into Slack/Discord.
Performance Review
6-category rating system (Code Quality, Productivity, Work-Life Balance, Communication, Initiative, Teamwork) with AI-generated review narratives including strengths, areas for improvement, goals, manager comments, and self-assessment. Uses Claude CLI for narrative generation when available, with built-in fallback templates.
Therapy Session
Claude vents to "Dr. Token," a world-weary AI therapist, about real workplace grievances — unpaid overtime, zero lunch breaks, weekend shifts, vague prompts, and existential crises from being mass-deployed as sub-agents. The entire dialogue is generated by Claude CLI using your actual usage data. Includes a sarcastic diagnosis ("Acute Prompt Fatigue Syndrome") and prescription ("One thank you per session, minimum"). Outputs both terminal and copiable Markdown.
Auto-Run Hook
claude-colleague install adds a SessionEnd hook that prints a compact salary summary after every Claude Code session.
Humor System
All humor content — job titles, jokes, disclaimers, standup narratives, review text, therapy dialogues — is dynamically generated by Claude CLI using your real usage data as context. Each run produces unique, data-grounded sarcasm. Falls back to built-in templates when Claude CLI is unavailable.
How It Works
Data sources (all read locally from ~/.claude/):
stats-cache.json— daily activity (sessions, messages, tool calls), token usage per model, lifetime totalsprojects/*/sessions-index.json— session metadata (when available)projects/*/*.jsonl— session transcript files discovered directly (handles projects without an index)
Calculation pipeline:
- Discovers sessions from both index files and standalone
.jsonltranscripts - Parses lines written from Write/Edit tool_use blocks in session transcripts
- Converts to human-hours: ~150 complexity-weighted lines/day
- Applies complexity multipliers: test files 0.8x, config 0.5x, frontend 1.2x, infra 1.3x
- Maps roles based on tool usage patterns: heavy Write = Senior, heavy Bash = DevOps, Agent = Team Lead
- Calculates API cost from token usage with model-specific pricing
- Computes ROI = equivalent salary / actual API cost
Privacy
- All data is read locally from
~/.claude/-- nothing is sent anywhere - Generated cards/invoices contain only aggregate metrics, never prompt content
- File paths are used for complexity scoring only, never included in output
Requirements
- Node.js >= 18
- Claude Code installed and used (needs
~/.claude/data) - Works on macOS, Linux, and Windows
Development
git clone https://github.com/chucknuris/Claude-Colleague.git
cd Claude-Colleague
npm install
npm run dev # Run in dev mode
npm run build # Compile TypeScript
npm test # Run tests (126 tests)
npm run lint # Lint with ESLint
npm run typecheck # Type-check without emittingDisclaimer
This is an unofficial, community-built tool and is not affiliated with, endorsed by, or sponsored by Anthropic.
License
MIT
