friskme

Use

friskme                       # last 30 days, every agent found; asks before any model call
friskme --agent codex         # only Codex sessions
friskme --agent claude,pi     # only Claude Code and Pi sessions
friskme --analyzer codex      # label with codex exec instead of claude -p
friskme --analyzer pi --model claude-haiku-5-5  # label with pi -p
friskme --yes --since 2w      # no prompt, last two weeks
friskme --project my-repo     # only sessions whose project path contains "my-repo"
friskme --no-llm              # deterministic sections only, nothing sent anywhere
friskme --json > report.json  # machine-readable; the summary goes to stderr

Other options:

  • --agent claude,codex,pi: which agents to read (default: every agent whose session folder exists)
  • --analyzer claude|codex|pi: which CLI names intents (default: claude if logged in, else codex; pi only when asked)
  • --max-sessions <n>
  • --model <name>: the analyzer’s model (default haiku for claude; Codex’s own default for codex; pi’s default model for pi, which accepts provider/id and a :<thinking> suffix)
  • --out <dir> (default ./frisk-report)
  • --no-sensitive: skip the secrets and personal-data scan
  • --pii-model, --pii-model-scope prompts|all: see Sensitive data
  • --reveal: show secrets and personal data unmasked in the report (see below)
  • friskme cache clear
  • friskme models list|download|remove

While it runs, friskme keeps one live status line on stderr: what it is doing now, progress counts and time spent in that step. The line animates only in an interactive terminal. When stderr is piped, under CI, or with TERM=dumb, friskme prints only its plain log lines.

Output:

  • frisk-report/report.html: one self-contained page, with no external assets.
  • frisk-report/report.json: the same data.
  • frisk-report/skills/<intent>/SKILL.md: draft skills. friskme never installs them. Read one, edit it, then copy it to ~/.claude/skills/<name>/SKILL.md (Claude Code) ~/.codex/skills/<name>/SKILL.md (Codex) or ~/.pi/agent/skills/<name>/SKILL.md (Pi) if you want it.