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

🛠️ Skill Audit

2026-10-19 · 22 skills modified in past 48h
1
skills scored ≤4 / 10
3
merge proposals
avg 6.7 · median 7 · 20 scored · 2 unscored · 7,560 tokens to load

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

alternance-employer-targeting
4/10
Class-level workflow for producing a tiered, research-backed **deliverable set** for a French student / jeune diplômé (BTS, BUT, Licence Pro):…
PATCH-HEADLINEPATCH-COMPACT
career · 6.0h ago · 6808 words · 531 tok to load
head
0/10
goal
10/10
comp
0/10
contra
5/10
useful
5/10
unique
10/10
pub
0/10
why this score?
head 0/2
  • frontmatter description is 1072 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
  • 33 'do not/never' phrases + 16 'always/must' phrases — possible direct conflicts at lines [7, 9, 22] vs [7, 35, 143]
useful 1/2
  • no runnable shell command block — agent has to improvise
pub 0/2
  • line 75: internal agent/persona reference — `**Dashboard reset implication:** if the agent is running a Milestr (or equivalent) dashboa`
  • line 157: internal agent/persona reference — `**⚠️ Shady / unreliable aggregators — DO NOT cite as primary sources on candidate-facing d`
  • line 199: internal agent/persona reference — `- **🚨 N'envoyez pas le CV alternance BEPOS/GEEB à une PME qui cherche un technicien terrai`
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
  • frontmatter description is 1072 chars (over 200 cap)
PROPOSED FIX
replace the `description:` line with: description: "Produce a tiered, research-backed shortlist of French alternance employers in a city × specialty pair, plus certif-provider research and live-offer proof. For BTS/BUT/Licence Pro candidates."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # Alternance Employer Targeting — Class Skill Produce a tiered, research-backed shortlist of employers in a French city who hire alternants in a given Bac+2/Bac+3 specialty. Default use case: BTS Électrotechnique, Montpellier (Hérault/Occitanie), but the workflow generalizes to any French city × specialty pair — including **Licence Pro GEII / LP CAIEE / LP OSSI** paths for Bac+3 alternants coming up from a BTS (verified 2026-09-02, Yann Montpellier case). **Diploma axis matters (2026-09-02 learning):** the candidate's *current* diploma level changes which offers and which schools are relevant. BTS/BUT (Bac+2) recruiter pool ≠ Licence Pro (Bac+3) recruiter pool. **Always re-confirm the target diploma at the top of every brief** — do not assume the previous session's level still applies. A cached "BTS Électrotechnique" brief is wrong if Morsy now says "Licence Pro Génie Électrique" (validated 2026-09-02 — the user pivoted from BTS to LP GEII between sessions and the skill defaults wou…
PATCH-CONTRADICTION
LLM: rules conflict or contradict
  • 33 'do not/never' phrases + 16 'always/must' phrases — possible direct conflicts at lines [7, 9, 22] vs [7, 35, 143]
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 75: internal agent/persona reference — `**Dashboard reset implication:** if the agent is running a Milestr (or equivalent) dashboa`
  • line 157: internal agent/persona reference — `**⚠️ Shady / unreliable aggregators — DO NOT cite as primary sources on candidate-facing d`
  • line 199: internal agent/persona reference — `- **🚨 N'envoyez pas le CV alternance BEPOS/GEEB à une PME qui cherche un technicien terrai`
