- learn_edits.py: prioritize output_file field from history.yaml,
fall back to title slug matching, then largest file
- SKILL.md: add output_file field to history.yaml schema
- Fixes wrong file match when multiple articles share the same date
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- publisher.py: add get_draft() to fetch draft content by media_id,
add html_to_plaintext() for HTML→text conversion
- learn_edits.py: add --from-wechat flag that auto-fetches latest draft
from WeChat, converts both sides to plaintext, and diffs
- learn_edits.py: add markdown_to_plaintext() for local file conversion
- SKILL.md: update edit workflow — both local and WeChat edits supported
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- New script: scripts/extract_exemplar.py
Extracts style fingerprints from human-written articles (opening hook,
emotional peak, transition/self-correction, closing) with statistical
analysis (sentence stddev, vocab temperature, negative ratio, paragraph CV).
Auto-detects category, supports batch import.
- SKILL.md: Add Step 4.4 exemplar injection
Loads matching exemplars by category before writing, injects segments
as few-shot style examples in the prompt.
- learn_edits.py: Auto-grow exemplar library
After user edits, auto-extracts the final version into the exemplar
library if humanness_score <= 50.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
learn_edits.py: patterns now have type/key/description/rule fields,
confidence auto-computed from occurrences + recency with 30-day decay.
--summarize --json outputs aggregated patterns sorted by confidence.
learn-edits.md: playbook.md format changed from free text to structured
YAML rules with confidence levels. Rules with confidence ≥ 5 become
hard constraints in Step 4, < 5 are soft references, < 2 get pruned.
SKILL.md Step 4: playbook priority now confidence-gated.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>