Nippo
Use this skill when the user wants to turn recent Claude Code or Codex work into a report under reports/.
Inputs
- mode: default,
daily,brief,reflection,guide,report,review,insight,trend - optional days
- optional project filter
- optional source override:
claude,codex,all
Examples:
$nippo daily$nippo daily codex$nippo daily claude$nippo daily all$nippo review 90 codex
Workflow
- If the current workspace is this repository, prefer
cargo run -q -p nippo -- collect ...so the skill uses the checked-out implementation rather than a potentially stale globally installednippo. - Otherwise prefer
nippo collect ...whennippois already installed. - If neither is available, stop and tell the user to install
nippo. - Treat
dailyas an alias of the default daily report mode. - Default to
--source auto. Override when the user explicitly asks forclaude,codex, orall. - For
brief, save the summary output directly and stop. - For other modes, read the collected JSON and the matching template:
- docs/templates/nippo-template.md
- docs/templates/reflection-template.md
- docs/templates/guide-template.md
- docs/templates/report-template.md
- docs/templates/review-template.md
- docs/templates/insight-template.md
- docs/templates/trend-template.md
- For
reflection,guide, andinsight, also read docs/reflection-theory.md. - Save daily reports, including
daily, toreports/nippo-YYYY-MM-DD.md. Other modes keepreports/{mode}-YYYY-MM-DD.md. Append-Ndwhen days > 1. - In daily mode, treat the freshly collected JSON as the only source of truth. Do not read an existing
reports/nippo-YYYY-MM-DD.mdas input; overwrite it with the new report. - Ground the daily report header and stats directly in
metaandstats, and choose project sections fromstats.projects_worked_onin order ofmessage_count.
Mode Defaults
- default:
--period today daily: alias of default,--period todaybrief:--period today --format summaryreflection:--period todayguide:--period todayreport:--days 7 --stats-onlyreview:--days 90 --stats-onlyinsight:--days 7trend: split the time window into 3 ranges and run 3 summary collections
Rules
- Data collection must go through
nippo collect. Do not reimplement parsing in ad-hoc scripts. - Do not use Python for data collection.
- Use
statsas-is. Do not recalculate counters in prose. - Write reports in Japanese.
- Date boundaries follow the machine's local timezone.
--days 1anddailymean the current local calendar day. - Treat one token matching
claude,codex, orallas the source selector and pass it through to--source. Codexreport data comes fromhistory.jsonl,state_5.sqlite, and rollout data referenced byrollout_path. Treatlogs_2.sqliteas diagnostics only.- Codex-derived reports may have sparse assistant/tool metrics. State that explicitly instead of inventing numbers.
- For daily reports, copy
meta.source,meta.total_sessions,stats.projects_worked_on, andstats.tool_frequencyfrom the collected JSON instead of inferring them from an older report. - Cover the activity-heavy projects first. Use
stats.projects_worked_onorder and give the top 3-5 projects their own section before collapsing anything intoその他. - If you show only a subset of
decisions, explicitly state全N件中M件を記載. - If the current report generation itself appears as a tiny
nippoproject, keep it in the header stats but label it explicitly as report generation/editing and keep the body treatment minimal. - Sanitize reference links before writing them. Do not copy malformed URL fragments with trailing Japanese text or punctuation.
Source: nwiizo/nippo — distributed by TomeVault.