PROPOSED FIX
replace each internal reference: line 3: Diploma axis matters: line 5: (the candidate's current diploma level — BTS/BUT vs. Licence Pro — changes which offers and recruiters are in scope). line 9: 🚫 Visa / work-permit topic — DO NOT RAISE. Assume the candidate is authorized to work in France. Do NOT raise: visa, titre de séjour, work permit, F-1, EU vs. non-EU national status. line 11: (removed — operator feedback, not skill content) line 12: (removed — duplicate operator feedback)
wacli
5/10
Send and receive WhatsApp messages via the wacli CLI on macOS.
PATCH-HEADLINEPATCH-COMPACT
(top-level) · 29.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.
agent-pipeline-sdlc
6/10
Use when Morsy asks about our process, SDLC, how we ship, or how a feature goes from request to release.
PATCH-HEADLINEPATCH-COMPACT
software-development · 4.8h ago · 2420 words · 472 tok to load
head
0/10
goal
10/10
comp
5/10
contra
5/10
useful
10/10
unique
10/10
pub
0/10
why this score?
head 0/2
  • frontmatter description is 763 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
  • heavy rule churn (26 rule phrases) — consolidate before next read
pub 0/2
  • line 94: hardcoded ~/dev path — `cd /Users/morsy/dev/<target-app>`
  • line 95: hardcoded ~/dev path — `ln -sf /Users/morsy/dev/my-agents .agents # symlink to FlowTalk`
  • line 107: hardcoded ~/dev path — `cd /Users/morsy/dev/<target-app>`
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
  • frontmatter description is 763 chars (over 200 cap)
PROPOSED FIX
replace the `description:` line with: description: "Use when defining SDLC, agent pipelines, or feature request-to-release flows. Encodes an 11-stage pipeline with file-handoff contracts, per-stage agent roles, and JSON artifacts per stage."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # Agent Pipeline SDLC (Vaisu Pattern) The source of truth for SDLC across Morsy projects is the **Vaisu agent pipeline** at `~/dev/my-agents/agents/`. It defines 11 stages, each owned by a named agent, each producing a single JSON artifact in `.context/prd/[topic]/`. File-handoff is the contract — no shared memory, no shared state. When Morsy asks "what's our process / SDLC / how do we ship X": 1. **Read first** — `ls ~/dev/my-agents/agents/` and the relevant `*Agent.md` files. Do not invent the pipeline from memory. 2. **Adapt second** — pick which stages apply to the project. Most non-Vaisu projects skip the UI lane (Teller/Figgy/Xui) and Scaffy (bootstrap-only). 3. **Map to crons last** — the `product-release-automation` skill translates the pipeline into a cron fleet. ## The 11 stages | # | Agent | Role | Output file | Trigger | |---|-------|------|-------------|---------| | 01 | **Maestro** | Senior Technical Architect & Prompt Engineer | `.context/prd/[topic]/[date]-01-maestr…
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
  • line 94: hardcoded ~/dev path — `cd /Users/morsy/dev/<target-app>`
  • line 95: hardcoded ~/dev path — `ln -sf /Users/morsy/dev/my-agents .agents # symlink to FlowTalk`
  • line 107: hardcoded ~/dev path — `cd /Users/morsy/dev/<target-app>`
PROPOSED FIX
replace each internal reference: line 3: The source of truth for SDLC across projects is the [PIPELINE_ROOT] agent pipeline (see Configuration). line 6: Read first — ls [PIPELINE_ROOT] and the relevant *Agent.md files. Do not invent the pipeline from memory. line 2: ## The 11 stages (see Configuration for the [PIPELINE_ROOT] path; ThirdEye is optional and excluded from the canonical count)
family-curated-dossier
6/10
Curate options + HTML + WhatsApp from Morsy to family.
MERGEPATCH-HEADLINE
productivity · 8.3h ago · 3345 words · 371 tok to load
head
5/10
goal
10/10
comp
5/10
contra
10/10
useful
10/10
unique
5/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
  • 31 'do not/never' phrases + 6 'always/must' phrases — possible direct conflicts at lines [32, 41, 45] vs [10, 39, 54]
see proposed fix
MERGE
LLM: merge into `wacli` (the more-general sibling)
PROPOSED FIX
consolidate the smaller skill into `wacli`; archive the loser's directory under `~/.hermes/skills/_archive/<name>-merged-<ts>/`
📉 ~371 tokens/load eliminated + 1 skill off the dispatch surface
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
PROPOSED FIX
replace the `description:` line with: description: "Use family curated dossier to 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 What…."
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 ### Use it also when Morsy says "I thought we had a <thing>" If Morsy opens with *I thought we had*, *isn't there a…*, *didn't we…*, or any…
PATCH-PUBLISH
LLM: internal references leak — strip before public
PROPOSED FIX
replace each internal reference: line 12: Validated with a real case study: a 14-card dossier of AI-engineer roles delivered to a named family member via WhatsApp. line 26: Sample trigger: "search for all the roles that she could apply to in France based on her 2 wishes [...]. Put that in a nicely formatted html page on Cloudflare. line 27: Reusable for any named family member recipient (niece, nephew, daughter, son, parent). line 38: verify the candidate's nationality + visa baseline — see related cv-section-authoring Step 0 rule line 40: Sender's pattern is often "use the most recent .html in the user's Downloads" — discover it with a recent-files scan of that directory
hermes-search-classify
6/10
Find files referencing string X in ~/.hermes, classify signal vs noise, recommend.
PATCH-HEADLINEPATCH-COMPACT
devops · 37.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) · 34.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-job-application-pipeline
6/10
Sonia AI-job application pipeline.
PATCH-HEADLINEPATCH-COMPACT
career · 3.9h ago · 2062 words · 375 tok to load
head
5/10
goal
10/10
comp
5/10
contra
10/10
useful
5/10
unique
10/10
pub
0/10
why this score?
head 1/2
  • frontmatter description is 204 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
  • 13 'do not/never' phrases + 9 'always/must' phrases — possible direct conflicts at lines [22, 38, 99] vs [26, 76, 94]
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
  • frontmatter description is 204 chars (over 200 cap)
