Get brutally honest, AI-powered code reviews from Karen - no BS, just reality checks.
Works with Anthropic Claude OR OpenAI GPT-4 - Choose your preferred AI provider.
- Auto-Update README Badge - Karen automatically keeps your score badge fresh
- Brutally Honest Reviews - AI-powered analysis that tells it like it is
- Karen Score (0-100) - Quantified assessment across 5 key dimensions
- Auto PR Comments - Karen roasts your PRs automatically
- Auto-Commit Results - Push scores, reviews, and badges back to your repo
# My Project
<!-- karen-badge-start -->
<!-- karen-badge-end -->
Description...Default: Manual Trigger
name: Karen Code Review
on:
workflow_dispatch: # Manual trigger via Actions tab
jobs:
karen-review:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- uses: actions/checkout@v4
- name: Karen Review
uses: khaliqgant/karen-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
auto_update_readme: true # Automatically update badge in README
generate_badge: true
post_comment: true
- name: Commit results
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add .karen/ README.md
git diff --staged --quiet || git commit -m "Update Karen review [skip ci]"
git pushOptional: Auto-run on PRs
name: Karen Code Review
on:
workflow_dispatch: # Manual trigger
pull_request: # Auto-run on PRs
branches: [main]
jobs:
karen-review:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- uses: actions/checkout@v4
- name: Karen Review
uses: khaliqgant/karen-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
auto_update_readme: true
generate_badge: true
post_comment: true
- name: Commit results
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add .karen/ README.md
git diff --staged --quiet || git commit -m "Update Karen review [skip ci]"
git pushGet an API key and add it to your repository secrets:
- Anthropic Claude (Recommended): console.anthropic.com β Add as
ANTHROPIC_API_KEY - OpenAI GPT-4: platform.openai.com β Add as
OPENAI_API_KEY
Push code and Karen will:
- Analyze your repository
- Generate a score (0-100)
- Auto-update your README badge (clickable link to review)
- Comment on PRs
- Save detailed reviews to
.karen/review.md
Karen evaluates across 5 dimensions (0-20 points each):
| Dimension | What It Measures |
|---|---|
| π Bullshit Factor | Over-engineering vs. simplicity |
| βοΈ Actually Works | Does it do what it claims? |
| π Code Quality | Will the next dev curse you? |
| β Completion | TODO vs. actually done |
| π― Practical Value | Solves real problems vs. resume padding |
Score Grades:
- 90-100 π Surprisingly legit
- 70-89 β Actually decent
- 50-69 π Meh, it works I guess
- 30-49 π¨ Needs intervention
- 0-29 π Delete this and start over
| Input | Default | Description |
|---|---|---|
anthropic_api_key |
- | Anthropic API key for Claude |
openai_api_key |
- | OpenAI API key for GPT-4 |
auto_update_readme |
false |
Auto-insert/update badge in README |
generate_badge |
true |
Generate Karen score badge |
post_comment |
true |
Post review as PR comment |
min_score |
0 |
Minimum score threshold (shows warning if below) |
strictness: 8 # 1-10, how brutal Karen should be
weights:
bullshitFactor: 0.25
actuallyWorks: 0.25
codeQualityReality: 0.20
completionHonesty: 0.15
practicalValue: 0.15- uses: khaliqgant/karen-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}- uses: khaliqgant/karen-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
auto_update_readme: true # Badge updates automatically!- uses: khaliqgant/karen-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
min_score: 70 # Shows warning if score < 70- uses: khaliqgant/karen-action@v1
with:
openai_api_key: ${{ secrets.OPENAI_API_KEY }}.karen/
βββ score.json # Current score & breakdown
βββ review.md # Latest review
βββ history/ # Historical reviews
β βββ 2025-10-18-12-30.md
βββ badges/ # Generated badges
βββ score-badge.svg
Get Karen interactively in Claude Code or Cursor with PRPM:
npm install -g prpm
prpm install @prpm/karen-repo-reviewer-skill # Claude Code
prpm install @prpm/karen-repo-reviewer # Cursor IDEQ: Will Karen roast my code? A: Yes. That's literally her job.
Q: How does auto-update badge work?
A: Karen finds <!-- karen-badge-start --> markers in your README (or adds them if missing) and updates the badge automatically. The badge is clickable and links to .karen/review.md so readers can see Karen's full hot take.
Q: Will this fail my CI?
A: Only if you set min_score and Karen's score is below it.
Q: How much does this cost? A: You need an Anthropic or OpenAI API key. Typical review costs ~$0.10-0.50 depending on repo size.
MIT
π₯ Get roasted. Get better. - Karen