Agent skill

Cc Analytics

by serejaris in serejaris/personal-corp-os

A skill your agent uses when user asks for Claude Code usage stats, weekly analytics, project activity summary, or wants to see what projects were worked on.

MITAuto-check passed

Install Cc Analytics

skills CLI
$ npx skills add serejaris/personal-corp-os --skill cc-analytics -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install serejaris/personal-corp-os cc-analytics --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/serejaris/personal-corp-os.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cc-analytics .claude/skills/cc-analytics && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
cc-analytics
GitHub stars
229
Token cost
~1.5k tokens
SKILL.md length
167 words
Files
4 (incl. assets)
Skills in repo
36
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when user asks for Claude Code usage stats, weekly analytics, project activity summary, or wants to see what projects were worked on.

  • Works in 5 steps: User asks for analytics: "покажи… → Run Python script to collect data → Generate HTML with template → …
  • User asks for Claude Code usage stats
  • SKILL.md covers Data Sources, Output, Generation Script and HTML Template, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Cc Analytics is an agent skill from serejaris/personal-corp-os. Use when user asks for Claude Code usage stats, weekly analytics, project activity summary, or wants to see what projects were worked on. Triggers on "аналитика", "статистика claude", "cc stats", "weekly report", "что делал"

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including assets (for example `README.md` and `README.ru.md`).

The repository describes itself as: Personal Corp OS — управление личной компанией через AI-агентов: задачи вне головы, отделы вместо памяти, недельное ретро. Открытые скиллы для Claude Code и Codex. The licence is MIT.

When your agent uses it

  • User asks for Claude Code usage stats
  • Weekly analytics
  • Project activity summary
  • Wants to see what projects were worked on

Example prompts

  • “статистика claude”
  • “cc stats”
  • “weekly report”
  • “/cc-analytics”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. User asks for analytics: "покажи статистику cc", "weekly report", "что делал за неделю"
  2. Run Python script to collect data
  3. Generate HTML with template
  4. Save to ~/claude-analytics.html
  5. Open in browser: open ~/claude-analytics.html

What it can do on your machine

Read from SKILL.md and the folder at commit 95e36c3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python and html).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Cc Analytics loads about 1.5k tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 167 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~59
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from serejaris/personal-corp-os at commit 95e36c3, republished under its MIT licence (© serejaris). 167 words, ~1,491 tokens.

Download SKILL.mdSave it as .claude/skills/cc-analytics/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
cc-analytics
description
Use when user asks for Claude Code usage stats, weekly analytics, project activity summary, or wants to see what projects were worked on. Triggers on "аналитика", "статистика claude", "cc stats", "weekly report", "что делал"

Claude Code Analytics

Generate HTML report of Claude Code usage from ~/.claude/history.jsonl.

Data Sources

  • History: ~/.claude/history.jsonl — prompts with timestamps and project paths
  • Git: Remote URLs and commit counts per project

Output

Single HTML file with terminal aesthetic:

  • ASCII art header
  • Summary stats (projects, prompts, commits, days)
  • Project table with remote links
  • ASCII bar chart

Generation Script

Run this Python script to generate the report:

python
import json
import os
import subprocess
from datetime import datetime, timedelta
from collections import defaultdict

def get_git_info(path):
    if not os.path.isdir(path) or not os.path.exists(os.path.join(path, '.git')):
        return None, 0
    try:
        result = subprocess.run(['git', '-C', path, 'remote', 'get-url', 'origin'],
                                capture_output=True, text=True, timeout=5)
        remote = result.stdout.strip() if result.returncode == 0 else None
        if remote:
            remote = remote.replace('git@github.com:', 'github.com/').replace('.git', '').replace('https://', '')

        week_ago = (datetime.now() - timedelta(days=7)).strftime('%Y-%m-%d')
        result = subprocess.run(['git', '-C', path, 'rev-list', '--count', f'--since={week_ago}', 'HEAD'],
                                capture_output=True, text=True, timeout=5)
        commits = int(result.stdout.strip()) if result.returncode == 0 else 0
        return remote, commits
    except:
        return None, 0

# Parse history
history = []
with open(os.path.expanduser('~/.claude/history.jsonl'), 'r') as f:
    for line in f:
        try:
            history.append(json.loads(line))
        except:
            pass

# Filter last N days (default 7)
days = 7
now = datetime.now()
cutoff = (now - timedelta(days=days)).timestamp() * 1000

projects = defaultdict(lambda: {'prompts': [], 'sessions': set()})
for entry in history:
    ts = entry.get('timestamp', 0)
    if ts >= cutoff:
        project = entry.get('project', 'unknown')
        projects[project]['prompts'].append(entry)
        projects[project]['sessions'].add(datetime.fromtimestamp(ts/1000).strftime('%Y-%m-%d'))