PROPOSED FIX
replace the `description:` line with: description: "Fan-out a job-application brief to 4 model runners (Hermes, Codex, OpenCode, Nemotron) in parallel; each writes the same artifacts prefixed by runner name for direct A/B comparison."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # Sonia Job Application Pipeline — Master Skill Single entry point that fans out the same job application brief to **four runners in parallel**. Each runner is responsible for producing its own variant of every artifact in the bundle. The runners use the **same prompt** (so output is directly A/B-comparable) but **different model backends**, so Morsy can pick the best output per artifact. ## What this skill is For every invocation, the user supplies: 1. A **job description** (inline text or URL — skill supports both, prefers inline if given). 2. A **company name** + role title + role slug. 3. An optional **date** (defaults to today, `YYYY-MM-DD`). 4. An optional **profile slug** (defaults to `sonia`). The skill then: 1. Resolves the source-of-truth CV + cover-letter method. Fans out the same prompt to: `hermes`, `codex`, `opencode`, `nemotron`. Each runner writes its output files into the **same application folder** at `/Users/morsy/My Drive (morsy.cheikhrouhou@gmail.com)/priv…
PATCH-PUBLISH
LLM: internal references leak — strip before public
PROPOSED FIX
replace each internal reference: line 13: 4. Every file the runners emit is prefixed with the runner name so output never collides. Set APPLICATIONS_ROOT to your personal applications folder (e.g. a sync folder like Google Drive) before running. ## File prefix convention (locked) Every artifact a runner emits MUST start with <runner>: | Runner | Prefix | Backend | |---|---|---| | Hermes (current agent) | hermes | Native Hermes tools | | Codex CLI | codex_ | codex exec (OpenAI Codex, default o3) | | OpenCode CLI (default provider) | opencode_ | opencode run (provider configurable, default minimax/MiniMax-M3) | | OpenCode CLI (nemotron model) | nemotron_ | opencode run --model openrouter/nvidia/nemotron-3.5-super-vl:free | line 11: 3. Each runner writes its output files into the same application folder at ${APPLICATIONS_ROOT}/<owner-slug>-<company-slug>-<role-slug>-<YYYY-MM-DD>/ (default: a private Drive/iCloud folder per pipeline owner). line 6: The runners use the same prompt (so output is directly A/B-comparable) but different model backends, so the user can pick the best output per artifact. line 1: # Job Application Pipeline — Master Skill
sonia-motivation-cover-letter
6/10
Bilingual EN+FR cover letter for Sonia's AI job pipeline.
PATCH-HEADLINEPATCH-COMPACT
career · 38.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.
vp-engineering-qa-gate
6/10
Use when reviewing outputs of a FlowTalk / multi-agent pipeline stage (Maestro/Rearchy/Daisy/Tasky/Devy/Checky/Guidy or any 5-7 stage waterfall).
PATCH-HEADLINEPATCH-COMPACT
(top-level) · 3.5h ago · 2873 words · 439 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 506 chars (over 200 cap)
goal 1/2
  • body is empty after frontmatter
  • no 'when to use' / 'load this when' trigger in opening paragraph
contra 2/2
  • 12 'do not/never' phrases + 10 'always/must' phrases — possible direct conflicts at lines [46, 55, 88] vs [37, 50, 55]
