Commit graph

5 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
11415a614e
feat(research): free keyless search lane + routing guard (audit PR-4)
litreview: paid Consensus MCP dependency converted to an optional enhancement
lane; PubMed E-utilities + OpenAlex (both keyless) are now the default search
lane with exact URL templates and JSON field maps; brittle plan-tier detection
(marketing-copy parsing) deleted in favor of a one-line runtime availability
check; new stdlib scripts/free_search.py (--source pubmed|openalex|both,
--json, graceful exit 2 offline). Fixes the audit OPTIMIZE finding and brings
the skill into compliance with ClawHub publishing rule #3 (no paid-service
dependencies). Mirrored across README/agent/command/plugin.json/references.

research orchestrator: bare-noun signals (funding/fda/patent/grant) no longer
silent-route — single bare-noun match now returns ask + recommended specialist;
silent-route requires >=2 signals or one strong multi-word phrase (SKILL.md and
classifier.py updated in lockstep, sync verified programmatically); the
un-executable 'auto-proceeds after 5s' affordance removed everywhere; SKILL.md
trimmed 319 -> 247 lines preserving routing tables and transparency protocol.

Live classifier proof: CRISPR meta-analysis -> litreview (silent); Acme
due-diligence -> dossier (silent); 'research Microsoft' -> fallback; bare
'funding'/'fda' -> ask (recommended: grants).

Counters reconciled (+1 tool = 580); gates green: paths 0, dual-publish 0,
smoke 584/584, counters match.

https://claude.ai/code/session_019AJddAL1NADWMXsy1qNPQF
2026-06-12 05:33:50 +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
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
a4bb1fc648
feat(research): litreview skill — Path-B research-pack sibling from megaprompt 09
Slice 5 batch 1 of N: first research-pack sibling after pulse (Slice 2).
Establishes the academic-literature variant of the research-pack shape +
introduces the research/ top-level domain folder.

SOURCE SPEC

