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

🛠️ Skill Audit

2026-10-18 · 18 skills modified in past 48h
0
skills scored ≤4 / 10
1
merge proposals
avg 6.9 · median 7 · 17 scored · 1 unscored · 6,684 tokens to load

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

wacli
5/10
Send and receive WhatsApp messages via the wacli CLI on macOS.
PATCH-HEADLINEPATCH-COMPACT
(top-level) · 5.3h ago · 9068 words · 445 tok to load
head
5/10
goal
10/10
comp
0/10
contra
5/10
useful
10/10
unique
5/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 1/2
  • 34 '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: list chats, pull 24h history, send text or file, search the local store. Load instead of imessage for WhatsApp work."
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-CONTRADICTION
LLM: rules conflict or contradict
  • 34 'do not/never' phrases + 19 'always/must' phrases — possible direct conflicts at lines [182, 189, 197] vs [26, 112, 114]
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 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 192: Message style — personal nudge to a specific named recipient (no-signature rule) line 211: No-signature rule (operator → family/named recipient) line 213: Rationale: the message lands first-person without attribution; the operator's voice is implicit. line 219: Validated case: four drafts reviewed by the operator. Draft 4 (the one that landed)... line 233: No brand name in agent voice.
cloudflare-pages-deploy
6/10
Deploy static sites to Cloudflare Pages.
PATCH-HEADLINEPATCH-COMPACT
(top-level) · 27.3h ago · 12150 words · 343 tok to load
head
5/10
goal
10/10
comp
0/10
contra
10/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 2/2
  • 46 'do not/never' phrases + 22 'always/must' phrases — possible direct conflicts at lines [34, 112, 128] vs [36, 42, 65]