pub 0/2
  • line 148: hardcoded ~/dev path — `The canonical location is `/Users/morsy/dev/my-agents/agents/guidelines/`.`
  • line 189: hardcoded ~/dev path — `looks like "expected /Users/morsy/dev/<other-project>/frontend/src/... not found".`
  • line 203: hardcoded ~/dev path — ``const PROJECT_ROOT = '/Users/morsy/dev/cointalk';` — config drift from a`
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
  • frontmatter description is 506 chars (over 200 cap)
PROPOSED FIX
replace the `description:` line with: description: "Review a multi-agent pipeline stage output: score against a 10-check rubric, auto-fix safe deviations, escalate blockers. Use between orchestrator stages or after Guidy exit."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # VP Engineering QA Gate — multi-agent pipeline stage review Morsy rule (locked 2026-10-18): "QA all outputs from all agents. Flag and auto-fix any visible deviation." Every pipeline stage output goes through this gate before the orchestrator advances. If something blocks the next stage, the QA reviewer fixes it; otherwise the fix goes through with a logged `AUTO-FIX:` entry. This skill is class-level — works for any FlowTalk / Maestro-style waterfall run, not just the apruuv orchestration. The apruuv run was the original trigger but the rubric and protocol generalize. ## When to run - After every orchestrator stage transition (`01-maestro.json` … `07-guidy.json`). - After any `BLOCKER:` line appears in a stage log. - After the orchestrator exits (final pass: do all 7 stages still hold). - Any time you (the QA reviewer) are woken up because an agent's output is about to flow into the next stage without human review. ## Inputs to read (every gate) | Artifact | Path | | --- | --- …
PATCH-PUBLISH
LLM: internal references leak — strip before public
  • line 148: hardcoded ~/dev path — `The canonical location is `/Users/morsy/dev/my-agents/agents/guidelines/`.`
  • line 189: hardcoded ~/dev path — `looks like "expected /Users/morsy/dev/<other-project>/frontend/src/... not found".`
  • line 203: hardcoded ~/dev path — ``const PROJECT_ROOT = '/Users/morsy/dev/cointalk';` — config drift from a`
