Community라이팅 & 에디팅github.com

grahama1970/batch-report

배치 처리 작업 완료 후 분석 보고서를 생성합니다. 매니페스트, 타이밍, 실패를 분석하여 포괄적인 마크다운 보고서를 생성하고, 선택적으로 agent-inbox에 전송하여 프로젝트 간 커뮤니케이션을 지원합니다.

batch-report란 무엇인가요?

이 스킬은 다양한 배치 처리 작업(예: extractor, YouTube, generic)의 완료된 출력 디렉토리나 상태 파일을 분석하여 상세한 마크다운 보고서를 생성합니다. 매니페스트 분석, 단계별 타이밍 분석, 실패 패턴 분류, 품질 메트릭 샘플링 등의 기능을 제공하며, CLI 도구로 설계되어 자동화 파이프라인에 쉽게 통합할 수 있습니다. --json 플래그를 지원하여 다른 도구와의 연동이 용이하고, --send-to 옵션을 통해 agent-inbox로 보고서를 전송하여 여러 프로젝트/에이전트 간의 투명한 커뮤니케이션을 가능하게 합니다. Visualizer와의 통합을 통해 생성된 데이터를 차트로 시각화할 수도 있습니다.

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

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

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

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

문서

배치 보고서 스킬

완료된 배치 처리 작업에 대한 종합적인 분석 보고서를 생성합니다.

특징

  • 매니페스트 분석 - 성공, 실패, 부분 완료 수 계산
  • 타이밍 분석 - 단계별 지연 시간 분석, 병목 지점 식별
  • 실패 패턴 - 실패 모드 분류 및 요약
  • 품질 메트릭 - 품질 평가를 위한 출력 샘플링
  • 마크다운 보고서 - 사람이 읽기 쉬운 요약
  • Agent-inbox 통합 - 프로젝트 인박스로 자동 전송

빠른 시작

cd .pi/skills/batch-report

# 추출기 배치 분석 (자동 형식 감지)
uv run python report.py analyze /path/to/batch/output

# 보고서 생성 후 agent-inbox로 전송
uv run python report.py analyze /path/to/batch/output --send-to extractor

# 요약 통계만 표시
uv run python report.py summary /path/to/batch/output

# 독립 실행형 상태 파일 분석
uv run python report.py state /path/to/.batch_state.json

# 파이핑을 위한 JSON 출력
uv run python report.py summary /path/to/output --json | jq .success_rate

명령어

analyze - 전체 분석 보고서

uv run python report.py analyze /path/to/output \
    --output report.md \
    --send-to extractor \
    --priority high

옵션:

옵션단축설명
--output-o출력 파일 경로 (기본값: 표준 출력)
--send-to-s보고서를 agent-inbox 프로젝트로 전송
--priority-pagent-inbox 우선순위 (low/normal/high/critical)
--sample-n포함할 샘플 수 (기본값: 5)
--format-f배치 형식: extractor, youtube, generic, auto (기본값: auto)
--json-j다른 도구로 파이핑하기 위한 JSON 출력

summary - 빠른 통계만

uv run python report.py summary /path/to/output
uv run python report.py summary /path/to/output --json

출력:

Batch: run-2025-12-18_144426-2eb428c
Total: 230 | Success: 180 | Failed: 35 | Partial: 15
Success rate: 78.3%
Avg time: 4.2 min | Slowest: 09_section_summarizer (45%)

JSON 출력:

{
  "batch": "run-2025-12-18_144426-2eb428c",
  "format": "extractor",
  "total": 230,
  "successful": 180,
  "partial": 15,
  "failed": 35,
  "success_rate": 78.3,
  "avg_time_min": 4.2
}

state - 독립 실행형 상태 파일 분석

uv run python report.py state /path/to/.batch_state.json
uv run python report.py state /path/to/.batch_state.json --json

모든 배치 작업의 .batch_state.json 파일과 호환됩니다.

failures - 실패 목록 및 이유

uv run python report.py failures /path/to/output
uv run python report.py failures /path/to/output --json

보고서 형식

# Batch Report: run-2025-12-18_144426-2eb428c

## 요약
- **총 항목:** 230
- **성공:** 180 (78.3%)
- **실패:** 35 (15.2%)
- **부분 완료:** 15 (6.5%)

## 타이밍 분석
| 단계 | 평균 (초) | 최대 (초) | 총 시간 대비 % |
|------|---------|---------|------------|
| 09_section_summarizer | 120.5 | 341.0 | 45.2% |
| 05_table_extractor | 65.3 | 105.0 | 24.5% |
...

## 실패 패턴
| 패턴 | 개수 | 예시 |
|---------|-------|---------|
| 빈 text_content | 12 | 047ca6ef... |
| CUDA OOM | 5 | 9497a4e5... |
...

## 권장 사항
1. 지식 추출을 위해 --text-only 모드 고려
2. VLM 이전에 테이블 신뢰도 임계값 추가
...

시각화

보고서 생성 후(특히 --json 사용 시), /create-figure를 통한 시각화를 제안합니다:

# 파이프라인 단계별 타이밍 워터폴
create-figure metrics --input batch.json --output timing.png --type hbar --title "단계별 타이밍"

# 성공/실패 분포
create-figure metrics --input batch.json --output results.png --type pie --title "배치 결과"

# 실패 패턴 분석
create-figure metrics --input batch.json --output failures.png --type bar --title "실패 패턴"

제공 시점: 배치 분석 결과를 제시한 후 "타이밍 분석을 시각화할까요?"라고 물어보세요.

지원되는 배치 형식

--format 플래그는 extractor, youtube, generic, auto (기본값) 중 하나를 허용합니다.

자동 감지 로직:

  1. */manifest.json과 */timings_summary.json이 존재하면 → extractor
  2. .batch_state.json에 description에 "transcript"가 포함되면 → youtube
  3. .batch_state.json이 존재하면 → generic

Extractor 배치

다음 파일 필요:

  • */manifest.json - 항목별 매니페스트
  • */timings_summary.json - 타이밍 데이터
  • */14_report_generator/json_output/final_report.json - 품질 메트릭
  • failed_urls.txt - 실패한 항목 목록

YouTube 트랜스크립트 배치

다음 파일 필요:

  • .batch_state.json - 트랜스크립트 관련 description을 포함한 상태 파일

Generic 배치

다음 파일 필요:

  • .batch_state.json - 완료/실패 개수가 포함된 상태 파일
  • *.log 파일 (선택 사항) - 실패 분석용

Agent-inbox와의 통합

# 버그로 보고서 전송
uv run python report.py analyze /path/to/output \
    --send-to extractor \
    --priority high

# 메시지 전송: extractor_abc123

종속성

dependencies = [
    "typer",
    "rich",
]

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/analytics

Flexible data science analytics for any dataset. Auto-discovers schema, recommends charts, exports to create-figure. Works with JSONL, JSON, CSV from any source.

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.

관련 스킬