megaprompts/09-litreview-megaprompt.md (PR #657). Canonical.

DOMAIN FOLDER DECISION (research/ — new)

Pulse currently lives in engineering/ (placed before the domain-folder
discipline crystallized). The right home for academic-research skills is
research/ — parallel to productivity/, marketing/. This PR creates that
folder; pulse + capture moves are deferred to a coordinated cleanup PR.

Cumulative folder warts:
  - engineering/capture/ → productivity/capture/ (Slice 1 wart)
  - engineering/pulse/   → research/pulse/      (Slice 2 wart)

Cleanup PR will address both before Slice 5 (orchestrator) lands.

WHY ONE SKILL PER PR (NOT BATCH 6)

User recommended batching 6 research-pack siblings. Doing 1 in this PR
instead, with rationale: each megaprompt is dense (litreview alone is
266 lines with 8 DOCX sections, 3-tier search budget logic, cross-search
intelligence trackers). 33-66 files of unfocused conversion risks Path-B
fidelity. Subsequent PRs will ratchet up to 2 skills each now that the
academic-literature pattern is validated.

WHAT THE SKILL DOES

Turns a research question into a strategically planned mini literature
review delivered as an 8-section .docx. Grill-me intake (question +
framework + tentative depth) before reconnaissance; second forcing
checkpoint after Phase 2 confirms framework + sub-areas + final depth.
Sequential Consensus searches at 1 q/sec, budget-allocated by tier
(5/10/20). Cross-search intelligence (repeat-hits, recurring-authors,
citations-per-year) feeds the "Start Here" + "Key Research Groups"
DOCX sections. Output is a "launching pad" — orientation guide, not
a finished review.

PATH-B FIDELITY (megaprompt → SKILL.md)

- Frontmatter description preserved verbatim from megaprompt.
- 10-step workflow structure preserved 1:1 (Agent Integrity Rules →
  Error Handling → Phase 0 intake → Phase 1 recon → Phase 2 framework
  → Checkpoint → Phase 3 searches → Phase 4 DOCX → Doc structure →
  Technical requirements).
- All 3 grill-me intake questions preserved verbatim with rationale.
- All 5 Agent Integrity Rules preserved verbatim per PR #657 audit.
- All 3 search budget tiers fully allocated (5/10/20 with explicit
  query breakdown per tier).
- All 8 DOCX sections fully specified.
- Interactive checkpoint described as forcing-options moment (not
  free-text).
- Three frameworks (PICO/SPIDER/Decomposition) + Hybrid documented
  with examples.
- Anti-patterns + error-handling table + validation checklist preserved.

RESEARCH-PACK CONVENTION MARKERS (in SKILL.md per PR #657 audit)

  Agent Integrity Rules: 2     sequential: 5
  three-count: 1               plan-tier: 3
  1 query/sec: 2               checkpoint: 9
  retry once: 2                Source discipline: 1
  3 consecutive: 2

All markers present multiple times.

REPO STRUCTURE

research/litreview/
├── .claude-plugin/plugin.json     ← source.spec → megaprompts/09
├── README.md
├── agents/cs-litreview.md          ← sequential-Consensus + checkpoint enforcer
├── commands/cs-litreview.md        ← /cs:litreview <research-question>
└── skills/litreview/
    ├── SKILL.md                    ← Path-B converted
    ├── references/
    │   ├── framework_selection.md       ← PICO/SPIDER/Decomp/Hybrid + 7 sources
    │   │                                  (Sackett, Cooke et al., Booth, PRISMA,
    │   │                                  Cochrane, Hewitt-Taylor, JBI)
    │   ├── search_budget_allocation.md  ← 5/10/20 + cross-search + 7 sources
    │   │                                  (Consensus docs, Cochrane, Greenhalgh,
    │   │                                  PRISMA, Sandelowski, Lawani, AWS)
    │   └── docx_8_sections.md            ← 8-section guide + 7 sources (docx lib,
    │                                       OOXML, PRISMA, Cochrane, Lipsey, Tufte,
    │                                       Strunk)
    └── scripts/
        ├── citation_tracker.py            ← stdlib: three-count + 1s rate-limit
        │                                    discipline enforcement
        ├── framework_recommender.py        ← stdlib: keyword heuristic PICO/SPIDER/
        │                                    Decomp/Hybrid recommendation
        └── cross_search_aggregator.py      ← stdlib: repeat-hits, recurring-authors,
                                              citations-per-year ranking

11 files, 2,020 lines. Slightly heavier than pulse (1,643) due to:
- Denser SKILL.md (251 lines vs pulse 258 — comparable)
- Heaviest reference: docx_8_sections.md at 287 lines (8 sections × ~35
  lines each spec)
- citation_tracker.py is heavier than pulse's (258 vs 251) because it
  enforces the 1s sequential gap explicitly

VERIFIED CLEAN

- citation_tracker.py: full lifecycle works. Sequential discipline
  enforced — second search at 0.04s correctly REJECTED with "wait
  0.96s more"; after 1.1s sleep, accepted. Three-count audit block
  output matches PR #657 audit format.
- framework_recommender.py:
    PICO question (clinical reasoning vs physicians) → recommends PICO
    SPIDER question (qualitative burnout study) → recommends SPIDER
      with high confidence (3 signals)
    Decomposition question (RAG systems benchmarks) → recommends
      Decomposition (after plural-aware regex fix; was originally
      missed due to "systems" not matching "system")
- cross_search_aggregator.py: sample with overlapping searches:
    Repeat-hits: Med-PaLM benchmark correctly flagged (3 sub-areas)
    Recurring authors: Singhal correctly top (4 appearances)
    Citations-per-year: USMLE benchmark paper top at 266/yr
- All 3 with --output json: valid JSON
- plugin.json validates; conforms to repo schema

NOT-YET-DONE (for upcoming PRs)

- Slice 5 batch 2: grants + dossier (next PR; same shape as litreview)
- Slice 5 batch 3: patent + syllabus (specialty variants — patent has
  sub-use-case routing, syllabus has bundled JS DOCX generator)
- Slice 6: notebooklm (browser-automation shape, separate slice)
- Slice 7: 13-research orchestrator + autoresearch-agent reconciliation
- Slice 8: 02-reflect productivity
- Cleanup PR: move engineering/pulse + engineering/capture to their
  proper domain folders

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