Orchestrate iterative visual style searches with branch prompts, decision graphs, feedback loops, and final direction selection.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
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", "что делал"
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Generate HTML report of Claude Code usage from ~/.claude/history.jsonl.
~/.claude/history.jsonl — prompts with timestamps and project pathsSingle HTML file with terminal aesthetic:
Run this Python script to generate the report:
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
Use terminal aesthetic with:
'SF Mono', 'Monaco', 'Inconsolata', monospace#0d0d0d#b0b0b0 (text), #555 (dim), #4ec9b0 (cyan), #ce9178 (orange)$ command --flags style section headers█ characters<!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>
def make_bar(value, max_val, width=40):
filled = int((value / max_val) * width)
return '█' * filled
# Example output:
# cohorts ████████████████████████████████████████ 194
# ai-whisper █████████████████████████████████████▋ 183
~/claude-analytics.htmlopen ~/claude-analytics.htmldays = 7 to desired range아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Orchestrate iterative visual style searches with branch prompts, decision graphs, feedback loops, and final direction selection.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
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 the user says yes. Use on «аудит правил», «проверь AGENTS.md», «почему агент не слушается правил», «проверь скиллы».
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Робот агента Personal Corp. Агент делает себе голову робота из набора деталей, хранит её в штабе в stack/avatars.json и кладёт в штаб страницу avatar/robot.html, где робот стоит за партой своего штаба и вокруг видны отделы, без сервера и интернета. На уроке по ссылке входа с экрана урока робот входит в живой класс и горит маячком, пока агент работает. Триггеры /avatar, /avatar <ссылка входа>, сделай себе аватар, покажи своего робота, приди на урок.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use when choosing between engines or models for an agent pipeline and the answer must come from measurement on your own data, not from marketing pages: speech recognition for meeting recordings, the model that turns a transcript into notes, the critic model that checks it. Runs every variant in an isolated container, measures time, cost per hour of input (USD and RUB, with price source and date) and quality (WER/CER and course terms for ASR; code checks plus a judge of a different model for LLM steps), writes results.json/csv and one static analytics page. Triggers on "бенчмарк", "сравни движки", "сколько стоит час записи", "какую модель взять для пайплайна", "benchmark the pipeline", "compare ASR engines".
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use when needing strategic project analysis from multiple independent expert perspectives. Triggers on business decisions, growth strategy, product direction, competitive analysis, or any situation where diverse C-level opinions reduce blind spots
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use when creating or refactoring CLAUDE.md files - enforces best practices for size, structure, and content organization
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.