mirror of
https://github.com/alirezarezvani/claude-skills.git
synced 2026-09-07 08:26:02 +00:00
23 commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
22149f4c34
|
Merge branch 'dev' into codex/pulse-local-x-exports | ||
|
|
08740d4ec2
|
fix(stream): post-merge required changes for PRs #895/#926/#942/#943/#944/#965 + counter true-up + #964 guard + #954 doc drift
Applies every pre-merge required change from audit/pr-stream-2026-08/ that could not land on contributor forks, plus the stream's cross-cutting fixes: - stock-analysis (#944): description trimmed 1463 -> 1001 chars; Anti-Patterns + Cross-References sections added; security-auditor false positive at holdco-assetmgr.md:58 suppressed inline (auditor:ignore-line) -> strict PASS - deepread (#965): renamed research/dsh-deepread -> research/deepread; H1 and name updated; research-summarizer cross-ref path-qualified; 12 cited sources added across both references; plugin.json + marketplace entry; routed in the research orchestrator (SKILL.md registry + SIGNALS + classifier.py in lockstep, verified: 'deeply read this pdf' -> deepread, 3 signals) - business-name-fit (#926): 'Use whenever' -> 'Use when' (validator trigger regex); +2 cited sources (USPTO TMEP §1209, Usunier & Shaner 2002) -> 5 - embedded-iot-mentor (#942): references/hardware-selection.md (7 sources, datasheet-anchored) + worked mini-example; validator length gate now passes - swedish-mentor (#943): references/swedish-resources.md (6 sources, stable official URLs only); session recipes, milestones, learner situations, worked example; mandated opener softened to guidance; plugin.json + marketplace entry; validator length gate now passes - Related Projects (#895): LinkedIn Skills row trued up (10 -> 11 skills, hardcoded star count dropped) - check_plugin_json.py: marketplace description <= 1024 guard added to --all (the #964 regression guard; commercial-skills sits at 1021/1024) - #954 doc drift: quality_gates_for_skills.md, cs-skill-author.md, security-guidance SKILL.md now point attribution at authoring-notes.json - Counter true-up after the 6-skill merge batch: 370 skills / 672 tools / 809 refs / 92 plugins across README.md badge+table, CLAUDE.md, marketplace metadata (derive_counters.py --check passes) All gates green locally: frontmatter 0 errors, model freshness 0 findings, dual-publish 0 drifted, paths 0, smoke 0 failed, plugin-json 0 FAIL. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017Bzm6Pafyxja6g4jUDPcei |
||
|
|
8f280faf5b | fix(pulse): import local X research exports | ||
|
|
32b63e36cc
|
Merge pull request #965 from xiehuan123/feature/dsh-deepread
feat(research): add dsh-deepread skill |
||
|
|
4570768781
|
Merge pull request #936 from benrfairless/fix/frontmatter-yaml-validation
fix(frontmatter): repair 14 unloadable YAML blocks + add gate G10 |
||
|
|
43e9d3984a
|
style: place INSTALLATION.md Windows Notes where its ToC entry says; PEP 8 blank lines in encoding-fix scripts
Review follow-up on PR #972: the Windows Notes section now sits between Verification & Testing and Troubleshooting, matching the Table of Contents order, and the four scripts patched for #969 are back to exactly two blank lines after the reconfigure block. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Qgc6RYXWJPr5oW9DHU7zR4 |
||
|
|
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 |
||
|
|
65e3ee5be5 | feat(research): add dsh-deepread skill | ||
|
|
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
|
||
|
|
358f3a3005
|
docs(deep-research): review follow-ups from #872 (merged before fixes landed)
#872 merged before these automated-review fixes were pushed, so applying them as a fresh follow-up: - README: research (academic) domain row 8 -> 9 and add deep-research to the 8-specialist list + the intro-paragraph research stack (the global counters were bumped in #872 but the per-domain row wasn't — derive_counters --check only validates headline aggregates, not per-domain rows). - research router SKILL.md: add a deep-research escalation note after the Specialist Registry so router users learn about the high-stakes path (router = fast, deep-research = heavyweight). - cs-deep-research agent: fix the cs-research Related-Agents link (was a bare directory, now points at the actual agent file). Methodology-only scope retained per maintainer decision (no scripts added). |
||
|
|
8d6213280c
|
feat(research): add deep-research skill (hardened from #851)
Adds a disciplined multi-source meta-research skill — the heavyweight, rigor-first alternative to the fast research router. 9-phase pipeline (reframe into falsifiable hypotheses -> plan -> capability discovery -> parallel sub-agent fan-out -> score & triangulate -> synthesize + adversarial pass -> verify -> refresh targets), triangulation against >=3 independent differently-typed sources, per-source files with verbatim quotes, and a hard no-fabricated-citations rule. Concept + SKILL.md contributed by @Socialpranker in PR #851. Hardened for the research/ per-skill-plugin convention (the PR shipped only the SKILL.md): - Packaged as a full plugin to match every sibling (pulse/litreview/dossier/...): added .claude-plugin/plugin.json, marketplace.json entry, cs-deep-research agent, /cs:deep-research command, and README. - Dropped a dangling claude-api cross-reference (not a repo skill); the other cross-refs (research router, competitive-teardown, litreview/dossier/patent) are all real. - Preserved the contributed SKILL.md + references/full-catalog.md (the upstream source-catalog pointer) verbatim otherwise; attribution + upstream link in plugin.json and README. Counters trued up via scripts/derive_counters.py --check (passes): 354 skills, 722 references, 96 agents, 102 commands, 82 plugins. Co-authored-by: Socialpranker <273312799+Socialpranker@users.noreply.github.com> Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Kmw1eZQoSMDr2diHbCcUkF |
||
|
|
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 |
||
|
|
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
|
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
c63822c579
|
Merge pull request #669 from alirezarezvani/claude/build-skills-notebooklm-browser-auto | ||
|
|
4803bb8180
|
feat(research): orchestrator — Path-B hybrid router + fallback from megaprompt 13
Slice 7 (final v2 megaprompt). Architecture C: deterministic SIGNALS classification → specialist delegation (≥2 signals OR single weak match) OR own 8-step plan-decompose-search-synthesize-cite fallback. Routing transparency is mandatory — never delegates silently. Always states the decision + accepts override. Override is logged. Distinct from engineering/autoresearch-agent (Karpathy's file-optimization loop) — completely different use case. README + plugin.json + SKILL.md all call out the disambiguation explicitly. After this merges: ALL 13 v2 megaprompts shipped. 11 files, 1,659 lines: - .claude-plugin/plugin.json (with distinct_from autoresearch-agent) - README.md (disambiguation table + routing target table) - agents/cs-research.md (router persona, routing-transparency enforcer) - commands/cs-research.md (/cs:research <question>) - skills/research/SKILL.md (full Path-B converted spec) - skills/research/references/hybrid_router_architecture.md (8 sources) - skills/research/references/deterministic_classification_canon.md (7 sources) - skills/research/references/fallback_workflow_canon.md (7 sources) - skills/research/scripts/classifier.py (stdlib, SIGNALS map + scoring) - skills/research/scripts/routing_transparency_logger.py (stdlib, JSON audit) - skills/research/scripts/fallback_decomposer.py (stdlib, 3-5 sub-questions) All 3 scripts smoke-tested: - classifier --sample → litreview routed (3 signals: pico + systematic review + meta-analysis) - classifier "research microsoft" → fallback (0 signals — correct, generic "research X" must not auto-route) - classifier "FTO landscape" → patent routed (weak: 1 signal, single specialist) - logger --sample → 4-event sequence (decision → delegation → decision → override) persisted to ~/.research_sessions/sample.json - decomposer --sample → 5 sub-questions via what/why/how/who/what's next framework Path-B fidelity: SIGNALS map preserved verbatim from post-PR-#657 audit (no bracketed placeholders; verb-noun pairs only). All anti-patterns from the megaprompt encoded in SKILL.md. https://claude.ai/code/session_01FEUmeuYhmnxVFq7EZM8ZSw |
||
|
|
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 |
||
|
|
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:
|
||
|
|
50b5b1b9ed
|
feat(research): patent + syllabus — Path-B batch 3 (specialty research-pack variants)
Slice 5 batch 3 — final two research-pack siblings. Specialty variants: - patent: 5-sub-use-case routing (novelty/FTO/landscape/diligence/litigation) - syllabus: BUNDLED-JS-DOCX-GENERATOR pattern (first in repo) After this merges: ALL 6 research-pack siblings shipped (pulse + litreview + grants + dossier + patent + syllabus). 9 of 13 v2 megaprompts complete. SOURCE SPECS - megaprompts/11-patent-megaprompt.md (PR #657) - megaprompts/10-syllabus-megaprompt.md (PR #657) PATENT (Prior-Art + Landscape Intelligence) Refuses generic "patent help". Q2 forces commitment to ONE of 5 sub-use-cases: novelty → narrow + claim-text focused; verdict NOVEL/POTENTIALLY/NOT NOVEL FTO → active patents only, jurisdiction-filtered; CLEAR/FLAGGED/HIGH RISK per jurisdiction landscape → CPC trends + filer tally; CONCENTRATED/COMPETITIVE/EMERGING diligence → assignee + assignment chain + family resolution; PORTFOLIO VERIFIED/PARTIAL/RISK litigation → adjacent art before priority date; KNOCK-OUT/STRONG/WEAK/NO MATERIAL ART Each sub-use-case uses fundamentally different search strategy (enforced by sub_use_case_router.py). DOCX section emphasis varies per sub-use-case. Key Path-B preserved elements: - 6-Q grill-me intake with Q2 mandatory commitment + Q3-Q6 conditional skips - 4 sources: Google Patents (workhorse) + Espacenet + USPTO + Lens.org BYOK - CPC/IPC class follow-up after initial keyword search (catches keyword-missed art) - Family resolution across jurisdictions (deduplicates same-invention filings) - Date discipline (filing/priority/publication/grant — surface legally-relevant) - Mandatory legal disclaimer for novelty + FTO (Q6 triggers) - Out-of-scope flagging (trademark/copyright/trade-secret) - 8-section DOCX with sub-use-case-specific emphasis Scripts: - citation_tracker.py: multi-source three-count (Google Patents + Espacenet + USPTO + Lens.org) + 1s sequential discipline + Lens BYOK tracking - family_resolver.py: 3-pass clustering (family_id → priority_number → heuristic with 80% Jaccard on assignee + inventor + matching priority_date) - sub_use_case_router.py: deterministic strategy from 5 sub-use-cases → query plan + ranking heuristic + DOCX emphasis flags + legal disclaimer flag References (7+ sources each): - sub_use_case_routing.md: MPEP, 35 USC 102/103, WIPO PCT, EPO Guidelines, USPTO PPS docs, Google Patents docs, Lens.org API - cpc_classification_canon.md: CPC scheme, WIPO IPC, Mowery/Nelson/Sampat, WIPO PATENTSCOPE, Cohen/Nelson/Walsh, MPEP §901, Lemley/Sampat - legal_disclaimer_discipline.md: MPEP §1.4-§1.5, AIPLA Code of Ethics, 35 USC §282/§271, EPO Guidelines, PCT Article 39, Fischer/Henkel on PAEs SYLLABUS (Course Supplementary Reading List) Bundled-JS variant — generates .docx via scripts/generate_reading_list.js (Node.js + docx package, ~395 lines) rather than inlining 300+ lines of DOCX layout in SKILL.md. Key Path-B preserved elements: - 3-Q grill-me intake (input format + audience + year range) - Group-and-confirm checkpoint after Phase 2 (proceed/merge/split/add/remove) - Applied-domain weaving (e.g., "enzyme kinetics food processing" not just "enzyme kinetics" — boosts relevance dramatically) - Audience calibration (undergrad-intro defines every term; grad-doctoral assumes technical fluency) - Bloom higher-order discussion questions (apply/analyze/evaluate, NOT recall) - Sequential Consensus 1 q/sec - Source discipline + three-count tracking - Bundled JS for DOCX (token-efficient + reusable + maintainable) Scripts: - citation_tracker.py: Consensus three-count + per-section breakdown + 1s sequential discipline - topic_grouper.py: greedy clustering of extracted topics into 6-12 sections via shared-keyword detection (≥2 significant words shared → same section); auto-merge smallest if >12, auto-split largest if <6 - discussion_question_validator.py: Bloom-level classification per question; flags BELOW-audience FAIL with verb-replacement suggestions; flags ABOVE-audience WARN - generate_reading_list.js: BUNDLED Node.js DOCX generator (~395 lines). Multi-location require fallback for `docx` package. JSON input → .docx output. Title page + intro + learning outcomes box + numbered papers per section + audit log + footer. References (7+ sources each): - applied_domain_weaving.md: Bloom 1956, Mayer multimedia learning, Fink significant learning, Donald disciplinary thinking, Lave/Wenger situated learning, Chickering/Gamson 7 principles, Boyer scholarship of application - audience_calibration.md: Bloom/Anderson-Krathwohl revised taxonomy, Marzano new taxonomy, Hattie visible learning, Bain great teachers, Walvoord/Anderson effective grading, Brookfield/Preskill discussion, Bjork desirable difficulty - bundled_script_pattern.md: Karpathy-coder discipline, CLAUDE.md anti-patterns, docx Node.js package, CommonJS module resolution, Twelve-Factor App, Kernighan/Plauger Software Tools, McIlroy/Unix philosophy REPO STRUCTURE Both plugins in research/. Patent uses standard 11-file layout. Syllabus uses 12-file layout (extra file: scripts/generate_reading_list.js bundled JS). VERIFIED CLEAN All 7 scripts pass smoke tests: Patent: - sub_use_case_router: FTO with US+EP → 8 queries with jurisdiction scaling; novelty (no jurisdictions) → 6 queries with claim-focused ranking - family_resolver: 6 sample hits → correctly resolves to 3 unique families (Acme: 3 jurisdictions; Beta: 2 jurisdictions; Gamma: 1). Deduplication savings: 3 - citation_tracker: lifecycle works, multi-source counts (Google Patents + Espacenet + USPTO + Lens) tracked separately, audit block matches DOCX Section 8 format Syllabus: - topic_grouper: 19 sample topics → 12 sections, headings derived from shared keywords ("Plant + Physiology", "Animal + Anatomy", etc.) - discussion_question_validator: 5 sample questions correctly classified. "What did authors find?" → recall, OK for undergrad_intro, FAIL for grad_doctoral with verb-replacement suggestions. "Design a follow-up study..." → create, OK for grad_doctoral. - citation_tracker: lifecycle works with per-section breakdown - generate_reading_list.js: syntax valid (node --check passes) All scripts: --output json valid. 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 (this PR) ☐ Slice 6: notebooklm (browser-automation, last shape) ☐ Slice 7: 13-research orchestrator + autoresearch-agent reconciliation ☐ Slice 8: 02-reflect (productivity) ☐ Cleanup PR: move engineering/pulse + engineering/capture 9 of 13 skills shipped after this merge. ALL research-pack siblings complete (6 of 6 in research/). Only 3 special-shape skills remain: notebooklm (browser-auto), 13-research (orchestrator), 02-reflect (productivity). NOT DONE IN THIS PR (intentional) - .claude-plugin/marketplace.json: separate concern - .codex/skills/ symlinks: auto-sync on merge - engineering/pulse + engineering/capture: cleanup PR queued https://claude.ai/code/session_01FEUmeuYhmnxVFq7EZM8ZSw |
||
|
|
24a0bcd9f7
|
feat(research): grants + dossier — Path-B batch 2 (research-pack siblings)
Slice 5 batch 2: two research-pack siblings from megaprompts 08 + 12. Same shape as litreview (Slice 5 batch 1) with domain-specific variants: - grants: multi-source (Consensus + RePORTER POST + NOSI), 9-section DOCX - dossier: hypothesis-testing variant (Q4 mandatory, ≥30% disconfirming rule enforced), source-tier discipline (primary/secondary/tertiary) SOURCE SPECS - megaprompts/08-grants-megaprompt.md - megaprompts/12-dossier-megaprompt.md (Both PR #657. Canonical specs.) GRANTS (NIH Funding Intelligence) For clinical researchers — 6-Q grill-me (research idea + career stage + prelim + environment + posture + institutes) → 5-facet Consensus positioning → RePORTER POST institute mapping → NOSI fetches → 9-section .docx with MANDATORY program officer recommendation. Key Path-B preserved elements: - RePORTER POST-only constraint (web_fetch is GET — must use bash_tool + curl). Documented prominently in SKILL.md + reference + command. - Dynamic fiscal year computation (Oct 1 = new FY). - Scope-aware mechanism matching (NOT career stage alone — common failure mode). - Mandatory program officer recommendation (single highest-leverage pre-submission step). - Plan-tier detection from Consensus "Found N, showing top M" pattern. - 9 DOCX sections including Audit Log. Scripts: - citation_tracker.py: multi-source three-count audit (Consensus sent/shown/cited + RePORTER projects/cited + NOSI fetches with success/total) + 1s sequential discipline enforcement - fiscal_year_calculator.py: Oct-boundary-aware FY computation, no hardcoded years - mechanism_matcher.py: 3D lookup (career × scope × prelim) with environment override (R15 for resource-constrained), warnings for common mismatches References (7+ sources each): - nih_mechanism_matching.md: Sackett, Rockey, Robertson, NIH RePORTER, Mehrotra, NRSA guidelines, Heggeness - reporter_post_patterns.md: RePORTER API v2 docs, NIH Guide for Grants, praw etiquette, Cohen backoff, curl docs, Maynez on hallucinated citations, Susskind audit-log - docx_9_sections.md: docx lib, NIH OER writing strategies, Russell & Morrison Grant Writers' Workbook, PRISMA, RePORTER, Heggeness, Strunk & White DOSSIER (Decision-Grade Entity Research) Hypothesis-testing variant — refuses to be "tell me about Microsoft". Q4 (your hypothesis) is MANDATORY; ≥30% of search budget allocated to disconfirming queries. Source-tier discipline (primary/secondary/ tertiary) on every flag. Key Path-B preserved elements: - Non-generic framing prominently in SKILL.md ("the forcing Q4 is what makes this skill non-generic") - Q4 mandatory with implicit-fallback flag if user refuses after one push-back - ≥30% disconfirming rule documented + enforced via stdlib tool - Subject-type routing (person/company/nonprofit/gov source matrices) - Source-tier on every flag in DOCX - 9 DOCX sections including verdict (SUPPORTED/PARTIALLY/DISPROVEN/ INCONCLUSIVE) - Conversation hooks finding-tied, not generic - BYOK MCP usage flagged in audit log - Sensitivity exclusions (Q6) honored Scripts: - citation_tracker.py: three-count + supporting/disconfirming classification per query + source-tier per citation + tier-weighted verdict computation + BYOK MCP tracking - disconfirming_evidence_balance.py: enforces ≥30% rule with PASS/WARN/FAIL verdicts + antonym-pivot suggestions for adding disconfirming queries (antonym pivots like consolidating → diversifying, growing → shrinking, hiring → laying off) - source_tier_classifier.py: URL → tier via comprehensive domain pattern matching (SEC/court/.gov primary, NYT/WSJ/TechCrunch secondary, Reddit/HN/Glassdoor tertiary, blog hosting platforms pattern-matched, company-official heuristic via subject keywords) References (7+ sources each): - hypothesis_testing_discipline.md: Popper Logic of Scientific Discovery, Kahneman, Tetlock Superforecasting, Dawes, Taleb Black Swan, Popper Conjectures & Refutations, Levitin - subject_type_source_matrix.md: SEC EDGAR docs, ProPublica Nonprofit Explorer, FIPS/open-data, Pickering progressive enhancement, Schneier provenance, OWASP, Charity Navigator - conversation_hook_quality.md: Carnegie, Cialdini, Voss calibrated questions, Goleman EI, Lencioni trust, Gallo TED rhetoric, Schein humble inquiry REPO STRUCTURE Both plugins in research/ (the new domain folder from Slice 5 batch 1). Mirrors litreview's structure exactly: plugin.json + README + agents/cs-* + commands/cs-* + skills/<name>/SKILL.md + 3 refs + 3 scripts = 11 files per skill, 22 total. VERIFIED CLEAN All 6 scripts pass smoke tests: Grants: - fiscal_year_calculator: Oct 2026 → FY 2027 ✓; Sep 2026 → FY 2026 ✓ - mechanism_matcher: --sample (early career + pilot) returns 4 K-series mechanisms with full rationale + budget + best-for. With resource-constrained env, correctly leads with R15 (the targeted mechanism). - citation_tracker: lifecycle works. Sequential discipline enforced. Multi-source counts (Consensus + RePORTER + NOSI) correctly aggregated. Audit-block output matches DOCX Section 9 format. Dossier: - source_tier_classifier: 11 sample URLs correctly tiered (SEC/Microsoft official/ProPublica/Scholar/FederalRegister = primary; NYT/TechCrunch = secondary; HN/Glassdoor/Medium = tertiary; unknown blog = secondary with low-confidence note). - disconfirming_evidence_balance: sample (80% supporting / 20% disconfirming) correctly returns WARN with antonym-pivot suggestions ("consolidating → diversifying"). FAIL threshold triggers at <20%. - citation_tracker: lifecycle works. Supporting/disconfirming classification tracked. Source-tier per citation. Verdict computed (INCONCLUSIVE on <3 cited). BYOK MCP usage tracked. All 6 scripts: --output json valid. plugin.json validates. VERTICAL-SLICE STATUS ✓ Slice 1: capture (light prompt-flow, PR #659) ✓ Slice 2: pulse (research-pack, PR #660) ✓ Slice 3: email pair (workflow-pair, PR #661) ✓ Slice 4: landing (generator, PR #662) ✓ Slice 5 batch 1: litreview (academic research, PR #663) ✓ Slice 5 batch 2: grants + dossier (this PR) ☐ Slice 5 batch 3: patent + syllabus (specialty variants) ☐ Slice 6: notebooklm (browser-automation) ☐ Slice 7: 13-research orchestrator + autoresearch-agent reconciliation ☐ Slice 8: 02-reflect (productivity) ☐ Cleanup PR: move engineering/pulse + engineering/capture 7 of 13 skills shipped after this merge. NOT DONE IN THIS PR (intentional) - .claude-plugin/marketplace.json: separate concern, after all 13 ship - .codex/skills/ symlinks: auto-sync workflow on merge - engineering/pulse + engineering/capture: cleanup PR queued https://claude.ai/code/session_01FEUmeuYhmnxVFq7EZM8ZSw |
||
|
|
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 |