About summarizing-friction-logs
A skill that gathers frog friction entries across a workspace into a read-only Markdown dashboard. It helps teams prioritize reported obstacles, with pending entries distinguished from those already linked to issues.
Key features
- 01Collect friction logs across a workspace
- 02Render a Markdown dashboard
- 03Group entry summaries by scope
- 04Keep log entries read-only
- 05Distinguish pending and linked entries
Use cases
- 01Review friction across repository workspaces
- 02Prioritize entries not filed elsewhere
- 03Scan linked issues alongside pending reports
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ bostonaholic/ skills --skill summarizing-friction-logsAfter installing, type/summarizing-friction-logsin Claude Code to confirm it loaded.
Bundled filesagents/openai.yamlscripts/collect-friction.mjs
Details
From the project READMESummarizing friction logs
Collect every frog friction entry in a workspace into one read-only dashboard, so known friction can be prioritized in a single view.
Rules
- Read-only. Never run
frog resolveorfrog publish, never edit entries, and never install frog. pendingmatters most. Apendingentry is filed nowhere else, so it is invisible outside this dashboard; alinkedone already has an issue.
Collect
The workspace is the directory that holds the user's repositories. Resolve
<skill-dir> to this skill's absolute directory and run, adding
--workspace <dir> when the user names one:
node "<skill-dir>/scripts/collect-friction.mjs" [--workspace <dir>]
It prints JSON with the rendered header, table, and footer, and the
gist_slots to fill.
- Exit 0: build the dashboard below.
- Exit 1: report stderr and stop. When it says
not in a git repository, ask the user once for the workspace and rerun with--workspace. When it says no friction log was found, name the workspace and suggest pointing the skill at the one that holds the logs. - Exit 2: no log could be read. Report each stderr line and stop.
Dashboard
One Markdown dashboard, in this order:
- Header:
header, verbatim. - Table:
table, verbatim. - Detail: one entry per
gist_slotsitem, in that order, grouped under a heading per scope. Read the slot'spathand distill its body into a one-line gist: what got in the way, plus the suggested fix when it names one. Gists stay with the model because they summarize prose. - Footer:
footer, verbatim, when non-empty.