Commit graph

7 commits

Author SHA1 Message Date
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
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
b99505446a
fix: resolve 11 P0 correctness defects from newgen audit
- fda-consultant-specialist: QMSR transition (eff. 2026-02-02) correctly framed;
  legacy QSR sections mapped to ISO 13485:2016 clauses (17-row mapping)
- risk-management-specialist: ALARP-with-cost-benefit replaced by AFAP per
  EU MDR Annex I GSPR 1-4 + EN ISO 14971:2019/A11
- eu-ai-act-specialist: Art. 5(1)(f) sample corrected (workplace, not retail);
  both dual-published copies kept byte-identical
- financial-analyst: 4 scripts now read bundled sample shape (and flat shape),
  exit non-zero on missing data; verified real outputs (ROE 25%, DCF $13.90/sh)
- deal-desk: fixed-COGS margin math unified across script/reference/SKILL.md;
  margin scoring recalibrated (30% discount on 80% GM now scores 25, not 37)
- senior-qa/backend/frontend + email-template-builder: 8 corrupted code
  literals from past bulk YAML-quoting sweep reconstructed
- google-workspace-cli: install coordinates fixed to verified upstream
  (@googleworkspace/cli); phantom subcommands replaced with verified syntax
- project-management: fabricated Atlassian MCP tool names replaced with the 30
  real Remote MCP tools; new canonical references/atlassian-mcp-tools.md;
  unavailable capabilities routed to UI/REST; orphaned scripts wired
