Commit graph

8 commits

Author SHA1 Message Date
Alireza Rezvani
4570768781
Merge pull request #936 from benrfairless/fix/frontmatter-yaml-validation
fix(frontmatter): repair 14 unloadable YAML blocks + add gate G10
2026-08-21 10:43:35 +02:00
Claude
7405298b4b
fix: resolve the actionable reported issues (#954, #949, #933, #931, #969, #968, #924, #885)
- #954: strip non-spec source/attribution keys from all 39 plugin.json
  manifests so Claude Code's validator accepts them; metadata preserved in
  new .claude-plugin/authoring-notes.json sidecars; check_plugin_json.py now
  hard-fails manifests carrying those keys and sanity-checks the sidecar;
  CLAUDE.md ClawHub schema section updated to the new rule.
- #949: move the c-level-agents plugin out of c-level-advisor/ to a
  top-level directory so the two marketplace sources no longer overlap;
  updated marketplace.json source, homepage, descriptions, all
  cross-references, docs, harness manifest, mirror-tree symlinks/indexes,
  and rebased the moved files' relative links; domain counters trued up
  (18 -> 19 domains).
- #933: replace dead links to the gitignored maintainer-local megaprompts/
  tree with annotated plain-text references (44 files: SKILL.md, READMEs,
  agents, commands).
- #931: DynamoDB on-demand pricing updated to post-Nov-2024 rates
  ($0.625/M writes, $0.125/M strongly consistent reads).
- #969: skill_security_auditor.py and the three dossier scripts reconfigure
  stdout/stderr to UTF-8 (errors=replace) so legacy Windows codepages no
  longer crash at print time; PYTHONUTF8=1 documented.
- #968: Windows Notes section in INSTALLATION.md + README pointer for the
  core.symlinks mirror-tree checkout caveat.
- #924/#885 residuals: hook commands quote "${CLAUDE_PLUGIN_ROOT}" paths in
  all plugin hooks.json/settings.json (space-safe roots); removed the stale
  pre-rename status/review mirror symlinks and index entries left over from
  the memory-status/memory-review rename.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Qgc6RYXWJPr5oW9DHU7zR4
2026-08-21 05:47:37 +00:00
Ben Fairless
02c04e3d32
fix(frontmatter): repair 14 unloadable YAML blocks
Twelve files had frontmatter that yaml.safe_load rejects, all from the same
cause: an unquoted plain scalar containing ": " inside description. Claude Code
responds by loading the body with empty metadata, so the skill keeps working
via /name but has no description for the model to match against, and the seven
affected agents (where name and description are required) may not load at all.

Eleven are fixed by quoting the existing scalar, leaving the text
byte-identical. design-system carries both ' and " so quoting would defeat the
repo's regex extractors in generate-docs.py and sync-codex-skills.py; its one
colon-space is reworded instead ("Precedence:" -> "Precedence is").

Two agents had no frontmatter at all and were being listed with a placeholder
description; both now declare name and description. tools is deliberately
omitted so they keep inheriting the full set, as before.

Assisted-by: Claude Code:claude-opus-5
2026-08-03 08:55:36 +08:00
Claude
aecfb8e0bb
feat(skills): wave-3 optimization — domain overhauls per newgen audit
marketing: context-file unified on .claude/product-marketing-context.md;
ai-seo merged into aeo (2 new cited references, folder deleted); index +
marketing-ops routers rebuilt honestly; 24 orphan scripts wired with exact
CLIs; prompt-engineer-toolkit stub references rewritten with cited content;
Meta 20%-rule + GA4 terminology freshness; 5 zips + 3 planning docs removed

c-level-advisor: role registry 9->14 across all 6 routing surfaces; decision
memory unified on ~/.claude/decisions/{raw,approved}; onboarding schema
canonicalized; 12 phantom commands resolved; index repaired (33/37/68 real
counts); ma-playbook sourced + verification loop; 28 trigger descriptions

engineering(+team): agent-designer 279->76 lines and rag-architect 318->71
lines rebuilt around their tools (stale ada-002/pricing gone); release-manager
merged into changelog-generator (version_bumper + hotfix refs moved, crashing
release_planner dropped); 6 skills' orphan scripts wired; ms365 tools gained
real CLIs; 5 brochure skills de-filled; 4 unreferenced zips removed;
bundle counts trued (25->37, 23->32); 18 trigger descriptions

product/research/compliance/bizops: apple-hig-expert rebuilt around
hig_checker's real CLI with web-verified facts; notebooklm re-verified against
live product; 5 index skills converted to honest routers; research-summarizer
repaired with explicit lane statement; 8 over-1024 descriptions compressed;
9 sub-skills gained fenced CLI examples; GDPR one-month (Art. 12(3)) with
calendar-month deadline math; MDR PSUR table per Art. 86(1); 12 ra-qm zips
removed; 24 trigger descriptions

Verified: check_paths 0 findings; check_dual_publish 0 drifted; smoke 581/581;
check_plugin_json 77 OK; compileall rc=0; all descriptions <=1024 chars

https://claude.ai/code/session_019AJddAL1NADWMXsy1qNPQF
2026-06-11 03:58:41 +00:00
Claude
a088c8ba77
fix: phantom-path sweep — 888 unresolvable references to zero
A directory reorg added a skills/ path segment; hundreds of references never
followed. This sweep repoints every path-like reference in SKILL.md, agents,
commands, orchestration, and templates to verified on-disk targets:

- 30 root commands + 19 root agents: missing skills/ segment inserted
- 7 c-level persona agents: 17 hallucinated reference filenames substituted
  with the real files (e.g. okr_execution.md -> process_frameworks.md)
- 5 research skills: phantom scripts/office/validate.py step replaced with a
  runnable stdlib zip-integrity check
- email agents: skills frontmatter corrected to productivity/email
- orchestration/ORCHESTRATION.md + templates: stale paths fixed;
  agent-template now requires trigger phrasing in descriptions (root cause)
- 76 more files across engineering, c-level-advisor, compliance-os,
  research-ops, ra-qm, marketing, productivity; dual-publish pairs mirrored
- dead refs dropped/replaced where no target ever existed (REGISTRY.md,
  trend_analyzer.py, cursor-microinteractions.md)

New: scripts/check_paths.py linter (CI gate G1) + narrow allowlist for
teaching examples. Verified: 540 files scanned, 0 unresolvable.

https://claude.ai/code/session_019AJddAL1NADWMXsy1qNPQF
2026-06-10 14:33:00 +00:00
Claude
3db7dab15f
chore(versioning): unify remaining 20 plugins to 2.9.0
PR #756 normalized most marketplace versions to 2.9.0, but 20 newer
plugins (added after the normalization pass) remained on their own
versions on both marketplace.json and their plugin.json. Bump them all
to 2.9.0 so the registry advertises one unified release version, with
marketplace.json and every plugin.json fully in sync (62/62 at 2.9.0).

https://claude.ai/code/session_01JGwZR83iSg59EAtpTSCBjH
2026-05-27 14:25:08 +00:00
Claude
6e45e578b5
release(v2.7.0): version bumps + CHANGELOG + plugin.json schema doc
Final polish for v2.7.0 release.

Changes:
- All 12 v2 plugin.json files bumped 1.0.0 → 2.7.0 (release alignment)
- CHANGELOG.md: new v2.7.0 section documenting the 13 skills,
  3 new domain folders, marketplace + codex sync, Path-B convention,
  and 8-phase audit verification results
- CLAUDE.md: 'Current Version' bumped 2.6.1 → 2.7.0 with v2.7.0 highlights
  block (13 skills, Path-B pattern, verification summary)
- CLAUDE.md: ClawHub plugin.json schema clarified — `source` and `attribution`
  formally accepted as approved extension fields (consistent with existing
  pattern across 13 new v2 skills + 3 engineering Matt-Pocock-derivative
  plugins). Stripped at ClawHub-publish time if/when stripping pipeline lands.
- CLAUDE.md: ClawHub rule #6 version reference bumped 2.2.0+ → 2.7.0+

Audit verification before release:
- 39/39 scripts pass --help across all 13 v2 skills
- Spot-check audit (pulse/litreview/notebooklm): all 86.4/GOOD structure,
  3/3 scripts, 0 critical/high security findings
- Bulk audit (9 remaining skills): all 79.5-86.4 structure, 0 critical/high
  security findings (1 false positive in syllabus: hardcoded user-facing
  error message string contains 'npm install docx' — not runtime install)
- Cross-skill consistency: 7/7 research-pack siblings carry the Agent
  Integrity Rules block; orchestrator disambiguation present in 5 places

https://claude.ai/code/session_01FEUmeuYhmnxVFq7EZM8ZSw
2026-05-16 10:11:33 +00:00
Claude
ac6db2fab7
feat(research): notebooklm — Path-B browser-automation slice from megaprompt 03
Slice 6: browser-automation shape — the only such skill in the v2
collection. Distinct from research-pack convention (no Agent Integrity
Rules, no 1 q/sec, no DOCX). Action-routing intake (Q1 picks one of
4 actions).

After this merges: 11 of 13 v2 megaprompts shipped. Only Slice 7
(13-research orchestrator) remains.

SOURCE SPEC

megaprompts/03-notebooklm-megaprompt.md (PR #657).

WHAT THE SKILL DOES

Controls Google NotebookLM via browser automation. 4 core actions:
  1. Read/Extract — chat-based extraction from existing notebook
  2. Add Sources — push URL/text/file/Google Doc/synthesized content
  3. Studio Outputs — 9 types (Audio Overview, Study Guide, Briefing
     Doc, Timeline, FAQ, Table of Contents, Infographic, Slides,
     Mind Map) with MANDATORY custom prompts
  4. Create New Notebook — initialize with title + initial sources

DOMAIN FOLDER

research/. Semantic domain is research (users automate NotebookLM as
part of their research workflow). But technical shape is completely
different from research-pack siblings — distinct enough that the
README + SKILL.md explicitly call out the shape difference.

KEY PATH-B PRESERVED ELEMENTS

- Critical portability notice at top — requires browser automation;
  graceful failure in non-automation contexts (Step 0 check)
- Action-routing intake: Q1 forces 1-of-4 action commitment;
  refuses to start without it
- Q2-Q4 branch per action (per-source-type for Q3, mandatory custom
  prompt for Q4 when Studio)
- Screenshot-first discipline (NotebookLM is dynamic SPA)
- find()-before-click semantic finder discipline
- Tool-agnostic vocabulary (no "Claude Chrome Extension" hardcoding)
- Never auto-handle login (detect login wall → halt, never type
  credentials)
- Async fire-and-notify pattern for slow Studio ops (Audio Overview
  5-10 min, Infographic/Slides/Mind Map 2-5 min)
- Studio customization menu MANDATORY (chevron, not main button —
  defaults produce mediocre output)
- File upload via file-upload tool, NOT native picker

REPO STRUCTURE

research/notebooklm/
├── .claude-plugin/plugin.json
├── README.md
├── agents/cs-notebooklm.md       ← browser-automation persona,
│                                   async-discipline + screenshot
│                                   enforcer
├── commands/cs-notebooklm.md     ← /cs:notebooklm
└── skills/notebooklm/
    ├── SKILL.md
    ├── references/
    │   ├── browser_automation_canon.md         ← screenshot-first +
    │   │                                         find-before-click +
    │   │                                         tool-agnostic (7 sources:
    │   │                                         Anthropic Computer Use,
    │   │                                         Playwright, Selenium,
    │   │                                         WebDriver, MS Power Auto,
    │   │                                         ARIA, Anthropic cookbook)
    │   ├── studio_output_custom_prompts.md     ← per-output-type templates
    │   │                                         (7 sources: NotebookLM
    │   │                                         docs, Anthropic prompt
    │   │                                         eng, Refactoring UI,
    │   │                                         Gallo Talk Like TED,
    │   │                                         Lencioni BLUF, Bloom,
    │   │                                         Tufte)
    │   └── async_action_discipline.md          ← fire-and-notify canon
    │                                             (7 sources: Anthropic API
    │                                             timeouts, NotebookLM
    │                                             timing data, Erlang let-
    │                                             it-crash, AWS Step
    │                                             Functions, Twelve-Factor,
    │                                             Node event loop,
    │                                             Playwright/Selenium)
    └── scripts/
        ├── action_router.py                    ← stdlib: Q1-Q4 → action
        │                                         plan + UI flow + required
        │                                         params + per-source-type
        │                                         and per-studio-type
        │                                         branching + validation
        ├── custom_prompt_template_generator.py ← stdlib: output type +
        │                                         audience + length + angle
        │                                         → starter prompt for 9
        │                                         studio output types
        └── async_action_classifier.py          ← stdlib: action → WAIT
                                                  (with timeout) or
                                                  FIRE_AND_NOTIFY (with
                                                  notify message)

11 files, 2,003 lines.

VERIFIED CLEAN

All 3 scripts pass smoke tests:

- action_router: sample (studio + audio_overview + custom prompt) →
  correctly identifies FIRE_AND_NOTIFY timing, lists 11-step UI flow,
  flags critical rule "ALWAYS open customization menu (chevron) —
  NEVER click main Studio button". Add-source URL action → 3
  screenshots, WAIT timing. Validation: studio without ≥30-char
  custom prompt → FAIL with explicit error.

- custom_prompt_template_generator: sample (audio_overview + executive
  + compact) → produces complete starter prompt naming audience role,
  length, focus, structural requirements. Study_guide + undergraduate
  variant correctly applies "Define every technical term. Assume zero
  specialized background" rule.

- async_action_classifier: audio_overview → FIRE_AND_NOTIFY (5-10
  min, with notify message template). chat_send → WAIT (3-10s, 30s
  timeout, 3s polling). infographic → FIRE_AND_NOTIFY (2-5 min).
  All 16 documented actions routable.

All 3 with --output json: valid JSON.
plugin.json validates.

VERTICAL-SLICE STATUS

  ✓ Slice 1: capture (PR #659)
  ✓ Slice 2: pulse (PR #660)
  ✓ Slice 3: email pair (PR #661)
  ✓ Slice 4: landing (PR #662)
  ✓ Slice 5 batch 1: litreview (PR #663)
  ✓ Slice 5 batch 2: grants + dossier (PR #664)
  ✓ Slice 5 batch 3: patent + syllabus (PR #666)
  ✓ Cleanup PR: move pulse + capture (PR #667)
  ✓ Slice 8: reflect (PR #668)
  ✓ Slice 6: notebooklm (this PR)
  ☐ Slice 7: 13-research orchestrator + autoresearch-agent reconciliation

11 of 13 v2 megaprompts shipped after this merge. Only Slice 7
remains, then v2 is complete.

NOT DONE IN THIS PR (intentional)

- .claude-plugin/marketplace.json not updated (separate concern;
  done after all 13 ship)
- .codex/skills/notebooklm symlink not added (auto-sync workflow
  handles on merge)

https://claude.ai/code/session_01FEUmeuYhmnxVFq7EZM8ZSw
2026-05-16 07:19:19 +00:00