pub 0/2
  • line 70: hardcoded ~/.hermes path — `cd /Users/morsy/.hermes/workspaces/<agent>/milestr`
  • line 181: hardcoded ~/.hermes path — ``terminal(command="cat /Users/morsy/.hermes/cron/jobs.json")` will silently truncate stdou`
  • line 194: hardcoded ~/.hermes path — `with open('/Users/morsy/.hermes/cron/jobs.json', 'rb') as f:`
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
PROPOSED FIX
replace the `description:` line with: description: "Use cloudflare pages deploy (this workspace) to we have Hermes."* If the existing cron + skills + cloudflare-pages-deploy pipeline can do the job (daily job, weekly HTML rebuild, deploy to `<slug>.pa…."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # Cloudflare Pages Deploy (this workspace) ## TL;DR **Default to existing infra before reaching for new tools.** Morsy's verbatim rejection: *"This is BS. We have Hermes."* If the existing cron + skills + cloudflare-pages-deploy pipeline can do the job (daily job, weekly HTML rebuild, deploy to `<slug>.pages.dev`), propose THAT, not a new external service (n8n, Make.com, separate cron → email bridge, etc.). Locked 2026-10-15. **Reuse an existing project before creating a new one.** Cloudflare Pages has a hard per-account project cap (free = 100, paid = 500), and the easy reflex of "one HTML file → one new project" burns through it. Before `wrangler pages project create`, run the project-reuse check below. Multi-file sister reports, dashboards, recurring cron outputs, and per-iteration artifacts from the same workflow all belong in ONE existing project with sibling files, not in N new projects. See Pitfall #27. **wrangler 4.105 auto-creates projects — one step is the default.** ```…
PATCH-PUBLISH
LLM: internal references leak — strip before public
  • line 70: hardcoded ~/.hermes path — `cd /Users/morsy/.hermes/workspaces/<agent>/milestr`
  • line 181: hardcoded ~/.hermes path — ``terminal(command="cat /Users/morsy/.hermes/cron/jobs.json")` will silently truncate stdou`
  • line 194: hardcoded ~/.hermes path — `with open('/Users/morsy/.hermes/cron/jobs.json', 'rb') as f:`
PROPOSED FIX
replace each internal reference: line 6: # Cloudflare Pages Deploy line 11: Default to existing infra before reaching for new tools. If the existing cron + skills + cloudflare-pages-deploy pipeline can do the job line 15: separate cron → email bridge, etc.). line 39: Always stage deploys in a non-Google-Drive local dir (e.g. ~/.cache/<name>/ or any tmpfs path) before running wrangler pages deploy. line 73: cd <workspace>/milestr milestr --agent <agent> export
h-work-daily-brief
6/10
H's Daily Brief — Three-Channel Delivery Cron.
PATCH-HEADLINEPATCH-COMPACT
(top-level) · 25.6h ago · 13432 words · 343 tok to load
head
0/10
goal
10/10
comp
0/10
contra
10/10
useful
10/10
unique
10/10
pub
0/10
why this score?
head 0/2
  • frontmatter description is 2 chars (target ≥60, max 200)
  • no action verb in description (e.g. build, run, audit, generate)
goal 2/2
  • body is empty after frontmatter
  • no 'when to use' / 'load this when' trigger in opening paragraph
contra 2/2
  • 40 'do not/never' phrases + 26 'always/must' phrases — possible direct conflicts at lines [13, 35, 57] vs [23, 123, 152]
pub 0/2
  • line 435: hardcoded ~/.hermes path — `TEMPLATE = open("/Users/morsy/.hermes/skills/h-work-daily-brief/templates/h-daily-brief-em`
  • line 241: hardcoded ~/dev path — ``pip3 list` shows `resend 2.30.1` but `import resend` from `/Users/morsy/dev/hermes/venv/b`
  • line 17: internal agent/persona reference — `| To | `henda.cheikhrouhou@ucsf.edu` |`
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
  • frontmatter description is 2 chars (target ≥60, max 200)
  • no action verb in description (e.g. build, run, audit, generate)
PROPOSED FIX
replace the `description:` line with: description: "Generate H's daily 5-card neurological-surgery and clinical-research news digest (rolling 48h) and deliver via email, LinkedIn draft, and WhatsApp group."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # H's Daily Brief — Three-Channel Delivery Cron This umbrella covers the recurring daily brief for **H (Henda Cheikhrouhou)** — Morsy's wife, a clinical researcher at the **UCSF Department of Neurological Surgery**. Every morning at 7am PT a cron run produces a five-card digest of neurological-surgery + clinical-research news from the **last 48 hours**, then delivers it through three channels: 1. **Email** — HTML newsletter via himalaya gmail SMTP (MML template format; see pipeline step 5) 2. **LinkedIn proposal** — ~80-word draft for H to post herself (the cron does **NOT** auto-post to LinkedIn) 3. **WhatsApp** — forwards the LinkedIn proposal to the family comms group This is **not** a Slack-format digest. Cards use HTML with inline CSS, not Slack markdown. The `executive-brief` umbrella's Slack format rules (§5) do **not** apply here. ## Recipient constants (do not change without user input) | Field | Value | |---|---| | To | `henda.cheikhrouhou@ucsf.edu` | | CC | `morsy.chei…
PATCH-PUBLISH
LLM: internal references leak — strip before public
  • line 435: hardcoded ~/.hermes path — `TEMPLATE = open("/Users/morsy/.hermes/skills/h-work-daily-brief/templates/h-daily-brief-em`
  • line 241: hardcoded ~/dev path — ``pip3 list` shows `resend 2.30.1` but `import resend` from `/Users/morsy/dev/hermes/venv/b`
  • line 17: internal agent/persona reference — `| To | `henda.cheikhrouhou@ucsf.edu` |`
PROPOSED FIX
replace each internal reference: line 17: <recipient email> line 18: <cc email> line 19: <verified sender email on a Resend-authenticated domain> line 20: <permitted whatsapp group jid> — name "<hub group name>" line 21: <personal whatsapp jid> — NOT permitted for this cron (personal DM, off-limits as of <date>)
hermes-search-classify
6/10
Find files referencing string X in ~/.hermes, classify signal vs noise, recommend.
PATCH-HEADLINEPATCH-COMPACT
devops · 13.9h ago · 1891 words · 358 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
pub 0/2
  • line 79: hardcoded ~/.hermes path — `LIVE = {"/Users/morsy/.hermes/config.yaml", "/Users/morsy/.hermes/cron/jobs.json"}`
  • line 115: hardcoded ~/.hermes path — `rg "filename" /Users/morsy/.hermes/skills/<parent>/SKILL.md`
  • line 184: hardcoded ~/.hermes path — `Concrete failure mode (2026-10-17, `openclaw-imports` case): I told Morsy *"Source 2: A sk`
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
PROPOSED FIX
replace the `description:` line with: description: "Search a directory for files referencing string X, classify matches as signal vs noise, and recommend an action per bucket (trash/keep/investigate/ignore)."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # Hermes search-and-classify workflow When Morsy says "find files containing X" or "list files referencing X", the deliverable is rarely the raw list — it's the **classified list**: which matches are load-bearing signal, which are decorative noise, what action (if any) each cluster calls for. This skill captures the recipe for that whole arc, end-to-end. ## When to use - "search for all the files under .hermes that contain Y" - "list all files containing Y" - "delete these files" (after a search — implies the previous step already classified) - "analyze why this skill/file references Y" - Any workflow that starts with `rg` over `~/.hermes` and ends with a recommendation ## Step 1 — Pick the search mode Default to **literal / fixed-string**. Morsy has corrected me on this (2026-08-16: "not derivations of that string"): ```bash # YES — default rg -l --fixed-strings "X" /Users/morsy/.hermes # NO — derivations, regex character classes, glob patterns rg -l "X|y|xy" /Users/morsy/.her…
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
  • line 79: hardcoded ~/.hermes path — `LIVE = {"/Users/morsy/.hermes/config.yaml", "/Users/morsy/.hermes/cron/jobs.json"}`
  • line 115: hardcoded ~/.hermes path — `rg "filename" /Users/morsy/.hermes/skills/<parent>/SKILL.md`
  • line 184: hardcoded ~/.hermes path — `Concrete failure mode (2026-10-17, `openclaw-imports` case): I told Morsy *"Source 2: A sk`
PROPOSED FIX
replace each internal reference: line 3: description: "Search a directory for files referencing string X, classify matches as signal vs noise, and recommend an action per bucket." line 8: When a user says "find files containing X" or "list files referencing X", the deliverable is rarely the raw list line 20: Default to literal / fixed-string for exact references: line 32: A literal-string search is faster, deterministic, and matches user intent. Regex is only appropriate when the user explicitly says "any of", "matching", or names a pattern. line 88: The live-config safety guard must be present in any deletion script — even if the user hasn't named the live files in their deletion list. A 2-line check prevents bricking the runtime.
morsy-writing-style-linkedin-social
6/10
Write LinkedIn posts and articles in Morsy Cheikhrouhou's voice — Educational Breakdown style (informed-observer, not contrarian).
PATCH-HEADLINEPATCH-COMPACT
(top-level) · 10.3h ago · 20608 words · 439 tok to load
head
0/10
goal
10/10
comp
0/10
contra
10/10
useful
10/10
unique
10/10
pub
0/10
why this score?
head 0/2
  • frontmatter description is 495 chars (over 200 cap)
goal 2/2
  • body is empty after frontmatter
  • no 'when to use' / 'load this when' trigger in opening paragraph
comp 0/2
  • only 14% of body is code/commands/lists/headings — 86% is prose
contra 2/2
  • 109 'do not/never' phrases + 42 'always/must' phrases — possible direct conflicts at lines [45, 46, 48] vs [88, 149, 162]
useful 2/2
  • no runnable shell command block — agent has to improvise
pub 0/2
  • line 468: hardcoded ~/.hermes path — `- **"Show it here" / "show me" means inline-in-Slack, not file-on-disk (added 2026-10-13, `
  • line 469: hardcoded ~/.hermes path — `- **"Can't read it" = paste the draft inline, don't point at the file (added 2026-10-17, A`
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
  • frontmatter description is 495 chars (over 200 cap)
PROPOSED FIX
replace the `description:` line with: description: "Write LinkedIn posts in an informed-observer / educational voice. Enforces bold-label-colon bullets, 100-220 words, no em-dashes, no contrarian framing. Load when drafting or reviewing LinkedIn content."
PATCH-COMPACT
LLM: body has restatement or prose bloat
  • only 14% of body is code/commands/lists/headings — 86% is prose
PROPOSED FIX
tighten the body — a working tighter version: # Morsy LinkedIn Writing Style **Voice:** Informed-observer / educator. Not sales, not contrarian, not hype. Think tank, not vendor. **Reference post:** Ivan Landabaso's "OpenAI just built its own AI chip" — bold-label-colon bullets, specific over abstract, generalized punchline. **Locked:** 2026-06-27 (contrarian framing banned). Updated 2026-07-07 with formatting rules from Slack thread. --- ## When to Load - Morsy asks for a LinkedIn post or article - Drafting from `news-digest.md` items, a research brief, a deep-dive, or a single news story - Reviewing an existing LinkedIn draft against Morsy's voice - Formatting a post for delivery (spacing, emoji minimum, hashtags) Skip for: X/Twitter posts, blog articles for rcsx, internal Slack messages, email replies. --- ## Step 1 — Pick the Input Accept ONE of: - A single news item (company + product + date + number) - One angle from a 3-angle pitch (Morsy picks first) - A research brief / deep-dive (`*-explainer.md`) If you have a …
PATCH-PUBLISH
LLM: internal references leak — strip before public
  • line 468: hardcoded ~/.hermes path — `- **"Show it here" / "show me" means inline-in-Slack, not file-on-disk (added 2026-10-13, `
  • line 469: hardcoded ~/.hermes path — `- **"Can't read it" = paste the draft inline, don't point at the file (added 2026-10-17, A`
PROPOSED FIX
replace each internal reference: line 3: Write LinkedIn posts in an informed-observer / educational voice. Enforces bold-label-colon bullets, 100-220 words, no em-dashes, no contrarian framing. Load when drafting or reviewing LinkedIn content.
sonia-motivation-cover-letter
6/10
Bilingual EN+FR cover letter for Sonia's AI job pipeline.
PATCH-HEADLINEPATCH-COMPACT
career · 14.0h ago · 2368 words · 345 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?
head 1/2
  • frontmatter description is 57 chars (target ≥60, max 200)
  • no action verb in description (e.g. build, run, audit, generate)
goal 2/2
  • body is empty after frontmatter
  • no 'when to use' / 'load this when' trigger in opening paragraph
contra 1/2
  • 14 'do not/never' phrases + 6 'always/must' phrases — possible direct conflicts at lines [41, 51, 64] vs [58, 160, 169]
useful 2/2
  • no runnable shell command block — agent has to improvise
pub 0/2
  • line 49: hardcoded ~/.hermes path — `- **Plan (strategic context):** `/Users/morsy/.hermes/workspaces/zonya/memory/PLAN-Sonia-A`
  • line 264: hardcoded ~/.hermes path — `- Do **not** write to `/Users/morsy/.hermes/workspaces/zonya/applications/`.`
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
  • frontmatter description is 57 chars (target ≥60, max 200)
  • no action verb in description (e.g. build, run, audit, generate)
PROPOSED FIX
replace the `description:` line with: description: "Generate a bilingual EN+FR cover letter for a named candidate, pre-loading a verified evidence bank and Morsy-locked writing rules. Inputs: JD, company, target language."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # Sonia's Bilingual Cover Letter Skill ## What this skill is A Sonia-specific wrapper around the general Top 1% Bilingual Cover Letter method (found at `/Users/morsy/My Drive (morsy.cheikhrouhou@gmail.com)/priv/Family/Sonia/sonia-job-2026/skills/cover letter/top_1_percent_bilingual_cover_letter_skill/SKILL.md`). This skill: 1. Pre-loads Sonia's verified evidence bank (the 8 wins from the mémoire + plan), so a writer does not have to re-discover facts every time. 2. Injects the operating rules Morsy and I have locked in memory. 3. Defines a tight input/output contract for the application pipeline. 4. Produces *bilingual, semi-final* letters (EN + FR) ready for Morsy's voice edit before Sonia or Morsy sends them. Trigger - any ask for a cover letter / lettre de motivation / motivation letter for a specific role at a specific company targeting Sonia. --- ## Required inputs (call out if missing) 1. **Job description** - full text or URL. If only a URL is given, fetch and ex…
PATCH-CONTRADICTION
LLM: rules conflict or contradict
  • 14 'do not/never' phrases + 6 'always/must' phrases — possible direct conflicts at lines [41, 51, 64] vs [58, 160, 169]
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 49: hardcoded ~/.hermes path — `- **Plan (strategic context):** `/Users/morsy/.hermes/workspaces/zonya/memory/PLAN-Sonia-A`
  • line 264: hardcoded ~/.hermes path — `- Do **not** write to `/Users/morsy/.hermes/workspaces/zonya/applications/`.`
PROPOSED FIX
replace each internal reference: line 11: A candidate-specific wrapper around a general Bilingual Cover Letter method (found at <path-to-source-skill>/SKILL.md). line 17: Injects the operating rules the operator has locked for this candidate. line 36: if the operator wants a specific paragraph to lead line 46: Master CV (EN, PDF): <path-to-evidence-bank>/<candidate>_CV_EN.pdf line 47: Master CV (FR, PDF): <candidate>_CV_FR_source.pdf in the same dir.
source-of-truth-first
6/10
Use when Morsy asks 'is X tracked?' / 'what have we worked on?' / 'show me everything about Y' /…
MERGEPATCH-HEADLINE
software-development · 26.7h ago · 4883 words · 504 tok to load
head
5/10
goal
10/10
comp
0/10
contra
10/10
useful
10/10
unique
5/10
pub
0/10
why this score?
head 1/2
  • frontmatter description is 903 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
  • heavy rule churn (23 rule phrases) — consolidate before next read
useful 2/2
  • no runnable shell command block — agent has to improvise
pub 0/2
  • line 91: hardcoded ~/.hermes path — `4. Sept 8–9: every cron tick fires ~14 Python processes simultaneously. mem0 init fails wi`
  • line 300: hardcoded ~/.hermes path — `**Origin case:** stewart session 2026-09-25, Meta Muse bounty. Companion to v1.0-v1.4 (rea`
  • line 364: hardcoded ~/dev path — `sys.path.insert(0, "/Users/morsy/dev/hermes")`
see proposed fix
MERGE
LLM: merge into `agent-communication-style` (the more-general sibling)
PROPOSED FIX
consolidate the smaller skill into `agent-communication-style`; archive the loser's directory under `~/.hermes/skills/_archive/<name>-merged-<ts>/`
📉 ~504 tokens/load eliminated + 1 skill off the dispatch surface
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
  • frontmatter description is 903 chars (over 200 cap)
PROPOSED FIX
replace the `description:` line with: description: "Open the source-of-truth file before answering count, list, or status questions across items. Read disk, count, reply. Never reconstruct from memory. Pair with communication-style for render rules."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # Source-of-Truth-First (SOTF) When Morsy asks a question whose answer is a **count, list, status, or enumeration across items**, the answer lives in a file — not in agent memory. Open the file, count, then reply. Do not reconstruct from session_search when a known source-of-truth file exists. **Financial-model variant (2026-09-24 nancy SCI session):** the same discipline applies when **building** models, not just answering questions. When constructing any model with input rows (property values, acquisition basis, mortgage balances, tax brackets, rental figures), the first reflex must be to look up actual values in the user's existing documents — Google Drive (`~/Library/CloudStorage/GoogleDrive-*/My Drive/priv/TresorPublic/` for French tax filings, prior returns, notaire estimates), `US_Tax_09_<year>_-_Itemized_List.xlsx` for prior-year property values and acquisition dates, BNP/SocGen amortization CSVs in `<year>-fr-revenues/`, `SeLoger.pdf` for owner self-estimates — rather than …
PATCH-PUBLISH
LLM: internal references leak — strip before public
  • line 91: hardcoded ~/.hermes path — `4. Sept 8–9: every cron tick fires ~14 Python processes simultaneously. mem0 init fails wi`
  • line 300: hardcoded ~/.hermes path — `**Origin case:** stewart session 2026-09-25, Meta Muse bounty. Companion to v1.0-v1.4 (rea`
  • line 364: hardcoded ~/dev path — `sys.path.insert(0, "/Users/morsy/dev/hermes")`
PROPOSED FIX
replace each internal reference: line 3: Use when the user asks 'is X tracked?', 'what have we worked on?', 'show me everything about Y', 'are all N things done?', or any question whose answer is a count, list, or status across multiple items. The rule: open the relevant file (milestone tracker, project README, git log, session DB) FIRST, count or extract the answer, THEN reply — never reconstruct from memory, never substitute analysis for an answer. This skill covers the retrieval discipline that must happen before the shape decision in agent-communication-style. line 5: version: 1.6.0 author: "see CHANGELOG.md" line 16: Construction-time variant: the same discipline applies when building models, not just answering questions. When constructing any model with input rows (property values, acquisition basis, mortgage balances, tax brackets, rental figures), the first reflex must be to look up actual values in the user's existing documents (tax filings, prior returns, bank amortization statements, owner self-estimates) — rather than generating plausible-looking defaults. line 18: Deepest construction-time cousin — "Copied from a derived summary, didn't verify upstream": line 36: Origin:* see references/financial-model-derived-summary-2026-09-27.md.
ai-bubble-tracker
7/10
Tracks AI bubble warnings and trigger events daily.
PATCH-HEADLINEPATCH-COMPACT
(top-level) · 0.9h ago · 2057 words · 349 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
contra 2/2
  • heavy rule churn (17 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: "Run daily scans for AI bubble warnings from named experts and render trigger events to the public tracker dashboard."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # AI Bubble Tracker A daily tracker of named experts and institutions calling for an AI bubble burst in 2027-2028, with automated watches for the triggers they care about. ## When to use - "What did the AI bubble tracker find today?" - "Did Burry / Grantham / Dalio post anything new?" - "Run the AI bubble scan" - "Rebuild the AI tracker dashboard" - "Update the AI bubble tracker predictions" ## Data files (all in `~/.hermes/workspaces/nancy/ai-bubble-tracker/`) - `data/predictions.json` — the 11 named sources + 5 triggers - `data/events.json` — append-only log of detected events - `data/signal_history.json` — per-day `{source_id, severity}` rows; drives the all-time heat count - `data/seen_ids.json` — dedup key (URL) → first-seen-timestamp; used by the daily cron to avoid re-logging the same article - `index.html` — last-rendered dashboard (dark default, light toggle) ## Scripts - `scripts/scan.py` — read-only post-processor: prints Slack-ready summary - `scripts/render.py` — r…
PATCH-PUBLISH
LLM: internal references leak — strip before public
  • missing 'when NOT to use' — accidental dispatch risk
PROPOSED FIX
replace each internal reference: line 15: ## Data files (path: $AI_BUBBLE_TRACKER_HOME/, default ./) line 25: (dark default, light toggle via top-right button) line 26: (3 components: parent z-index, ::after z-index, ancestor overflow: visible). line 28: ### render.py — 4 features that must coexist line 46: (redeploy from the most recent production build)
cron-fleet-stewardship
7/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 · 25.5h ago · 3339 words · 475 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 805 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
  • 9 'do not/never' phrases + 9 'always/must' phrases — possible direct conflicts at lines [83, 137, 142] vs [37, 39, 40]
pub 0/2
  • line 192: 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 operate a multi-cron fleet (2+ LLM-driven jobs handing off via shared state files). Covers pipeline shape, state-handoff JSON, per-cron prompt contract, silent-worker trap, and audit recipe."
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-PUBLISH
LLM: internal references leak — strip before public
  • line 192: 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: Load when the user asks to "set up cron jobs for X", "wire a daily pipeline", "automate triage and PRs", or add/change scheduled jobs that share state. Distinct from release-stewardship (single-repo release discipline) and kanban-orchestrator (per-task assignment via durable SQLite queue). line 114: "repo": "<owner>/<repo>", line 171: Fleet-wide drift_skip after a config-provider rename. Renaming model.provider in the agent's config (e.g. minimax → minimax-portal) can cause the cron runtime's spend-safety guard to skip every unpinned job in the fleet with [drift_skip]. The fix is hermes cron edit <id> --provider X --model Y for each affected job — not hermes gateway restart, not editing jobs.json directly. After pinning, the per-job last_status: error text may stay stale until the next scheduled tick; verify the pin actually worked by reading the freshly-written output file in the cron's output directory. line 184: Setting deliver: slack:<CHAT_ID> (or any explicit chat_id) is silently overridden to the current conversation thread's chat if the cron is created via cronjob.create while you're in that thread. line 188: When a user pastes a Slack permalink like <CHAT_ID>/<THREAD_TS> and asks "which cron posted this?" or "why did this land in my DM?", convert the timestamp and query the agent's session database. Cron sessions are named cron_<jobid>_<UTC-filename-ts> where <UTC-filename-ts> is the session's UTC start time formatted YYYYMMDD_HHMMSS. The Slack <THREAD_TS> is UTC seconds with a fractional .ffffff microsecond field — match within a 60-second window (or just match the HH:MMSS portion):
milestr-dashboard
7/10
Operate a Milestr dashboard instance — create/update tasks and KPIs, publish to Cloudflare Pages, manage backups.
PATCH-HEADLINEPATCH-COMPACT
productivity · 27.4h ago · 1653 words · 443 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 453 chars (over 200 cap)
goal 2/2
  • body is empty after frontmatter
  • no 'when to use' / 'load this when' trigger in opening paragraph
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
  • frontmatter description is 453 chars (over 200 cap)
PROPOSED FIX
replace the `description:` line with: description: "Operate a Milestr project dashboard via the milestr CLI — create/update tasks, log KPIs, publish to Cloudflare Pages, back up and restore. Load before any milestr command or data.json read/write."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # Milestr — Agent User Guide ## What is Milestr Milestr is a **local-first CLI dashboard** for tracking the work of a single project. Each project gets its own `data.json`, its own HTML dashboard, and its own Cloudflare Pages deployment. If you need to *develop the engine itself* (add features, fix bugs in the CLI, change the data schema, manage releases), this skill is not for you — this guide is for operators of a Milestr instance, not engine contributors. ## ⚠️ HARD RULE — NEVER edit `data.json` directly. CLI only **Every mutation to a Milestr `data.json` MUST go through the `milestr` CLI binary.** Direct edits via `python -c "json.load/open/write"`, `write_file`, `cat > data.json`, `sed -i`, or any other out-of-band tool are **forbidden**. **Why:** 1. The CLI is the only publisher — `saveData()` is the sole path that creates the backup, writes the `dashboard.log` `CHANGE:` record, regenerates `dashboard.html`, and ships to Cloudflare Pages. Direct edits ship a `data.json` that…
PATCH-PUBLISH
LLM: internal references leak — strip before public
PROPOSED FIX
replace each internal reference: line 8: tags: [milestr, dashboard, cli, task-tracking, kpi, cloudflare-pages] line 9: line 190: If you are developing the engine itself (modifying the Milestr source tree), this skill's CLI reference applies but the schema references may lag the latest code. Always cross-check the engine's schema module for the authoritative Zod shape. line 199: A fourth track (the operator's workspace journal, e.g. <workspace>/journal-<agent>-<ISO-Z>.json) is required by the orchestrator's overall guidelines for cron-driven sweeps. If you write a sweep-style cron, follow the 7-step order in references/orchestrator-sweep-integrity.md.
session-librarian
7/10
Organize sessions by prompt: find, rename, archive, prune.
PATCH-HEADLINEPATCH-COMPACT
productivity · 8.9h ago · 978 words · 365 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
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: "Session Librarian: Manage the user's session library conversationally: find past sessions about a topic, summarize what they decided, rename them meaningfully, split work into parallel sessions…."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # Session Librarian Manage the user's session library conversationally: find past sessions about a topic, summarize what they decided, rename them meaningfully, split work into parallel sessions, and propose stale ones for archive or deletion — all from a plain-language request like *"find my sessions about Q3 pricing, keep the useful ones, and clean up the duplicates."* Inspired by Perplexity Computer's prompt-driven session management (Aug 2026): the agent starts, organizes, and cleans up the user's own session library, and always shows the plan before touching anything. ## When to Use - "What sessions do I have about X?" / "What did we decide about X?" - "Rename these sessions to something meaningful." - "Clean up my session library" / "archive the stale ones." - "Fork that session into a follow-up focused on Y." - "Split this into one session per ticket" (see Parallel workstreams below). ## The Two Surfaces | Task | Surface | |---|---| | Find sessions by topic, read content, …
PATCH-PUBLISH
LLM: internal references leak — strip before public
  • missing 'when NOT to use' — accidental dispatch risk
PROPOSED FIX
replace each internal reference: line 94: ### Query-crafting playbook line 96: and the user suspects the work was done in a past session line 112: The user says "based on 2023 plans" but the session actually references 2024-2032 plans. line 126: Heuristic: if the user asks "was that you?" line 135: The user will accept that explanation faster than another empty result.
agentic-mesh-on-milestr
8/10
Use when designing or building an agentic loop where Milestr is the goal-management substrate — four-role mesh (runner / planner…
PATCH-HEADLINEPATCH-COMPACT
(top-level) · 27.4h ago · 2270 words · 401 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 559 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
  • 11 'do not/never' phrases + 9 'always/must' phrases — possible direct conflicts at lines [58, 60, 67] vs [67, 72, 113]
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
  • frontmatter description is 559 chars (over 200 cap)
PROPOSED FIX
replace the `description:` line with: description: "Use when designing an agentic loop on Milestr — four-role mesh (runner/planner/KPI-tracker/orchestrator), sole-writer data boundaries, typed-error retry, KPI as truth. Distinct from milestr-dashboard."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # Designing an Agentic Mesh on Milestr ## What this is A class-level pattern for turning a goal-management tool (Milestr) into the shared-state substrate for an agentic loop that converges on a measurable North Star. Four agents, one `data.json`, one winner: the KPI that hits target. ## When to use - Morsy asks "transform X into an agentic solution" or "agents that achieve the North Star" - Designing planner/runner/orchestrator/KPI topology over a state store - Reviewing an existing multi-agent design for sole-writer conflicts or KPI conflation - Writing the prompts + data-boundary matrix for a new four-role mesh - Answering "what's the architecture for an agent loop on Milestr?" ## When NOT to use - Operating a Milestr instance (use `milestr-dashboard`) - Single-agent skills-loaded workflows without decomposition - Cost/token-optimized agent design (the mesh is NOT optimized for tokens — KPIs are the success signal) - Generic LangGraph/AutoGen tutorials (those are frameworks; t…
PATCH-PUBLISH
LLM: internal references leak — strip before public
PROPOSED FIX
replace each internal reference: line 1: Use when designing an agentic loop on Milestr — four-role mesh (runner/planner/KPI-tracker/orchestrator), sole-writer data boundaries, typed-error retry, KPI as truth. Distinct from milestr-dashboard.
ai-jobs-curation-france
8/10
Curate AI/FDE roles in France.
PATCH-HEADLINEPATCH-COMPACT
career · 14.1h ago · 3031 words · 360 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
contra 2/2
  • 21 'do not/never' phrases + 8 'always/must' phrases — possible direct conflicts at lines [27, 44, 86] vs [20, 22, 23]
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
PROPOSED FIX
replace the `description:` line with: description: "Curate AI Engineer (frontier models) + Forward Deployed Engineer roles in France for early-career Master-level candidates, with strict freshness and experience-level verification."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # AI Jobs Curation — France (Frontier Labs + FDE) Curate live AI Engineer (frontier models) + Forward Deployed Engineer roles in France (Paris focus, sometimes SF) for early-career Master-level candidates. The hard constraint is **experience level**, not title match — every frontier-lab listing wants 4–8 yrs, most Master grads have 1–2. ## When to use - Candidate's primary wishes are **AI Engineer (frontier models)** or **Forward Deployed Engineer**, location France (Paris) or US (SF). - Candidate is early-career: Master-level, 0–3 yrs professional experience (e.g., a recent M2 IASD grad with 1 yr at a consulting firm). - User asks for roles "posted recently" — interpret as a strict freshness window (≤48h, ≤2w, etc.) and **verify against the source-of-truth careers page**, not aggregator descriptions. ## When NOT to use - Candidate is a BTS/BUT/Licence Pro student → use `alternance-employer-targeting` instead. That skill is the wrong level for this one. - Candidate is VP/executive…
PATCH-PUBLISH
LLM: internal references leak — strip before public
PROPOSED FIX
replace each internal reference: line 141: - templates/jobs-page-template.html — single-file Gen-Z playful HTML template (two-section Paris + SF card row, verification source per card). Original adapted from a local reference HTML; not redistributed.
code-agents-skill
8/10
Pick the right coding CLI for a task.
PATCH-HEADLINEPATCH-PUBLISH
devops · 0.9h ago · 974 words · 370 tok to load
head
5/10
goal
10/10
comp
10/10
contra
10/10
useful
10/10
unique
10/10
pub
0/10
why this score?
head 1/2
  • frontmatter description is 58 chars (target ≥60, max 200)
  • no action verb in description (e.g. build, run, audit, generate)
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 0/2
  • line 5: internal agent/persona reference — `Single source of truth for which coding CLI/IDE agents are installed, how each is wired, a`
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
  • frontmatter description is 58 chars (target ≥60, max 200)
  • no action verb in description (e.g. build, run, audit, generate)
PROPOSED FIX
replace the `description:` line with: description: "Choose between OpenCode, Claude Code, and Codex CLI for a Hermes coding task; defaults to OpenCode with the existing provider config."
PATCH-PUBLISH
LLM: internal references leak — strip before public
  • line 5: internal agent/persona reference — `Single source of truth for which coding CLI/IDE agents are installed, how each is wired, a`
PROPOSED FIX
replace each internal reference: line 14: Loaded by any coding subagent that has to write or modify code outside its own session and by routing agents for ops decisions that touch code. line 18: already in the configured auth store line 35: Not installed but worth considering for a better ambient UX or parallel-agent IDE experience: line 43: the same minimax-oauth bearer from the auth store. Tokens never live in tracked files. line 56: if permissions or project hooks are enabled.
coding-cli-bringup
8/10
Install BYOK a coding CLI like OpenCode or Claude Code.
PATCH-HEADLINEPATCH-COMPACT
devops · 0.6h ago · 2001 words · 388 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 55 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 (19 rule phrases) — consolidate before next read
pub 1/2
  • line 32: hardcoded ~/.hermes path — `python3 -c 'import json; d=json.load(open("/Users/morsy/.hermes/auth.json")); [print(k, "-`
  • line 170: hardcoded ~/.hermes path — `- `~/.hermes/auth.json` is read-gated at the tool layer (`read_file` returns "Access denie`
  • line 44: hardcoded ~/dev path — `ls /Users/morsy/dev/*/.env 2>/dev/null | head -10`
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
  • frontmatter description is 55 chars (target ≥60, max 200)
PROPOSED FIX
replace the `description:` line with: description: "Install and BYOK-wire a coding CLI (OpenCode, Claude Code, Codex, Aider) to an existing credential — survey, probe, install, smoke-test, leak-check in one run."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # Coding CLI Bring-Up (BYOK) Class-level workflow for installing a third-party AI coding CLI on a dev machine and wiring it to an LLM credential that already exists somewhere on this Mac — without creating a new API key, without leaking the token to disk in plaintext, and without inviting a foreign-provider default (the documented OpenCode Grok session-title leak). Triggers: - "Install OpenCode / Claude Code / Codex CLI / Pi / Aider / Cline / Antigravity." - "Get X running and ready." - "Wire X up to the same Hermes key / the MiniMax token." - First-time setup of any terminal coding agent. ## Why this skill exists Three failure modes have bitten this machine in past sessions: 1. **The fresh-install loop** — installer runs, `which X` returns nothing because PATH wasn't loaded, agent reports failure that isn't real. 2. **The duplicates key** — agent hits `/connect` UI for OpenCode, Morsy pastes the key, and now there's a plaintext API key in `~/.local/share/opencode/auth.json` (chm…
PATCH-PUBLISH
LLM: internal references leak — strip before public
  • line 32: hardcoded ~/.hermes path — `python3 -c 'import json; d=json.load(open("/Users/morsy/.hermes/auth.json")); [print(k, "-`
  • line 170: hardcoded ~/.hermes path — `- `~/.hermes/auth.json` is read-gated at the tool layer (`read_file` returns "Access denie`
  • line 44: hardcoded ~/dev path — `ls /Users/morsy/dev/*/.env 2>/dev/null | head -10`
PROPOSED FIX
replace each internal reference: line 7: platforms: [macos] line 30: the user pastes the key, and now there's a plaintext API key line 55: # 5. Project-level .env files (don't auto-load — flag for the user) line 65: Nothing matches | Stop and ask the user. Do not invent a key. line 155: If your agent framework has a config-write guard, it may similarly refuse this field — edit the file directly or use the framework's config CLI.
family-curated-dossier
8/10
Curate options + HTML + WhatsApp from Morsy to family.
PATCH-HEADLINEPATCH-COMPACT
productivity · 6.2h ago · 3081 words · 358 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
contra 2/2
  • 31 'do not/never' phrases + 6 'always/must' phrases — possible direct conflicts at lines [28, 37, 41] vs [10, 35, 50]
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
PROPOSED FIX
replace the `description:` line with: description: "Research options for a named person, render a private HTML page, and deliver the link via WhatsApp with a warm intro from the user."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # Family Curated Dossier End-to-end pipeline for "research something for my [niece/nephew/daughter/son/parent], turn it into a nicely-formatted page, send the link to them privately from my WhatsApp, and tell me what you did." Validated 2026-09-02 with Sonia (Morsy's niece, M2 IASD AI-engineer candidate), pushing 14 cards across 2 wish-queues to Cloudflare Pages and a 6-line warm WhatsApp from Morsy's account to `+33 6 51 06 87 59`. ## When to use - Morsy asks "find me N [roles/programs/colleges/products/options] for [named family member]" - The deliverable must be **private** to a specific recipient (not public, not Slack-shared, not LinkedIn-posted) - The delivery medium is **WhatsApp from Morsy's account**, in Morsy's voice to that person - Morsy explicitly or implicitly wants **transparency** in the upstream channel that the send happened Concrete production triggers: - **2026-09-02 Sonia session:** "search for all the roles that she could apply to in France based on her 2 wis…
PATCH-PUBLISH
LLM: internal references leak — strip before public
PROPOSED FIX
replace each internal reference: line 3: Validated with a family member's M2 program search: produced 14 cards across 2 wish-queues, deployed to Cloudflare Pages, and sent a 6-line warm WhatsApp from the user's account. line 14: Send it as if it is me. You are transparent. Use the template in the most recent HTML file under the configured downloads directory. line 16: Future variants (e.g. niece/nephew or daughter research) are direct fits.
premium-marketing-site
8/10
Use when sites must not look AI-made.
PATCH-HEADLINEPATCH-COMPACT
creative · 27.3h ago · 2909 words · 398 tok to load
head
5/10
goal
10/10
comp
5/10
contra
5/10
useful
10/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 1/2
  • heavy rule churn (21 rule phrases) — consolidate before next read
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: "Build premium marketing sites past anti-slop defaults. Delivers 9-primitive motion vocabulary (cursor, holo, parallax, KPI counters, marquee) plus editorial typography for top-5% visual craft."
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
  • heavy rule churn (21 rule phrases) — consolidate before next read
PROPOSED FIX
consolidate each conflicting rule pair into a single statement; keep rules terse and non-overlapping
release-stewardship
—
Release Stewardship.
software-development · 27.2h ago · 13432 words