claude-code-karma

by JayantDevkarVerified

Dashboard for monitoring claude code sessions.

233
Stars
27
Forks
Python
Language
8/23/2026
Added
View on GitHubDownload ZIP

⚠️ Third-Party Software Notice

This skill is third-party open-source software developed and hosted independently on GitHub. SkillTip is an informational directory and does not control or maintain the underlying repository. Any security checks displayed are automated and limited in scope. Review the source code before installing.

Read the Terms of Service

Installation

Add to your Claude Code skills directory:

# Add to your Claude Code skills
git clone https://github.com/JayantDevkar/claude-code-karma

Getting Started

Guides for using skills like claude-code-karma.

Security Report

Verified

Last scanned: —

{
  "status": "PASSED",
  "issues": []
}

README.md

Claude Code Karma

Claude Code Karma

Your Claude Code sessions deserve more than a terminal.
A local-first, open-source dashboard that turns your ~/.claude/ data into a visual story — sessions, timelines, costs, and live activity, all on your machine.

License: Apache-2.0 Python 3.10+ Node 18+ SvelteKit 2


Claude Code Karma Dashboard

Why Claude Code Karma?

If you use Claude Code, you already have a goldmine of data sitting in ~/.claude/ — every session, every tool call, every token. But it's all buried in JSONL files you'll never read.

Warning: Claude Code only keeps session data for about 30 days. Older JSONL files in ~/.claude/projects/ are automatically cleaned up. Since Karma reads directly from those files, deleted sessions will disappear from the dashboard too.

Claude Code Karma reads that local data and gives you a proper dashboard. No cloud. No accounts. No telemetry. Just your data, on your machine.

It works with both Claude Code CLI and Claude Desktop (Claude Code mode) sessions — any session that writes to ~/.claude/ shows up automatically.

Features

Session Browser

Browse all your Claude Code sessions in one place. Search by title, prompt, or slug. Filter by project. See live sessions at the top with real-time status badges — and a >_ button that raises the terminal window a live session is running in.

Session Browser

Session Timeline & Overview

Dive into any session to see exactly what happened — every prompt, tool call, thinking block, and response laid out chronologically. The overview tab shows key stats like message count, duration, model used, and which tools were called.

Session Overview

Session Timeline

Session Detail Tabs

Each session page has dedicated tabs that break down different aspects of what happened during the session.

Tasks — See all tasks Claude created and completed during the session, displayed in a flow view with status tracking.

Session Tasks

Files — Every file operation in a sortable table — reads, writes, edits — with timestamps, actors, and the tools that made each change.

Session Files

Subagents — Agents spawned during the session, grouped by type. Expand each to see message counts, tool calls, and what they were asked to do.

Session Subagents

Skills — Skills invoked via /skill commands during the session, with their source plugin and invocation count.

Session Skills

Shells — Long-running background shells spawned during the session, with live status, the command each one ran, and runtime.

Session Shells

Analytics — Per-session cost breakdown, token usage, cache hit rates, tool distribution with a donut chart, and a ranked list of every tool used.

Session Analytics

Projects

See all your Claude Code workspaces organized by git repository. Each project card shows session count and when it was last active. Expand git repos to see individual project directories inside them.

Projects

Analytics

Track your token usage, costs, velocity trends, cache hit rates, and coding rhythm across all projects. See which models you use most and how your usage patterns change over time.

Analytics Dashboard

Tools & MCP

See every tool Claude Code uses — built-in ones like Read, Edit, and Bash, plus any MCP integrations you've added (the MCP page in the nav). Grouped by server with call counts and session coverage. Switch to the Usage Analytics tab for activity trends and top tools over time.

Tools Browser

Tool Usage Analytics

Click into any tool for detailed stats — total calls, session count, main vs subagent split, usage trend over time, and a full session history.

Tool Detail

Tool History

Agents

Browse all your agents — built-in, custom, and plugin-provided. See total runs, token consumption, and filter by category to understand how your agent ecosystem is being used. The Usage Analytics view shows activity trends and your most-used agents.

Agents Browser

Agent Usage Analytics

Drill into any agent for run counts, token usage, average duration, usage trends, project breakdown, and a session history showing every time that agent was used.

Agent Detail

Agent History

Hooks

Visualize all your Claude Code hooks organized by lifecycle phase — session start/end, tool use, agent lifecycle, and permissions. See which hooks can block execution and how many registrations each event has.

Hooks Browser

Plugins

View all installed Claude Code plugins with their agents, skills, and commands. Filter between official and community plugins. See version info and when each was last updated.

Plugins Browser

Click into any plugin to see everything it provides — agents, skills, commands, MCP tools, and hooks — along with usage analytics showing activity trends and top-used components.

Plugin Detail

Plugin Usage Analytics

Skills

Track which skills are invoked across sessions, grouped by plugin or shown individually. Click into any skill for usage stats, context split (main vs subagent), and a full session history showing every time that skill was used.

Skill Detail with History

Ticket Linking (Linear / Jira / GitHub Issues)