- command-guide: retired (documented a different repo's ecosystem)
- markdown-html: stale v2.10.0 'foundation' text replaced; routing now targets
  the shipped converters; never hand-render
- webinar_funnel_scorer.py: argparse added (--help/--sample/stdin)
- handoff redaction linter: missing 17th pattern (private CIDR) added

https://claude.ai/code/session_019AJddAL1NADWMXsy1qNPQF
2026-06-10 14:32:43 +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
6d9630f83c
chore(cleanup): move pulse + capture to proper domain folders
Surgical move PR — resolves the two domain warts accumulated during
the v2 megaprompt build sweep:

  engineering/pulse/   → research/pulse/     (research-pack — pulse is
                                              the first research skill;
                                              now joins litreview, grants,
                                              dossier, patent, syllabus)
  engineering/capture/ → productivity/capture/ (productivity — capture
                                                 is brain-dump organizer,
                                                 not engineering tooling)

WHY THIS PR

When Slice 1 (capture) shipped in PR #659, the productivity/ domain
folder didn't yet exist. When Slice 2 (pulse) shipped in PR #660, the
research/ folder didn't yet exist either. Both were placed in
engineering/ as the catch-all.

After Slices 3-5 established the productivity/, marketing/, and
research/ top-level domain folders, those two early skills were left
in engineering/ as warts. This PR resolves them BEFORE Slice 7
(13-research orchestrator) so the orchestrator can reference
research/pulse/ as its routing target without further path churn.

WHAT MOVED

Two directories moved via `git mv` (preserves rename history):
  - engineering/pulse → research/pulse (11 files)
  - engineering/capture → productivity/capture (11 files)

INTERNAL REFERENCES UPDATED

Inside the moved directories:
  - .claude-plugin/plugin.json homepage URLs (engineering/X → new path)
  - agents/cs-*.md `skills:` frontmatter field

CROSS-SKILL REFERENCES UPDATED

6 external files reference pulse and/or capture as sibling skills.
All updated via sed:

  productivity/email/agents/cs-inbox-setup.md   (capture ref)
  productivity/email/agents/cs-inbox-triage.md  (pulse + capture refs)
  research/grants/agents/cs-grants.md           (pulse ref)
  research/litreview/agents/cs-litreview.md     (pulse ref + stale
                                                 "will move in cleanup
                                                 PR" caveat removed)
  research/dossier/agents/cs-dossier.md         (pulse ref)
  marketing/landing/agents/cs-landing.md        (pulse + capture refs)

CODEX SYMLINKS RE-POINTED

.codex/skills/{capture,pulse} symlinks updated to point at new
locations. Verified resolution to SKILL.md files works.

.codex/skills-index.json still references the old paths — this file
is auto-regenerated by the codex-sync workflow on every merge to dev
(prior commits: 9a47d85, bf5d4c2, f0176e0). Will regenerate fully
when this PR merges.

VERIFIED CLEAN

- `grep -rn 'engineering/pulse\|engineering/capture'` returns zero
  results outside .codex/skills-index.json (which auto-regenerates).
- Moved scripts smoke-tested from new locations:
    productivity/capture/skills/capture/scripts/workspace_inventory.py
      --sample → returns inventory correctly
    research/pulse/skills/pulse/scripts/citation_tracker.py
      --action list → returns empty (no sessions) as expected
- Symlinks resolve: `.codex/skills/capture/SKILL.md` and
  `.codex/skills/pulse/SKILL.md` both readable.

POST-CLEANUP STATE

Domain folders contain only domain-appropriate skills:

  engineering/       — software-engineering tools (Matt Pocock skills,
                       agenthub, caveman, grill-me, grill-with-docs,
                       handoff, write-a-skill, 20+ other engineering
                       skills)
  productivity/      — capture (new), email pair (inbox-setup +
                       inbox-triage)
  marketing/         — landing
  research/          — pulse (new), litreview, grants, dossier,
                       patent, syllabus

This matches the CLAUDE.md navigation map's domain definitions and
removes the two cumulative warts.

REMAINING WORK (after this merges)

  ☐ Slice 6: notebooklm (browser-automation, last shape)
  ☐ Slice 7: 13-research orchestrator + autoresearch-agent reconciliation
  ☐ Slice 8: 02-reflect (productivity sibling of capture)

9 of 13 v2 megaprompts shipped. 3 remaining + this cleanup.

https://claude.ai/code/session_01FEUmeuYhmnxVFq7EZM8ZSw
2026-05-16 05:08:10 +00:00
Claude
a2e9e48eb2
feat(productivity): email pair (inbox-setup + inbox-triage) — Path-B workflow-pair slice
Slice 3 of 13: workflow-pair shape. Validates the Path-B conversion pattern
for two coupled skills sharing a strict 7-file KB contract. Also introduces
the productivity/ domain folder per the navigation-map distinction in
CLAUDE.md (engineering/ = software-engineering scope; productivity/ =
generic productivity workflows).

DOMAIN FOLDER DECISION

CLAUDE.md defines engineering/ as "Engineering (POWERFUL) — Agent design,
RAG, MCP, CI/CD, database, observability." Email triage is generic
productivity, not software engineering. New folder: productivity/.

Capture (Slice 1, merged in PR #659) was placed under engineering/ before
this distinction was sharpened. It will move to productivity/ in a separate
cleanup PR — moving a merged plugin in this slice would risk breaking
anyone who installed it from engineering/capture/.

Future productivity slices (02-reflect) will go under productivity/ from
the start.

SOURCE SPECS

- megaprompts/06-inbox-setup-megaprompt.md (PR #657)
- megaprompts/07-inbox-triage-megaprompt.md (PR #657)

The megaprompts are canonical; these plugins are working implementations.
PR #657's cross-skill consistency audit verified the 7 KB filenames
align verbatim between the two megaprompts. This slice preserves that
alignment.

WHAT THE PAIR DOES

Two coupled skills sharing a 7-file KB at ${WORKSPACE}/Email/:

  inbox-setup (run once):
    Interactive 8-section interview (~25-31 grill-me questions) →
    writes 7 KB files (taxonomy, patterns, evaluation-framework,
    rate-card, blocklist, tracker, triage-log/).

  inbox-triage (run recurringly):
    Light-intake (max 2 optional override questions). Reads 7 KB files,
    classifies recent emails, researches new senders, generates
    recommendations (TAKE IT / WORTH / PASS / FLAG), drafts replies
    (NEVER SENDS), delivers report, updates blocklist + tracker, writes
    per-run log. 10 execution steps.

PATH-B CONVERSION DISCIPLINE

- Both megaprompts' frontmatter descriptions preserved verbatim.
- Both workflow structures preserved 1:1 in respective SKILL.md files.
- All 8 setup sections preserved verbatim with per-question structure
  (S{n}.Q{m}) + "why I'm asking" rationale.
- All 10 triage steps preserved verbatim.
- DRAFTS-ONLY rule preserved + amplified (stated in SKILL.md, agent,
  command, AND enforced by draft_safety_validator.py).
- Skip-logic preserved (S4 conditional on S1 surfacing opportunities).
- 7-file KB contract referenced verbatim in both directions.

REPO STRUCTURE — MULTI-SKILL LAYOUT (CLAUDE.md plugin-schema rule)

productivity/email/
├── .claude-plugin/plugin.json    ← skills: ["./skills/inbox-setup", "./skills/inbox-triage"]
├── README.md                      ← pair overview + 7-file contract diagram
├── agents/
│   ├── cs-inbox-setup.md          ← interview persona
│   └── cs-inbox-triage.md         ← recurring-run persona, DRAFTS-ONLY enforcer
├── commands/
│   ├── cs-inbox-setup.md
│   └── cs-inbox-triage.md
└── skills/
    ├── inbox-setup/
    │   ├── SKILL.md               ← 8 sections, 25-31 Q discipline
    │   ├── references/
    │   │   ├── kb_file_contract.md            ← write-side spec
    │   │   ├── grill_me_section_walk.md       ← discipline + skip-logic
    │   │   └── voice_calibration.md           ← sample-extraction theory + 7 sources
    │   └── scripts/
    │       ├── kb_validator.py                 ← stdlib: 7-file contract check
    │       ├── section_progress_tracker.py    ← stdlib: 8-section walk state
    │       └── voice_sample_analyzer.py        ← stdlib: pattern extraction
    └── inbox-triage/
        ├── SKILL.md               ← 10 steps + DRAFTS-ONLY rule
        ├── references/
        │   ├── kb_file_contract.md            ← read-side spec (mirror)
        │   ├── triage_decision_framework.md  ← TAKE/WORTH/PASS/FLAG + 7 sources
        │   └── drafts_only_safety.md         ← NEVER-SEND canon + 7 sources
        └── scripts/
            ├── kb_reader.py                    ← stdlib: parsed KB load + fail-fast
            ├── search_window_calculator.py    ← stdlib: cadence → window
            └── draft_safety_validator.py      ← stdlib: post-run NEVER-SEND check

20 files, 3,710 lines. Roughly 2x a single-skill slice (capture: 1,560,
pulse: 1,643), appropriate for two coupled skills.

VERIFIED CLEAN

Smoke tests on all 6 scripts:

- kb_validator.py: 15/15 PASS on sample (4 core files + h1s + sections +
  conditional file expectations + triage-log/ dir)
- section_progress_tracker.py: full lifecycle (start → record_q → record_
  section_done → record_skip → status). Active section advances correctly
  past S4 skip.
- voice_sample_analyzer.py: 5 samples → register/length/hedging/I-vs-We
  verdicts + opening + sign-off pattern extraction + email-patterns.md
  output block generation.
- kb_reader.py: reads 5/6 sample files (rate-card.md correctly absent),
  PASS verdict, structured parsing.
- search_window_calculator.py: 2x-daily + 14:00 → 9h lookback,
  window_start 05:00, run_label "Afternoon". Provides Gmail/Outlook/IMAP
  query templates.
- draft_safety_validator.py: PASS on clean log; FAIL on log with
  `gmail.users.messages.send` (caught by 2 patterns — defense in depth).
  Action-required guidance fires.

CROSS-SKILL CONTRACT ALIGNMENT (PR #657 audit verbatim alignment preserved)

Each of the 7 KB filenames referenced multiple times on both sides:
  email-taxonomy.md:      setup=5 triage=9
  email-patterns.md:      setup=4 triage=8
  evaluation-framework:   setup=5 triage=7
  rate-card.md:           setup=5 triage=4
  blocklist.md:           setup=4 triage=6
  tracker.md:             setup=4 triage=7
  triage-log:             setup=6 triage=7

VERTICAL-SLICE STATUS

  ✓ Slice 1: capture (light prompt-flow, PR #659 merged)
  ✓ Slice 2: pulse (research-pack, PR #660 merged)
  ✓ Slice 3: email-pair (workflow-pair — this PR; introduces productivity/)
  ☐ Slice 4: generator (04-landing) — validates Next.js code template emission
  ☐ Slice 5: orchestrator/router (13-research) — must reconcile with existing
    engineering/autoresearch-agent/

After Slice 4 validates the generator shape, only the orchestrator shape
remains to be validated. The 6 remaining research-pack skills (litreview,
grants, syllabus, patent, dossier, notebooklm) and 02-reflect can then be
batched in a single PR each.

NOT DONE IN THIS PR (intentional)

- .claude-plugin/marketplace.json not updated (separate concern; done after
  all 13 ship)
- .codex/skills/inbox-setup + .codex/skills/inbox-triage symlinks not added
  (auto-sync workflow handles on merge)
- engineering/capture/ NOT moved to productivity/capture/ (would break
  anyone who installed from current path; address in separate cleanup PR)

https://claude.ai/code/session_01FEUmeuYhmnxVFq7EZM8ZSw
2026-05-15 15:28:00 +00:00