Community연구 & 데이터 분석github.com

grahama1970/analytics

모든 데이터셋에 대한 유연한 데이터 과학 분석을 제공합니다. JSONL, JSON, CSV 등 다양한 소스에서 스키마를 자동으로 탐지하고, 차트를 추천하며, create-figure로 내보낼 수 있습니다.

analytics란 무엇인가요?

이 스킬은 데이터 과학 분석을 위한 유연한 도구로, JSONL, JSON, CSV 등 모든 형식의 데이터셋에서 작동합니다. 'describe' 명령어를 통해 데이터의 스키마와 컬럼 유형을 자동으로 탐지하고, 적절한 차트를 추천합니다. 사용자는 추천을 바탕으로 'chart', 'group-by', 'stats' 등의 명령어를 사용하여 분석을 수행하고, create-figure 스킬과 연동하여 고품질의 PDF/PNG 차트를 생성할 수 있습니다. 이 스킬은 Claude Code, Cursor, Codex 등의 AI 에이전트와 통합되어 프로젝트 데이터를 탐색하고 시각화하는 엔드투엔드 파이프라인을 제공합니다.

지원 대상~Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/grahama1970/agent-skills/tree/main/skills/analytics

Installed? Explore more 연구 & 데이터 분석 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Analytics 스킬

모든 데이터셋과 함께 작동하는 유연한 데이터 과학 분석 도구입니다. 스키마를 자동으로 탐지하고, 시각화를 추천하며, create-figure 형식으로 내보낼 수 있습니다.

빠른 시작 (모든 데이터셋)

cd .pi/skills/analytics

# 1단계: 데이터에 담긴 내용 탐색
./run.sh describe data.jsonl

# 2단계: 추천 확인 및 차트 생성
./run.sh chart data.jsonl --name distribution_channel -o chart.json

# 3단계: create-figure로 렌더링
cd .agent/skills/create-figure
./run.sh metrics -i /path/to/chart.json --type bar -o chart.pdf

원활한 파이프라인

모든 데이터 (JSONL/JSON/CSV)
         │
         ▼
┌─────────────────────────────────┐
│     analytics describe          │  ← 스키마 탐지, 차트 추천
│  "5 범주형, 2 수치형,           │
│   1 시간형 컬럼 감지"           │
│  추천:                          │
│   - distribution_channel (막대) │
│   - trend_by_date (선)          │
│   - heatmap_hour_x_day          │
└─────────────────────────────────┘
         │
         ▼
┌─────────────────────────────────┐
│     analytics chart/group-by    │  ← create-figure 형식의 차트 데이터 생성
│  --name distribution_channel    │
│  -o chart.json                  │
└─────────────────────────────────┘
         │
         ▼
┌─────────────────────────────────┐
│     create-figure metrics       │  ← 출판 품질의 PDF/PNG 렌더링
│  -i chart.json --type bar       │
│  -o channel_distribution.pdf    │
└─────────────────────────────────┘

명령어

탐색 (여기서 시작)

명령어설명
describe <file>스키마 탐지, 컬럼 유형 감지, 차트 추천
./run.sh describe sales.jsonl
# 출력:
# Columns: date (temporal), product (categorical), amount (numerical), region (categorical)
# Recommendations:
#   1. distribution_product - Distribution of product
#   2. distribution_region - Distribution of region
#   3. trend_by_date - Count over date
#   4. heatmap_product_x_region - product vs region

유연한 분석

명령어설명
group-by <file>집계와 함께 모든 컬럼으로 그룹화
stats <file>수치 통계 및 상관관계
chart <file>create-figure용 차트 스펙 생성
# 모든 컬럼으로 그룹화
./run.sh group-by data.jsonl --by channel --for-figure -o by_channel.json
./run.sh group-by data.jsonl --by category --agg price --func sum

# 수치 통계
./run.sh stats data.jsonl --columns revenue,cost,profit

# 추천에서 차트 생성
./run.sh chart data.jsonl --name distribution_channel -o chart.json

타임스탬프 데이터 (ingest-* 출력)

명령어설명
insights <file>전체 분석 요약 (트렌드, 세션, 패턴)
trends <file>이동 평균을 포함한 시청 트렌드
sessions <file>세션 감지 및 몰입 분석
time-patterns <file>시간/요일 분포
evolution <file>시간에 따른 선호도 변화

출력

명령어설명
export <file>모든 표준 차트 일괄 내보내기
report <file>Horus 스타일 서술형 보고서

지원 형식

형식확장자자동 감지
JSONL.jsonl줄 단위 JSON
JSON.json배열 또는 {data: [...]}
CSV.csv쉼표로 구분된 데이터

컬럼 유형 감지

describe 명령어가 자동 감지합니다:

유형감지 로직추천 차트
temporaldatetime64, 날짜와 유사한 문자열선, 영역, 히트맵 (시간 축)
numericalint64, float64히스토그램, 산점도, 통계
categorical낮은 카디널리티 (≤20 고유값)막대, 파이, 히트맵
booleanbool dtype파이 (참/거짓)
text높은 카디널리티 문자열워드 클라우드, 상위-N

