signal-friction-scan
Scan recent agent sessions for repeated friction, corrections, approvals, workflow patterns, and packaging candidates. Use when asked to find signals, friction, recurring manual workflows, missing skills, prompt improvements, or automation opportunities from recent Codex/Pi work.
What this skill does
# Signal Friction Scan Use this to turn recent session history into a grounded shortlist of improvements: skill patches, new skills, docs, runbooks, commands, monitors, automations, or deliberate skips. This is a **scan and synthesis skill**, not a license to mutate the system immediately. Default to Pass 1: investigate, produce a shortlist, and stop unless Joel explicitly asks to create or patch assets. ## When to Use Trigger on requests like: - "scan friction" - "find repeated workflows" - "what should we package?" - "look at recent sessions" - "find missing skills" - "turn recent work into skills" - "what keeps pissing me off?" - "capture the signal/friction scan process" - "find prompt/system skill improvements from recent work" Also use it when a task asks for repeated patterns across recent Codex/Pi work, especially if the output should become durable process. ## Evidence Order Use available evidence in this order: 1. Local session signals and friction scans. 2. Targeted session searches and bounded extracts for high-signal hits. 3. Existing skills and docs, to avoid duplicates. 4. `.brain/`, vault, ADRs, project docs, and swarm memory when relevant. 5. Source repos, logs, issue trackers, Slack/email/task systems only when needed to verify a candidate. Chronicle or GUI history is discovery-only. Confirm important details in source systems before recommending mutations. ## Core Commands Start with local machine facts: ```bash hostname pwd ``` Run the broad signal scan: ```bash joelclaw sessions signals \ --kind any \ --source local \ --machine "$(hostname -s)" \ --since 30d \ --limit 40 \ --evaluate ``` Run a focused friction scan: ```bash joelclaw sessions friction \ --source local \ --machine "$(hostname -s)" \ --since 30d \ --limit 30 ``` If `hostname -s` does not match the machine id used by session capture, rerun with the observed machine id from recent session paths or known context, for example: ```bash joelclaw sessions signals --kind any --source local --machine blaine-the-mono --since 30d --limit 40 --evaluate ``` Use targeted searches to triangulate themes: ```bash joelclaw sessions search workflow --source local --machine <machine> --limit 10 joelclaw sessions search skill --source local --machine <machine> --limit 10 joelclaw sessions search automate --source local --machine <machine> --limit 10 joelclaw sessions search "approved" --source local --machine <machine> --limit 10 joelclaw sessions search "not what i asked" --source local --machine <machine> --limit 10 ``` Inspect existing skill coverage: ```bash find ~/Code/joelhooks/joelclaw/skills -maxdepth 2 -name SKILL.md -print find ~/Code/joelhooks/joelclaw/skills -maxdepth 2 -name SKILL.md -print \ | xargs rg -n "friction|signals|workflow-pattern|mode-mismatch|<candidate-term>" ``` Use bounded extracts only for candidates that may become concrete work: ```bash joelclaw sessions search "<candidate query>" \ --source local \ --machine <machine> \ --limit 5 \ --extract joelclaw session inspect <session-id-or-path> \ --around "<regex>" \ --before 20 \ --after 80 ``` ## How to Read Signals Treat `sessions signals` as radar, not truth. Look at: - `evaluation.bySurface`: where improvements are likely to land. - `evaluation.byKind`: decision, friction, workflow-pattern, praise, correction, preference. - `evaluation.byReviewPriority`: high-priority candidates first. - `clusters`: repeated problem classes. - `hits[].improvement`: proposed surface, target, confidence, and reason. - transcript paths, line numbers, dates, and exact user turns. Do not overfit on single words. Joel's `fuck`, `fucking`, and `fuckin` are emphasis, not automatically anger. Classify by nearby critique, correction, approval, or preference. Common high-value surfaces: - `skill`: repeated procedural failure or missing operating method. - `system-prompt`: cross-cutting response shape, action bias, voice, or boundary issue. - `docs`: project-local instructions, runbooks, or source summaries. - `memory`: durable decision or reusable preference. - `adr`: architecture/process decision that should be ratified. - `harness`: tool availability, permissions, or runtime mismatch. ## Candidate Criteria Only recommend packaging when most of these are true: - repeated at least twice, or clearly likely to recur and costly to repeat - stable inputs - repeatable procedure - clear output or stopping condition - material improvement to speed, quality, consistency, reliability, or discoverability - not already adequately covered - validation is possible - scope can stay narrow Skip candidates that are one-off, speculative, too broad, mostly taste, private-sensitive, poorly evidenced, or already covered well enough. ## Existing Asset Check Before proposing a new skill, inspect for existing coverage: - canonical skills in `~/Code/joelhooks/joelclaw/skills` - project-local `.pi/skills`, `.agents/skills`, and `.brain` - scripts, CLIs, Inngest functions, monitors, GitHub Actions - ADRs, runbooks, and project docs Prefer **extend existing** over creating a duplicate. New skills are for missing reusable workflows, not every interesting pattern. ## Output Shape For Pass 1, return only a shortlist and recommendations. Do not edit files. Use this shape: ```markdown **Evidence Inspected** - Commands run and notable counts. - Existing assets checked. - Sources unavailable or failed. **Shortlist** | Candidate | Evidence | Frequency / Confidence | Pain | Recommended Form | Existing Assets | Recommendation | |---|---|---:|---:|---|---|---| **Highest-Confidence Recommendations** 1. <candidate> Why: Scope: Validation: **Deliberately Skipped** - <candidate and reason> **Needs More Evidence** - <candidate and exact missing evidence> **Validation Performed** - No files modified, unless explicitly requested. - Commands run and their results. ``` Keep the report compact. Lead with the useful answer, then receipts. ## Pass 2 Creation Rules Only create or patch assets when Joel explicitly asks for Pass 2 or asks to capture a specific candidate. When creating: - Use the smallest form: patch existing skill/doc before creating new. - Keep the artifact narrow, source-aware, and easy to validate. - Do not include raw transcript dumps. - Do not capture secrets, private overlays, paid corpus text, or irrelevant machine config. - Include exact commands and fallback behavior where possible. - Run validation commands or explain why no validation exists. - Inspect `git status --short` first and preserve unrelated user work. For a new joelclaw skill, follow `add-skill`: create under `~/Code/joelhooks/joelclaw/skills/<name>`, keep frontmatter `name` matching the directory, symlink only where needed, slog if available, and commit only if Joel asks or the current workflow requires it. ## Failure Handling - If `joelclaw sessions signals` emits huge output or times out after useful JSON, use the emitted counts/clusters and say it timed out. - If `slog` is unavailable, say so and continue. - If local machine session capture is thin, search Typesense or the relevant remote machine via `session-search`. - If evidence is thin, say the evidence is thin. Do not fabricate patterns.
Related in AI Agents
skill-development
IncludedComprehensive meta-skill for creating, managing, validating, auditing, and distributing Claude Code skills and slash commands (unified in v2.1.3+). Provides skill templates, creation workflows, validation patterns, audit checklists, naming conventions, YAML frontmatter guidance, progressive disclosure examples, and best practices lookup. Use when creating new skills, validating existing skills, auditing skill quality, understanding skill architecture, needing skill templates, learning about YAML frontmatter requirements, progressive disclosure patterns, tool restrictions (allowed-tools), skill composition, skill naming conventions, troubleshooting skill activation issues, creating custom slash commands, configuring command frontmatter, using command arguments ($ARGUMENTS, $1, $2), bash execution in commands, file references in commands, command namespacing, plugin commands, MCP slash commands, Skill tool configuration, or deciding between skills vs slash commands. Delegates to docs-management skill for official documentation.
reprompter
IncludedTransform messy prompts into well-structured, effective prompts — single or multi-agent. Use when: "reprompt", "reprompt this", "clean up this prompt", "structure my prompt", rough text needing XML tags and best practices, "reprompter teams", "repromptception", "run with quality", "smart run", "smart agents", multi-agent tasks, audits, parallel work, anything going to agent teams. Don't use when: simple Q&A, pure chat, immediate execution-only tasks. See "Don't Use When" section for details. Outputs: Structured XML/Markdown prompt, quality score (before/after), optional team brief + per-agent sub-prompts, agent team output files. Success criteria: Single mode quality score ≥ 7/10; Repromptception per-agent prompt quality score 8+/10; all required sections present, actionable and specific.
adaptive-compaction
IncludedAdaptive add-on policy and recovery layer that decides WHEN to compact, prune, snapshot, or fork -- replacing fixed-percent auto-compaction across Claude Code, Codex, and MCP-capable hosts. Trigger on auto-compact timing or damage: "when should I compact", "is it safe to compact now or start a fresh session", "auto-compact fires too early/mid-task", "switching to an unrelated task but the window still has space", "context rot", "answers get worse the longer the session runs", "the agent forgot the plan or my decisions after it summarized", "add a layer on top that manages context without changing the agent", raising autoCompactWindow to give the policy room, or installing/tuning a cross-tool compaction policy or PreCompact hook -- even when "compaction" is never said but the problem is context-window pressure or post-summarization memory loss. Do NOT use to summarize a conversation, build RAG, write a summarization prompt (decides WHEN not HOW), or answer max-context-length trivia.
agent-skill-creator
IncludedCreate cross-platform agent skills from workflow descriptions. Activates when users ask to create an agent, automate a repetitive workflow, create a custom skill, or need advanced agent creation. Triggers on phrases like create agent for, automate workflow, create skill for, every day I have to, daily I need to, turn process into agent, need to automate, create a cross-platform skill, validate this skill, export this skill, migrate this skill. Supports single skills, multi-agent suites, transcript processing, template-based creation, interactive configuration, cross-platform export, and spec validation.
llm-wiki
IncludedUse when building or maintaining a persistent personal knowledge base (second brain) in Obsidian where an LLM incrementally ingests sources, updates entity/concept pages, maintains cross-references, and keeps a synthesis current. Triggers include "second brain", "Obsidian wiki", "personal knowledge management", "ingest this paper/article/book", "build a research wiki", "compound knowledge", "Memex", or whenever the user wants knowledge to accumulate across sessions instead of being re-derived by RAG on every query.
skill-master
IncludedAgent Skills authoring, evaluation, and optimization. Create, edit, validate, benchmark, and improve skills following the agentskills.io specification. Use when designing SKILL.md files, structuring skill folders (references, scripts, assets), ingesting external documentation into skills, running trigger evals, benchmarking skill quality, optimizing descriptions, or performing blind A/B comparisons. Keywords: agentskills.io, SKILL.md, skill authoring, eval, benchmark, trigger optimization.