Files
command-center/agent/managed-skills/html-change-report/SKILL.md
T
Frank c3f30bdbd0 kb: retire pi-installation association (OMP is the primary harness)
Purge live-state claims that ~/.pi is our harness; keep general
pi documentation in omp-docs/ and dated historical records.

- README.md: single config source; Legacy Notes reworded
- AGENTS.md: drop 'like ~/.pi did' framing
- APPEND_SYSTEM.md: okf-spec -> omp-docs/references/okf-spec.md
- dotfiles/zsh/.zshrc: systemprompt alias -> APPEND_SYSTEM.md
- managed skill llm-fleet-model-swap + model_config_sync skill:
  single-source models.yml; validation script YAML-only
- memories (MEMORY.md, memory_summary.md, learned.md): single source
- omp-docs: .okf root -> ~/.omp/omp-docs; de-live pi-era claims in
  pi/index.md, pi-web-access.md, engineering/agents-files.md
2026-09-17 19:24:02 -07:00

2.6 KiB

name, description
name description
html-change-report Generate and open a self-contained dark-theme HTML change report (Keep a Changelog categories + code samples) for a git repo time window; use when Frank asks for a rendered report of recent work.

HTML change report (Keep a Changelog + review aids)

Produce a self-contained HTML report of repo work in a time window and open it in Firefox.

Data gathering

  • Window commits: git log --since="24 hours ago" --pretty='%h|%ad|%s' --date=format:%H:%M (split on |).
  • Metrics: git diff --shortstat <first>^..HEAD, per-area file counts via git diff --name-only … | awk -F/ '{print $1"/"$2}' | sort | uniq -c | sort -rn.
  • Bucket commits into phase/theme rows by time-of-day for the timeline table.

Report structure (standard: Keep a Changelog 1.1.0)

  1. Executive summary (metrics + 3-5 bullets).
  2. Full commit timeline table, phase-color-tagged (border-left per phase).
  3. git show <hash> command list per theme — Frank uses this for his review pass.
  4. Changes by category: Added/Changed/Fixed/Removed/Security; omit empty categories; cite commit hashes per item. Fixed = old behavior was a bug; Changed = intentional.
  5. 4-6 notable code excerpts: read real files, pick load-bearing/instructive code, note file:lines + commits + why it matters. HTML-escape everything (html.escape).
  6. Verification evidence table (what / how / result).
  7. Incidents & open risks.
  8. Actions required from Frank (numbered, effort hints).

HTML requirements

  • Self-contained: inline CSS only, NO CDNs (must work from file:// offline). Dark theme CSS vars (#1a1b26 bg family works).
  • Sticky top nav, section anchors, <pre class=code><code> blocks, commit hashes as .tag chips.
  • Build via python (eval kernel): subprocess for git data, string concat for CSS (avoid f-string brace pain), f-strings for rows.
  • Literal {} in HTML text (e.g. fallbackChains: {}) inside an f-string is a SyntaxError — build that fragment by concatenation or double the braces.

Delivery + verification

  • Write to $HOME/Reports/<repo>-<window>-<date>.html (outside repo, tree stays clean; create the dir — on Dankware that is /home/blank/Reports, on dank hosts /home/dank/Reports).
  • Validate: python HTMLParser feed (parse errors) + open in headless browser (write JSON to xd://browser: open → run with document.querySelectorAll counts) → close tab. Element counts are sufficient proof; a fullPage screenshot of a long report returns a multi-MB raw pixel buffer dump — only screenshot short pages.
  • Open for Frank: nohup firefox --new-tab file:///<path> >/dev/null 2>&1 & disown.