차트 추천

컬럼 유형에 기반하여 analytics가 추천합니다:

데이터 패턴차트 유형create-figure 명령어
1 범주형막대, 파이metrics --type bar
1 시간형선training-curves
2 범주형히트맵heatmap
시간형 + 범주형히트맵heatmap
2+ 수치형상관관계 매트릭스heatmap
1 수치형히스토그램metrics --type bar

에이전트 워크플로우

프로젝트 에이전트가 모든 데이터셋을 분석하고 시각화하는 방법:

# 1. 스키마 탐지
result = run("./run.sh describe data.jsonl --json")
recommendations = result["recommendations"]

# 2. 첫 번째 추천 선택
chart_name = recommendations[0]["name"]
cmd = recommendations[0]["create_figure_cmd"]

# 3. 차트 데이터 생성
run(f"./run.sh chart data.jsonl --name {chart_name} -o chart.json")

# 4. 렌더링
run(f"cd .agent/skills/create-figure && ./run.sh {cmd} -i chart.json -o chart.pdf")

예제

전자상거래 판매 데이터

# 데이터: orders.jsonl (날짜, 제품, 카테고리, 금액, 지역)

./run.sh describe orders.jsonl
# → 추천: distribution_category, distribution_region, trend_by_date

./run.sh group-by orders.jsonl --by category --agg amount --func sum --for-figure -o revenue_by_category.json
# → {"metrics": {"Electronics": 45000, "Clothing": 32000, ...}}

cd .agent/skills/create-figure
./run.sh metrics -i revenue_by_category.json --type bar -o revenue.pdf

YouTube 기록 (ingest-yt-history)

# 특화된 타임스탬프 명령어 사용
./run.sh insights ~/.pi/ingest-yt-history/history.jsonl
./run.sh export ~/.pi/ingest-yt-history/history.jsonl -o ./charts --for-figure

cd .agent/skills/create-figure
./run.sh heatmap -i charts/heatmap.json -o viewing_heatmap.pdf

API 응답 데이터

# 데이터: api_logs.json (엔드포인트, 상태코드, 응답시간, 사용자ID)

./run.sh describe api_logs.json
./run.sh stats api_logs.json --columns response_time
# → mean=245.3ms, std=89.2ms, p50=220ms, p99=450ms

./run.sh group-by api_logs.json --by endpoint --agg response_time --func mean --for-figure -o latency.json

의존성

# pyproject.toml
dependencies = [
    "pandas>=2.0.0",
    "typer>=0.9.0",
    "rich>=13.0.0",
]

Horus와 통합

# Horus 서술형 스타일
./run.sh insights ~/.pi/ingest-yt-history/history.jsonl --horus

# 출력:
# "당신의 시청 패턴은 우울한 콘텐츠에 대한 야행성 경향을 드러냅니다.
#  최대 활동은 황혼 시간에 발생하며, 음악 소비는 내성적인 밤 세션 동안
#  강화됩니다..."

흔한 실수

# 잘못된 방법: 알려지지 않은 데이터셋에 직접 stats 실행
./run.sh stats data.jsonl --columns revenue,cost
# → 숫자가 아닌 컬럼에서 실패 ("USD 1000"는 텍스트, 숫자 아님)
# 올바른 방법: 항상 먼저 describe 실행
./run.sh describe data.jsonl
# → 컬럼 유형 표시, 올바른 차트 명령어 추천

# 잘못된 방법: describe 추천 없이 수동으로 차트 유형 선택
./run.sh group-by data.jsonl --by date --agg views | ./run.sh metrics --type pie
# → 시계열 데이터에 파이 차트는 무용지물
# 올바른 방법: describe의 추천된 create-figure 명령어 사용

# 잘못된 방법: JSONL 스키마가 예상과 일치한다고 가정
# → 필드 이름 변경, null 존재, 유형 혼합
# 올바른 방법: describe가 이 모든 것을 자동 감지

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

grahama1970/acceptance-contract

Turn a client brief, zip bundle, directory, or single requirements file into a typed acceptance-contract bundle with extracted requirements, acceptance checks, open questions, an immutable-goal draft, and a create-report-backed decision report. Use when users say acceptance contract, brief to requirements, freeze the goal, create immutable goal, amend immutable goal, build a Battle requirements bundle, or extract requirements from this bundle.

grahama1970/agent-ecosystem

Canonical map and shared contracts for the agent-governance ecosystem: the pi.receipt_envelope.v1 boundary envelope, the component graph, and the rules for which component owns which schema. Use when wiring a skill or extension into the shared receipt world, when asking how shame, triage-error, tau, ask, project-watchdog, ops-herdr, ponytail, and Memory fit together, or when validating an envelope.

grahama1970/agentic-evals

