shrink: SKILL.md 1,587 → 1,062 lines (Claude draft for #58)#59
Conversation
…#58) Cut A: dropped the 250-line "Usage analytics (telemetry)" reference section. The 8 telemetry call-sites it duplicated already live inline in Phase 0/1/3/5/7/9; reproducing them once per phase is the actual documentation. Replaced with a 12-line bullet list of behavior worth knowing (no-op when off, sync semantics, error-class enum, field whitelist constraint). Cut B: moved the 135-line "Debugging this skill" playbook into docs/DEBUGGING.md. Self-contained workflow triggered by a different user intent (debugging vs running) — belongs in its own doc, not in the load-every-time SKILL.md. Frontmatter pointer updated. SKILL.md keeps a one-paragraph summary that names the seven steps + the anonymization rules + the don'ts so a model reading SKILL.md still knows the playbook exists and what shape it has. Per issue #58: every "do X / NOT Y" prescription preserved. Test suite green (460/460). SKILL.md now 1229 lines (was 1587, -358). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…apes (#58) Cut C: dropped the standalone "Re-rendering PDFs after manual edits" section (~100 lines). Most of it was duplication — the path prologue was an exact repeat of Phase 0's prologue, and the three render commands were byte-identical to Phase 8's renders. Replaced with a ~25-line subsection inside Phase 8 that names only what differs from the main render flow: don't re-run sub-agents, only re-render what was edited, warn on remaining `[INSERT]` placeholders, fire rerender_used telemetry. Updated stale "see ... near the end of SKILL.md" pointers. Cut D: compressed Phase 0's nine expanded question shapes (~115 lines) to ~50 lines. Pattern A and Pattern B already live in the "Interactive prompt pattern" section; reproducing them per-field for name/email/ phone/linkedin/location was pure repetition. Kept verbatim: the GDPR telemetry-consent block (legal compliance, not optional), the photo- position three-option choice (config keys load-bearing), the photo- path file-existence verification, and the Phone special-case for when PDF extraction returns nothing. tests/test_skill_md_prologue.py rewritten to assert ONE prologue (was: TWO). Folding re-rendering into Phase 8 removed the second prologue and the cross-prologue drift class of bug along with it. The POSIX + Windows venv-layout checks survived (still required on the single remaining prologue). Per issue #58: every "do X / NOT Y" prescription preserved. Tests green (3 SKILL.md guard suites, 11/11). SKILL.md now 1071 lines (was 1587, -516 = 32% smaller). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Cut E: trimmed verbose run citations from 4 places. Each prescription that referenced a real failure mode kept the description of the bug but dropped the "(observed under qwen3.6-35b on OpenCode, run ses_236d — Qwen rewrote the cover-letter prompt and inverted...)" run-citation prose. The rule itself stays; the rule's rationale stays; only the verbose attribution goes. The run transcripts and CHANGELOG entries remain the canonical archive. Cut F: tightened the longest prose paragraphs: - $MODEL/$HOST telemetry-identifier section: 5 paragraphs → 2. - Sub-agent prompt-pattern intro: dropped the "previous design had the orchestrator LLM substitute tokens" framing; kept the failure example + the "use build-prompt" prescription. - /tmp-forbidden-for-prompt-staging block: condensed the three-clause enumeration into a single sentence with the same content. - Cleanup defense-in-depth paragraph: tightened scope description. Per issue #58: every "do X / NOT Y" prescription preserved. Tests green (459/459 — was 460, lost one prologue-drift test that's no longer applicable since cut C eliminated the second prologue). SKILL.md now 1062 lines (was 1587, -525 = 33% smaller). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Two improvements surfaced by GPT-5's parallel draft of the same brief — both real bugs/gaps, not stylistic choices: (1) Phase 1 `run_started` telemetry referenced `$RESUME_FORMAT` but that variable is computed in Phase 2 (after `discover-resume`), not Phase 1. Original SKILL.md had this backwards: the call would fire with `--resume-format ""` or with a fabricated value. Moved the call to right after Phase 2's resume-discovery + read, where `$RESUME_FORMAT` is actually known. Phase 1 still generates and persists `$RUN_ID` and `$START_TS`; just doesn't fire telemetry yet. (2) The Phase 2 heredoc-with-quoted-delimiter prescription (apostrophes in sub-agent text break single-quoted shell vars) was applied only at cache.txt. The same risk applies to every sub-agent output save — fit assessments contain "client's", company research contains "OpenAI's", tailored resumes have possessives + metric dollar signs, cover letters have contractions, interview-prep contains SQL backticks. Generalized the prescription to fit-assessment.md / company-research.md / tailored-resume.md / cover-letter.md / interview-prep.md with explicit heredoc examples at each save site. `tests/test_skill_md_phase6.py` updated: the Phase 6 save-prescription test now asserts BOTH "Write tool" AND "heredoc" appear (was: just "use the Write tool to save it" exact-string). Issue #29 was about ambiguous "save the outputs" wording — both Write and heredoc satisfy that; the test was over-specific. SKILL.md: 1062 → 1104 lines (+42). Adds back ~40 lines of explicit heredoc examples at 5 save sites — the trade-off is a slightly larger file for a uniformly applied prescription rather than one applied only at Phase 2. Tests green (459/459). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Two fixes surfaced by GPT-5 Pro's parallel draft applied (
Net: +42 lines (1,062 → 1,104). The shrink is now 1,587 → 1,104, -30.5% from main. Slightly less aggressive than my initial draft, but the saved bytes are at choice points where weak models needed the extra prescription.
Status: ready for testing on weak model, not ready for merge. Per #58 stage 3, the PR sits in draft until the qwen3.6-35b end-to-end on Eduardo's local OpenCode passes:
GPT-5's structural moves (Section 0 "Non-negotiable rules" preamble, weak-model lessons recap, retry/fallback table) are taste choices, not bugs — defer until a future qwen run says they'd help. |
Summary
Claude Opus 4.7 draft for the multi-LLM simplification pipeline laid out in #58. Marked draft because GPT-5 Pro and Kimi K2 are producing parallel independent rewrites; final synthesis happens after cross-review + qwen audience poll.
test_skill_md_weak_model_guards.py(Phase 0 mkdir + Phase 2 heredoc),test_opencode_command_shim.py,test_skill_md_prologue.py(rewritten for one prologue),test_extractors_tolerate_markdown_bold_around_keys, plus full pytest suite (459 passing — was 460; lost one prologue-drift test that's no longer applicable since the second prologue went away with Cut C).docs/DEBUGGING.md(the moved playbook).The cuts
add0d6d)"$TEL"calls in each phase ARE the docsdocs/DEBUGGING.md(add0d6d)5a0602c)5a0602c)130e07d)(observed under qwen3.6-35b on OpenCode, run ses_236d — Qwen rewrote …)attribution gone130e07d)Verification
pytest tests/ -q→ 459 passed in 239s (was 460; one prologue-drift test deleted as no-longer-applicable per Cut C)mkdir -p "$STUDENT_CWD/.resumasher"beforecat > config.json✓<< 'HEREDOC'byte-literal pattern for cache.txt ✓$PROMPTAS-IS" sub-agent prescription ✓extract-fit-fieldspipe (3 occurrences) ✓fit-extracted.envshell-source forbidden ✓/tmpforbidden for prompt staging ✓cleanup-stray-prompts+cleanup-stray-outputs✓PHOTO_ARGS=()bash-array pattern ✓ls -lafile-existence verify ✓Multi-LLM pipeline (per #58)
This PR is stage 1 of 3:
/resumasher /tmp/job.md" — pass = right phases, files, dispatch shape; fail = cut a load-bearing prescription. Final synthesis merges back into a single SKILL.md after audience-poll passes.Do not merge until the synthesis is in hand.
Test plan
🤖 Generated with Claude Code