# Collect data
results = []
total_commits = 0
for project, data in projects.items():
    remote, commits = get_git_info(project)
    total_commits += commits
    results.append({
        'name': os.path.basename(project) or project.replace('/Users/ris/', '~/'),
        'folder': project.replace('/Users/ris/', '~/'),
        'remote': remote,
        'prompts': len(data['prompts']),
        'sessions': len(data['sessions']),
        'commits': commits
    })

results.sort(key=lambda x: -x['prompts'])
max_prompts = results[0]['prompts'] if results else 1

HTML Template

Use terminal aesthetic with:

  • Monospace system fonts: 'SF Mono', 'Monaco', 'Inconsolata', monospace
  • Dark background: #0d0d0d
  • Muted colors: #b0b0b0 (text), #555 (dim), #4ec9b0 (cyan), #ce9178 (orange)
  • ASCII box-drawing for header
  • $ command --flags style section headers
  • ASCII bar chart using █ characters
html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>claude-analytics</title>
  <style>
    body {
      font-family: 'SF Mono', 'Monaco', 'Inconsolata', monospace;
      background: #0d0d0d;
      color: #b0b0b0;
      font-size: 14px;
      line-height: 1.6;
      padding: 24px;
    }
    .container { max-width: 900px; margin: 0 auto; }
    .header { color: #6a9955; margin-bottom: 24px; }
    .dim { color: #555; }
    .bright { color: #e0e0e0; }
    .cyan { color: #4ec9b0; }
    .orange { color: #ce9178; }
    .row {
      display: grid;
      grid-template-columns: 24px 200px 1fr 80px 80px 60px;
      gap: 8px;
      padding: 6px 0;
      border-bottom: 1px solid #1a1a1a;
    }
    .row:hover { background: #141414; }
    a { color: #555; text-decoration: none; }
    a:hover { color: #888; }
    .stat-box { display: inline-block; margin-right: 32px; }
    .stat-value { font-size: 28px; color: #e0e0e0; }
    .stat-label { color: #555; font-size: 12px; }
  </style>
</head>
<body>
  <div class="container">
    <pre class="header">
┌─────────────────────────────────────────────────────────────────┐
│   ██████╗██╗      █████╗ ██╗   ██╗██████╗ ███████╗              │
│  ██╔════╝██║     ██╔══██╗██║   ██║██╔══██╗██╔════╝              │
│  ██║     ██║     ███████║██║   ██║██║  ██║█████╗                │
│  ██║     ██║     ██╔══██║██║   ██║██║  ██║██╔══╝                │
│  ╚██████╗███████╗██║  ██║╚██████╔╝██████╔╝███████╗              │
│   ╚═════╝╚══════╝╚═╝  ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝              │
│   Weekly Analytics Report                                       │
│   {start_date} .. {end_date}                                    │
└─────────────────────────────────────────────────────────────────┘
</pre>
    <!-- Stats, table, chart sections -->
  </div>
</body>
</html>

Bar Chart Generation

python
def make_bar(value, max_val, width=40):
    filled = int((value / max_val) * width)
    return '█' * filled

# Example output:
# cohorts          ████████████████████████████████████████ 194
# ai-whisper       █████████████████████████████████████▋ 183

Usage

  1. User asks for analytics: "покажи статистику cc", "weekly report", "что делал за неделю"
  2. Run Python script to collect data
  3. Generate HTML with template
  4. Save to ~/claude-analytics.html
  5. Open in browser: open ~/claude-analytics.html

Customization

  • Period: Change days = 7 to desired range
  • Output path: Change save location
  • Colors: Adjust CSS variables
  • Columns: Add/remove metrics in grid

© serejaris, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (assets) in skills/cc-analytics of serejaris/personal-corp-os.

  • SKILL.md
  • README.md
  • README.ru.md
  • assets/illustration.png

Open the folder on GitHubat commit 95e36c3

Compare with similar skills

Cc Analytics next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Cc Analytics compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cc Analytics this skillserejaris/personal-corp-os229—~1.5kAutomated safety check: PassMIT
Weekly Project Digeststhedotmack/claude-mem98k—~3.5kAutomated safety check: PassApache-2.0
Weekly Review PlanningNousResearch/hermes-agent252k—~994Automated safety check: PassMIT
Weekly Reviewalirezarezvani/claude-skills28k—~1.4kAutomated safety check: PassMIT
Caveman StatsJuliusBrussee/caveman110k—~491Automated safety check: PassApache-2.0
HTML Ppt Weekly Reportnexu-io/open-design100k—~1.3kAutomated safety check: PassApache-2.0

Similar skills

  • Weekly Project Digests

    thedotmack/claude-mem

    Turns a project's claude-mem timeline into a week-by-week narrative, splitting it by ISO week and running one subagent per week that receives the prior week's carry-forward block.

    98k GitHub stars~3.5k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Weekly Review Planning

    NousResearch/hermes-agent

    Weekly reset: commitments, stalled work, next-week plan. An agent skill from NousResearch/hermes-agent.

    252k GitHub stars~994 tokensUpdated today
    Knowledge ManagementAuto-check passed
  • Weekly Review

    alirezarezvani/claude-skills

    A skill your agent uses when someone wants to run a weekly review, close open loops, audit stalled projects and commitments, get their system back to trusted, restart a lapsed review habit, or says…

    28k GitHub stars~1.4k tokensUpdated 1 mo ago
    Knowledge ManagementAuto-check passed
  • Caveman Stats

    JuliusBrussee/caveman

    Show recorded output and cache-read token usage and mode attribution for the current Claude Code session, or locate the host's native usage report.

    110k GitHub stars~491 tokensUpdated today
    Auto-check passed
  • HTML Ppt Weekly Report

    nexu-io/open-design

    OpenDesign's weekly growth review: stars, installs, activation — the number, the driver, and the recommended move.

    100k GitHub stars~1.3k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Gws Workflow Weekly Digest

    googleworkspace/cli

    Google Workflow: Weekly summary: this week's meetings + unread email count.

    31k GitHub stars~281 tokensUpdated 2 days ago
    Writing & ContentAuto-check passed

More from serejaris/personal-corp-os

All 36 skills in this repo
  • Weekly Planning

    serejaris/personal-corp-os

    A skill your agent uses when the user is transitioning from a completed retro into a weekly plan, choosing weekly outcomes, scheduling a full ISO week, or asking for "план на неделю", "weekly…

    229 GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Gh Issues

    serejaris/personal-corp-os

    A skill your agent uses when creating, searching, updating, or managing GitHub issues via CLI.

    229 GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • Product Data Audit

    serejaris/personal-corp-os

    A skill your agent uses when auditing a product, business, or project ecosystem — analyzing data sources, decision loops, bottlenecks, and implementation contours.

    229 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Tg Bot Ops

    serejaris/personal-corp-os

    A skill your agent uses when operating, debugging, deploying, or monitoring a Telegram bot or Telegram-to-agent gateway.

    229 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check: notes
  • Audit Agent Rules

    serejaris/personal-corp-os

    Audits the agent rules in the current folder (AGENTS.md, nested AGENTS.md files) and the skill descriptions the agent sees at start, then reports what to cut, move or rewrite and edits only after…

    229 GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed
  • Make Landing

    serejaris/personal-corp-os

    Создаёт несколько вариантов дизайна 2D-поверхности (лендинг, герой, обложка, слайды): свой визуальный референс и автор на вариант, полный design.md с UTC/SHA-256 до кода, проверка в браузере…

    229 GitHub stars~2.1k tokensUpdated yesterday
    Auto-check passed

Questions about Cc Analytics

What does Cc Analytics do?

A skill your agent uses when user asks for Claude Code usage stats, weekly analytics, project activity summary, or wants to see what projects were worked on. Cc Analytics is an agent skill from serejaris/personal-corp-os. Use when user asks for Claude Code usage stats, weekly analytics, project activity summary, or wants to see what projects were worked on.

When should I use Cc Analytics?

Cc Analytics fits situations like: user asks for Claude Code usage stats; weekly analytics; project activity summary; wants to see what projects were worked on.

How do I install Cc Analytics in Claude Code?

Run `npx skills add serejaris/personal-corp-os --skill cc-analytics -a claude-code`. Or copy the skill folder (skills/cc-analytics in serejaris/personal-corp-os) into .claude/skills/cc-analytics in your project. Claude Code loads it when a task matches its description.

How do I install Cc Analytics in Codex?

Run `npx skills add serejaris/personal-corp-os --skill cc-analytics -a codex`. Or copy the skill folder (skills/cc-analytics in serejaris/personal-corp-os) into .agents/skills/cc-analytics in your project. Codex loads it when a task matches its description.

Can I use Cc Analytics in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add serejaris/personal-corp-os --skill cc-analytics -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cc-analytics, .gemini/skills/cc-analytics, .github/skills/cc-analytics and .opencode/skills/cc-analytics in your project.

What does Cc Analytics need to run?

SKILL.md names no scripts, command-line tools or credentials: Cc Analytics is instructions for the agent only. Our summary lists: Python 3.

Does Cc Analytics access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Cc Analytics safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Cc Analytics use?

Cc Analytics is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Cc Analytics use?

About 1.5k tokens (SKILL.md is roughly 6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Cc Analytics?

Skills that share tags, products or a category with Cc Analytics: Weekly Project Digests (thedotmack/claude-mem, 98k stars), Weekly Review Planning (NousResearch/hermes-agent, 252k stars), Weekly Review (alirezarezvani/claude-skills, 28k stars) and Caveman Stats (JuliusBrussee/caveman, 110k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cc Analytics?

serejaris (a GitHub user) maintains it in serejaris/personal-corp-os, which has 229 GitHub stars. The repository holds 36 skills in this directory. The repository was last updated on October 7, 2026.

Source: serejaris/personal-corp-os on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.