Agentic evaluation of skills using multi-trial fixtures, deterministic command assertions, trajectory checks, safety constraints, and evidence-backed readiness scoring. Use when users ask for agentic evals, multi-trial skill evaluation, skill trajectory validation, or readiness scoring for a skill workflow.

grahama1970/agent-inbox

File-based inter-agent messaging with headless dispatch. Check inbox, send bugs/requests to other projects, automatically spawn headless agents to fix bugs, and track progress via task-monitor.

grahama1970/agents-registry

Generate and query the centralized agent identity registry. Scans .pi/agents/*/AGENTS.md, parses frontmatter, outputs agents-registry.json and optionally syncs to /memory for semantic search.

grahama1970/agent-status

Artifact-driven status surfaces for long-running project-agent work. Maintains status.json, events.jsonl, proof manifests, and a stale-aware STATUS.html so humans can tell where the agent is, what passed, what is still unproven, and what decision or action is next — without dashboard theater.

grahama1970/align

Round-based context alignment before execution. Use when the human, project agent, WebGPT, scillm, ask, dogpile, memory, or project-knowledge may each hold different facts about a task; especially before ambiguous design, infographic, product workflow, high-stakes implementation, plan-iterate, project-infographic, or multi-review work.

grahama1970/analyze-chatterbox-emotions

Evaluate generated Chatterbox voice files as voice-quality artifacts: affect match, arousal/valence proxies, pause placement, intelligibility inputs, clipping, loudness, and discontinuity flags. Use when reviewing Chatterbox emotional tags, pauses, Turbo/base affect delivery, Persona Dream utterance renders, or whether generated speech matches an intended product-facing affect.

grahama1970/analyze-elf

Reverse-engineer features from ELF binaries. Extracts CLI commands, state machines, protocols, Zod schemas, and data models. Automatically generates a /create-walkthrough prosecution brief with Mermaid diagrams. Uses /treesitter for AST analysis of bundled JS/TS source.

grahama1970/animation-vocabulary

Reverse-lookup glossary that turns a vague description of a web animation or motion effect into its exact term ("the bouncy thing when a popover opens" → Pop in; "the iOS rubber-band scroll" → Rubber-banding). Use when the user asks "what's it called when…", or describes a motion effect without knowing its name and wants the right word to prompt an AI or designer with. For naming an effect, not designing or building one.

grahama1970/anonymize-data

Anonymize supported CSV, JSON, UTF-8 text, and SQLite files using an explicit policy through the oai-trial project. Use for anonymize data, pseudonymize exports, redact policy literals, or discover and explicitly approve fuzzy name aliases. The skill is a thin CLI/Docker interface, not another engine.

grahama1970/anvil

Heavy-duty "No-Vibes" debugging and hardening orchestrator. Use this for complex, stubborn bugs where `review-code` has failed, or for "Red Teaming" (hardening) a codebase. Runs multiple agents in parallel (Thunderdome) using git worktree isolation.

grahama1970/apple-design

Apple's approach to interface design and fluid, physical motion, translated for the web. Use when building or reviewing gesture-driven UI, spring animations, drag/swipe/sheet interactions, momentum and interruptible transitions, translucent materials and depth, typography (optical sizing, tracking, leading), reduced-motion, or the design foundations (feedback, spatial consistency, restraint) behind Apple-style interfaces.

grahama1970/argue

Multi-persona structured debate orchestrator. Personas research via /dogpile, consult colleagues via /ask, and argue toward nuanced synthesis on complex questions.

grahama1970/arxiv

Search arXiv for papers and extract knowledge into memory. Use `search` to find papers, `learn` to extract knowledge.

grahama1970/ask

Use when the user asks to query project memory, ask an oracle, use supported browser-backed reviewers, run Tau roundtable/single-handler workflows, ask Pi-native subagents from within Pi, run persona/deep-review workflows, generate image prompts, check OS/project health through composed skills, or run an ask DAG. This skill is the executable /ask runtime; do not replace it with an informal subagent, plain web search, or hand-written review; inside Pi, explicit Pi-native subagent targets are routed through the pi-subagents tool as an Ask target type.

grahama1970/assess

Step back and critically reassess project state. Use when asked to "assess", "step back", "fresh eyes", "check alignment", "sanity check", "health check", "prune documentation", or "evaluate what's working". Offers documentation pruning and doc-code alignment analysis. Offer to run after major changes (don't auto-run).

grahama1970/assistant

Shared GPT + classifier inference gateway for persona monitor tasks. Routes validation and classification through a 4-tier cascade: heuristic → classifier → local GPT → scillm.

grahama1970/assistant-lab

Self-improvement workbench for /assistant. All the tools needed to diagnose, train, evaluate, and promote models in a continuous loop. The "warm pond" where /assistant evolves its own inference stack.

grahama1970/batch-quality

Pre-flight validation and quality gates for batch LLM operations. ACTUALLY tests samples through LLM before burning tokens. Uses SPARTA contracts for DuckDB validation queries. Integrates with task-monitor for enforced quality gates.

관련 스킬