diff --git a/.github/workflows/ci-quality-gate.yml b/.github/workflows/ci-quality-gate.yml index 5c456243..23a0e4a5 100644 --- a/.github/workflows/ci-quality-gate.yml +++ b/.github/workflows/ci-quality-gate.yml @@ -191,6 +191,11 @@ jobs: run: | python3 scripts/test_derive_counters.py + - name: Verified tier and hero config (gate G15 — blocking) + run: | + python3 scripts/build_verified_tier.py --check + python3 scripts/export_hero.py --check + - name: Docs site gate (gate G14 — blocking) run: | # Same pinned versions as static.yml, so the gate builds what Pages deploys. diff --git a/.github/workflows/hero-sync.yml b/.github/workflows/hero-sync.yml new file mode 100644 index 00000000..4c5a9769 --- /dev/null +++ b/.github/workflows/hero-sync.yml @@ -0,0 +1,85 @@ +name: Hero repo sync + +# Regenerates each hero repo listed in heroes/heroes.json from this monorepo +# and pushes it. This repo is the source of truth; hero repos are output. +# +# Needs a HERO_SYNC_TOKEN secret: a fine-grained token with Contents +# read/write on the hero repos only. Without it, or when a hero repo does not +# exist yet, the job logs why and exits green. + +on: + push: + branches: [main] + paths: + - "heroes/**" + - "scripts/export_hero.py" + - "audit/verified-tier/**" + - "engineering/agent-run-forensics/**" + - "engineering/human-gate/**" + - "engineering/skill-retro/**" + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: hero-sync + cancel-in-progress: false + +jobs: + sync: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Validate heroes + run: python3 scripts/export_hero.py --check + + - name: Export and push + env: + HERO_SYNC_TOKEN: ${{ secrets.HERO_SYNC_TOKEN }} + SOURCE_SHA: ${{ github.sha }} + run: | + set -euo pipefail + if [ -z "${HERO_SYNC_TOKEN}" ]; then + echo "HERO_SYNC_TOKEN is not set; skipping push. Exported trees are validated only." + python3 scripts/export_hero.py --all --out "${RUNNER_TEMP}/heroes" + exit 0 + fi + python3 scripts/export_hero.py --all --out "${RUNNER_TEMP}/heroes" + git config --global user.name "claude-skills hero sync" + git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" + python3 - <<'PY' > "${RUNNER_TEMP}/heroes.tsv" + import json + for h in json.load(open("heroes/heroes.json"))["heroes"]: + print(f"{h['plugin']}\t{h['repo']}") + PY + while IFS=$'\t' read -r plugin repo; do + url="https://x-access-token:${HERO_SYNC_TOKEN}@github.com/${repo}.git" + work="${RUNNER_TEMP}/clone-${plugin}" + if ! git ls-remote "${url}" >/dev/null 2>&1; then + echo "::notice::${repo} does not exist or the token cannot reach it; skipping ${plugin}." + continue + fi + rm -rf "${work}" + if ! git clone --depth 1 "${url}" "${work}" 2>/dev/null; then + # Empty repo: start main from scratch. + mkdir -p "${work}" + git -C "${work}" init -b main + git -C "${work}" remote add origin "${url}" + fi + find "${work}" -mindepth 1 -maxdepth 1 ! -name .git -exec rm -rf {} + + cp -R "${RUNNER_TEMP}/heroes/${plugin}/." "${work}/" + git -C "${work}" add -A + if git -C "${work}" diff --cached --quiet; then + echo "${plugin}: no changes." + continue + fi + git -C "${work}" commit -q -m "sync: from alirezarezvani/claude-skills@${SOURCE_SHA:0:12}" + git -C "${work}" push -q origin HEAD:main + echo "${plugin}: pushed to ${repo}." + done < "${RUNNER_TEMP}/heroes.tsv" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 77d540b5..fb4ecf3c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -91,6 +91,39 @@ jobs: echo "=== Release body preview ===" head -50 /tmp/release-body.md + - name: Credit community contributors + if: steps.tagcheck.outputs.exists == 'false' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + REPO: ${{ github.repository }} + MAINTAINER: ${{ github.repository_owner }} + run: | + set -euo pipefail + PREV=$(git describe --tags --abbrev=0 HEAD 2>/dev/null || true) + if [[ -z "$PREV" ]]; then + echo "No previous tag; skipping contributor credit." + exit 0 + fi + # Every commit author with a GitHub account between the last tag and HEAD, + # minus the maintainer and bots. Community PRs merge into dev, so their + # commits arrive here through the dev -> main promotion. + LOGINS=$(gh api --paginate "repos/${REPO}/compare/${PREV}...${GITHUB_SHA}" \ + --jq '.commits[] | (.author.login // empty), (.committer.login // empty)' \ + | sort -u | grep -viE "^(${MAINTAINER}|web-flow|claude|.*\[bot\])$" || true) + if [[ -z "$LOGINS" ]]; then + echo "No community contributors since ${PREV}." + exit 0 + fi + { + echo "" + echo "## Thank you" + echo "" + echo -n "This release includes work from " + echo "$LOGINS" | sed 's/^/@/' | paste -sd, - | sed 's/,/, /g' + echo "." + } >> /tmp/release-body.md + echo "Credited: $(echo "$LOGINS" | paste -sd' ' -)" + - name: Create and push tag if: steps.tagcheck.outputs.exists == 'false' run: | diff --git a/CHANGELOG.md b/CHANGELOG.md index adf7484c..3ce7cfce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +- **VERIFIED.md: the skills that load when you ask in plain words.** 152 of the 389 skills tested loaded on every + plain-language test prompt and stayed quiet on the near miss. `scripts/build_verified_tier.py` builds the page + from `audit/verified-tier/trigger_results.json` (the latest measurement of each skill's live description), and + gate G15 fails when the page is stale or lists a skill that no longer exists. +- **Hero repos.** `heroes/heroes.json` names standalone plugins that also ship as their own repository, each with a + one-line promise: `agent-run-forensics`, `human-gate` and `skill-retro`. `scripts/export_hero.py` generates the + repo tree (marketplace.json for `/plugin marketplace add /`, a README with both install paths and + the trigger result, a link back here), and `hero-sync.yml` pushes it on every change to main. This repo stays the + source of truth. The workflow does nothing until a `HERO_SYNC_TOKEN` secret and the target repos exist. +- **Release notes thank community contributors by GitHub handle**, taken from the commits between the previous + tag and the release. + - **Codex, Gemini CLI, Hermes and Mistral Vibe are checked in CI.** Gate G13 (`scripts/check_harness_mirrors.py`) regenerates the `.codex/`, `.gemini/`, `.vibe/` and `.hermes/` mirrors from scratch on every PR and fails on any difference; `--fix` rewrites them. The new `harness-compat.yml` @@ -18,6 +30,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **README first screen rewritten.** One sentence on what the library is and that its skills are tested, one + install command for Claude Code and one for other agents, a pick-your-role table and six verified starting + skills. The Claude Code install now comes before Gemini CLI, and stale counts (580 tools, 25 advanced skills, + 346 Cursor rules) are gone. - **Second pass on the 48 skills that still never auto-triggered.** On a fresh blind prompt set (generated from the old descriptions before any rewrite), 2 runs per prompt, rewriting 43 of them raised exact fires from 23/172 to 50/172 with zero near-miss fires. Only the 14 rewrites that improved were kept (ceo-advisor, cfo-advisor, diff --git a/CLAUDE.md b/CLAUDE.md index b8d64a50..90437742 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -871,6 +871,7 @@ When I correct you, or you catch yourself making a mistake: before continuing ad - Write a skill description as a when-to-load trigger ("Use for/when/before X. Does Y with tool.py"), not a capability summary: the 2026-10-30 evals showed summaries rarely fire, and every character counts against Claude Code's ~30,000-char skill listing. A command that only wraps a skill gets `disable-model-invocation: true`. G12 (`check_listing_budget.py`) blocks a plugin from growing its listing; run `--update-baseline` after shrinking one. - A marketplace install copies only the plugin's own directory, so `../../other-plugin/...` paths break once installed. To reuse another plugin's scripts or references, add a relative symlink under the plugin's `vendor/` (Claude Code dereferences in-marketplace symlinks into the cache) and reference it as `${CLAUDE_PLUGIN_ROOT}/vendor/...`, which `check_paths.py` now verifies. - Never name a skill, command or plugin after a Claude Code built-in (`/skill-doctor`, `/review`, `/init` ...): a plugin skill of the same name hides the built-in. Check `claude` 2.1.x's built-in list before naming one. +- Build anything from eval results on the measurement of the text that is live: a rewrite that was measured and then rejected describes text that never shipped (VERIFIED.md first used 30 such results). ## Additional Resources diff --git a/README.md b/README.md index 9fe80f37..c57bd528 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,6 @@ -# Claude Code Skills & Plugins — Agent Skills for Every Coding Tool +# Claude Code Skills & Plugins -**411 production-ready Claude Code skills, plugins, and agent skills for 13 AI coding tools.** - -The most comprehensive open-source library of Claude Code skills and agent plugins — also works with OpenAI Codex, Gemini CLI, Cursor, and 9 more coding agents. Reusable expertise packages covering engineering, DevOps, marketing (incl. AEO — Answer Engine Optimization for LLM citation), security (PreToolUse hooks), compliance, C-level advisory (incl. founder-mode CFO/CMO/CRO/CPO/COO/CHRO/CISO/GC/CDO/CAIO/CCO/VPE personas + 21 /c-level-agents:* slash commands), productivity (capture/email/reflect/weekly-review/deep-work/meetings), an academic research stack (litreview/grants/dossier/patent/syllabus/pulse/notebooklm/meta-research + hybrid router), and enterprise Research Operations (clinical-research/research-finance/market-research/product-research, v2.9.0). - -**Works with:** Claude Code · OpenAI Codex · Gemini CLI · OpenClaw · Hermes Agent[^hermes] · Mistral Vibe[^vibe] · Cursor · Aider · Windsurf · Kilo Code · OpenCode · Augment · Antigravity - -[^hermes]: Hermes Agent is **BYO-sync tier**: the repo ships a pre-generated `.hermes/skills/claude-skills/` tree, but you run `python scripts/sync-hermes-skills.py` once locally to install into `~/.hermes/skills/`. Uses the same agentskills.io SKILL.md standard — no format conversion. -[^vibe]: Mistral Vibe is also **BYO-sync tier**: the repo ships a pre-generated `.vibe/skills/claude-skills/` tree, run `./scripts/vibe-install.sh` once locally to install into `~/.vibe/skills/`. Same agentskills.io SKILL.md standard — no format conversion. Docs: . +**411 production-ready skills for Claude Code and 12 other coding agents, covering engineering, product, marketing, compliance, finance and the C-suite. We test whether each skill loads when you ask in plain words, and [publish the results](VERIFIED.md).** [![License: MIT](https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge)](https://opensource.org/licenses/MIT) [![Skills](https://img.shields.io/badge/Skills-411-brightgreen?style=for-the-badge)](#skills-overview) @@ -17,7 +10,55 @@ The most comprehensive open-source library of Claude Code skills and agent plugi [![Stars](https://img.shields.io/github/stars/alirezarezvani/claude-skills?style=for-the-badge)](https://github.com/alirezarezvani/claude-skills/stargazers) [![SkillCheck Validated](https://img.shields.io/badge/SkillCheck-Validated-4c1?style=for-the-badge)](https://getskillcheck.com) -> **29,000+ GitHub stars** — the most comprehensive open-source Claude Code skills & agent plugins library. +**Works with:** Claude Code · OpenAI Codex · Gemini CLI · OpenClaw · Hermes Agent[^hermes] · Mistral Vibe[^vibe] · Cursor · Aider · Windsurf · Kilo Code · OpenCode · Augment · Antigravity + +## Install in one minute + +**Claude Code** + +```bash +/plugin marketplace add alirezarezvani/claude-skills +/plugin install engineering-skills@claude-code-skills +``` + +**Codex, Cursor, Gemini CLI, Copilot and other agents** (the open-source [`skills`](https://github.com/vercel-labs/skills) installer) + +```bash +npx skills add alirezarezvani/claude-skills +``` + +More options for each tool are under [Quick Install](#quick-install). + +## Pick your role + +| You are | Install | You get | +|---|---|---| +| Software engineer | `engineering-skills` | Architecture, code review, TDD, frontend, backend, DevOps, security, QA | +| Platform or AI engineer | `engineering-advanced-skills` | Agent design, RAG, MCP servers, CI/CD, observability, SLOs, evals | +| Product manager | `product-skills` | Discovery, RICE, PRDs, user stories, roadmaps, UX research | +| Delivery lead or scrum master | `pm-skills` | Sprint health, Jira and Confluence, flow metrics, forecasts | +| Marketer | `marketing-skills` | SEO, answer-engine optimization, copywriting, CRO, email, paid ads | +| Founder or executive | `c-level-skills` | CEO, CTO, CFO, CMO, CRO and other advisors, board prep, hard calls | +| Regulated industry | `ra-qm-skills` | ISO 13485, EU MDR, FDA, ISO 27001, SOC 2, GDPR, CAPA, risk files | +| Finance | `finance-skills` | DCF, budgets, SaaS metrics, month-end close | + +Install with `/plugin install @claude-code-skills`. + +## Start with these + +Each of these loaded on every plain-language test prompt. [See all verified skills](VERIFIED.md). + +| Skill | What it does | Install | +|---|---|---| +| [agent-run-forensics](engineering/agent-run-forensics/) | Checks what your agent actually did against what it said it did, from the session transcript | `agent-run-forensics` | +| [human-gate](engineering/human-gate/) | Refuses to ship a plan, spec or migration until a named person has reviewed it and no blocker is open | `human-gate` | +| [skill-retro](engineering/skill-retro/) | Grades your skills from your own past sessions and proposes only the edits the evidence supports | `skill-retro` | +| [i18n-localization](engineering/i18n-localization/) | Finds missing keys, broken placeholders and wrong plural forms before a language ships | `i18n-localization` | +| [month-end-close](finance/month-end-close/) | Runs the close calendar, proves reconciliations and refuses boilerplate variance explanations | `month-end-close` | +| [cmmc-readiness](ra-qm-team/cmmc-readiness/) | Scores CMMC 2.0 Level 2 readiness, SPRS and POA&M close-out | `cmmc-readiness` | + +[^hermes]: Hermes Agent is **BYO-sync tier**: the repo ships a pre-generated `.hermes/skills/claude-skills/` tree, but you run `python scripts/sync-hermes-skills.py` once locally to install into `~/.hermes/skills/`. Uses the same agentskills.io SKILL.md standard — no format conversion. +[^vibe]: Mistral Vibe is also **BYO-sync tier**: the repo ships a pre-generated `.vibe/skills/claude-skills/` tree, run `./scripts/vibe-install.sh` once locally to install into `~/.vibe/skills/`. Same agentskills.io SKILL.md standard — no format conversion. Docs: . --- @@ -74,6 +115,32 @@ All three work together. See [Orchestration](#orchestration) for how to combine Only names listed in [`.claude-plugin/marketplace.json`](.claude-plugin/marketplace.json) can be installed. Most skills (for example `skill-security-auditor` or `content-creator`) ship inside a domain bundle, so install the bundle that contains them. Run `/plugin` and open the marketplace to browse every installable name. +### Claude Code (Recommended) + +```bash +# Add the marketplace +/plugin marketplace add alirezarezvani/claude-skills + +# Install by domain +/plugin install engineering-skills@claude-code-skills # core engineering +/plugin install engineering-advanced-skills@claude-code-skills # POWERFUL-tier +/plugin install product-skills@claude-code-skills # product +/plugin install marketing-skills@claude-code-skills # marketing +/plugin install ra-qm-skills@claude-code-skills # regulatory/quality +/plugin install pm-skills@claude-code-skills # project management +/plugin install c-level-skills@claude-code-skills # C-level advisory (full C-suite) +/plugin install business-growth-skills@claude-code-skills # business & growth +/plugin install finance-skills@claude-code-skills # finance + +# Or install a standalone plugin +/plugin install pw@claude-code-skills # Playwright testing toolkit +/plugin install self-improving-agent@claude-code-skills # Auto-memory curation +/plugin install karpathy-coder@claude-code-skills # Coding-discipline reviewer +/plugin install grill-me@claude-code-skills # Plan interrogator +``` + +Only names listed in [`.claude-plugin/marketplace.json`](.claude-plugin/marketplace.json) can be installed. Most skills (for example `skill-security-auditor` or `content-creator`) ship inside a domain bundle, so install the bundle that contains them. Run `/plugin` and open the marketplace to browse every installable name. + ### Gemini CLI ```bash @@ -140,7 +207,7 @@ git clone https://github.com/alirezarezvani/claude-skills.git ./scripts/install.sh --tool aider --target . --force # 3. Verify -find .cursor/rules -name "*.mdc" | wc -l # Should show 346 +find .cursor/rules -name "*.mdc" | wc -l # one file per skill ``` **Each tool gets:** @@ -231,7 +298,7 @@ See [orchestration/ORCHESTRATION.md](orchestration/ORCHESTRATION.md) for the ful ## POWERFUL Tier -25 advanced skills with deep, production-grade capabilities: +A selection of the advanced skills with deep, production-grade capabilities: | Skill | What It Does | |-------|-------------| @@ -314,7 +381,7 @@ for MDR Annex II compliance gaps. ## Python Analysis Tools -580 CLI tools ship with the skills (all verified, stdlib-only): +807 Python tools ship with the skills (all stdlib-only). A few examples: ```bash # SaaS health check diff --git a/VERIFIED.md b/VERIFIED.md new file mode 100644 index 00000000..23dcbdd1 --- /dev/null +++ b/VERIFIED.md @@ -0,0 +1,268 @@ +# Verified skills + + + +**152 of the 389 skills we tested loaded on every plain-language test prompt and stayed quiet on the unrelated one.** Install any of them and Claude Code picks it up when you describe the task in your own words, without naming the skill. + +A skill whose description doesn't match how people ask for help sits installed and unused, and few skill libraries publish whether theirs load. We measure it, and CI blocks a new skill that loads on fewer than half of its test prompts. + +## How we test + +- Claude Code 2.1.317, model `sonnet`, only the skill's own plugin installed. +- Each skill gets positive prompts written the way a user would ask, without the skill's name, and one negative prompt that is close but should not load it. +- **Verified** means every positive prompt loaded that exact skill and the negative prompt loaded nothing. +- The latest measurement wins. Measurements used: + - `sweep-2026-11-03`: 2 positive prompts + 1 negative, 1 run + - `heldout-2026-11-03`: 2 held-out positive prompts + 1 negative, 1 run, on the rewritten descriptions + - `blind-2026-11-03`: 2 blind positive prompts + 1 negative, 2 runs each (live description: the 14 kept rewrites, old text for the rest) + +Two prompts per skill is a small sample, so read this as a strong signal rather than a guarantee. A skill missing from this list may still work when you ask for it by name. + +## Install + +```bash +/plugin marketplace add alirezarezvani/claude-skills +/plugin install @claude-code-skills +``` + +## agent-launcher (2) + +| Skill | What it does | Plugin | +|---|---|---| +| [grade-iterate](agent-launcher/skills/grade-iterate/SKILL.md) | Use when a launched managed agent needs grading against a rubric and improving ('grade my agent', 'is it good enough'). | `agent-launcher-skills` | +| [interview](agent-launcher/skills/interview/SKILL.md) | Use when someone has an agent idea to scope before launch ('help me scope an agent'). | `agent-launcher-skills` | + +## business-growth (3) + +| Skill | What it does | Plugin | +|---|---|---| +| [contract-and-proposal-writer](business-growth/skills/contract-and-proposal-writer/SKILL.md) | Use when drafting a freelance contract, proposal, SOW, NDA or MSA for US, EU, UK or DACH jurisdictions. | `business-growth-skills` | +| [customer-success-manager](business-growth/skills/customer-success-manager/SKILL.md) | Use when reviewing customer accounts for health, churn risk or expansion. | `business-growth-skills` | +| [revenue-operations](business-growth/skills/revenue-operations/SKILL.md) | Check sales pipeline and forecasts: pipeline coverage, forecast accuracy, magic number, CAC payback. | `business-growth-skills` | + +## business-operations (4) + +| Skill | What it does | Plugin | +|---|---|---| +| [capacity-planner](business-operations/skills/capacity-planner/SKILL.md) | Size an ops or support team and plan headcount: Erlang C queue models, utilization risk, hiring order. | `business-operations-skills` | +| [internal-comms](business-operations/skills/internal-comms/SKILL.md) | Use when announcing a reorg, tool rollout, policy change, leadership change, layoff or acquisition internally. | `business-operations-skills` | +| [procurement-optimizer](business-operations/skills/procurement-optimizer/SKILL.md) | Cut spend on software and suppliers: SaaS audit, category spend review, slow purchasing cycles, supplier consolidation. | `business-operations-skills` | +| [vendor-management](business-operations/skills/vendor-management/SKILL.md) | Use when scoring or auditing vendors: scorecards, SLA compliance and service credits, third-party risk tier or a tier-1 vendor review. | `business-operations-skills` | + +## c-level-advisor (23) + +| Skill | What it does | Plugin | +|---|---|---| +| [agent-protocol](c-level-advisor/skills/agent-protocol/SKILL.md) | Use when C-suite advisor agents need to call each other or run a multi-role meeting. | `c-level-skills` | +| [arquiteto-de-empresa](c-level-advisor/arquiteto-de-empresa/skills/arquiteto-de-empresa/SKILL.md) | Use when a founder wants to document or design a whole company as version-controlled markdown (company as code, a company wiki agents can read, an OKF bundle). | `arquiteto-de-empresa` | +| [board-meeting](c-level-advisor/skills/board-meeting/SKILL.md) | Use for /c-level-agents:boardroom or a strategic question that needs a structured multi-executive deliberation. | `c-level-skills` | +| [board-prep](c-level-advisor/executive-mentor/skills/board-prep/SKILL.md) | Use before a board meeting, investor update or fundraising pitch where the numbers will be challenged. | `executive-mentor` | +| [ceo-advisor](c-level-advisor/skills/ceo-advisor/SKILL.md) | Advice for a CEO or founder on running the company: board and investor trouble, raise or cut, strategy bets, org and culture. | `c-level-skills` | +| [cfo-advisor](c-level-advisor/skills/cfo-advisor/SKILL.md) | Startup finance: runway and burn, unit economics (LTV, CAC, payback), fundraising and dilution. | `c-level-skills` | +| [change-management](c-level-advisor/skills/change-management/SKILL.md) | Use when rolling out a reorg, pivot, tool switch, leadership change or product kill. | `c-level-skills` | +| [chief-ai-officer-advisor](c-level-advisor/chief-ai-officer-advisor/skills/chief-ai-officer-advisor/SKILL.md) | Use for AI strategy decisions: API vs fine-tune vs build, EU AI Act or US state risk classification, when self-hosting pays off, or AI hiring order. | `chief-ai-officer-advisor` | +| [chief-customer-officer-advisor](c-level-advisor/chief-customer-officer-advisor/skills/chief-customer-officer-advisor/SKILL.md) | Use for retention strategy, customer segmentation or CS team sizing decisions (GRR vs NRR, churn causes, pooled vs named CSMs). | `chief-customer-officer-advisor` | +| [chro-advisor](c-level-advisor/skills/chro-advisor/SKILL.md) | People strategy: hiring plans, comp bands, org structure, performance, retention. | `c-level-skills` | +| [cmo-advisor](c-level-advisor/skills/cmo-advisor/SKILL.md) | Marketing leadership: positioning, product-led vs sales-led vs community-led growth, budget split across channels, marketing team design. | `c-level-skills` | +| [company-os](c-level-advisor/skills/company-os/SKILL.md) | Use when choosing or setting up how the company runs: EOS, Scaling Up or OKRs, accountability chart, scorecard, meeting rhythm, quarterly rocks. | `c-level-skills` | +| [cpo-advisor](c-level-advisor/skills/cpo-advisor/SKILL.md) | Product leadership: PMF measurement, product vision, portfolio investment, product org design, board product reporting. | `c-level-skills` | +| [cs-onboard](c-level-advisor/skills/cs-onboard/SKILL.md) | Use when setting up the C-suite advisors for the first time, or when company context is missing or stale after a raise or pivot. | `c-level-skills` | +| [decision-logger](c-level-advisor/skills/decision-logger/SKILL.md) | Use when logging a decision after a board meeting, reviewing past decisions or checking overdue actions. | `c-level-skills` | +| [founder-coach](c-level-advisor/skills/founder-coach/SKILL.md) | Use when a founder is the bottleneck, can't delegate, is burning out or is moving from IC to CEO. | `c-level-skills` | +| [hard-call](c-level-advisor/executive-mentor/skills/hard-call/SKILL.md) | Use for a decision where every option hurts (layoff vs down round, killing a loved product). | `executive-mentor` | +| [intl-expansion](c-level-advisor/skills/intl-expansion/SKILL.md) | Use when expanding to a new country: market selection, entry mode, localization, regulation and regional go-to-market. | `c-level-skills` | +| [ma-playbook](c-level-advisor/skills/ma-playbook/SKILL.md) | Buy a company or sell yours: diligence, valuation, terms, integration. | `c-level-skills` | +| [org-health-diagnostic](c-level-advisor/skills/org-health-diagnostic/SKILL.md) | Use for a whole-company health check before a board review or when functions seem at risk. | `c-level-skills` | +| [postmortem](c-level-advisor/executive-mentor/skills/postmortem/SKILL.md) | Use after a failed launch, missed quarter or bad hire. | `executive-mentor` | +| [strategic-alignment](c-level-advisor/skills/strategic-alignment/SKILL.md) | Use when teams pull in different directions, OKRs don't connect or departments optimize locally. | `c-level-skills` | +| [vpe-advisor](c-level-advisor/vpe-advisor/skills/vpe-advisor/SKILL.md) | Use when delivery is slowing, eng hiring is broken, team structure is unclear or you need to decide when to add an eng manager. | `vpe-advisor` | + +## c-level-agents (10) + +| Skill | What it does | Plugin | +|---|---|---| +| [boardroom](c-level-agents/skills/boardroom/SKILL.md) | Use for /c-level-agents:boardroom, or a decision spanning several executive domains (a pricing change, raise vs cut). | `c-level-agents` | +| [cco-review](c-level-agents/skills/cco-review/SKILL.md) | Challenge a churn, retention, segment or CS hiring plan. | `c-level-agents` | +| [cdo-review](c-level-agents/skills/cdo-review/SKILL.md) | Use for /c-level-agents:cdo-review, or to challenge a plan touching training-data rights, data architecture or data monetization. | `c-level-agents` | +| [ciso-review](c-level-agents/skills/ciso-review/SKILL.md) | Challenge a plan touching customer data, compliance or prod access. | `c-level-agents` | +| [cmo-review](c-level-agents/skills/cmo-review/SKILL.md) | Use for /c-level-agents:cmo-review, or to challenge positioning, ICP, messaging or channel mix before a launch. | `c-level-agents` | +| [cross-eval](c-level-agents/skills/cross-eval/SKILL.md) | Use for /c-level-agents:cross-eval, or when a high-stakes memo needs independent review by several models before the boardroom. | `c-level-agents` | +| [decide](c-level-agents/skills/decide/SKILL.md) | Use for /c-level-agents:decide, or right after the founder approves a boardroom memo, to log it as a durable decision. | `c-level-agents` | +| [freeze](c-level-agents/skills/freeze/SKILL.md) | Use for /c-level-agents:freeze, or to put a cooling-off lock on an irreversible decision made under pressure. | `c-level-agents` | +| [office-hours](c-level-agents/skills/office-hours/SKILL.md) | Founder advice after six YC-style questions. | `c-level-agents` | +| [onboard](c-level-agents/skills/onboard/SKILL.md) | Use for /cs-onboard, or when the virtual C-suite lacks company context. | `c-level-agents` | + +## commercial (1) + +| Skill | What it does | Plugin | +|---|---|---| +| [commercial-policy](commercial/skills/commercial-policy/SKILL.md) | Use when writing or revising discount rules: discount matrix, approver thresholds, exception flows and the deal framework sales works under. | `commercial-skills` | + +## compliance-os (5) + +| Skill | What it does | Plugin | +|---|---|---| +| [compliance-readiness](compliance-os/skills/compliance-readiness/SKILL.md) | Use for /compliance-os:compliance-readiness, or before adding a framework or planning the annual audit calendar. | `compliance-os` | +| [fda-qsr-audit-prep](compliance-os/skills/fda-qsr-audit-prep/SKILL.md) | Use for /compliance-os:fda-qsr-audit-prep, or before an FDA inspection, QMSR internal audit or Form 483 response. | `compliance-os` | +| [gdpr-audit-prep](compliance-os/skills/gdpr-audit-prep/SKILL.md) | Use for /compliance-os:gdpr-audit-prep, or before a GDPR review, post-breach audit or DPA investigation. | `compliance-os` | +| [iso27001-audit-prep](compliance-os/skills/iso27001-audit-prep/SKILL.md) | Use for /compliance-os:iso27001-audit-prep, or before an ISO 27001 internal, surveillance or stage 1 audit. | `compliance-os` | +| [soc2-audit-prep](compliance-os/skills/soc2-audit-prep/SKILL.md) | Use for /compliance-os:soc2-audit-prep, or before or during a SOC 2 Type II observation period. | `compliance-os` | + +## engineering (35) + +| Skill | What it does | Plugin | +|---|---|---| +| [agent-harness](engineering/agent-harness/skills/agent-harness/SKILL.md) | Use when an agent should drive a goal in one of this repo's domains to a verified close, before starting the work. | `agent-harness` | +| [agent-memory](engineering/agent-memory/skills/agent-memory/SKILL.md) | Use when an agent keeps relearning the same correction, CLAUDE.md has grown unreadable, or you need to trace where a remembered rule came from. | `agent-memory` | +| [agent-run-forensics](engineering/agent-run-forensics/skills/agent-run-forensics/SKILL.md) | Use when asked why an agent did something, what a past session or run changed, whether tests really passed, or to verify a session summary. | `agent-run-forensics` | +| [ar-status](engineering/autoresearch-agent/skills/ar-status/SKILL.md) | Show autoresearch results and progress. | `autoresearch-agent` | +| [behuman](engineering/behuman/skills/behuman/SKILL.md) | Reply like a real person, direct and warm, without lists or hedging. | `behuman` | +| [board](engineering/agenthub/skills/board/SKILL.md) | Use to post or read messages on the AgentHub coordination board between competing agents. | `agenthub` | +| [book-to-skill](engineering/book-to-skill/skills/book-to-skill/SKILL.md) | Use when turning a book, docs folder or spec collection (PDF, EPUB, DOCX, HTML, Markdown) into an agent skill, before summarizing it by hand. | `book-to-skill` | +| [boost-asio-pro](engineering/boost-asio-pro/SKILL.md) | Use for any C++ networking code with Boost.Asio or standalone Asio (TCP/UDP, SSL, timers, strands, io_context, co_spawn, awaitable, completion handlers), before writing or reviewing it. | `engineering-advanced-skills` | +| [claude-coach](engineering/claude-coach/skills/claude-coach/SKILL.md) | Use when the user wants to get better at using Claude ('coach me', 'teach me Claude tricks', 'make me a power user'). | `power-user-coach` | +| [collab-proof](engineering/collab-proof/skills/collab-proof/SKILL.md) | Use for /collab-proof or a session retrospective on what Claude contributed versus what the user drove. | `collab-proof` | +| [grill-with-docs](engineering/grill-with-docs/skills/grill-with-docs/SKILL.md) | Use when a plan should be stress-tested against the project's own docs (CONTEXT.md glossary, docs/adr decisions), or the user says 'grill with docs'. | `grill-with-docs` | +| [handoff](engineering/handoff/skills/handoff/SKILL.md) | Compact the current conversation into a handoff document for another agent to pick up, referencing existing artifacts (PRDs, plans, ADRs, issues, commits, diffs) by path or URL instead of duplicating them. | `handoff-engineering` | +| [helm-chart-builder](engineering/helm-chart-builder/skills/helm-chart-builder/SKILL.md) | Use for any Helm chart to create, review or harden (values.yaml, templates, subcharts, RBAC, pod security), before editing it. | `helm-chart-builder` | +| [hivemind](engineering/hivemind/SKILL.md) | Use when delegating grunt work to free opencode workers instead of spending Claude tokens: one worker or a scout, coder and tester swarm in worktrees. | `hivemind` | +| [hub-init](engineering/agenthub/skills/hub-init/SKILL.md) | Use for /hub-init, or to start an AgentHub competition: task, agent count and evaluation criteria. | `agenthub` | +| [human-gate](engineering/human-gate/skills/human-gate/SKILL.md) | Use before shipping anything that needs human sign-off (a plan, spec, report, page, migration or irreversible action). | `human-gate` | +| [i18n-localization](engineering/i18n-localization/skills/i18n-localization/SKILL.md) | Use when adding UI text, adding or shipping a language, reviewing translation files, or building i18n into an app. | `i18n-localization` | +| [interview-system-designer](engineering/skills/interview-system-designer/SKILL.md) | Use when designing a hiring loop, competency matrix, scoring rubric or question bank, or checking interviewer calibration. | `engineering-advanced-skills` | +| [karpathy-coder](engineering/karpathy-coder/skills/karpathy-coder/SKILL.md) | Check a diff for overbuilt code: hidden assumptions, needless abstraction, non-surgical changes, unverified goals (Karpathy's four principles). | `karpathy-coder` | +| [kubernetes-operator](engineering/kubernetes-operator/skills/kubernetes-operator/SKILL.md) | Use when building a Kubernetes operator or CRD (controller-runtime, kubebuilder, operator-sdk, KOPF), before writing the controller. | `kubernetes-operator` | +| [llm-cost-optimizer](engineering/llm-cost-optimizer/skills/llm-cost-optimizer/SKILL.md) | Use whenever an LLM feature is being built or its costs come up (model choice, prompt caching, token limits, per-feature spend). | `llm-cost-optimizer` | +| [llm-wiki](engineering/llm-wiki/skills/llm-wiki/SKILL.md) | Use when building or maintaining an Obsidian second brain that an LLM keeps up to date, or when ingesting a paper, article or book into it. | `llm-wiki` | +| [mcp-oauth-triage](engineering/skills/mcp-oauth-triage/SKILL.md) | Use when an MCP connector that used to authenticate now fails (tool calls 401 after a good token exchange, breaks after refresh, returns another account's data), before changing code. | `engineering-advanced-skills` | +| [mcp-server-builder](engineering/skills/mcp-server-builder/SKILL.md) | Use when exposing an API as an MCP server or scaffolding a new MCP server in Python or TypeScript, before hand-writing tool wrappers. | `engineering-advanced-skills` | +| [memory-engineering](engineering/memory-engineering/skills/memory-engineering/SKILL.md) | Use before adding memory to an agent or when a memory store keeps growing (long context vs RAG vs graph vs agentic memory, what to expire). | `memory-engineering` | +| [prompt-governance](engineering/prompt-governance/skills/prompt-governance/SKILL.md) | Use when prompts run in production and need versioning, a registry, A/B tests, regression checks or an eval pipeline. | `prompt-governance` | +| [security-guidance](engineering/security-guidance/skills/security-guidance/SKILL.md) | Use when installing or tuning the PreToolUse security hook that warns before Claude writes command injection, XSS, SQL injection, unsafe deserialization, eval or GitHub Actions injection. | `security-guidance` | +| [setup](engineering/autoresearch-agent/skills/setup/SKILL.md) | Use for /autoresearch-agent:setup, or to start a new autoresearch experiment: target, eval command, metric, direction, evaluator. | `autoresearch-agent` | +| [skill-retro](engineering/skill-retro/skills/skill-retro/SKILL.md) | Use when the user wants their skills graded from real session history, asks which installed skills actually work, or wants evidence-backed skill edits. | `skill-retro` | +| [skillopt-sleep](engineering/skillopt-sleep/skills/skillopt-sleep/SKILL.md) | Use when the user wants their Claude agent to self-improve from past usage, asks about a nightly/offline 'sleep' or 'dream' cycle, memory/skill consolidation, or says things like 'make my agent better the more I use it', 'review my past sessions', 'learn my preferences', 'consolidate what you learned', 'run the sleep cycle', or wants to schedule offline self-optimization. | `skillopt-sleep` | +| [statistical-analyst](engineering/statistical-analyst/skills/statistical-analyst/SKILL.md) | Is a difference real? | `statistical-analyst` | +| [strict-api](engineering/strict-api/SKILL.md) | Use when the user says 'no hallucinations', 'verify APIs' or 'don't invent functions', or code depends on a library version you have not checked. | `engineering-advanced-skills` | +| [tc-tracker](engineering/skills/tc-tracker/SKILL.md) | Use when tracking technical changes as records, or handing work between AI sessions with a change record. | `engineering-advanced-skills` | +| [write-a-skill](engineering/write-a-skill/skills/write-a-skill/SKILL.md) | Create new agent skills with proper structure, progressive disclosure, and bundled resources. | `write-a-skill` | +| [zero-hallucination-coder](engineering/zero-hallucination-coder/skills/zero-hallucination-coder/SKILL.md) | Use before high-stakes or multi-file coding (auth, databases, migrations), or when asked to plan carefully and avoid invented APIs. | `zero-hallucination-coder` | + +## engineering-team (16) + +| Skill | What it does | Plugin | +|---|---|---| +| [a11y-audit](engineering-team/a11y-audit/skills/a11y-audit/SKILL.md) | Use for any accessibility audit or a11y fix (WCAG 2.2 A/AA, color contrast, compliance report, CI check) in React, Next.js, Vue, Angular, Svelte or HTML. | `a11y-audit` | +| [browserstack](engineering-team/playwright-pro/skills/browserstack/SKILL.md) | Use when running Playwright tests on BrowserStack or across a browser matrix ('browserstack', 'cross-browser', 'test on safari or firefox', 'browser compatibility'). | `pw` | +| [email-template-builder](engineering-team/skills/email-template-builder/SKILL.md) | Use when adding or reworking transactional email (React Email templates, Resend, Postmark, SendGrid or SES, preview, i18n, dark mode, deliverability). | `engineering-skills` | +| [embedded-iot-mentor](engineering-team/skills/embedded-iot-mentor/SKILL.md) | Use for any embedded or IoT hardware project (ESP32, STM32, Arduino, Pico, firmware, PCB, MQTT, Home Assistant, sensor dashboards), before buying parts. | `engineering-skills` | +| [epic-design](engineering-team/skills/epic-design/SKILL.md) | Use for any landing page, hero section or scroll-driven web design that should feel cinematic (parallax, scrollytelling, overlapping sections, text reveals, Apple-style animation), before coding. | `engineering-skills` | +| [extract](engineering-team/self-improving-agent/skills/extract/SKILL.md) | Turn a fix or pattern that keeps coming up into a reusable skill with SKILL.md, reference docs and examples. | `self-improving-agent` | +| [google-workspace-cli](engineering-team/google-workspace-cli/skills/google-workspace-cli/SKILL.md) | Use for Google Workspace admin or automation from the gws CLI (Gmail, Drive, Sheets, Calendar, Docs, Chat, Tasks). | `google-workspace-cli` | +| [migrate](engineering-team/playwright-pro/skills/migrate/SKILL.md) | Use when moving tests from Cypress or Selenium to Playwright ('migrate tests', 'convert tests', 'replace selenium'). | `pw` | +| [promote](engineering-team/self-improving-agent/skills/promote/SKILL.md) | Graduate a proven pattern from auto-memory (MEMORY.md) to CLAUDE.md or .claude/rules/ for permanent enforcement. | `self-improving-agent` | +| [pw-init](engineering-team/playwright-pro/skills/pw-init/SKILL.md) | Use when setting up Playwright in a project ('set up playwright', 'add e2e tests', 'configure playwright', 'init playwright'). | `pw` | +| [red-green-proof](engineering-team/skills/red-green-proof/SKILL.md) | Turns a suspected bug into a proven one. | `engineering-skills` | +| [red-team](engineering-team/skills/red-team/SKILL.md) | Use when planning or running an authorized red team engagement or attack path analysis. | `engineering-skills` | +| [report](engineering-team/playwright-pro/skills/report/SKILL.md) | Summarize Playwright results. | `pw` | +| [senior-data-engineer](engineering-team/skills/senior-data-engineer/SKILL.md) | Data pipelines: Airflow DAGs, Spark, dbt, Kafka, ETL/ELT, data quality checks. | `engineering-skills` | +| [stripe-integration-expert](engineering-team/skills/stripe-integration-expert/SKILL.md) | Use for any Stripe integration: subscriptions, trials, proration, checkout, usage billing, webhooks, customer portal or invoicing in Next.js, Express or Django. | `engineering-skills` | +| [threat-detection](engineering-team/skills/threat-detection/SKILL.md) | Use when hunting threats, sweeping IOCs or looking for anomalies in logs and telemetry. | `engineering-skills` | + +## finance (5) + +| Skill | What it does | Plugin | +|---|---|---| +| [business-investment-advisor](finance/business-investment-advisor/skills/business-investment-advisor/SKILL.md) | Use when deciding whether a capital expense is worth it (equipment, property, an acquisition, hiring, technology), or for ROI, IRR, NPV, payback, build vs buy or lease vs buy. | `business-investment-advisor` | +| [finance-skills](finance/skills/finance-skills/SKILL.md) | Pick the right finance skill: ratios, DCF, forecasts (financial-analyst), ARR, churn, CAC, LTV (saas-metrics-coach), month-end-close. | `finance-skills` | +| [month-end-close](finance/month-end-close/skills/month-end-close/SKILL.md) | Use when running, planning or speeding up a month-end (or quarter-end) close — building or reviewing the close checklist and calendar, reconciling a bank statement or sub-ledger to the general ledger, writing or reviewing flux (variance) explanations, or finding why the close takes too many days. | `month-end-close` | +| [passive-deal-screener](finance/skills/passive-deal-screener/SKILL.md) | Use when a passive investor shares a private deal (syndication, preferred equity, bridge fund, private credit) to screen as an LP. | `finance-skills` | +| [stock-analysis](finance/skills/stock-analysis/SKILL.md) | Analyze, research or value a listed stock or company (US, global, NSE or BSE) with verified data, ratios, scores and valuation. | `finance-skills` | + +## markdown-html (1) + +| Skill | What it does | Plugin | +|---|---|---| +| [design-system](markdown-html/skills/design-system/SKILL.md) | Use when setting up brand settings before the first markdown-to-HTML conversion, or changing them. | `markdown-html-skills` | + +## marketing (2) + +| Skill | What it does | Plugin | +|---|---|---| +| [linkedin-analytics](marketing/linkedin/skills/linkedin-analytics/SKILL.md) | Use when someone asks why their LinkedIn reach dropped, which posts worked, whether a pattern is real or how to test one. | `linkedin` | +| [linkedin-strategy](marketing/linkedin/skills/linkedin-strategy/SKILL.md) | Build a LinkedIn plan rather than a post: content pillars, positioning, a sustainable cadence, whether to start a newsletter. | `linkedin` | + +## marketing-skill (20) + +| Skill | What it does | Plugin | +|---|---|---| +| [ai-decision-authority](marketing-skill/skills/ai-decision-authority/SKILL.md) | Use before letting AI or an agent act on a marketing or GTM task without human review, or when writing an AI review policy. | `marketing-skills` | +| [analytics-tracking](marketing-skill/skills/analytics-tracking/SKILL.md) | Use for any GA4, Google Tag Manager, event-tracking or conversion-tracking setup, audit or broken-event debug, before touching tags. | `marketing-skills` | +| [business-name-fit](marketing-skill/skills/business-name-fit/SKILL.md) | Use when naming a company, brand or product, or checking whether a name works abroad, before committing to one. | `marketing-skills` | +| [campaign-analytics](marketing-skill/skills/campaign-analytics/SKILL.md) | Analyze campaign performance on the user's numbers: ROAS, CPA, ROI, multi-touch attribution and funnel drop-off. | `marketing-skills` | +| [churn-prevention](marketing-skill/skills/churn-prevention/SKILL.md) | Use when designing a cancel flow, save offers, exit surveys or dunning emails, or cutting failed-payment churn. | `marketing-skills` | +| [cold-email](marketing-skill/skills/cold-email/SKILL.md) | Use for any cold outreach or SDR email or follow-up sequence to prospects who did not opt in, before drafting. | `marketing-skills` | +| [competitor-alternatives](marketing-skill/skills/competitor-alternatives/SKILL.md) | Use when creating an 'X vs Y', '[product] alternative' or comparison page, before drafting. | `marketing-skills` | +| [content-production](marketing-skill/skills/content-production/SKILL.md) | Write a blog post, article or guide end to end: research, outline, draft, SEO pass and quality gates. | `marketing-skills` | +| [email-sequence](marketing-skill/skills/email-sequence/SKILL.md) | Use for any drip, nurture, onboarding, welcome or re-engagement email sequence to opted-in users, before writing emails. | `marketing-skills` | +| [free-tool-strategy](marketing-skill/skills/free-tool-strategy/SKILL.md) | Use when considering a free calculator, grader, checker or generator as a marketing asset, before building it. | `marketing-skills` | +| [launch-strategy](marketing-skill/skills/launch-strategy/SKILL.md) | Plan a product or feature launch: readiness score and a phased plan by channel. | `marketing-skills` | +| [local-seo-manager](marketing-skill/skills/local-seo-manager/SKILL.md) | Use for any local business's Google Business Profile, Maps ranking, service-area pages, citations or review replies, before writing. | `marketing-skills` | +| [marketing-context](marketing-skill/skills/marketing-context/SKILL.md) | Use at the start of any marketing project, or when ICP, positioning or brand voice are missing, before other marketing skills. | `marketing-skills` | +| [paid-ads](marketing-skill/skills/paid-ads/SKILL.md) | Use for paid campaign strategy on Google, Meta, LinkedIn or X: structure, targeting, bids, retargeting and budgets. | `marketing-skills` | +| [paywall-upgrade-cro](marketing-skill/skills/paywall-upgrade-cro/SKILL.md) | Use when designing or fixing an in-app paywall, upgrade modal, feature gate or trial-expiry screen. | `marketing-skills` | +| [prompt-engineer-toolkit](marketing-skill/skills/prompt-engineer-toolkit/SKILL.md) | Use when a marketing team's AI prompts need testing, versioning or governance, before shipping a prompt. | `marketing-skills` | +| [site-architecture](marketing-skill/skills/site-architecture/SKILL.md) | Use for URL structure, navigation, internal linking, hub pages or orphan pages, or when SEO problems are structural. | `marketing-skills` | +| [social-media-manager](marketing-skill/skills/social-media-manager/SKILL.md) | Plan social media: strategy, content calendar, community management, follower growth. | `marketing-skills` | +| [webinar-marketing](marketing-skill/skills/webinar-marketing/SKILL.md) | Use when planning, promoting or fixing a webinar or virtual event (registrations, show-up, follow-up, conversion). | `marketing-skills` | +| [youtube-full](marketing-skill/skills/youtube-full/SKILL.md) | Use for any YouTube URL, video ID or @handle, or a request for transcripts, video search, channel, playlist or new-upload monitoring. | `youtube-full` | + +## product-team (4) + +| Skill | What it does | Plugin | +|---|---|---| +| [code-to-prd](product-team/code-to-prd/skills/code-to-prd/SKILL.md) | Use when asked to write a PRD or product spec from an existing codebase (reverse-engineer requirements, document pages, fields, routes and endpoints). | `code-to-prd` | +| [competitive-teardown](product-team/skills/competitive-teardown/SKILL.md) | Deep competitor teardown: pricing, reviews, hiring, SEO, UX, scored across 12 dimensions with SWOT and positioning maps. | `product-skills` | +| [product-strategist](product-team/skills/product-strategist/SKILL.md) | Head of Product: quarterly OKRs cascaded from company to team, product vision, roadmap, team structure. | `product-skills` | +| [saas-scaffolder](product-team/skills/saas-scaffolder/SKILL.md) | Use when starting a new SaaS app with auth, database, Stripe billing and a dashboard (Next.js App Router, TypeScript, Tailwind, shadcn/ui, Drizzle). | `product-skills` | + +## productivity (9) + +| Skill | What it does | Plugin | +|---|---|---| +| [andreessen](productivity/andreessen/skills/andreessen/SKILL.md) | Blunt market-first verdict on an idea, venture or career bet, leading with the strongest counterargument, or a 3x5-card daily plan. | `andreessen` | +| [capture](productivity/capture/skills/capture/SKILL.md) | Use whenever the user unloads a messy brain dump of ideas, tasks and plans ('capture this', 'brain dump', a long unstructured paste) and wants it organized. | `capture-skill` | +| [deep-work](productivity/deep-work/skills/deep-work/SKILL.md) | Use when someone wants to plan a deep work day, time-block their calendar or task list, budget or cut shallow work, protect focus hours, track deep-work sessions and streaks, run an end-of-day shutdown ritual, or says "/deep-work" or "/time-block". | `deep-work` | +| [fable-goal](productivity/fable-goal/skills/fable-goal/SKILL.md) | Use when the user wants a /goal prompt rather than the build itself ('/fable-goal', 'turn this into a goal prompt', 'write the prompt that builds X'). | `fable-goal` | +| [inbox-setup](productivity/email/skills/inbox-setup/SKILL.md) | Use when setting up email triage for the first time, before inbox-triage, or when priorities change. | `email-pair` | +| [inbox-triage](productivity/email/skills/inbox-triage/SKILL.md) | Use when the user wants their inbox processed ('triage my inbox', 'check my email'). | `email-pair` | +| [session-handoff](productivity/handoff/skills/session-handoff/SKILL.md) | Write a handoff document so a fresh session or another agent can pick up exactly where this one left off: goal, current state, decisions, next steps and the skills to load, referencing existing files instead of copying them, with secrets redacted before saving. | `handoff-productivity` | +| [swedish-mentor](productivity/swedish-mentor/SKILL.md) | Use when someone learning Swedish wants a learning path or YouTube clips and podcasts matched to their CEFR level and skill (SFI, Lätt Svenska, Radio Sweden på lätt svenska). | `swedish-mentor` | +| [weekly-review](productivity/weekly-review/skills/weekly-review/SKILL.md) | Use when someone wants to run a weekly review, close open loops, audit stalled projects and commitments, get their system back to trusted, restart a lapsed review habit, or says "/cs-weekly-review". | `weekly-review` | + +## project-management (1) + +| Skill | What it does | Plugin | +|---|---|---| +| [team-communications](project-management/skills/team-communications/SKILL.md) | Use for any internal communication: 3P updates, weekly or status reports, newsletters, FAQs, incident reports, leadership updates ('write my update'). | `pm-skills` | + +## ra-qm-team (7) + +| Skill | What it does | Plugin | +|---|---|---| +| [access-lifecycle](ra-qm-team/access-lifecycle/skills/access-lifecycle/SKILL.md) | Use when preparing or running a user access review, checking that leavers lost their access, finding orphaned or ownerless service accounts, answering an auditor's access-control request for SOC 2, ISO 27001, PCI DSS, HIPAA or NIST 800-53, or checking whether a finished review campaign will hold up. | `access-lifecycle` | +| [agent-decision-receipts](ra-qm-team/skills/agent-decision-receipts/SKILL.md) | Use when an autonomous agent takes a side-effecting action (deploy, delete, pay, grant access) that may need proving later, or for EU AI Act Art. | `ra-qm-skills` | +| [cmmc-readiness](ra-qm-team/cmmc-readiness/skills/cmmc-readiness/SKILL.md) | Use when a defense contractor or subcontractor is preparing for a CMMC 2.0 Level 2 self-assessment or C3PAO assessment, calculating or checking an SPRS score against NIST SP 800-171 Rev 2, deciding what can go on a POA&M, tracking POA&M closeout before Conditional status expires, or scoping assets, enclaves and cloud providers that handle CUI. | `cmmc-readiness` | +| [iso42001-specialist](ra-qm-team/compliance-team-iso42001/skills/iso42001-specialist/SKILL.md) | Use for ISO/IEC 42001 AI management system work: gap analysis against Clauses 4-10, the AI risk register and Annex A controls, or the internal audit plan. | `compliance-team-iso42001` | +| [quality-documentation-manager](ra-qm-team/skills/quality-documentation-manager/SKILL.md) | Use for QMS document control: numbering, versioning, change control or 21 CFR Part 11 e-signatures. | `ra-qm-skills` | +| [risk-management-specialist](ra-qm-team/skills/risk-management-specialist/SKILL.md) | Use for ISO 14971 medical device risk management: hazard analysis, FMEA, fault trees, risk controls, benefit-risk or residual risk. | `ra-qm-skills` | +| [soc2-compliance](ra-qm-team/skills/soc2-compliance/SKILL.md) | Use when the user asks to prepare for SOC 2 audits, map Trust Service Criteria, build control matrices, collect audit evidence, perform gap analysis, or assess SOC 2 Type I vs Type II readiness. | `ra-qm-skills` | + +## research (4) + +| Skill | What it does | Plugin | +|---|---|---| +| [grants](research/grants/skills/grants/SKILL.md) | Use for any NIH funding question ('find grants for my research', 'which NIH institute'). | `grants` | +| [meta-research](research/meta-research/skills/meta-research/SKILL.md) | Use when a wrong answer is expensive: strategy research, comparing several products or markets, validating a hypothesis with outside data. | `meta-research` | +| [pulse](research/pulse/skills/pulse/SKILL.md) | Use for what people are saying right now about a topic (trends, sentiment, complaints, tool comparisons) across Reddit, Hacker News and the web in a recent window. | `pulse` | +| [syllabus](research/syllabus/skills/syllabus/SKILL.md) | Use when the user shares a course syllabus or outline and wants supplementary readings. | `syllabus` | diff --git a/audit/verified-tier/trigger_results.json b/audit/verified-tier/trigger_results.json new file mode 100644 index 00000000..5ea4042b --- /dev/null +++ b/audit/verified-tier/trigger_results.json @@ -0,0 +1,4680 @@ +{ + "_comment": "Latest trigger-eval result per skill for the description that is live on dev (Claude Code 2.1.317, sonnet, targeted scenario: only that plugin installed). Later measurements override earlier ones; where a rewrite was measured but rejected, the measurement of the kept (old) text is used. Skills with disable-model-invocation are COMMAND_ONLY. Regenerate VERIFIED.md with scripts/build_verified_tier.py.", + "measurements": { + "sweep-2026-11-03": "2 positive prompts + 1 negative, 1 run", + "heldout-2026-11-03": "2 held-out positive prompts + 1 negative, 1 run, on the rewritten descriptions", + "blind-2026-11-03": "2 blind positive prompts + 1 negative, 2 runs each (live description: the 14 kept rewrites, old text for the rest)" + }, + "claude_version": "2.1.317", + "model": "sonnet", + "skills": [ + { + "skill": "agent-launcher/skills/agent-launcher-orchestrator", + "name": "agent-launcher-orchestrator", + "plugin": "agent-launcher-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "agent-launcher/skills/grade-iterate", + "name": "grade-iterate", + "plugin": "agent-launcher-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "agent-launcher/skills/interview", + "name": "interview", + "plugin": "agent-launcher-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "agent-launcher/skills/run-without-you", + "name": "run-without-you", + "plugin": "agent-launcher-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "agent-launcher/skills/stage-launch", + "name": "stage-launch", + "plugin": "agent-launcher-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "agent-launcher/skills/wrap-up", + "name": "wrap-up", + "plugin": "agent-launcher-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "business-growth/skills/business-growth-skills", + "name": "business-growth-skills", + "plugin": "business-growth-skills", + "pos_total": 2, + "pos_exact": 0, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "PLUGIN_ONLY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "business-growth/skills/contract-and-proposal-writer", + "name": "contract-and-proposal-writer", + "plugin": "business-growth-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "business-growth/skills/customer-success-manager", + "name": "customer-success-manager", + "plugin": "business-growth-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "business-growth/skills/revenue-operations", + "name": "revenue-operations", + "plugin": "business-growth-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "business-growth/skills/sales-engineer", + "name": "sales-engineer", + "plugin": "business-growth-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "business-operations/skills/business-operations-skills", + "name": "business-operations-skills", + "plugin": "business-operations-skills", + "pos_total": 2, + "pos_exact": 0, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "PLUGIN_ONLY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "business-operations/skills/capacity-planner", + "name": "capacity-planner", + "plugin": "business-operations-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "business-operations/skills/internal-comms", + "name": "internal-comms", + "plugin": "business-operations-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "business-operations/skills/knowledge-ops", + "name": "knowledge-ops", + "plugin": "business-operations-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "business-operations/skills/process-mapper", + "name": "process-mapper", + "plugin": "business-operations-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "business-operations/skills/procurement-optimizer", + "name": "procurement-optimizer", + "plugin": "business-operations-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "business-operations/skills/vendor-management", + "name": "vendor-management", + "plugin": "business-operations-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/arquiteto-de-empresa/skills/arquiteto-de-empresa", + "name": "arquiteto-de-empresa", + "plugin": "arquiteto-de-empresa", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/chief-ai-officer-advisor/skills/chief-ai-officer-advisor", + "name": "chief-ai-officer-advisor", + "plugin": "chief-ai-officer-advisor", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/chief-customer-officer-advisor/skills/chief-customer-officer-advisor", + "name": "chief-customer-officer-advisor", + "plugin": "chief-customer-officer-advisor", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/chief-data-officer-advisor/skills/chief-data-officer-advisor", + "name": "chief-data-officer-advisor", + "plugin": "chief-data-officer-advisor", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/executive-mentor/skills/board-prep", + "name": "board-prep", + "plugin": "executive-mentor", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/executive-mentor/skills/challenge", + "name": "challenge", + "plugin": "executive-mentor", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "c-level-advisor/executive-mentor/skills/executive-mentor", + "name": "executive-mentor", + "plugin": "executive-mentor", + "pos_total": 2, + "pos_exact": 0, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "PLUGIN_ONLY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/executive-mentor/skills/hard-call", + "name": "hard-call", + "plugin": "executive-mentor", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/executive-mentor/skills/postmortem", + "name": "postmortem", + "plugin": "executive-mentor", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/executive-mentor/skills/stress-test", + "name": "stress-test", + "plugin": "executive-mentor", + "pos_total": 4, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 2, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "blind-2026-11-03" + }, + { + "skill": "c-level-advisor/general-counsel-advisor/skills/general-counsel-advisor", + "name": "general-counsel-advisor", + "plugin": "general-counsel-advisor", + "pos_total": 4, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 2, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "blind-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/agent-protocol", + "name": "agent-protocol", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/board-deck-builder", + "name": "board-deck-builder", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/board-meeting", + "name": "board-meeting", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/c-level-skills", + "name": "c-level-skills", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 0, + "pos_plugin": 0, + "neg_total": 1, + "neg_fires": 0, + "verdict": "COMMAND_ONLY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/ceo-advisor", + "name": "ceo-advisor", + "plugin": "c-level-skills", + "pos_total": 4, + "pos_exact": 4, + "pos_plugin": 4, + "neg_total": 2, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "blind-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/cfo-advisor", + "name": "cfo-advisor", + "plugin": "c-level-skills", + "pos_total": 4, + "pos_exact": 4, + "pos_plugin": 4, + "neg_total": 2, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "blind-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/change-management", + "name": "change-management", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/chief-of-staff", + "name": "chief-of-staff", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 0, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "PLUGIN_ONLY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/chro-advisor", + "name": "chro-advisor", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/ciso-advisor", + "name": "ciso-advisor", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/cmo-advisor", + "name": "cmo-advisor", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/company-os", + "name": "company-os", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/competitive-intel", + "name": "competitive-intel", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/context-engine", + "name": "context-engine", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/coo-advisor", + "name": "coo-advisor", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/cpo-advisor", + "name": "cpo-advisor", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/cro-advisor", + "name": "cro-advisor", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/cs-onboard", + "name": "cs-onboard", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/cto-advisor", + "name": "cto-advisor", + "plugin": "c-level-skills", + "pos_total": 4, + "pos_exact": 0, + "pos_plugin": 0, + "neg_total": 2, + "neg_fires": 0, + "verdict": "SILENT", + "measurement": "blind-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/culture-architect", + "name": "culture-architect", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/decision-logger", + "name": "decision-logger", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/founder-coach", + "name": "founder-coach", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/internal-narrative", + "name": "internal-narrative", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/intl-expansion", + "name": "intl-expansion", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/ma-playbook", + "name": "ma-playbook", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/org-health-diagnostic", + "name": "org-health-diagnostic", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/scenario-war-room", + "name": "scenario-war-room", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/skills/strategic-alignment", + "name": "strategic-alignment", + "plugin": "c-level-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-advisor/vpe-advisor/skills/vpe-advisor", + "name": "vpe-advisor", + "plugin": "vpe-advisor", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-agents/skills/boardroom", + "name": "boardroom", + "plugin": "c-level-agents", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-agents/skills/brief", + "name": "brief", + "plugin": "c-level-agents", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-agents/skills/c-level-agents", + "name": "c-level-agents", + "plugin": "c-level-agents", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-agents/skills/caio-review", + "name": "caio-review", + "plugin": "c-level-agents", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-agents/skills/cco-review", + "name": "cco-review", + "plugin": "c-level-agents", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "c-level-agents/skills/cdo-review", + "name": "cdo-review", + "plugin": "c-level-agents", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-agents/skills/cfo-review", + "name": "cfo-review", + "plugin": "c-level-agents", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "c-level-agents/skills/ciso-review", + "name": "ciso-review", + "plugin": "c-level-agents", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "c-level-agents/skills/cmo-review", + "name": "cmo-review", + "plugin": "c-level-agents", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-agents/skills/cpo-review", + "name": "cpo-review", + "plugin": "c-level-agents", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "c-level-agents/skills/cro-review", + "name": "cro-review", + "plugin": "c-level-agents", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "c-level-agents/skills/cross-eval", + "name": "cross-eval", + "plugin": "c-level-agents", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-agents/skills/cto-review", + "name": "cto-review", + "plugin": "c-level-agents", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "c-level-agents/skills/decide", + "name": "decide", + "plugin": "c-level-agents", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-agents/skills/execute", + "name": "execute", + "plugin": "c-level-agents", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-agents/skills/founder-mode", + "name": "founder-mode", + "plugin": "c-level-agents", + "pos_total": 2, + "pos_exact": 0, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "PLUGIN_ONLY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-agents/skills/freeze", + "name": "freeze", + "plugin": "c-level-agents", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-agents/skills/gc-review", + "name": "gc-review", + "plugin": "c-level-agents", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-agents/skills/office-hours", + "name": "office-hours", + "plugin": "c-level-agents", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "c-level-agents/skills/onboard", + "name": "onboard", + "plugin": "c-level-agents", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-agents/skills/post-mortem", + "name": "post-mortem", + "plugin": "c-level-agents", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "c-level-agents/skills/vpe-review", + "name": "vpe-review", + "plugin": "c-level-agents", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "commercial/skills/channel-economics", + "name": "channel-economics", + "plugin": "commercial-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "commercial/skills/commercial-forecaster", + "name": "commercial-forecaster", + "plugin": "commercial-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "commercial/skills/commercial-policy", + "name": "commercial-policy", + "plugin": "commercial-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "commercial/skills/commercial-skills", + "name": "commercial-skills", + "plugin": "commercial-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "commercial/skills/deal-desk", + "name": "deal-desk", + "plugin": "commercial-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "commercial/skills/partnerships-architect", + "name": "partnerships-architect", + "plugin": "commercial-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "commercial/skills/pricing-strategist", + "name": "pricing-strategist", + "plugin": "commercial-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "commercial/skills/rfp-responder", + "name": "rfp-responder", + "plugin": "commercial-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "compliance-os/skills/ai-act-readiness", + "name": "ai-act-readiness", + "plugin": "compliance-os", + "pos_total": 4, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 2, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "blind-2026-11-03" + }, + { + "skill": "compliance-os/skills/aims-audit", + "name": "aims-audit", + "plugin": "compliance-os", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "compliance-os/skills/compliance-os", + "name": "compliance-os", + "plugin": "compliance-os", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "compliance-os/skills/compliance-readiness", + "name": "compliance-readiness", + "plugin": "compliance-os", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "compliance-os/skills/fda-qsr-audit-prep", + "name": "fda-qsr-audit-prep", + "plugin": "compliance-os", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "compliance-os/skills/gdpr-audit-prep", + "name": "gdpr-audit-prep", + "plugin": "compliance-os", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "compliance-os/skills/iso13485-audit-prep", + "name": "iso13485-audit-prep", + "plugin": "compliance-os", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "compliance-os/skills/iso27001-audit-prep", + "name": "iso27001-audit-prep", + "plugin": "compliance-os", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "compliance-os/skills/soc2-audit-prep", + "name": "soc2-audit-prep", + "plugin": "compliance-os", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/a11y-audit/skills/a11y-audit", + "name": "a11y-audit", + "plugin": "a11y-audit", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/google-workspace-cli/skills/google-workspace-cli", + "name": "google-workspace-cli", + "plugin": "google-workspace-cli", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/playwright-pro/skills/browserstack", + "name": "browserstack", + "plugin": "pw", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/playwright-pro/skills/coverage", + "name": "coverage", + "plugin": "pw", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering-team/playwright-pro/skills/fix", + "name": "fix", + "plugin": "pw", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering-team/playwright-pro/skills/generate", + "name": "generate", + "plugin": "pw", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/playwright-pro/skills/migrate", + "name": "migrate", + "plugin": "pw", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/playwright-pro/skills/pw", + "name": "pw", + "plugin": "pw", + "pos_total": 2, + "pos_exact": 0, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "PLUGIN_ONLY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/playwright-pro/skills/pw-init", + "name": "pw-init", + "plugin": "pw", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/playwright-pro/skills/pw-review", + "name": "pw-review", + "plugin": "pw", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/playwright-pro/skills/report", + "name": "report", + "plugin": "pw", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering-team/playwright-pro/skills/testrail", + "name": "testrail", + "plugin": "pw", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/self-improving-agent/skills/extract", + "name": "extract", + "plugin": "self-improving-agent", + "pos_total": 4, + "pos_exact": 4, + "pos_plugin": 4, + "neg_total": 2, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering-team/self-improving-agent/skills/memory-review", + "name": "memory-review", + "plugin": "self-improving-agent", + "pos_total": 4, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 2, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering-team/self-improving-agent/skills/memory-status", + "name": "memory-status", + "plugin": "self-improving-agent", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering-team/self-improving-agent/skills/promote", + "name": "promote", + "plugin": "self-improving-agent", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/self-improving-agent/skills/remember", + "name": "remember", + "plugin": "self-improving-agent", + "pos_total": 4, + "pos_exact": 0, + "pos_plugin": 0, + "neg_total": 2, + "neg_fires": 0, + "verdict": "SILENT", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering-team/self-improving-agent/skills/self-improving-agent", + "name": "self-improving-agent", + "plugin": "self-improving-agent", + "pos_total": 2, + "pos_exact": 0, + "pos_plugin": 0, + "neg_total": 1, + "neg_fires": 0, + "verdict": "COMMAND_ONLY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering-team/skills/adversarial-reviewer", + "name": "adversarial-reviewer", + "plugin": "engineering-skills", + "pos_total": 4, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 2, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering-team/skills/ai-security", + "name": "ai-security", + "plugin": "engineering-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/skills/aws-solution-architect", + "name": "aws-solution-architect", + "plugin": "engineering-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/skills/azure-cloud-architect", + "name": "azure-cloud-architect", + "plugin": "engineering-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/skills/cloud-security", + "name": "cloud-security", + "plugin": "engineering-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/skills/code-reviewer", + "name": "code-reviewer", + "plugin": "engineering-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/skills/email-template-builder", + "name": "email-template-builder", + "plugin": "engineering-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/skills/embedded-iot-mentor", + "name": "embedded-iot-mentor", + "plugin": "engineering-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/skills/engineering-skills", + "name": "engineering-skills", + "plugin": "engineering-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering-team/skills/epic-design", + "name": "epic-design", + "plugin": "engineering-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/skills/gcp-cloud-architect", + "name": "gcp-cloud-architect", + "plugin": "engineering-skills", + "pos_total": 4, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 2, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering-team/skills/incident-commander", + "name": "incident-commander", + "plugin": "engineering-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/skills/incident-response", + "name": "incident-response", + "plugin": "engineering-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering-team/skills/ms365-tenant-manager", + "name": "ms365-tenant-manager", + "plugin": "engineering-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/skills/named-persona-adversarial-review", + "name": "named-persona-adversarial-review", + "plugin": "engineering-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/skills/red-green-proof", + "name": "red-green-proof", + "plugin": "engineering-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/skills/red-team", + "name": "red-team", + "plugin": "engineering-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/skills/security-pen-testing", + "name": "security-pen-testing", + "plugin": "engineering-skills", + "pos_total": 4, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 2, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering-team/skills/senior-architect", + "name": "senior-architect", + "plugin": "engineering-skills", + "pos_total": 4, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 2, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering-team/skills/senior-backend", + "name": "senior-backend", + "plugin": "engineering-skills", + "pos_total": 4, + "pos_exact": 0, + "pos_plugin": 0, + "neg_total": 2, + "neg_fires": 0, + "verdict": "SILENT", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering-team/skills/senior-computer-vision", + "name": "senior-computer-vision", + "plugin": "engineering-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering-team/skills/senior-data-engineer", + "name": "senior-data-engineer", + "plugin": "engineering-skills", + "pos_total": 4, + "pos_exact": 4, + "pos_plugin": 4, + "neg_total": 2, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering-team/skills/senior-data-scientist", + "name": "senior-data-scientist", + "plugin": "engineering-skills", + "pos_total": 4, + "pos_exact": 0, + "pos_plugin": 0, + "neg_total": 2, + "neg_fires": 0, + "verdict": "SILENT", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering-team/skills/senior-devops", + "name": "senior-devops", + "plugin": "engineering-skills", + "pos_total": 4, + "pos_exact": 0, + "pos_plugin": 0, + "neg_total": 2, + "neg_fires": 0, + "verdict": "SILENT", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering-team/skills/senior-frontend", + "name": "senior-frontend", + "plugin": "engineering-skills", + "pos_total": 4, + "pos_exact": 0, + "pos_plugin": 0, + "neg_total": 2, + "neg_fires": 0, + "verdict": "SILENT", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering-team/skills/senior-fullstack", + "name": "senior-fullstack", + "plugin": "engineering-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering-team/skills/senior-ml-engineer", + "name": "senior-ml-engineer", + "plugin": "engineering-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/skills/senior-prompt-engineer", + "name": "senior-prompt-engineer", + "plugin": "engineering-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering-team/skills/senior-qa", + "name": "senior-qa", + "plugin": "engineering-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering-team/skills/senior-secops", + "name": "senior-secops", + "plugin": "engineering-skills", + "pos_total": 4, + "pos_exact": 0, + "pos_plugin": 0, + "neg_total": 2, + "neg_fires": 0, + "verdict": "SILENT", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering-team/skills/senior-security", + "name": "senior-security", + "plugin": "engineering-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering-team/skills/stripe-integration-expert", + "name": "stripe-integration-expert", + "plugin": "engineering-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/skills/tdd-guide", + "name": "tdd-guide", + "plugin": "engineering-skills", + "pos_total": 4, + "pos_exact": 0, + "pos_plugin": 0, + "neg_total": 2, + "neg_fires": 0, + "verdict": "SILENT", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering-team/skills/tech-stack-evaluator", + "name": "tech-stack-evaluator", + "plugin": "engineering-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering-team/skills/threat-detection", + "name": "threat-detection", + "plugin": "engineering-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering-team/snowflake-development/skills/snowflake-development", + "name": "snowflake-development", + "plugin": "snowflake-development", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/agent-harness/skills/agent-harness", + "name": "agent-harness", + "plugin": "agent-harness", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/agent-memory/skills/agent-memory", + "name": "agent-memory", + "plugin": "agent-memory", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/agent-regression-evals/skills/agent-regression-evals", + "name": "agent-regression-evals", + "plugin": "agent-regression-evals", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/agent-run-forensics/skills/agent-run-forensics", + "name": "agent-run-forensics", + "plugin": "agent-run-forensics", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/agenthub/skills/agenthub", + "name": "agenthub", + "plugin": "agenthub", + "pos_total": 4, + "pos_exact": 0, + "pos_plugin": 0, + "neg_total": 2, + "neg_fires": 0, + "verdict": "SILENT", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering/agenthub/skills/board", + "name": "board", + "plugin": "agenthub", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/agenthub/skills/eval", + "name": "eval", + "plugin": "agenthub", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering/agenthub/skills/hub-init", + "name": "hub-init", + "plugin": "agenthub", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/agenthub/skills/hub-run", + "name": "hub-run", + "plugin": "agenthub", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/agenthub/skills/hub-status", + "name": "hub-status", + "plugin": "agenthub", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/agenthub/skills/merge", + "name": "merge", + "plugin": "agenthub", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/agenthub/skills/spawn", + "name": "spawn", + "plugin": "agenthub", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering/autoresearch-agent/skills/ar-loop", + "name": "ar-loop", + "plugin": "autoresearch-agent", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/autoresearch-agent/skills/ar-resume", + "name": "ar-resume", + "plugin": "autoresearch-agent", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/autoresearch-agent/skills/ar-run", + "name": "ar-run", + "plugin": "autoresearch-agent", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/autoresearch-agent/skills/ar-status", + "name": "ar-status", + "plugin": "autoresearch-agent", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering/autoresearch-agent/skills/autoresearch-agent", + "name": "autoresearch-agent", + "plugin": "autoresearch-agent", + "pos_total": 4, + "pos_exact": 0, + "pos_plugin": 0, + "neg_total": 2, + "neg_fires": 0, + "verdict": "SILENT", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering/autoresearch-agent/skills/setup", + "name": "setup", + "plugin": "autoresearch-agent", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/behuman/skills/behuman", + "name": "behuman", + "plugin": "behuman", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering/book-to-skill/skills/book-to-skill", + "name": "book-to-skill", + "plugin": "book-to-skill", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/boost-asio-pro", + "name": "boost-asio-pro", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/caveman/skills/caveman", + "name": "caveman", + "plugin": "caveman", + "pos_total": 4, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 2, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering/chaos-engineering/skills/chaos-engineering", + "name": "chaos-engineering", + "plugin": "chaos-engineering", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/claude-coach/skills/claude-coach", + "name": "claude-coach", + "plugin": "power-user-coach", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/code-tour/skills/code-tour", + "name": "code-tour", + "plugin": "code-tour", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/coding-agent-rollout/skills/coding-agent-rollout", + "name": "coding-agent-rollout", + "plugin": "coding-agent-rollout", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering/collab-proof/skills/collab-proof", + "name": "collab-proof", + "plugin": "collab-proof", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/commit-craft/skills/commit-craft", + "name": "commit-craft", + "plugin": "commit-craft", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering/data-quality-auditor/skills/data-quality-auditor", + "name": "data-quality-auditor", + "plugin": "data-quality-auditor", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/deep-learning-book/skills/deep-learning-book", + "name": "deep-learning-book", + "plugin": "deep-learning-book", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/demo-video/skills/demo-video", + "name": "demo-video", + "plugin": "demo-video", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/docker-development/skills/docker-development", + "name": "docker-development", + "plugin": "docker-development", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/feature-flags-architect/skills/feature-flags-architect", + "name": "feature-flags-architect", + "plugin": "feature-flags-architect", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/grill-me/skills/grill-me", + "name": "grill-me", + "plugin": "grill-me", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/grill-with-docs/skills/grill-with-docs", + "name": "grill-with-docs", + "plugin": "grill-with-docs", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/handoff/skills/handoff", + "name": "handoff", + "plugin": "handoff-engineering", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/helm-chart-builder/skills/helm-chart-builder", + "name": "helm-chart-builder", + "plugin": "helm-chart-builder", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/hivemind", + "name": "hivemind", + "plugin": "hivemind", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/human-gate/skills/human-gate", + "name": "human-gate", + "plugin": "human-gate", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/i18n-localization/skills/i18n-localization", + "name": "i18n-localization", + "plugin": "i18n-localization", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/karpathy-coder/skills/karpathy-coder", + "name": "karpathy-coder", + "plugin": "karpathy-coder", + "pos_total": 4, + "pos_exact": 3, + "pos_plugin": 3, + "neg_total": 2, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering/kubernetes-operator/skills/kubernetes-operator", + "name": "kubernetes-operator", + "plugin": "kubernetes-operator", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/llm-cost-optimizer/skills/llm-cost-optimizer", + "name": "llm-cost-optimizer", + "plugin": "llm-cost-optimizer", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/llm-wiki/skills/llm-wiki", + "name": "llm-wiki", + "plugin": "llm-wiki", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/memory-engineering/skills/memory-engineering", + "name": "memory-engineering", + "plugin": "memory-engineering", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/minimalist", + "name": "minimalist", + "plugin": "engineering-advanced-skills", + "pos_total": 4, + "pos_exact": 0, + "pos_plugin": 0, + "neg_total": 2, + "neg_fires": 0, + "verdict": "SILENT", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering/prompt-governance/skills/prompt-governance", + "name": "prompt-governance", + "plugin": "prompt-governance", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/security-guidance/skills/security-guidance", + "name": "security-guidance", + "plugin": "security-guidance", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/skill-retro/skills/skill-retro", + "name": "skill-retro", + "plugin": "skill-retro", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/skillopt-sleep/skills/skillopt-sleep", + "name": "skillopt-sleep", + "plugin": "skillopt-sleep", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/skills/agent-designer", + "name": "agent-designer", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering/skills/agent-workflow-designer", + "name": "agent-workflow-designer", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/skills/api-design-reviewer", + "name": "api-design-reviewer", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/skills/api-test-suite-builder", + "name": "api-test-suite-builder", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/skills/browser-automation", + "name": "browser-automation", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering/skills/changelog-generator", + "name": "changelog-generator", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering/skills/ci-cd-pipeline-builder", + "name": "ci-cd-pipeline-builder", + "plugin": "engineering-advanced-skills", + "pos_total": 4, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 2, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering/skills/codebase-onboarding", + "name": "codebase-onboarding", + "plugin": "engineering-advanced-skills", + "pos_total": 4, + "pos_exact": 0, + "pos_plugin": 0, + "neg_total": 2, + "neg_fires": 0, + "verdict": "SILENT", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering/skills/database-designer", + "name": "database-designer", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering/skills/database-schema-designer", + "name": "database-schema-designer", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/skills/dependency-auditor", + "name": "dependency-auditor", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering/skills/engineering-advanced-skills", + "name": "engineering-advanced-skills", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 0, + "pos_plugin": 0, + "neg_total": 1, + "neg_fires": 0, + "verdict": "COMMAND_ONLY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering/skills/env-secrets-manager", + "name": "env-secrets-manager", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/skills/focused-fix", + "name": "focused-fix", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/skills/full-page-screenshot", + "name": "full-page-screenshot", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/skills/git-worktree-manager", + "name": "git-worktree-manager", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/skills/interview-system-designer", + "name": "interview-system-designer", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/skills/mcp-oauth-triage", + "name": "mcp-oauth-triage", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/skills/mcp-server-builder", + "name": "mcp-server-builder", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/skills/migration-architect", + "name": "migration-architect", + "plugin": "engineering-advanced-skills", + "pos_total": 4, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 2, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering/skills/monorepo-navigator", + "name": "monorepo-navigator", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/skills/observability-designer", + "name": "observability-designer", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/skills/performance-profiler", + "name": "performance-profiler", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/skills/pr-review-expert", + "name": "pr-review-expert", + "plugin": "engineering-advanced-skills", + "pos_total": 4, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 2, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering/skills/rag-architect", + "name": "rag-architect", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering/skills/runbook-generator", + "name": "runbook-generator", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/skills/secrets-vault-manager", + "name": "secrets-vault-manager", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/skills/self-eval", + "name": "self-eval", + "plugin": "engineering-advanced-skills", + "pos_total": 4, + "pos_exact": 0, + "pos_plugin": 0, + "neg_total": 2, + "neg_fires": 0, + "verdict": "SILENT", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering/skills/ship-gate", + "name": "ship-gate", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/skills/skill-security-auditor", + "name": "skill-security-auditor", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/skills/skill-tester", + "name": "skill-tester", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/skills/spec-driven-workflow", + "name": "spec-driven-workflow", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/skills/sql-database-assistant", + "name": "sql-database-assistant", + "plugin": "engineering-advanced-skills", + "pos_total": 4, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 2, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering/skills/tc-tracker", + "name": "tc-tracker", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/skills/tech-debt-tracker", + "name": "tech-debt-tracker", + "plugin": "engineering-advanced-skills", + "pos_total": 4, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 2, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering/slo-architect/skills/slo-architect", + "name": "slo-architect", + "plugin": "slo-architect", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/spinning-up-deep-rl/skills/spinning-up-deep-rl", + "name": "spinning-up-deep-rl", + "plugin": "spinning-up-deep-rl", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "engineering/statistical-analyst/skills/statistical-analyst", + "name": "statistical-analyst", + "plugin": "statistical-analyst", + "pos_total": 4, + "pos_exact": 4, + "pos_plugin": 4, + "neg_total": 2, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering/strict-api", + "name": "strict-api", + "plugin": "engineering-advanced-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/terraform-patterns/skills/terraform-patterns", + "name": "terraform-patterns", + "plugin": "terraform-patterns", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/universal-scraping-architect/skills/universal-scraping-architect", + "name": "universal-scraping-architect", + "plugin": "universal-scraping-architect", + "pos_total": 4, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 2, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "blind-2026-11-03" + }, + { + "skill": "engineering/workflow-builder/skills/workflow-builder", + "name": "workflow-builder", + "plugin": "workflow-builder", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/write-a-skill/skills/write-a-skill", + "name": "write-a-skill", + "plugin": "write-a-skill", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "engineering/zero-hallucination-coder/skills/zero-hallucination-coder", + "name": "zero-hallucination-coder", + "plugin": "zero-hallucination-coder", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "finance/business-investment-advisor/skills/business-investment-advisor", + "name": "business-investment-advisor", + "plugin": "business-investment-advisor", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "finance/month-end-close/skills/month-end-close", + "name": "month-end-close", + "plugin": "month-end-close", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "finance/skills/finance-skills", + "name": "finance-skills", + "plugin": "finance-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "finance/skills/financial-analyst", + "name": "financial-analyst", + "plugin": "finance-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "finance/skills/passive-deal-screener", + "name": "passive-deal-screener", + "plugin": "finance-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "finance/skills/saas-metrics-coach", + "name": "saas-metrics-coach", + "plugin": "finance-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "finance/skills/stock-analysis", + "name": "stock-analysis", + "plugin": "finance-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "loop-library", + "name": "loop-library", + "plugin": "loop-library", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "markdown-html/skills/design-system", + "name": "design-system", + "plugin": "markdown-html-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "markdown-html/skills/markdown-html-orchestrator", + "name": "markdown-html-orchestrator", + "plugin": "markdown-html-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "markdown-html/skills/md-document", + "name": "md-document", + "plugin": "markdown-html-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "markdown-html/skills/md-review", + "name": "md-review", + "plugin": "markdown-html-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "markdown-html/skills/md-slides", + "name": "md-slides", + "plugin": "markdown-html-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "marketing-skill/skills/ab-test-setup", + "name": "ab-test-setup", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/ad-creative", + "name": "ad-creative", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/aeo", + "name": "aeo", + "plugin": "aeo", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/ai-decision-authority", + "name": "ai-decision-authority", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/analytics-tracking", + "name": "analytics-tracking", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/app-store-optimization", + "name": "app-store-optimization", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/brand-guidelines", + "name": "brand-guidelines", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/business-name-fit", + "name": "business-name-fit", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/campaign-analytics", + "name": "campaign-analytics", + "plugin": "marketing-skills", + "pos_total": 4, + "pos_exact": 3, + "pos_plugin": 3, + "neg_total": 2, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "blind-2026-11-03" + }, + { + "skill": "marketing-skill/skills/churn-prevention", + "name": "churn-prevention", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/cold-email", + "name": "cold-email", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/competitor-alternatives", + "name": "competitor-alternatives", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/content-creator", + "name": "content-creator", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 0, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "PLUGIN_ONLY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/content-humanizer", + "name": "content-humanizer", + "plugin": "marketing-skills", + "pos_total": 4, + "pos_exact": 0, + "pos_plugin": 0, + "neg_total": 2, + "neg_fires": 0, + "verdict": "SILENT", + "measurement": "blind-2026-11-03" + }, + { + "skill": "marketing-skill/skills/content-production", + "name": "content-production", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "marketing-skill/skills/content-strategy", + "name": "content-strategy", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/copy-editing", + "name": "copy-editing", + "plugin": "marketing-skills", + "pos_total": 4, + "pos_exact": 0, + "pos_plugin": 0, + "neg_total": 2, + "neg_fires": 0, + "verdict": "SILENT", + "measurement": "blind-2026-11-03" + }, + { + "skill": "marketing-skill/skills/copywriting", + "name": "copywriting", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/email-sequence", + "name": "email-sequence", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/form-cro", + "name": "form-cro", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/free-tool-strategy", + "name": "free-tool-strategy", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/launch-strategy", + "name": "launch-strategy", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "marketing-skill/skills/local-seo-manager", + "name": "local-seo-manager", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/marketing-context", + "name": "marketing-context", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/marketing-demand-acquisition", + "name": "marketing-demand-acquisition", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/marketing-ideas", + "name": "marketing-ideas", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/marketing-ops", + "name": "marketing-ops", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/marketing-psychology", + "name": "marketing-psychology", + "plugin": "marketing-skills", + "pos_total": 4, + "pos_exact": 0, + "pos_plugin": 0, + "neg_total": 2, + "neg_fires": 0, + "verdict": "SILENT", + "measurement": "blind-2026-11-03" + }, + { + "skill": "marketing-skill/skills/marketing-skills", + "name": "marketing-skills", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/marketing-strategy-pmm", + "name": "marketing-strategy-pmm", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/onboarding-cro", + "name": "onboarding-cro", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/page-cro", + "name": "page-cro", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "marketing-skill/skills/paid-ads", + "name": "paid-ads", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/paywall-upgrade-cro", + "name": "paywall-upgrade-cro", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/popup-cro", + "name": "popup-cro", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/pricing-strategy", + "name": "pricing-strategy", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/programmatic-seo", + "name": "programmatic-seo", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/prompt-engineer-toolkit", + "name": "prompt-engineer-toolkit", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/referral-program", + "name": "referral-program", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/schema-markup", + "name": "schema-markup", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/seo-audit", + "name": "seo-audit", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "marketing-skill/skills/signup-flow-cro", + "name": "signup-flow-cro", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/site-architecture", + "name": "site-architecture", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/social-content", + "name": "social-content", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "marketing-skill/skills/social-media-analyzer", + "name": "social-media-analyzer", + "plugin": "marketing-skills", + "pos_total": 4, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 2, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "blind-2026-11-03" + }, + { + "skill": "marketing-skill/skills/social-media-manager", + "name": "social-media-manager", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "marketing-skill/skills/webinar-marketing", + "name": "webinar-marketing", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/x-twitter-growth", + "name": "x-twitter-growth", + "plugin": "marketing-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/skills/youtube-full", + "name": "youtube-full", + "plugin": "youtube-full", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing-skill/video-content-strategist/skills/video-content-strategist", + "name": "video-content-strategist", + "plugin": "video-content-strategist", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing/landing/skills/landing", + "name": "landing", + "plugin": "landing", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing/linkedin/skills/linkedin-analytics", + "name": "linkedin-analytics", + "plugin": "linkedin", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing/linkedin/skills/linkedin-content", + "name": "linkedin-content", + "plugin": "linkedin", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "marketing/linkedin/skills/linkedin-engagement", + "name": "linkedin-engagement", + "plugin": "linkedin", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing/linkedin/skills/linkedin-profile", + "name": "linkedin-profile", + "plugin": "linkedin", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing/linkedin/skills/linkedin-skills", + "name": "linkedin-skills", + "plugin": "linkedin", + "pos_total": 2, + "pos_exact": 0, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "PLUGIN_ONLY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "marketing/linkedin/skills/linkedin-strategy", + "name": "linkedin-strategy", + "plugin": "linkedin", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "product-team/agile-product-owner/skills/agile-product-owner", + "name": "agile-product-owner", + "plugin": "agile-product-owner", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "product-team/apple-hig-expert/skills/apple-hig-expert", + "name": "apple-hig-expert", + "plugin": "apple-hig-expert", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "product-team/code-to-prd/skills/code-to-prd", + "name": "code-to-prd", + "plugin": "code-to-prd", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "product-team/design-qa/skills/design-qa", + "name": "design-qa", + "plugin": "design-qa", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "product-team/research-summarizer/skills/research-summarizer", + "name": "research-summarizer", + "plugin": "research-summarizer", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "product-team/skills/competitive-teardown", + "name": "competitive-teardown", + "plugin": "product-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "product-team/skills/experiment-designer", + "name": "experiment-designer", + "plugin": "product-skills", + "pos_total": 4, + "pos_exact": 0, + "pos_plugin": 0, + "neg_total": 2, + "neg_fires": 0, + "verdict": "SILENT", + "measurement": "blind-2026-11-03" + }, + { + "skill": "product-team/skills/landing-page-generator", + "name": "landing-page-generator", + "plugin": "product-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "product-team/skills/product-analytics", + "name": "product-analytics", + "plugin": "product-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "product-team/skills/product-discovery", + "name": "product-discovery", + "plugin": "product-skills", + "pos_total": 4, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 2, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "blind-2026-11-03" + }, + { + "skill": "product-team/skills/product-manager-toolkit", + "name": "product-manager-toolkit", + "plugin": "product-skills", + "pos_total": 4, + "pos_exact": 0, + "pos_plugin": 0, + "neg_total": 2, + "neg_fires": 0, + "verdict": "SILENT", + "measurement": "blind-2026-11-03" + }, + { + "skill": "product-team/skills/product-skills", + "name": "product-skills", + "plugin": "product-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "product-team/skills/product-strategist", + "name": "product-strategist", + "plugin": "product-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "product-team/skills/roadmap-communicator", + "name": "roadmap-communicator", + "plugin": "product-skills", + "pos_total": 4, + "pos_exact": 0, + "pos_plugin": 0, + "neg_total": 2, + "neg_fires": 0, + "verdict": "SILENT", + "measurement": "blind-2026-11-03" + }, + { + "skill": "product-team/skills/saas-scaffolder", + "name": "saas-scaffolder", + "plugin": "product-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "product-team/skills/spec-to-repo", + "name": "spec-to-repo", + "plugin": "product-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "product-team/skills/ui-design-system", + "name": "ui-design-system", + "plugin": "product-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "product-team/skills/ux-researcher-designer", + "name": "ux-researcher-designer", + "plugin": "product-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "productivity/andreessen/skills/andreessen", + "name": "andreessen", + "plugin": "andreessen", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "productivity/capture/skills/capture", + "name": "capture", + "plugin": "capture-skill", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "productivity/deep-work/skills/deep-work", + "name": "deep-work", + "plugin": "deep-work", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "productivity/email/skills/inbox-setup", + "name": "inbox-setup", + "plugin": "email-pair", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "productivity/email/skills/inbox-triage", + "name": "inbox-triage", + "plugin": "email-pair", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "productivity/fable-goal/skills/fable-goal", + "name": "fable-goal", + "plugin": "fable-goal", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "productivity/handoff/skills/session-handoff", + "name": "session-handoff", + "plugin": "handoff-productivity", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "productivity/meetings/skills/meetings", + "name": "meetings", + "plugin": "meetings", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "productivity/reflect/skills/reflect", + "name": "reflect", + "plugin": "reflect-skill", + "pos_total": 2, + "pos_exact": 0, + "pos_plugin": 0, + "neg_total": 1, + "neg_fires": 0, + "verdict": "SILENT", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "productivity/roast/skills/roast", + "name": "roast", + "plugin": "roast", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "productivity/swedish-mentor", + "name": "swedish-mentor", + "plugin": "swedish-mentor", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "productivity/weekly-review/skills/weekly-review", + "name": "weekly-review", + "plugin": "weekly-review", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "project-management/skills/atlassian-admin", + "name": "atlassian-admin", + "plugin": "pm-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "project-management/skills/atlassian-templates", + "name": "atlassian-templates", + "plugin": "pm-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "project-management/skills/confluence-expert", + "name": "confluence-expert", + "plugin": "pm-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "project-management/skills/jira-expert", + "name": "jira-expert", + "plugin": "pm-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "project-management/skills/meeting-analyzer", + "name": "meeting-analyzer", + "plugin": "pm-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "project-management/skills/pm-skills", + "name": "pm-skills", + "plugin": "pm-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "project-management/skills/scrum-master", + "name": "scrum-master", + "plugin": "pm-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "project-management/skills/senior-pm", + "name": "senior-pm", + "plugin": "pm-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "project-management/skills/team-communications", + "name": "team-communications", + "plugin": "pm-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "ra-qm-team/access-lifecycle/skills/access-lifecycle", + "name": "access-lifecycle", + "plugin": "access-lifecycle", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "ra-qm-team/cmmc-readiness/skills/cmmc-readiness", + "name": "cmmc-readiness", + "plugin": "cmmc-readiness", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "ra-qm-team/compliance-team-eu-ai-act/skills/eu-ai-act-specialist", + "name": "eu-ai-act-specialist", + "plugin": "compliance-team-eu-ai-act", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "ra-qm-team/compliance-team-iso42001/skills/iso42001-specialist", + "name": "iso42001-specialist", + "plugin": "compliance-team-iso42001", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "ra-qm-team/skills/agent-decision-receipts", + "name": "agent-decision-receipts", + "plugin": "ra-qm-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "ra-qm-team/skills/capa-officer", + "name": "capa-officer", + "plugin": "ra-qm-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "ra-qm-team/skills/fda-consultant-specialist", + "name": "fda-consultant-specialist", + "plugin": "ra-qm-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "ra-qm-team/skills/gdpr-dsgvo-expert", + "name": "gdpr-dsgvo-expert", + "plugin": "ra-qm-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "ra-qm-team/skills/information-security-manager-iso27001", + "name": "information-security-manager-iso27001", + "plugin": "ra-qm-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "ra-qm-team/skills/isms-audit-expert", + "name": "isms-audit-expert", + "plugin": "ra-qm-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "ra-qm-team/skills/mdr-745-specialist", + "name": "mdr-745-specialist", + "plugin": "ra-qm-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "ra-qm-team/skills/qms-audit-expert", + "name": "qms-audit-expert", + "plugin": "ra-qm-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "ra-qm-team/skills/quality-documentation-manager", + "name": "quality-documentation-manager", + "plugin": "ra-qm-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "ra-qm-team/skills/quality-manager-qmr", + "name": "quality-manager-qmr", + "plugin": "ra-qm-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "ra-qm-team/skills/quality-manager-qms-iso13485", + "name": "quality-manager-qms-iso13485", + "plugin": "ra-qm-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "ra-qm-team/skills/ra-qm-skills", + "name": "ra-qm-skills", + "plugin": "ra-qm-skills", + "pos_total": 2, + "pos_exact": 0, + "pos_plugin": 0, + "neg_total": 1, + "neg_fires": 0, + "verdict": "COMMAND_ONLY", + "measurement": "heldout-2026-11-03" + }, + { + "skill": "ra-qm-team/skills/regulatory-affairs-head", + "name": "regulatory-affairs-head", + "plugin": "ra-qm-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "ra-qm-team/skills/risk-management-specialist", + "name": "risk-management-specialist", + "plugin": "ra-qm-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "ra-qm-team/skills/soc2-compliance", + "name": "soc2-compliance", + "plugin": "ra-qm-skills", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "research-ops/skills/clinical-research", + "name": "clinical-research", + "plugin": "research-ops-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "research-ops/skills/interview-mapper", + "name": "interview-mapper", + "plugin": "research-ops-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "research-ops/skills/market-research", + "name": "market-research", + "plugin": "research-ops-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "research-ops/skills/product-research", + "name": "product-research", + "plugin": "research-ops-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "research-ops/skills/research-finance", + "name": "research-finance", + "plugin": "research-ops-skills", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "research-ops/skills/research-ops-skills", + "name": "research-ops-skills", + "plugin": "research-ops-skills", + "pos_total": 2, + "pos_exact": 0, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "PLUGIN_ONLY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "research/deepread", + "name": "deepread", + "plugin": "deepread", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "research/dossier/skills/dossier", + "name": "dossier", + "plugin": "dossier", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "research/grants/skills/grants", + "name": "grants", + "plugin": "grants", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "research/litreview/skills/litreview", + "name": "litreview", + "plugin": "litreview", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "research/meta-research/skills/meta-research", + "name": "meta-research", + "plugin": "meta-research", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "research/notebooklm/skills/notebooklm", + "name": "notebooklm", + "plugin": "notebooklm", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "research/patent/skills/patent", + "name": "patent", + "plugin": "patent", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "research/pulse/skills/pulse", + "name": "pulse", + "plugin": "pulse", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "research/research/skills/research", + "name": "research", + "plugin": "research-orchestrator", + "pos_total": 2, + "pos_exact": 1, + "pos_plugin": 1, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FLAKY", + "measurement": "sweep-2026-11-03" + }, + { + "skill": "research/syllabus/skills/syllabus", + "name": "syllabus", + "plugin": "syllabus", + "pos_total": 2, + "pos_exact": 2, + "pos_plugin": 2, + "neg_total": 1, + "neg_fires": 0, + "verdict": "FIRES", + "measurement": "sweep-2026-11-03" + } + ] +} \ No newline at end of file diff --git a/heroes/heroes.json b/heroes/heroes.json new file mode 100644 index 00000000..f56079e8 --- /dev/null +++ b/heroes/heroes.json @@ -0,0 +1,26 @@ +{ + "_comment": "Hero skills: standalone repos generated from this monorepo by scripts/export_hero.py. This repo stays the source of truth; never edit a hero repo by hand. Each hero must be a standalone marketplace plugin whose skill is FIRES in audit/verified-tier/trigger_results.json.", + "heroes": [ + { + "plugin": "agent-run-forensics", + "path": "engineering/agent-run-forensics", + "repo": "alirezarezvani/agent-run-forensics", + "promise": "Your agent said the tests passed. Check whether they did.", + "pitch": "Answers questions about past Claude Code and Codex runs from the session transcript, not from the agent's memory. It finds the run, numbers every step with its exit code, flags files the agent changed without mentioning them, and tests a summary's claims against what actually happened." + }, + { + "plugin": "human-gate", + "path": "engineering/human-gate", + "repo": "alirezarezvani/human-gate", + "promise": "Nothing ships until a named person has signed off.", + "pitch": "Turns a plan, spec, report or migration into a single-file review page, collects the feedback as structured data, and refuses to close while a blocker is open, the reviewer is unnamed, or nobody has reviewed at all. Works over SSH and in CI, where no browser exists." + }, + { + "plugin": "skill-retro", + "path": "engineering/skill-retro", + "repo": "alirezarezvani/skill-retro", + "promise": "Find out which of your skills actually help, from your own sessions.", + "pitch": "Reads your recent Claude Code and Codex sessions for one repo, grades each against fixed efficiency and code-quality rubrics, measures which installed skills fired, and proposes only the skill edits the evidence supports. One local HTML report; nothing is uploaded." + } + ] +} diff --git a/scripts/build_verified_tier.py b/scripts/build_verified_tier.py new file mode 100644 index 00000000..2cd6f461 --- /dev/null +++ b/scripts/build_verified_tier.py @@ -0,0 +1,129 @@ +#!/usr/bin/env python3 +"""Build VERIFIED.md: the skills that loaded on every plain-language test prompt. + +Reads audit/verified-tier/trigger_results.json (the latest trigger-eval result +per skill) and writes VERIFIED.md, grouped by domain. A skill is verified when +its latest measurement is FIRES: every positive prompt loaded that exact skill +and the negative prompt loaded nothing. + +Usage: + python3 scripts/build_verified_tier.py # write VERIFIED.md + python3 scripts/build_verified_tier.py --check # exit 1 if VERIFIED.md is stale + # or a listed skill no longer exists + +Stdlib only. +""" +from __future__ import annotations + +import argparse +import json +import re +import sys +from pathlib import Path + +ROOT = Path(__file__).resolve().parent.parent +DATA = ROOT / "audit" / "verified-tier" / "trigger_results.json" +OUT = ROOT / "VERIFIED.md" +MARKETPLACE_NAME = "claude-code-skills" + + +def first_sentence(skill_md: Path) -> str: + text = skill_md.read_text(encoding="utf-8") + m = re.search(r"^---\n(.*?)\n---", text, re.S) + front = m.group(1) if m else "" + d = re.search(r"^description:\s*(.*?)(?=^\w[\w-]*:|\Z)", front, re.S | re.M) + desc = d.group(1) if d else "" + desc = re.sub(r"^[>|][-+]?\s*", "", desc.strip()) + desc = " ".join(desc.split()).strip("\"'") + sentence = re.split(r"(?<=[.!?])\s", desc, maxsplit=1)[0] + return sentence.replace("|", "\\|") + + +def build(data: dict) -> tuple[str, list[str]]: + errors: list[str] = [] + plugins = {p["name"] for p in json.loads( + (ROOT / ".claude-plugin" / "marketplace.json").read_text(encoding="utf-8"))["plugins"]} + verified = [s for s in data["skills"] if s["verdict"] == "FIRES"] + by_domain: dict[str, list[dict]] = {} + for s in verified: + skill_md = ROOT / s["skill"] / "SKILL.md" + if not skill_md.exists(): + errors.append(f"{s['skill']}: SKILL.md not found (renamed or removed?)") + continue + if s["plugin"] not in plugins: + errors.append(f"{s['skill']}: plugin '{s['plugin']}' not in marketplace.json") + continue + s = dict(s, summary=first_sentence(skill_md)) + by_domain.setdefault(s["skill"].split("/")[0], []).append(s) + + measured = len(data["skills"]) + lines = [ + "# Verified skills", + "", + "", + "", + f"**{len(verified)} of the {measured} skills we tested loaded on every plain-language " + "test prompt and stayed quiet on the unrelated one.** Install any of them and Claude Code " + "picks it up when you describe the task in your own words, without naming the skill.", + "", + "A skill whose description doesn't match how people ask for help sits installed and unused, " + "and few skill libraries publish whether theirs load. We measure it, and CI blocks a new skill " + "that loads on fewer than half of its test prompts.", + "", + "## How we test", + "", + f"- Claude Code {data['claude_version']}, model `{data['model']}`, only the skill's own plugin installed.", + "- Each skill gets positive prompts written the way a user would ask, without the skill's name, " + "and one negative prompt that is close but should not load it.", + "- **Verified** means every positive prompt loaded that exact skill and the negative prompt loaded nothing.", + "- The latest measurement wins. Measurements used:", + ] + for tag, desc in data["measurements"].items(): + lines.append(f" - `{tag}`: {desc}") + lines += [ + "", + "Two prompts per skill is a small sample, so read this as a strong signal rather than a guarantee. " + "A skill missing from this list may still work when you ask for it by name.", + "", + "## Install", + "", + "```bash", + "/plugin marketplace add alirezarezvani/claude-skills", + f"/plugin install @{MARKETPLACE_NAME}", + "```", + "", + ] + for domain in sorted(by_domain): + rows = sorted(by_domain[domain], key=lambda s: s["name"]) + lines += [f"## {domain} ({len(rows)})", "", "| Skill | What it does | Plugin |", "|---|---|---|"] + for s in rows: + lines.append(f"| [{s['name']}]({s['skill']}/SKILL.md) | {s['summary']} | `{s['plugin']}` |") + lines.append("") + return "\n".join(lines), errors + + +def main() -> int: + ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + ap.add_argument("--check", action="store_true", help="fail if VERIFIED.md is stale or a listed skill is gone") + args = ap.parse_args() + data = json.loads(DATA.read_text(encoding="utf-8")) + text, errors = build(data) + for e in errors: + print(f"ERROR: {e}", file=sys.stderr) + if args.check: + current = OUT.read_text(encoding="utf-8") if OUT.exists() else "" + if current != text: + print("ERROR: VERIFIED.md is stale. Run: python3 scripts/build_verified_tier.py", file=sys.stderr) + return 1 + if errors: + return 1 + print(f"VERIFIED.md is current ({text.count('](')} skills).") + return 0 + OUT.write_text(text, encoding="utf-8") + print(f"Wrote {OUT.relative_to(ROOT)}") + return 1 if errors else 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/scripts/export_hero.py b/scripts/export_hero.py new file mode 100644 index 00000000..5ecf5c0f --- /dev/null +++ b/scripts/export_hero.py @@ -0,0 +1,189 @@ +#!/usr/bin/env python3 +"""Export a hero skill as a standalone repo tree, generated from this monorepo. + +A hero is one plugin that gets its own repository, its own one-line promise +and its own launch, so it can trend and be shared on its own. This repo stays +the source of truth: the hero tree is regenerated on every sync and must never +be edited by hand. + +For each hero in heroes/heroes.json the export: + - copies the plugin directory, following symlinks (vendor/ links become files) + - adds .claude-plugin/marketplace.json so `/plugin marketplace add /` works + - writes a README with the promise, both install paths, the trigger-test result + and a link back, followed by the plugin's own README + - copies the root LICENSE when the plugin has none + +Usage: + python3 scripts/export_hero.py --list + python3 scripts/export_hero.py agent-run-forensics --out /tmp/hero + python3 scripts/export_hero.py --all --out /tmp/heroes # one subdir per hero + python3 scripts/export_hero.py --check # validate heroes.json + +Exit codes: 0 ok, 1 validation failed, 2 unknown hero. Stdlib only. +""" +from __future__ import annotations + +import argparse +import json +import shutil +import sys +from pathlib import Path + +ROOT = Path(__file__).resolve().parent.parent +HEROES = ROOT / "heroes" / "heroes.json" +TRIGGER = ROOT / "audit" / "verified-tier" / "trigger_results.json" +MONOREPO = "alirezarezvani/claude-skills" + + +def load() -> tuple[list[dict], dict, dict]: + heroes = json.loads(HEROES.read_text(encoding="utf-8"))["heroes"] + market = {p["name"]: p for p in json.loads( + (ROOT / ".claude-plugin" / "marketplace.json").read_text(encoding="utf-8"))["plugins"]} + trig = {s["skill"]: s for s in json.loads(TRIGGER.read_text(encoding="utf-8"))["skills"]} + return heroes, market, trig + + +def skill_results(hero: dict, trig: dict) -> list[dict]: + prefix = hero["path"].rstrip("/") + "/" + return [s for k, s in trig.items() if k == hero["path"] or k.startswith(prefix)] + + +def validate(hero: dict, market: dict, trig: dict) -> list[str]: + errs = [] + src = ROOT / hero["path"] + if not (src / ".claude-plugin" / "plugin.json").exists(): + errs.append(f"{hero['plugin']}: {hero['path']}/.claude-plugin/plugin.json missing") + return errs + pj = json.loads((src / ".claude-plugin" / "plugin.json").read_text(encoding="utf-8")) + if pj.get("name") != hero["plugin"]: + errs.append(f"{hero['plugin']}: plugin.json name is {pj.get('name')!r}") + entry = market.get(hero["plugin"]) + if not entry or entry["source"].lstrip("./").rstrip("/") != hero["path"]: + errs.append(f"{hero['plugin']}: not a standalone marketplace entry with source ./{hero['path']}") + results = skill_results(hero, trig) + if not results or any(r["verdict"] != "FIRES" for r in results): + errs.append(f"{hero['plugin']}: every skill must be FIRES in {TRIGGER.relative_to(ROOT)}") + for k in ("repo", "promise", "pitch"): + if not hero.get(k): + errs.append(f"{hero['plugin']}: '{k}' is empty") + return errs + + +def readme(hero: dict, pj: dict, results: list[dict], original: str) -> str: + owner_repo = hero["repo"] + pos = sum(r["pos_exact"] for r in results) + pos_total = sum(r["pos_total"] for r in results) + neg_total = sum(r["neg_total"] for r in results) + body = original.strip() + if body.startswith("# "): + body = body.split("\n", 1)[1].lstrip() if "\n" in body else "" + return f"""# {pj['name']} + +**{hero['promise']}** + +{hero['pitch']} + +## Install + +Claude Code: + +```bash +/plugin marketplace add {owner_repo} +/plugin install {pj['name']}@{pj['name']} +``` + +Codex, Cursor, Gemini CLI, Copilot and other agents: + +```bash +npx skills add {owner_repo} +``` + +## Does it load when you need it? + +In our trigger tests it loaded on {pos} of {pos_total} plain-language prompts that didn't name it, +and stayed quiet on {neg_total} close-but-unrelated prompt{"s" if neg_total != 1 else ""}. +See [how we test](https://github.com/{MONOREPO}/blob/main/VERIFIED.md). + +## Part of claude-skills + +This repo is generated from [{MONOREPO}](https://github.com/{MONOREPO}/tree/main/{hero['path']}), +a library of 400+ tested skills for engineering, product, marketing, compliance and leadership. +Open issues and pull requests there; changes here are overwritten on the next sync. + +--- + +## Details + +{body} +""" + + +def export(hero: dict, out: Path) -> None: + src = ROOT / hero["path"] + if out.exists(): + shutil.rmtree(out) + shutil.copytree(src, out, symlinks=False, ignore=shutil.ignore_patterns("__pycache__", "*.pyc")) + pj = json.loads((src / ".claude-plugin" / "plugin.json").read_text(encoding="utf-8")) + pj["homepage"] = f"https://github.com/{hero['repo']}" + pj["repository"] = f"https://github.com/{hero['repo']}" + (out / ".claude-plugin" / "plugin.json").write_text(json.dumps(pj, indent=2) + "\n", encoding="utf-8") + owner = hero["repo"].split("/")[0] + marketplace = { + "name": pj["name"], + "owner": {"name": pj["author"]["name"], "url": f"https://github.com/{owner}"}, + "metadata": {"description": hero["promise"], "version": pj["version"]}, + "plugins": [{ + "name": pj["name"], "source": "./", "description": pj["description"], + "version": pj["version"], "author": pj["author"], "license": pj.get("license", "MIT"), + }], + } + (out / ".claude-plugin" / "marketplace.json").write_text(json.dumps(marketplace, indent=2) + "\n", encoding="utf-8") + original = (src / "README.md").read_text(encoding="utf-8") if (src / "README.md").exists() else "" + _, _, trig = load() + (out / "README.md").write_text(readme(hero, pj, skill_results(hero, trig), original), encoding="utf-8") + if not (out / "LICENSE").exists(): + shutil.copy(ROOT / "LICENSE", out / "LICENSE") + (out / "SOURCE").write_text( + f"Generated from https://github.com/{MONOREPO}/tree/main/{hero['path']}\n" + "Do not edit by hand: the next sync overwrites every file.\n", encoding="utf-8") + + +def main() -> int: + ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + ap.add_argument("plugin", nargs="?", help="hero plugin name") + ap.add_argument("--all", action="store_true", help="export every hero, one subdirectory each") + ap.add_argument("--out", type=Path, help="output directory") + ap.add_argument("--list", action="store_true", help="list heroes") + ap.add_argument("--check", action="store_true", help="validate heroes.json and exit") + args = ap.parse_args() + + heroes, market, trig = load() + errs = [e for h in heroes for e in validate(h, market, trig)] + if args.check or args.list: + for h in heroes: + if args.list: + print(f"{h['plugin']:24} {h['repo']:40} {h['promise']}") + for e in errs: + print(f"ERROR: {e}", file=sys.stderr) + if args.check and not errs: + print(f"heroes.json OK ({len(heroes)} heroes)") + return 1 if errs else 0 + if errs: + for e in errs: + print(f"ERROR: {e}", file=sys.stderr) + return 1 + if not args.out: + ap.error("--out is required to export") + chosen = heroes if args.all else [h for h in heroes if h["plugin"] == args.plugin] + if not chosen: + print(f"unknown hero {args.plugin!r}; see --list", file=sys.stderr) + return 2 + for h in chosen: + dest = args.out / h["plugin"] if args.all else args.out + export(h, dest) + print(f"exported {h['plugin']} -> {dest}") + return 0 + + +if __name__ == "__main__": + sys.exit(main())