⚠ LLM judge partially failed — 18 of 32 skills unscored (LLM call timed out or returned unparseable output). They will retry on the next cron tick.

🛠️ Skill Audit

2026-10-23 · 32 skills modified in past 48h
2
skills scored ≤4 / 10
1
merge proposals
avg 6.3 · median 6 · 14 scored · 18 unscored · 5,401 tokens to load

📋 Review queue lowest score first · tap "why?" for proposal

cron-fleet-stewardship
4/10
Class-level workflow for designing and operating a multi-cron fleet (2+ scheduled LLM-driven jobs that hand work off to each other…
PATCH-HEADLINEPATCH-COMPACT
devops · 6.3h ago · 3662 words · 475 tok to load
head
0/10
goal
5/10
comp
0/10
contra
5/10
useful
10/10
unique
10/10
pub
0/10
why this score?
head 0/2
  • frontmatter description is 805 chars (over 200 cap)
goal 1/2
  • body is empty after frontmatter
  • no 'when to use' / 'load this when' trigger in opening paragraph
contra 1/2
  • 10 'do not/never' phrases + 11 'always/must' phrases — possible direct conflicts at lines [83, 137, 142] vs [37, 39, 40]
pub 0/2
  • line 211: internal agent/persona reference — `- **Cron wrappers that swallow deploy/publish side-effects run green for weeks while the U`
  • line 175: internal Slack channel ID — `- **`deliver` lies when the cron is created from inside a Slack session (verified 2026-09-`
  • line 177: internal Slack channel ID — `- **Prompt `Deliver:` instruction overrides `jobs.json` `deliver` field — and the prompt w`
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
  • frontmatter description is 805 chars (over 200 cap)
PROPOSED FIX
replace the `description:` line with: description: "Design and audit 2+ cron pipelines that hand off work through shared JSON files; use for state contracts, explicit prompts, and end-to-end verification."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # Cron Fleet Stewardship A "cron fleet" is 2+ scheduled LLM-driven jobs that share work via files on disk. Each cron writes an artifact (state JSON, draft, etc.) that the next cron reads. Common shapes: `daily-scan → pr-drafter → release-drafter` for repos; `scan → enrich → notify` for content feeds; `poll → classify → dispatch` for support workflows. This skill governs the design, audit, and operation of fleets. The single-cron patterns live in class-level skills (`inbox-watch`, `rss-watch`, `gsc-watch`, `ticket-watch`, `executive-digest`, `community-scout-scan`); this skill governs the **fleet** — the coordination contract between them. ## When to use - Adding a new scheduled job to an existing fleet - Designing a new fleet (2+ jobs sharing state) - Auditing a fleet that "looks healthy" but isn't producing output - Migrating a fleet from skill-only heuristics to explicit prompts - Investigating why a downstream cron has "no input" or "nothing to do" - Converting a single cron int…
PATCH-CONTRADICTION
LLM: rules conflict or contradict
  • 10 'do not/never' phrases + 11 'always/must' phrases — possible direct conflicts at lines [83, 137, 142] vs [37, 39, 40]
PROPOSED FIX
consolidate each conflicting rule pair into a single statement; keep rules terse and non-overlapping
PATCH-PUBLISH
LLM: internal references leak — strip before public
  • line 211: internal agent/persona reference — `- **Cron wrappers that swallow deploy/publish side-effects run green for weeks while the U`
  • line 175: internal Slack channel ID — `- **`deliver` lies when the cron is created from inside a Slack session (verified 2026-09-`
  • line 177: internal Slack channel ID — `- **Prompt `Deliver:` instruction overrides `jobs.json` `deliver` field — and the prompt w`
PROPOSED FIX
replace each internal reference: line 3: Use when the user wants to design, wire, change, or audit two or more scheduled jobs that share state. line 16: Use the relevant single-purpose skill for one standalone cron; this skill governs the coordination contract between multiple stages. line 113: "repo": "example-org/example-repo" line 171: Fleet-wide provider drift can leave jobs skipped after a provider rename. line 174: Scheduling several crons at the same minute can cause provider load spikes.
PATCH-GOAL
LLM: first paragraph doesn't make the goal concrete
  • body is empty after frontmatter
  • no 'when to use' / 'load this when' trigger in opening paragraph
PROPOSED FIX
replace the opening paragraph: Use this skill when you need to work with cron fleet stewardship — it provides the conventions, examples, and reusable code so the agent can act without inventing the wheel.
decision-model
4/10
Skill: tev1-decisions.
MERGEPATCH-HEADLINE
(top-level) · 30.1h ago · 2460 words · 373 tok to load
head
0/10
goal
10/10
comp
5/10
contra
5/10
useful
10/10
unique
0/10
pub
0/10
why this score?
head 0/2
  • no frontmatter description at all
goal 2/2
  • body is empty after frontmatter
  • no 'when to use' / 'load this when' trigger in opening paragraph
contra 1/2
  • heavy rule churn (20 rule phrases) — consolidate before next read
pub 0/2
  • line 212: hardcoded ~/.hermes path — ``/Users/morsy/.hermes/workspaces/emmy/decision-2026-10-21-agentic-announcements.json``
  • line 212: internal agent/persona reference — ``/Users/morsy/.hermes/workspaces/emmy/decision-2026-10-21-agentic-announcements.json``
see proposed fix
MERGE
LLM: merge into `ollama-decision-models` (the more-general sibling)
PROPOSED FIX
consolidate the smaller skill into `ollama-decision-models`; archive the loser's directory under `~/.hermes/skills/_archive/<name>-merged-<ts>/`
📉 ~373 tokens/load eliminated + 1 skill off the dispatch surface
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
  • no frontmatter description at all
PROPOSED FIX
replace the `description:` line with: description: "Make research-backed decisions via local Ollama tev1:4b: gather cited state, compose choice/noul/score questions, call /v1/systemone, return verdict with probabilities and sources."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # Skill: tev1-decisions > **TL;DR** — When the user wants a decision, **research first**, then ask Ollama `/v1/systemone` with `tev1:4b`. Decision models don't predict; they weigh criteria. The work is in the state + the schema. ## When to load this skill Load when the user asks any of: - "Should I [buy / invest / pick / choose / hire / ship] X?" - "Is X [true / safe / risky / urgent / aligned]?" - "Classify / score / route / rank these items." - "Pick one of A / B / C for [purpose]." - "Give me a 1-5 score on [dimension] for X." Skip for purely factual questions, code generation, open-ended writing, or anything where the model needs to *generate* prose instead of *pick from a list*. ## Why this backend `tev1:4b` (Together AI, Qwen3.5-4B base, Apache 2.0) is the verified winner of the 2026-09-30 benchmark on 60 labeled support-ticket items: | Model | Avg precision | Latency | Download | |-------------|---------------|---------|----------| | **tev1:4b** | **98.3%** | 3…
PATCH-CONTRADICTION
LLM: rules conflict or contradict
  • heavy rule churn (20 rule phrases) — consolidate before next read
PROPOSED FIX
consolidate each conflicting rule pair into a single statement; keep rules terse and non-overlapping
PATCH-PUBLISH
LLM: internal references leak — strip before public
  • line 212: hardcoded ~/.hermes path — ``/Users/morsy/.hermes/workspaces/emmy/decision-2026-10-21-agentic-announcements.json``
  • line 212: internal agent/persona reference — ``/Users/morsy/.hermes/workspaces/emmy/decision-2026-10-21-agentic-announcements.json``
PROPOSED FIX
replace each internal reference: line 72: - memory_store (local long-term store for project-specific context — e.g., recurring tickers, prior decisions) line 217: <workspace>/decisions/decision-YYYY-MM-DD-<topic>.json line 240: 5. Next action the user has to take, stated concretely and upfront. line 286: If the user asks for a report / deck of decisions (not a single call), bundle N calls (one per topic), write a short Markdown summary, and hand off to a presentation-creation skill for the PPTX. This skill is purely about the decision calls themselves. line 290: - benchmarks/jev-style/results-tev1_4b.json — 60-item precision benchmark (2026-09-30)
cron-failure-triage
6/10
Triage and repair broken Hermes cron jobs.
PATCH-HEADLINEPATCH-COMPACT
devops · 27.8h ago · 1958 words · 365 tok to load
head
5/10
goal
10/10
comp
5/10
contra
5/10
useful
10/10
unique
10/10
pub
0/10
why this score?
goal 2/2
  • body is empty after frontmatter
  • no 'when to use' / 'load this when' trigger in opening paragraph
contra 1/2
  • heavy rule churn (26 rule phrases) — consolidate before next read
pub 0/2
  • missing 'when NOT to use' — accidental dispatch risk
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
PROPOSED FIX
replace the `description:` line with: description: "Diagnose and repair failing Hermes cron jobs by classifying script, delivery, and scheduling failures, then fixing them one by one with read-only probes and verified runs."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # Cron Failure Triage & Repair Class-level workflow for finding out which Hermes cron jobs are actually broken, why, and fixing them one at a time. Also covers "the cron isn't running" reports that are really delivery or duplicate-job problems. ## When to load this - "Check if there are any cron jobs that are not running due to failures" - "Why isn't cron X running / delivering?" - "Fix the cron jobs" / "let's go through them one by one" - An incident digest, health check, or manual sweep shows `last_status: error` on one or more jobs - A user asks which jobs are dead, stuck, duplicated, or "not doing their job" **Skip for:** - Designing a new cron fleet → `cron-fleet-stewardship` - A prompt that is blocked by the injection scanner → `cron-injection-scanner-forensics` - Model-pin / provider-drift skips → `cron-inference-config-pinning` - A read-only periodic audit that must not mutate anything → `hermes-install-health-audit` ## The three-layer failure model Most "the cron isn't…
PATCH-CONTRADICTION
LLM: rules conflict or contradict
  • heavy rule churn (26 rule phrases) — consolidate before next read
PROPOSED FIX
consolidate each conflicting rule pair into a single statement; keep rules terse and non-overlapping
PATCH-PUBLISH
LLM: internal references leak — strip before public
  • missing 'when NOT to use' — accidental dispatch risk
PROPOSED FIX
replace each internal reference: line 47: $HERMES_HOME/cron/jobs.json — per job: line 48: $HERMES_HOME/cron/executions.db (SQLite) line 51: $HERMES_HOME/logs/gateway.error.log + gateway.log line 58: cp $HERMES_HOME/cron/jobs.json $HERMES_HOME/cron/jobs.json.bak-pre-<change>-$(date +%Y%m%d-%H%M%S). Same for any data file line 80: using the bot token from $HERMES_HOME/.env:
cron-script-mode-no-workdir
6/10
Use when a cron runs a script or hits a write-lock error.
PATCH-HEADLINEPATCH-COMPACT
infrastructure · 16.3h ago · 626 words · 351 tok to load
head
5/10
goal
5/10
comp
5/10
contra
5/10
useful
10/10
unique
10/10
pub
0/10
why this score?
goal 1/2
  • body is empty after frontmatter
  • no 'when to use' / 'load this when' trigger in opening paragraph
pub 0/2
  • missing 'when NOT to use' — accidental dispatch risk
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
PROPOSED FIX
replace the `description:` line with: description: "Configure script-only Hermes crons without workdir and debug TERMINAL_CWD write-lock timeouts."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # Cron script-mode without a workdir ## When to use - A recurring job that only needs to **run a script** (poll an API, check a file, post a report) and needs no LLM reasoning. - Any cron that failed with a TERMINAL_CWD write-lock timeout (hermes issue #79768). ## The trap A cron job with a **`workdir` set** takes the TERMINAL_CWD write lock while it runs. If any busy agent session, another cron, or a long-running reader holds that lock, the cron job dies waiting for it and times out. This is easy to hit accidentally because `workdir` is a natural thing to set ("the job lives in this project directory"). It is only needed when the job must **anchor its terminal/session context** to a directory (e.g. an LLM job that reads `AGENTS.md`, `SOUL.md`, or other project context files). **Rule:** a script-mode (`no_agent`) cron should have **no workdir**. The script uses absolute paths anyway. ## The recipe ```python cronjob(action='create', name='<name>', schedule='every 20m', scr…
PATCH-CONTRADICTION
LLM: rules conflict or contradict
PROPOSED FIX
consolidate each conflicting rule pair into a single statement; keep rules terse and non-overlapping
PATCH-PUBLISH
LLM: internal references leak — strip before public
  • missing 'when NOT to use' — accidental dispatch risk
PROPOSED FIX
replace each internal reference: line 35: script='<name>.sh', # relative to the configured Hermes scripts directory line 114: last_status: ok in the configured cron jobs file and inspect the job's line 115: output file in the configured Hermes cron data directory. line 122: prompt actually landed in the configured Hermes cron jobs file. line 125: the configured Hermes scripts directory for cron, or an absolute path inside the wrapper.
PATCH-GOAL
LLM: first paragraph doesn't make the goal concrete
  • body is empty after frontmatter
  • no 'when to use' / 'load this when' trigger in opening paragraph
PROPOSED FIX
replace the opening paragraph: Use this skill when you need to work with cron script-mode without a workdir — it provides the conventions, examples, and reusable code so the agent can act without inventing the wheel.
llm-prompt-audit
6/10
Review, grade, or slim an LLM system prompt.
PATCH-COMPACTPATCH-CONTRADICTION
productivity · 16.8h ago · 1679 words · 381 tok to load
head
10/10
goal
10/10
comp
0/10
contra
5/10
useful
5/10
unique
10/10
pub
0/10
why this score?
goal 2/2
  • body is empty after frontmatter
  • no 'when to use' / 'load this when' trigger in opening paragraph
contra 1/2
  • 12 'do not/never' phrases + 8 'always/must' phrases — possible direct conflicts at lines [15, 27, 29] vs [81, 92, 98]
useful 1/2
  • no runnable shell command block — agent has to improvise
pub 0/2
  • line 161: internal agent/persona reference — `- `references/token-equivalence-worked-example.md` — worked example from the clawy system-`
see proposed fix
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # LLM Prompt Audit A grader for system prompts. Two deliverables: (1) qualitative **grade** on 10 criteria, (2) quantitative **token-equivalence proof** if the user asks for a slim rewrite. ## When to use - "Review the intro to the LLM in folder X" - "Audit these N prompts" - "Can we get the same behavior in 8K tokens?" - "Grade this system prompt against your criteria" - Pre-ship check on a new agent's first system prompt ## Do NOT use when - The user wants the comm-style *content* updated → `agent-communication-style` - The user wants a single cron's per-turn token cost cut → `hermes-cron-token-audit` - The user wants config drift fixed → `hermes-config-audit` - The user wants to write skill frontmatter, not the prompt body → `hermes-agent-skill-authoring` ## The 10-criteria rubric Score each prompt on these 10 axes (0-3 each, sum to 30): 1. **Role clarity** — who, who for, what operative scope. Look for an explicit "You are X, serving Y" line, not just an interface descript…
PATCH-CONTRADICTION
LLM: rules conflict or contradict
  • 12 'do not/never' phrases + 8 'always/must' phrases — possible direct conflicts at lines [15, 27, 29] vs [81, 92, 98]
PROPOSED FIX
consolidate each conflicting rule pair into a single statement; keep rules terse and non-overlapping
PATCH-PUBLISH
LLM: internal references leak — strip before public
  • line 161: internal agent/persona reference — `- `references/token-equivalence-worked-example.md` — worked example from the clawy system-`
PROPOSED FIX
replace each internal reference: line 52: Cite the source file and line for every claim. line 68: ("role", "you are") line 69: ("named audience", "serving") line 70: ("optional capability", "when available") line 95: A query-capable discovery tool must already exist and support keyword or semantic search, not only broad category filters.
observability
6/10
Monitor Hermes Agent token usage, cost, and agent health.
PATCH-HEADLINEPATCH-COMPACT
(top-level) · 27.4h ago · 3799 words · 350 tok to load
head
5/10
goal
5/10
comp
5/10
contra
10/10
useful
10/10
unique
10/10
pub
0/10
why this score?
head 1/2
  • frontmatter description is 224 chars (over 200 cap)
goal 1/2
  • no 'when to use' / 'load this when' trigger in opening paragraph
contra 2/2
  • 10 'do not/never' phrases + 12 'always/must' phrases — possible direct conflicts at lines [11, 120, 124] vs [17, 47, 67]
useful 2/2
  • no runnable shell command block — agent has to improvise
pub 0/2
  • line 53: hardcoded ~/.hermes path — `db = sqlite3.connect('/Users/morsy/.hermes/state.db')`
  • line 75: hardcoded ~/.hermes path — `db = sqlite3.connect('/Users/morsy/.hermes/state.db')`
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
  • frontmatter description is 224 chars (over 200 cap)
PROPOSED FIX
replace the `description:` line with: description: "Query Hermes Agent token usage, cost, and session health from state.db. Includes sessions schema, cost-reconstruction recipes, and the broken-billing caveat."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # Observability — Hermes Token, Cost & Agent Health Monitoring ## ⚠️ Critical: Two Stacks, One Right Answer There are TWO observability stacks on this machine. **Use the first one only.** | Stack | DB Path | Status | Use For | |---|---|---|---| | **Hermes-native** | `~/.hermes/state.db` | **LIVE, current** | Token usage, cost, session analysis | | OpenClaw legacy | `~/.openclaw/observability.db` | **ORPHANED, 50+ days stale** | Nothing — do not use | The OpenClaw stack (scripts in `~/.openclaw/skills/observability/`) was written for a different system. Its cron job disappeared, its source jsonl files stopped being written ~June 7, and all paths point to `~/.openclaw/` instead of `~/.hermes/`. **Ignore it completely.** --- ## Primary Source: Hermes state.db (always correct) **Path:** `~/.hermes/state.db` This is Hermes's own session database. It is live and current — query this first for any token/cost question. ### sessions table schema ```sql sessions ( id TEXT PRIMARY KEY,…
PATCH-PUBLISH
LLM: internal references leak — strip before public
  • line 53: hardcoded ~/.hermes path — `db = sqlite3.connect('/Users/morsy/.hermes/state.db')`
  • line 75: hardcoded ~/.hermes path — `db = sqlite3.connect('/Users/morsy/.hermes/state.db')`
PROPOSED FIX
replace each internal reference: line 3: description: "Query Hermes Agent token usage, cost, and session health from state.db. Includes sessions schema, cost-reconstruction recipes, and the broken-billing caveat." line 25: | Hermes-native | ${HERMES_HOME}/state.db | LIVE, current | Token usage, cost, session analysis | line 26: | OpenClaw legacy | ~/.openclaw/observability.db | ORPHANED (machine-specific legacy) | Nothing — do not use | line 28: If an older OpenClaw stack is present on the host, ignore it — its cron job and source jsonl files are no longer written and its paths do not match Hermes. Use state.db only. line 34: Path: ${HERMES_HOME}/state.db (default ~/.hermes/state.db on a user install)
PATCH-GOAL
LLM: first paragraph doesn't make the goal concrete
  • no 'when to use' / 'load this when' trigger in opening paragraph
PROPOSED FIX
replace the opening paragraph: Use this skill when you need to work with observability — hermes token, cost & agent health monitoring — it provides the conventions, examples, and reusable code so the agent can act without inventing the wheel.
premium-marketing-site
6/10
Use when sites must not look AI-made.
PATCH-HEADLINEPATCH-COMPACT
creative · 3.5h ago · 7517 words · 398 tok to load
head
5/10
goal
10/10
comp
0/10
contra
0/10
useful
5/10
unique
10/10
pub
10/10
why this score?
goal 2/2
  • body is empty after frontmatter
  • no 'when to use' / 'load this when' trigger in opening paragraph
contra 0/2
  • 57 'do not/never' phrases + 14 'always/must' phrases — possible direct conflicts at lines [17, 28, 52] vs [57, 93, 98]
useful 1/2
  • no runnable shell command block — agent has to improvise
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
PROPOSED FIX
replace the `description:` line with: description: "Design and refine premium marketing sites with layered motion, distinctive typography, and anti-template polish after initial copy and layout revisions."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # Premium Marketing Site Craft This skill is the next tier beyond the `claude-design` anti-slop rules. Use `claude-design` for general design process (surface-first, slop diagnostic, anti-slop rules). Use this skill when the user has *already* rejected one or more drafts on aesthetic grounds — copy + layout fixes have been tried and are not enough. The remaining gap is **motion, presence, and layered craft**. ## When To Use Trigger phrases (any one): - still looks AI-made / looks like a template / looks like a Webflow demo - I need sophisticated animations / background holo / moving cards - top 5% best sites / nativeads.ai tier / benchmarks against a real premium reference - I can't accept this dumb version - explicit request for really top of the line Do NOT use this skill on: docs sites, admin tools, dashboards, forms/wizards, or any surface where motion competes with monitoring or input. Motion is for marketing surfaces only. ## The 9-Primitive Motion Vocabulary A top-5% land…
PATCH-CONTRADICTION
LLM: rules conflict or contradict
  • 57 'do not/never' phrases + 14 'always/must' phrases — possible direct conflicts at lines [17, 28, 52] vs [57, 93, 98]
PROPOSED FIX
consolidate each conflicting rule pair into a single statement; keep rules terse and non-overlapping
self-report-instrument-builder
6/10
Use when building a private questionnaire for the silent.
PATCH-HEADLINEPATCH-COMPACT
communication · 16.5h ago · 2144 words · 371 tok to load
head
5/10
goal
10/10
comp
0/10
contra
10/10
useful
10/10
unique
10/10
pub
0/10
why this score?
goal 2/2
  • body is empty after frontmatter
  • no 'when to use' / 'load this when' trigger in opening paragraph
comp 0/2
  • only 10% of body is code/commands/lists/headings — 90% is prose
contra 2/2
  • 25 'do not/never' phrases + 8 'always/must' phrases — possible direct conflicts at lines [44, 58, 69] vs [15, 54, 66]
useful 2/2
  • no runnable shell command block — agent has to improvise
pub 0/2
  • line 257: internal agent/persona reference — `- `fc-young-adult-crisis-coaching` — the parent-coaching framing for a young`
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
PROPOSED FIX
replace the `description:` line with: description: "Build a private self-report questionnaire for a reluctant or nonresponsive person, collect responses, and rank hypotheses without diagnosing."
PATCH-COMPACT
LLM: body has restatement or prose bloat
  • only 10% of body is code/commands/lists/headings — 90% is prose
PROPOSED FIX
tighten the body — a working tighter version: # Self-Report Instrument Builder (questionnaire for someone who won't talk) ## Purpose When a person won't answer messages and the obvious read — "he's avoiding us," "she's angry," "he needs space" — is a guess, build an **instrument** they fill in privately, then analyze the answers. The deliverable is a working, verified artifact plus an analysis path, not a set of suggested questions in chat. Two halves, both required: 1. **Instrument design** — question wording, order, scale types, privacy framing, and the candidate causes the instrument must discriminate between. Grounded in published research, not intuition. See `references/instrument-design-rules.md`. 2. **Build & collection** — a private web form, durable storage, an admin analysis view, and a watcher that tells the requester when answers arrive. See `references/cloudflare-pages-d1-stack.md`. **Do both in the same turn.** A question list in chat is under-delivery. A form without a defensible design is a survey tha…
PATCH-PUBLISH
LLM: internal references leak — strip before public
  • line 257: internal agent/persona reference — `- `fc-young-adult-crisis-coaching` — the parent-coaching framing for a young`
PROPOSED FIX
replace each internal reference: line 246: - [ ] Results, privacy limits, test status, analysis method, and follow-up actions handed to the requester
goal-priority-pivot
7/10
Use when the owner changes priorities mid-flight.
PATCH-HEADLINEPATCH-COMPACT
(top-level) · 6.0h ago · 1001 words · 377 tok to load
head
5/10
goal
10/10
comp
5/10
contra
10/10
useful
10/10
unique
10/10
pub
0/10
why this score?
head 1/2
  • frontmatter description is 49 chars (target ≥60, max 200)
goal 2/2
  • body is empty after frontmatter
  • no 'when to use' / 'load this when' trigger in opening paragraph
contra 2/2
  • heavy rule churn (18 rule phrases) — consolidate before next read
pub 0/2
  • missing 'when NOT to use' — accidental dispatch risk
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
  • frontmatter description is 49 chars (target ≥60, max 200)
PROPOSED FIX
replace the `description:` line with: description: "Realign tracking trees, KPIs, recurring reports, cron prompts, and standing instructions when an owner changes priorities."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # Goal-priority pivot — applying an owner directive across every surface Trigger: the owner says something like "stop working on X — we need Y first", "drop A until B is done", "we don't have customers yet, let's get users first". A directive is only real once **every** surface carries it. This skill covers the class of "the priority changed; now make the whole system agree". ## The surfaces that must change together 1. **The tracking tree** (milestr / any task-KPI store) — retitle the new live goal, park the retired work. 2. **The KPI set** — values AND `source` fields. 3. **The recurring report crons** (daily pulse, weekly digest) — otherwise the next run re-raises the topic the owner just retired, in public. 4. **The standing instruction / SOUL / memory** — so a fresh session doesn't re-derive the old priority from context. Change 1+2 and the cron keeps reporting the old story. Change 3 and the dashboard contradicts the report. Change all four or the directive is not ap…
PATCH-PUBLISH
LLM: internal references leak — strip before public
  • missing 'when NOT to use' — accidental dispatch risk
PROPOSED FIX
replace each internal reference: line 58: the named measurement path lacks the required attribution fields line 61: Writes may emit deployment logs; distinguish them from command results before proceeding.
professional-network-reactivation
7/10
Diagnose a fading professional network from user data.
PATCH-HEADLINEPATCH-COMPACT
career · 16.5h ago · 1888 words · 378 tok to load
head
5/10
goal
10/10
comp
5/10
contra
10/10
useful
10/10
unique
10/10
pub
0/10
why this score?
goal 2/2
  • body is empty after frontmatter
  • no 'when to use' / 'load this when' trigger in opening paragraph
useful 2/2
  • no runnable shell command block — agent has to improvise
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
PROPOSED FIX
replace the `description:` line with: description: "Diagnose and reactivate fading professional networks using LinkedIn exports, colleague data, and conversation history to build a prioritized outreach plan."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # Professional Network Reactivation — Diagnose From Data, Not From Feeling The user's report ("my connections are fading", "I have no connections") is a **symptom report**, not a diagnosis. The correct move is to mine the user's own platform data for the mechanism before writing any plan. Guessing the mechanism produces a generic plan that the user has already received and rejected before. **Verified instance (2026-10-22, Morsy).** User said "my personal connections in the office are fading out." First read framed it as skip-level (G/C) visibility — **wrong**. User corrected: "it was not my intention. Was talking about my colleagues. Feels like i have no connections." Mining his LinkedIn export showed the real mechanism: 67 RingCentral colleagues connected, but only 5 ever messaged; 30 of 31 invites sent with **no note**; 96% of accepted blank invites across his whole network were never spoken to. The fix was "never send a blank invite again," not "attend more all-hands." ## When t…
PATCH-PUBLISH
LLM: internal references leak — strip before public
PROPOSED FIX
replace each internal reference: line 23: Example. A colleague-focused audit can show that many connections never became conversations. Use the measured pattern to choose a specific behavior change instead of generic visibility tactics. line 61: Save the ZIP in a user-approved local directory and record that path before running the audit. line 81: Example finding pattern: line 82: > Employer invitations sent without a note may be accepted without any follow-up conversation. line 83: > Compare acceptance and messaging rates for invitations sent with and without a personalized reason.
slack-messaging
7/10
Send messages to Slack channels via Hermes, diagnose Slack gateway outages (no inbound, no outbound), and fix Slack mrkdwn format-rendering…
PATCH-HEADLINEPATCH-COMPACT
communication · 29.0h ago · 4044 words · 403 tok to load
head
5/10
goal
10/10
comp
5/10
contra
10/10
useful
10/10
unique
10/10
pub
0/10
why this score?
head 1/2
  • frontmatter description is 384 chars (over 200 cap)
goal 2/2
  • body is empty after frontmatter
  • no 'when to use' / 'load this when' trigger in opening paragraph
contra 2/2
  • 27 'do not/never' phrases + 11 'always/must' phrases — possible direct conflicts at lines [106, 107, 114] vs [9, 105, 114]
pub 0/2
  • line 131: hardcoded ~/.hermes path — ``grep -A1 "SlackApiError: The request" /Users/morsy/.hermes/logs/gateway.log | head -40``
  • line 14: hardcoded ~/dev path — `- User reports **agent output renders wrong in Slack** — strikethrough on text that should`
  • line 181: hardcoded ~/dev path — `**The pipeline:** agent output → `SlackAdapter.format_message()` at `/Users/morsy/dev/herm`
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
  • frontmatter description is 384 chars (over 200 cap)
PROPOSED FIX
replace the `description:` line with: description: "Send Slack messages via Hermes, diagnose gateway outages (no inbound/outbound), and fix mrkdwn rendering bugs. Load when Slack is broken or agent output formats wrong."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # Slack Messaging Send messages to Slack channels through Hermes, diagnose when the Slack gateway platform is broken (no inbound, no outbound, retry loop in logs), and fix Slack mrkdwn format-rendering bugs in agent output. ## When to Use - User reports **"Slack is not working" / "no messages" / "no replies"** — START WITH `./scripts/verify_slack.sh`. This is almost always faster than reasoning from memory. - Sending notifications, reminders, or updates to Slack channels - Communicating with users via Slack as configured in Hermes - Sending automated reports or alerts to team channels - After a workspace reinstall — use `scripts/slack_invite_all_channels.py` to re-join every channel - User reports **agent output renders wrong in Slack** — strikethrough on text that shouldn't have it, italics where bold was wanted, raw `&amp;` / `&lt;` / `&gt;` leaking through, asterisks showing as literal `*`. Fix the **Slack adapter's `format_message` method** at `/Users/morsy/dev/hermes/plugins/p…
PATCH-PUBLISH
LLM: internal references leak — strip before public
  • line 131: hardcoded ~/.hermes path — ``grep -A1 "SlackApiError: The request" /Users/morsy/.hermes/logs/gateway.log | head -40``
  • line 14: hardcoded ~/dev path — `- User reports **agent output renders wrong in Slack** — strikethrough on text that should`
  • line 181: hardcoded ~/dev path — `**The pipeline:** agent output → `SlackAdapter.format_message()` at `/Users/morsy/dev/herm`
PROPOSED FIX
replace each internal reference: line 12: Fix the Slack adapter's format_message method in the slack platform plugin (path varies by install) line 31: # Load token from $HERMES_HOME/.env (defaults to ~/.hermes/.env) line 32: env_path = Path(os.environ.get("HERMES_HOME", Path.home() / ".hermes")) / ".env" line 44: channel = "C0XXXXXXXXXX" # Replace with actual channel ID
wacli
7/10
Send and receive WhatsApp messages via the wacli CLI on macOS.
PATCH-HEADLINEPATCH-COMPACT
(top-level) · 29.0h ago · 9344 words · 445 tok to load
head
5/10
goal
10/10
comp
5/10
contra
10/10
useful
10/10
unique
10/10
pub
0/10
why this score?
head 1/2
  • frontmatter description is 492 chars (over 200 cap)
goal 2/2
  • body is empty after frontmatter
  • no 'when to use' / 'load this when' trigger in opening paragraph
contra 2/2
  • 35 'do not/never' phrases + 19 'always/must' phrases — possible direct conflicts at lines [182, 189, 197] vs [26, 112, 114]
pub 0/2
  • line 335: internal agent/persona reference — `- **`--since` is not a wacli flag — do not use it.** Agents sometimes reach for `--since` `
  • line 351: internal agent/persona reference — `- **`groups list` (local store) also lags WhatsApp servers — newly-created groups won't ap`
  • line 352: internal agent/persona reference — `- **Substring match on group names is dangerous when the user names a specific group — the`
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
  • frontmatter description is 492 chars (over 200 cap)
PROPOSED FIX
replace the `description:` line with: description: "Send and receive WhatsApp via the wacli CLI on macOS. Read chat history, send text/media, list chats, search, and sync the local store. Mirror of the imessage skill for WhatsApp."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # wacli — WhatsApp CLI Use `wacli` to read and send WhatsApp messages via a locally-synced store (whatsmeow-backed). Works similarly to `imsg` but for WhatsApp. ## Prerequisites - **macOS** with `wacli` installed (`brew install` or from https://wacli.sh) - One-time auth: `wacli auth` shows a QR to pair the device. After that, the local DB persists across runs. - Verify with `wacli doctor` if anything looks off (auth, store, search). ## When to Use - Reading WhatsApp conversation history with a specific contact - Scanning the last 24h of a personal 1:1 chat for a coaching / reflection / relationship brief - Sending a WhatsApp message (text, image, file) - Searching the local message store (FTS5 if compiled in) - Listing recent chats to find the right JID - **Discovering which groups you belong to** (use `wacli groups list --query <name> --json` — `chats list` silently omits inactive groups) ## When NOT to Use - iMessage / SMS → use `imessage` instead - Telegram / Discord / Slack …
PATCH-PUBLISH
LLM: internal references leak — strip before public
  • line 335: internal agent/persona reference — `- **`--since` is not a wacli flag — do not use it.** Agents sometimes reach for `--since` `
  • line 351: internal agent/persona reference — `- **`groups list` (local store) also lags WhatsApp servers — newly-created groups won't ap`
  • line 352: internal agent/persona reference — `- **Substring match on group names is dangerous when the user names a specific group — the`
PROPOSED FIX
replace each internal reference: line 3: wacli is a host CLI: any agent on the same machine can drive it via terminal(), even without a dedicated wacli primitive in its tool_search. See the cross-agent pitfall before claiming inability. line 192: ## Message style — personal nudge to a specific named recipient (validated 2026-08-30, no-signature rule locked 2026-09-02) line 213: When the message is from a sender to a recipient who already knows them (family, close contact), do not sign with a relationship label ("Oncle", "Papa", "Maman", the sender's first name) or any closing attribution. The message lands first-person, ending with the CTA verb. The sender's exact framing: "the message lands as if from me, unsigned — first-person without attribution." This overrides any prior "sign off with relationship to recipient" guidance. line 219: Validated case 2026-08-30 (coaching agent → 'Yannouch - Brilliant Future' group): four drafts reviewed by the user. Draft 1: 4 paths + "Pour toi si..." opinions per option → user: "Remove your opinions about each option." Draft 2: cheerful intro but led with guilt-framing → user: "Intro is stressful." Draft 3: dropped intro entirely → user: "No…. add an intro but make it optimistic and cheerful!" Draft 4 (landed): cheerful intro + per-option bullet + 1-line description (named employer/school) + status, ending on a single CTA verb. User: "Send." line 302: wacli IS WORKING — don't echo the stale "Client outdated (405)" belief (corrected 2026-10-12, certificate-message send). If an agent's MEMORY.md or TOOLS.md carries a "wacli broken / 405 error" entry from 2026-09-11 or earlier, treat that as a stale-invocation memory, not a real outage. The corrected send path (wacli send text --to <jid> --message <body> subcommand form, verified with v0.18.1) works and returns a real MsgID.
apple-system-diagnostics
8/10
Use when diagnosing macOS performance, resource, or component problems - "the computer is extremely slow", high load average, CPU throttling,…
PATCH-HEADLINEPATCH-COMPACT
apple · 29.0h ago · 679 words · 378 tok to load
head
5/10
goal
10/10
comp
5/10
contra
10/10
useful
10/10
unique
10/10
pub
5/10
why this score?
head 1/2
  • frontmatter description is 234 chars (over 200 cap)
goal 2/2
  • body is empty after frontmatter
  • no 'when to use' / 'load this when' trigger in opening paragraph
useful 2/2
  • no runnable shell command block — agent has to improvise
pub 1/2
  • missing 'when NOT to use' — accidental dispatch risk
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
  • frontmatter description is 234 chars (over 200 cap)
PROPOSED FIX
replace the `description:` line with: description: "Diagnose macOS performance issues: load average spikes, CPU throttling, memory leaks, disk pressure, runaway processes, system database and log forensics."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # Apple System Diagnostics Skill for investigating and diagnosing Apple system components on macOS by examining system files, databases, and logs. ## When to Use - **Machine feels slow** — "the computer is extremely slow", laggy UI, high load average, CPU throttling, runaway process, memory leak, disk pressure → see `references/macos-performance-triage.md` (or just run `scripts/macos-perf-probe.sh` for one-shot evidence) - Investigating unknown system behaviors - Checking status of Apple services/features - Debugging issues with macOS built-in functionalities - Auditing system data usage (like token consumption for AI features) - Troubleshooting when standard logs don't provide enough detail ## Performance Triage (quick path) For "the machine is slow" requests, run `scripts/macos-perf-probe.sh` first — it captures load, CPU throttle limit, load composition (R vs D), top CPU, top RSS, swap, process/thread counts, app version drift, GPU processes, and agent/dev background bleed…
PATCH-PUBLISH
LLM: internal references leak — strip before public
  • missing 'when NOT to use' — accidental dispatch risk
PROPOSED FIX
replace each internal reference: (no internal lines found — manual review needed)
hermes-agent-prompt-audit
8/10
Audit a Hermes agent prompt for bloat and contradictions.
PATCH-HEADLINEPATCH-COMPACT
software-development · 27.5h ago · 1304 words · 356 tok to load
head
5/10
goal
10/10
comp
5/10
contra
10/10
useful
10/10
unique
10/10
pub
5/10
why this score?
goal 2/2
  • body is empty after frontmatter
  • no 'when to use' / 'load this when' trigger in opening paragraph
useful 2/2
  • no runnable shell command block — agent has to improvise
pub 1/2
  • line 29: internal agent/persona reference — `6. **Unconditional catalog dump** — full skills inventory injected every turn with no rele`
  • line 80: internal agent/persona reference — `- `references/2026-09-16-clawy-prompt-dump-findings.md` — concrete contradiction map from `
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
PROPOSED FIX
replace the `description:` line with: description: "Audit a Hermes system prompt for bloat, contradictions, duplicate specs, locked-rule conflicts, env-state burns, and unconditional catalog dumps. Includes 6-class taxonomy and 5-question triage."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # Hermes Agent Prompt Audit Class-level workflow for reviewing the **content** of a system prompt actually being sent to a Hermes agent — bloat, contradictions, locked-rule conflicts, duplicate specs, and environment-state burns. ## When to Use - Morsy says "analyze the prompt", "review the system prompt", "audit the SOUL.md", "is this prompt in better shape" - You captured a `~/.hermes/tmp/llm_prompts/*.md` dump and need to review it - A session ran hot (token use spike, repeated confusion) and you suspect the prompt, not the model - Before shipping a change to SOUL.md, `agent-communication-style.md`, AGENTS.md, or any always-injected block ## Why This Skill Exists Morsy's verification rigor (memory, locked 2026-09-03): if you cite "X saves Y tokens", measure it. Same logic applies to audit claims — every "this is fluff" call must be backed by file:line and a concrete alternative. The audit is a content problem, not a transport problem. Don't confuse with `hermes-install-health-…
PATCH-PUBLISH
LLM: internal references leak — strip before public
  • line 29: internal agent/persona reference — `6. **Unconditional catalog dump** — full skills inventory injected every turn with no rele`
  • line 80: internal agent/persona reference — `- `references/2026-09-16-clawy-prompt-dump-findings.md` — concrete contradiction map from `
PROPOSED FIX
replace each internal reference: line 32: suppressing the skills index removes the instruction and the discovery path together — the system-prompt builder bundles narrative + index in one string, and no skills_search tool exists to replace it (skills_list has only a category param, and a full dump is several times the index it replaced, spilling to the prompt-cache overflow directory). Consult your Hermes version's source for current line numbers. line 73: Distinct from the system-prompt taxonomy above: this is the post-turn fork path (background review extractor), not the main agent loop. When auditing a prompt dump and the user_message is a memory- or skill-review invocation, the dump reveals bloat in three places: line 76: Fix: install a ~300-token task-specific system prefix on the fork that overrides the main system prompt, keeping the prefix cache key byte-stable so warm-cache reads still hit. line 79: approx_input_tokens > 100K AND user_message starts with "Review the conversation above and..." (i.e. a memory- or skill-review prompt emitted by the background-review fork).
agent-reasoning-effort
—
Tune `agent.reasoning_effort` in `~/.hermes/config.yaml` — what each level does on the wire, the disk-vs-`hermes config show` mismatch, third-party endpoint uncertainty,…
devops · 3.4h ago · 2878 words
ai-bubble-tracker
—
Tracks AI bubble warnings and trigger events daily.
(top-level) · 2.7h ago · 4288 words
career-focus-checkin
—
Class-level workflow for recurring scheduled cron jobs that deliver short career-coach check-ins to the user in Slack — morning (commit),…
(top-level) · 16.5h ago · 8110 words
cross-surface-post-delivery
—
Translate a LinkedIn post into WhatsApp, iMessage, X.
social-media · 3.8h ago · 2578 words
fc-young-adult-crisis-coaching
—
Class-level workflow for any Hermes agent (fc, Yanny, or sibling coaches) when Morsy describes a young-adult family member's STATE —…
father-coaching · 16.5h ago · 3106 words
hermes-config-audit
—
Class-level workflow for searching, understanding, and editing the ~/.hermes configuration directory.
(top-level) · 16.8h ago · 5987 words
hermes-model-management
—
Safe model and provider switching in Hermes via CLI — includes rollback patterns, config key mechanics, and provider-specific quirks.
hermes · 6.4h ago · 5487 words
html-response-report
—
Render Markdown as HTML page via am.
(top-level) · 6.3h ago · 2329 words
inbox-watch
—
Class-level workflow for recurring scheduled cron jobs that poll an email inbox via the himalaya CLI (or any IMAP/terminal-based mail…
devops · 6.1h ago · 5244 words
llm-failover-debugging
—
Debug systematic LLM failover, 429 rate limits, or auxiliary-task auth failures in Hermes.
devops · 6.4h ago · 3156 words
media-asset-acquisition
—
Acquire real images and screenshots from news articles, product pages, social posts, and vendor sites for use as video/animation layers.
media · 3.5h ago · 1472 words
metric-dashboard-deploy
—
Build a self-contained HTML metric dashboard from a local data source (SQLite, JSONL, API), deploy to Cloudflare Pages via wrangler,…
devops · 6.3h ago · 8647 words
ollama-decision-models
—
Use when running Ollama decision models on /v1/systemone.
mlops · 4.0h ago · 3934 words
openrouter-provider-routing-costs
—
Use when tuning provider_routing or diagnosing spend.
(top-level) · 6.4h ago · 466 words
rcsx-signup-tracking
—
Use when tracking RCS X signups or the 100-user target.
productivity · 6.1h ago · 256 words
social-media-post-authoring
—
Author user-authored thought-leadership social media posts for LinkedIn, X, and similar platforms.
social-media · 3.8h ago · 11471 words
vp-headhunter-engagement
—
Retained-search plan for VP candidates on headhunter asks.
(top-level) · 16.5h ago · 2821 words
whatsapp-silence-diagnosis
—
Class-level workflow for diagnosing a one-to-one WhatsApp silence episode and proposing concrete bridge moves.
(top-level) · 16.5h ago · 2250 words