PROPOSED FIX
replace each internal reference: line 3: description: Review a multi-agent pipeline stage output: score against a 10-check rubric, auto-fix safe deviations, escalate blockers. Use between orchestrator stages or after Guidy exit. line 14: not just the original orchestration. The first run was the original trigger but line 108: ## Pitfalls (real fixes captured from a multi-agent run) line 151: The canonical location is <agents-root>/agents/guidelines/. line 159: for the first run it was <project-slug>-v1. Stage files follow <YYYY-MM-DD>-0N-<stage>-<slug>.json.
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 vp engineering qa gate — multi-agent pipeline stage review — it provides the conventions, examples, and reusable code so the agent can act without inventing the wheel.
ai-bubble-tracker
7/10
Tracks AI bubble warnings and trigger events daily.
PATCH-HEADLINEPATCH-COMPACT
(top-level) · 6.4h ago · 2248 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 (18 rule phrases) — consolidate before next read
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
PROPOSED FIX
replace the `description:` line with: description: "Scan named AI-bubble sources daily, log trigger events, and render a heat-map dashboard with per-signal click-through traces."
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
PROPOSED FIX
replace each internal reference: line 20: Data files (all in <workspace>/ai-bubble-tracker/) line 56: Restore from the latest legacy deploy on Cloudflare (the URL pattern https://<hash>.<project-slug>.pages.dev retains a copy of every past deploy) line 63: Daily 21:11 PT — cron ai-bubble-tracker-daily (see your scheduler's job registry); scans sources, dedups via seen_ids.json, appends to events.json + signal_history.json, posts to Slack home channel. line 69: Canonical URL: https://<your-project-slug>.pages.dev (deployed via wrangler pages deploy; registered in your workspace TOOLS.md under "Cloudflare Pages slugs"). line 119: The operator called it out directly: "There is a bit of exaggeration and speculation. This is all tempting on one single case, that of CoreWeave. The other AI businesses continue to thrive."
cloudflare-pages-deploy
7/10
Deploy static sites to Cloudflare Pages.
PATCH-COMPACTPATCH-PUBLISH
(top-level) · 3.7h ago · 12541 words · 343 tok to load
head
10/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
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-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 10: Default to existing infra before reaching for new tools. If your existing scheduler + skill pipeline can handle the job (daily job, weekly HTML rebuild, deploy to <slug>.pages.dev), propose that path before introducing a new external service (n8n, Make.com, separate cron-to-email bridge, etc.). line 39: If /tmp is mounted on a network/sync filesystem (e.g. Google Drive File Stream), it may not allow the IPC path wrangler needs (Unknown system error -102: open '/tmp/drivefs_ipc.501'). Always stage deploys in a non-sync local dir (e.g. ~/.cache/<name>/) before running wrangler pages deploy. line 41: Cloudflare Pages TLS certs can fail with LibreSSL (SSL_ERROR_SYSCALL) or return HTTP 308 (redirect) on curl from macOS — even for fully deployed content. A real browser handles TLS 1.3 negotiation correctly. line 73: cd /path/to/your/<agent>/milestr /usr/local/bin/milestr --agent <agent> export
coding-cli-bringup
7/10
Install BYOK a coding CLI like OpenCode or Claude Code.
MERGEPATCH-HEADLINE
devops · 4.2h ago · 2355 words · 388 tok to load
head
5/10
goal
10/10
comp
5/10
contra
10/10
useful
10/10
unique
5/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 (23 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 178: 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
MERGE
LLM: merge into `llm-config-verifier` (the more-general sibling)
PROPOSED FIX
consolidate the smaller skill into `llm-config-verifier`; archive the loser's directory under `~/.hermes/skills/_archive/<name>-merged-<ts>/`
📉 ~388 tokens/load eliminated + 1 skill off the dispatch surface
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: "Use coding cli bring-up (byok) to 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 — witho…."
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 178: 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 43: python3 -c 'import json, os; d=json.load(open(os.path.expanduser("~/.hermes/auth.json"))); [print(k, "->", list(v.keys())[:5]) for k,v in d.get("providers",{}).items()]' line 49: grep -A2 -E "providers:|custom_providers:" ~/.hermes/config.yaml 2>/dev/null | head -40 # Hermes-specific; substitute your tool's config path for other frameworks line 67: the Hermes custom_providers.minimax block (in the active Hermes config) declares api_key: '' by design line 155: Verified 2026-10-18: the active Hermes config declares custom_providers: - name: minimax ... api_key: '' line 187: The same OAuth bearer from the local Hermes auth store provider minimax-oauth works against https://api.minimax.io/v1/chat/completions
flowtalk-orchestration
7/10
Ship an idea end-to-end via FlowTalk waterfall in my-agents.
PATCH-HEADLINEPATCH-COMPACT
(top-level) · 3.7h ago · 1932 words · 337 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 (13 rule phrases) — consolidate before next read
pub 0/2
  • line 29: hardcoded ~/dev path — `ln -sf /Users/morsy/dev/my-agents .agents`
  • line 260: hardcoded ~/dev path — `1. Wire: `ln -sf /Users/morsy/dev/my-agents <target>/.agents``
  • line 95: internal agent/persona reference — `(Stewart uses `~/.hermes/workspaces/stewart/m8/logs/vp-engineering.md`).`
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
PROPOSED FIX
replace the `description:` line with: description: "Orchestrate a multi-agent waterfall from idea brief to deployed artifact. Use when chaining planning, build, and verify stages through a shared agents/ submodule."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # FlowTalk Orchestration — running a multi-agent waterfall end-to-end Triggers (mention any of these and load this skill): "run the pipeline", "go to TestFlight", "ship it end-to-end", "implement the whole thing", "VP Engineering — track all software cycles", "use opencode to get the idea all the way to the fully implemented product". This skill governs the *operational* shape of running the FlowTalk waterfall defined in `~/dev/my-agents` (also known as the Maestro suite). It does NOT cover the SDLC theory (which is `agent-pipeline-sdlc`) and it does NOT cover the QA gate (which is `vp-engineering-qa-gate`). It is the workflow that *connects* the two. ## When to use Any time the user wants the Maestro suite to drive an idea to a shippable artifact. Typical deliverables: web UI deployed, iOS on TestFlight, npm package published, Cloudflare Worker live, /health returning 200. ## Wiring (one-time per target repo) The FlowTalk repo (`~/dev/my-agents`) is reusable across target apps. W…
PATCH-PUBLISH
LLM: internal references leak — strip before public
  • line 29: hardcoded ~/dev path — `ln -sf /Users/morsy/dev/my-agents .agents`
  • line 260: hardcoded ~/dev path — `1. Wire: `ln -sf /Users/morsy/dev/my-agents <target>/.agents``
  • line 95: internal agent/persona reference — `(Stewart uses `~/.hermes/workspaces/stewart/m8/logs/vp-engineering.md`).`
PROPOSED FIX
replace each internal reference: line 23: cd <target-app-repo> line 24: ln -sf <path-to-agents-repo> .agents line 29: <agents-repo> cloned + npm installed (one-time setup). line 30: <agents-repo>/scripts/.env present with OPENROUTER_API_KEY line 32: opencode CLI on PATH (install via your package manager of choice).
opencode
7/10
Delegate coding to OpenCode CLI; manage opencode.json.
MERGEPATCH-HEADLINE
(top-level) · 4.8h ago · 650 words · 322 tok to load
head
5/10
goal
10/10
comp
10/10
contra
10/10
useful
10/10
unique
5/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
unique 1/2
  • single sibling overlap: opencode = 47% body-token overlap
pub 0/2
  • missing 'when NOT to use' — accidental dispatch risk
see proposed fix
MERGE
LLM: merge into `claude-code` (the more-general sibling)
  • single sibling overlap: opencode = 47% body-token overlap
PROPOSED FIX
consolidate the smaller skill into `claude-code`; archive the loser's directory under `~/.hermes/skills/_archive/<name>-merged-<ts>/`
📉 ~322 tokens/load eliminated + 1 skill off the dispatch surface
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
PROPOSED FIX
replace the `description:` line with: description: "Run coding tasks via OpenCode CLI (TUI/CLI) and edit ~/.config/opencode/opencode.json to add providers, models, and defaults."
PATCH-PUBLISH
LLM: internal references leak — strip before public
  • missing 'when NOT to use' — accidental dispatch risk
PROPOSED FIX
replace each internal reference: line 75: python3 -c "import json; c=json.load(open(os.path.expanduser('~/.config/opencode/opencode.json'))); print('ok')" line 89: If you set a key in Hermes's shell but not the user's terminal, the model will fail when the user runs opencode locally. line 92: Validate JSON shape + key preservation locally, then ask the user to smoke-test in their terminal — don't invent success. line 12: supersedes: []
session-librarian
7/10
Organize sessions by prompt: find, rename, archive, prune.
PATCH-HEADLINEPATCH-COMPACT
productivity · 32.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.
sonia-job-application-pipeline-hermes
7/10
Hermes runner for Sonia AI-job pipeline.
PATCH-HEADLINEPATCH-COMPACT
career · 3.9h ago · 526 words · 290 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
pub 0/2
  • line 98: hardcoded ~/.hermes path — `- Don't write to the workspace (`/Users/morsy/.hermes/workspaces/zonya/applications/`) —`
see proposed fix
PATCH-HEADLINE
LLM: current description doesn't precisely describe the goal
PROPOSED FIX
replace the `description:` line with: description: "Generate Sonia job-application artifacts in-process via Hermes tools. Produces 11 outputs with hermes_ prefix when dispatched by the master pipeline skill."
PATCH-COMPACT
LLM: body has restatement or prose bloat
PROPOSED FIX
tighten the body — a working tighter version: # Hermes Runner — Sonia Job Application Pipeline The Hermes runner is the **native in-process** path. It uses the standard Hermes toolset (`write_file`, `read_file`, `terminal`, `web_extract`, `web_search`) to produce all 11 artifacts directly. **No CLI subprocess** — the runner is the agent invoking this skill. ## Trigger Dispatched by `sonia-job-application-pipeline` master skill. Receives: - `inputs.application_folder` (absolute path) - `inputs.runner_prefix` = `"hermes"` - `inputs.jd_text` (inline job description) - `inputs.jd_url` (optional URL fallback) - `inputs.company`, `inputs.role_title`, `inputs.role_slug`, `inputs.date` ## Step-by-step 1. **Resolve sources.** Read: - `/Users/morsy/My Drive (morsy.cheikhrouhou@gmail.com)/priv/Family/Sonia/sonia-job-2026/CV_Sonia_KECHAOU_LONG_source.docx` (text extraction via `pdftotext` on the corresponding PDF if the DOCX is binary-locked — `CV_Sonia_KECHAOU_LONG_source.pdf` ships alongside). - `~/.hermes/skills/career…
PATCH-PUBLISH
LLM: internal references leak — strip before public
  • line 98: hardcoded ~/.hermes path — `- Don't write to the workspace (`/Users/morsy/.hermes/workspaces/zonya/applications/`) —`
PROPOSED FIX
replace each internal reference: line 14: - <CV_SOURCE_DIR>/CV_<candidate>_LONG_source.docx (see configuration) line 16: - the motivation/cover-letter skill (path configured per installation) line 17: - the pipeline's shared prompt file (path configured per installation; do not modify).
ai-job-hunt-master-researcher
8/10
Holistic plan for top AI jobs, Master/PhD candidates.
PATCH-HEADLINEPATCH-COMPACT
career · 4.8h ago · 3306 words · 359 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
comp 1/2
  • only 12% of body is code/commands/lists/headings — 88% is prose
contra 2/2
  • 14 'do not/never' phrases + 6 'always/must' phrases — possible direct conflicts at lines [26, 27, 61] vs [63, 101, 108]
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: "Generate holistic AI job-hunt plans for Master/PhD/research-engineer candidates: profile positioning, employer targeting, warm intros, interview prep, public artifacts."
PATCH-COMPACT
LLM: body has restatement or prose bloat
  • only 12% of body is code/commands/lists/headings — 88% is prose
PROPOSED FIX
tighten the body — a working tighter version: # AI Job Hunt — Master/Research-Engineer Class Land a top AI-industry job for Master/PhD/research-engineer candidates by running 5 workstreams in parallel: profile positioning, target employer map, warm intro pipeline, application cadence + interview prep, and public artifacts. Default to the high end of the jobs (frontier labs, top AI product/infra, research institutes) — not generic "Data Scientist" applications. ## When to use - Morsy (or a coach agent) asks for a holistic plan to land a candidate a top AI job, with phrasing like "no stone unturned," "high end of the jobs," "prepare a holistic plan," "let's get going." - The candidate has Master/PhD-level credentials and shipped research: ANR-funded PoCs, international contests (SHREC / SHREC25), published architecture work, multimodal + 3D geometry / TDA / protein classification / sovereign LLM pipelines. - A Morsy session pivots from "rewrite the CV" or "summarize the mémoire" into a job hunt — the CV/mémoir was the unblocker,…
PATCH-PUBLISH
LLM: internal references leak — strip before public
PROPOSED FIX
replace each internal reference: line 8: - The user (or a coach agent) asks for a holistic plan to land the candidate a top AI job, with phrasing like "no stone unturned," "high end of the jobs," "prepare a holistic plan," "let's get going." line 10: - The session pivots from "rewrite the CV" or "summarize the mémoire" into a job hunt — the CV/mémoir was the unblocker, the plan is the next step. line 16: - Work permit in France (titre de séjour, nationality) — if OK, opens all of Tier 1/2/3/4/5 in Paris and the EU immediately. (Validated example: candidate with "Work permit France OK" → Mistral, Hugging Face, Kyutai, LightOn, Meta FAIR all unlocked same day.)
ai-jobs-curation-france
8/10
Curate AI/FDE roles in France.
PATCH-HEADLINEPATCH-COMPACT
career · 38.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 · 24.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.
sonia-job-application-pipeline-codex
9/10
Codex runner for Sonia AI-job pipeline.
PATCH-PUBLISH
career · 4.8h ago · 461 words · 302 tok to load
head
10/10
goal
10/10
comp
10/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
see proposed fix
PATCH-PUBLISH
LLM: internal references leak — strip before public
PROPOSED FIX
replace each internal reference: line 18: Read the shared prompt template at ../references/shared-prompt.md (relative to this skill's location in the sonia-job-application-pipeline skill family)
sonia-job-application-pipeline-nemotron
—
Deprecated.
career · 4.3h ago · 403 words
sonia-job-application-pipeline-opencode
—
OpenCode runner for Sonia AI-job pipeline.
career · 4.3h ago · 752 words