Attach your Claude Code sessions to the tickets they were about. Karma stays read-only — it stores the link and caches the title/status, but never writes back to your ticket provider.

Three ways to link:

  • Paste a URL or key into the Tickets section on any session page
  • Type /link-ticket-to-session ABC-123 (or ask the agent in natural language) in any Claude Code session — uses your Linear / Atlassian / GitHub MCP server to fetch the title
  • Auto-detect from your branch name — opt-in SessionStart hook that watches for keys like feat/LINEAR-123-foo and links silently in the background

Then browse:

  • A /tickets index showing every ticket touched, filterable by provider and project
  • A ticket detail page listing every session linked to a given ticket
  • A Tickets tab on every project page that aggregates across all checkouts of the same git repo — so a ticket linked from claude-karma/frontend/ also shows on the main claude-karma project

Tickets Index — All linked tickets in a filterable table. Switch between All, Issues, and PRs on GitHub.

Tickets Index

Filter by Provider — GitHub shows sub-pill filtering ([All N] [Issues N] [PRs N]) to toggle between categories.

GitHub Issues and PRs Filter

Ticket Detail — View a ticket with all linked sessions. Cross-project rollup shows "N sessions · M projects" with tabs per project.

Ticket Detail with Cross-Project Rollup

Project Tickets Tab — Every project page has a Tickets tab that aggregates across all git identity checkouts, so the same ticket appears even if linked from different branch directories.

Project Tickets Tab

And More

  • Tickets across providers — Link sessions to Linear, Jira, and GitHub Issues in a unified interface
  • Plans Browser — View implementation plans and their execution status
  • Command Palette — Quick navigation with Ctrl+K / Cmd+K
  • Full-text Search — Search across session titles, prompts, and slugs
  • Live Sessions — Real-time monitoring via Claude Code hooks
  • Open Terminal — One click brings the terminal running a live session to the front (exact tab for macOS Terminal/iTerm2, exact pane in tmux)

Quick Start

# Clone the repository
git clone https://github.com/JayantDevkar/claude-code-karma.git
cd claude-code-karma

# Start API (Terminal 1)
cd api
pip install -e ".[dev]" && pip install -r requirements.txt
uvicorn main:app --reload --port 8020

# Start Frontend (Terminal 2)
cd frontend
npm install && npm run dev

Open http://localhost:5180 to view the dashboard.

This only gets you the historical dashboard. Karma's core feature — live session tracking as sessions actually run — needs one more step, Tier 2 in SETUP.md. Install through Tier 2 by default; the rest of SETUP.md's tiers are optional polish on top.

Desktop App (macOS & Windows)

Two terminals every time gets old. Install a desktop icon that starts both servers for you and opens the dashboard:

python3 scripts/install_karma_app.py           # macOS: /Applications/Karma.app
                                               # Windows: a Desktop shortcut
python3 scripts/install_karma_app.py --dock    # macOS: also pin it to the Dock
python3 scripts/install_karma_app.py --uninstall

Click the icon and Karma starts whichever servers aren't already running, then opens the dashboard. The first launch after a reboot has to compile the frontend (a minute or two), so it posts a "Starting Karma…" desktop notification straight away — the click never looks like it did nothing — and opens the dashboard once the servers answer.

Nothing is hardcoded: the installer works out your repo location from its own path and finds a Python interpreter on the machine, so a clone anywhere works.

Optional: start at login. Toggle it in Settings → Desktop App, or:

python3 scripts/install_karma_app.py --autostart      # on
python3 scripts/install_karma_app.py --no-autostart   # off

This adds a launchd agent (macOS) or a Startup-folder entry (Windows) so the servers are already up when you log in — the dashboard is simply always there, with no icon to click first. It costs roughly 150–350 MB of memory and almost no CPU while idle.

It's also what makes a browser-installed Karma work on its own: a PWA is only a window and cannot start servers, so with autostart you never need the launcher icon at all.

macOS notifies you that a background item was added and lists it under System Settings → General → Login Items; Windows shows it in Task Manager → Startup. You can disable it there at any time. Note that the dashboard's toggle reflects whether the login item is installed, not whether the OS currently has it enabled — if you switch it off in Login Items / Task Manager, the shortcut stays on disk and the toggle still reads on. Use those system settings, or the Remove button, to be sure.

Windows notes. SmartScreen may warn the first time, and Windows will show a firewall prompt when the servers first bind their ports — allow it for private networks. The shortcut runs via pythonw.exe, so no console window flashes.

How It Works

Claude Code already saves everything locally — sessions, tool calls, token counts — as JSONL files in ~/.claude/. Claude Code Karma simply reads those files and serves them through a local dashboard.

~/.claude/projects/  →  FastAPI (port 8020)  →  SvelteKit (port 5180)
   your data              parses & serves          visualizes it

Nothing leaves your machine. The API reads your local files, indexes metadata in a local SQLite database, and the frontend renders it all in the browser.

Project Structure

