mirror of
https://github.com/alirezarezvani/claude-skills.git
synced 2026-10-08 03:07:51 +00:00
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 |
||
|---|---|---|
| .. | ||
| kb_validator.py | ||
| section_progress_tracker.py | ||
| voice_sample_analyzer.py | ||