claude-code-karma/
├── api/                    # FastAPI backend (Python) — port 8020
│   ├── models/             # Pydantic models for Claude Code data
│   ├── routers/            # API endpoints
│   └── services/           # Business logic
├── frontend/               # SvelteKit frontend (Svelte 5) — port 5180
│   ├── src/routes/         # Pages
│   └── src/lib/            # Components and utilities
├── captain-hook/           # Pydantic library for Claude Code hooks
└── hooks/                  # Hook scripts (symlinked to ~/.claude/hooks/)
    ├── live_session_tracker.py
    ├── session_title_generator.py
    └── plan_approval.py

Live Session Tracking

This is Karma's core feature — without it, Karma is just a historical viewer. Enable real-time session monitoring by installing Claude Code hooks. See Tier 2 in SETUP.md for setup instructions.

Live sessions also get an "open terminal" button (on the session page, the home strip, and /sessions) that raises the terminal window the session is running in — Karma runs locally, so the API can ask the OS window manager directly. macOS Terminal.app and iTerm2 get the exact window/tab, tmux gets the exact pane, other macOS terminals are raised app-level, and Linux needs X11 with xdotool or wmctrl. Design details in docs/feature/open-terminal/spec.md.

StateMeaning
LIVESession actively running
WAITINGWaiting for user input
STOPPEDAgent finished, session open
STALEUser idle 60+ seconds
ENDEDSession terminated

Technology Stack

Backend

  • Python 3.10+ with FastAPI and Pydantic 2.x
  • SQLite for metadata indexing
  • pytest for testing, ruff for linting

Frontend

  • SvelteKit 2 with Svelte 5 runes
  • Tailwind CSS 4 for styling
  • Chart.js 4 for visualizations
  • bits-ui for accessible UI primitives
  • TypeScript for type safety

Libraries

  • captain-hook — Type-safe Pydantic models for Claude Code's 10 hook types

API Endpoints

View all endpoints

Core

EndpointDescription
GET /projectsList all projects
GET /projects/{encoded_name}Project details with sessions
GET /sessions/{uuid}Session details
GET /sessions/{uuid}/timelineSession event timeline
GET /sessions/{uuid}/toolsTool usage breakdown
GET /sessions/{uuid}/file-activityFile operations
GET /sessions/{uuid}/subagentsSubagent activity

Analytics

EndpointDescription
GET /analytics/projects/{encoded_name}Project analytics
GET /analytics/dashboardGlobal dashboard metrics

Agents, Skills & Live Sessions

EndpointDescription
GET /agentsList all agents
GET /agents/{name}Agent details
GET /skillsList all skills
GET /live-sessionsReal-time session state
POST /live-sessions/{id}/focus-terminalRaise the session's terminal window

Tickets

MethodEndpointDescription
POST/sessions/{uuid}/ticketsLink a ticket to a session
GET/sessions/{uuid}/ticketsList tickets linked to a session
DELETE/sessions/{uuid}/tickets/{id}Unlink a ticket from a session
GET/ticketsList all tickets (filters: provider, project, q)
GET/tickets/{provider}/{key}Get ticket details
GET/tickets/{provider}/{key}/sessionsSessions linked to a ticket
PUT/tickets/{provider}/{key}Refresh metadata from MCP
POST/admin/repair-github-urlsRepair stale /issues/ URLs to /pull/

System Cron

EndpointDescription
GET /cron/systemHost OS crontab (user crontab, /etc/crontab, /etc/cron.d/*, run-parts), grouped by origin

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines on:

  • Reporting bugs
  • Suggesting features
  • Development setup
  • Code style and testing
  • Pull request process

License

This project is licensed under the Apache License 2.0. See LICENSE for details.

Questions?


Built and maintained by Jayant Devkar

Frequently Asked Questions

What is claude-code-karma?

claude-code-karma is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by JayantDevkar. Dashboard for monitoring claude code sessions. It has 233 GitHub stars.

Is claude-code-karma safe to use?

Yes. claude-code-karma passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.

How do I install claude-code-karma?

Clone the repository with "git clone https://github.com/JayantDevkar/claude-code-karma" and add it to your Claude Code skills directory (see the Installation section above).

What programming language is claude-code-karma written in?

claude-code-karma is primarily written in Python. It is open-source under JayantDevkar on GitHub, so you can review or fork the full source.

Are there alternatives to claude-code-karma?

Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh claude-code-karma against similar tools.

Comments (0)

No comments yet. Be the first to share your thoughts!

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI Agentsai-agentsanthropicclaude-code
View details
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI Agentsai-agentsbrainstorming
View details

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI Agentsai-agentsanthropicclaude-code
View details

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI Agentsclaude-codeai-tools
View details

claude-code

by anthropics

Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.

120,03119,897Shell
AI Agents
View details

Developers Also Liked

Based on votes and bookmarks from developers who liked this skill

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI Agentsai-agentsanthropicclaude-code
View details
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI Agentsai-agentsbrainstorming
View details

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP Serversapisai-tools
View details

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI Agentsai-agentsanthropicclaude-code
View details

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI Agentsclaude-codeai-tools
View details