skills/derive-section-voice-overlay/SKILL.md
--- name: derive-section-voice-overlay description: Derives a draft per-section voice overlay (deltas against substacker global voice-profile) once a section reaches ≥3 published posts with shared voice tells. Writes to shared-context/voices/{slug}.md. Writer reviews and commits. Overlay expresses only the DELTA from global voice — not a full rewrite. Use when a section crosses the 3-post threshold. Trigger keywords: voice overlay, section voice, overlay delta, per-section voice. --- # Derive S
npx skillsauth add lyndonkl/claude skills/derive-section-voice-overlayInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
When a section reaches ≥3 posts:
- [ ] Step 1: Read all posts in corpus/published/{section}/
- [ ] Step 2: Read global shared-context/voice-profile.md
- [ ] Step 3: Extract patterns present in this section's posts but different from global:
- Tone shifts (confessional vs technical; register)
- Structural shifts (scoreboard required; code fences allowed; H2 permitted)
- Vocabulary shifts (term-of-art allowed; jargon defined on first use)
- Register permissions (epistolary, second-person, etc.)
- [ ] Step 4: Draft the overlay as a delta (bullet list per category; NOT a full voice profile)
- [ ] Step 5: Write shared-context/voices/{slug}.md for writer review
- [ ] Step 6: Emit draft status: "awaits writer commit" in the Curator review artifact
---
name: voice-overlay-{slug}
section: {slug}
type: voice-overlay
purpose: Voice deltas for {section name} against global voice-profile.
based_on: voice-profile.md (global)
maintained_by: curator (seed) + writer (refinements)
last_updated: YYYY-MM-DD
---
# {Section name} — Voice Overlay
Apply these on top of the global voice-profile. Where rules conflict, this overlay wins for posts in section `{slug}`.
## Tone shifts
- {delta bullet}
## Structural shifts
- {delta bullet}
## Vocabulary shifts
- {delta bullet}
## Register permissions
- {delta bullet}
## Carryovers (emphasized for this section)
- {global rule that matters even more here}
## Things this section does NOT do (anti-overlay)
- {negative rule — what the section explicitly does not do that the global voice might allow}
## Changelog
- YYYY-MM-DD — Initial overlay derived from N posts.
Section: Kalshi Log (6 posts).
Detected patterns vs global:
Overlay draft:
## Tone shifts
- Register leans confessional-operational, not speculative-essay.
- Closer points forward, not upward (universal maxim rare).
## Structural shifts
- Scoreboard block required at the close of every post.
- More numbers per paragraph than global voice allows.
- Short-form is default (≤1500 words).
## Register permissions
- Epistolary second-person register permitted (as in *The Letter*). Color, not default.
## Anti-overlay
- No generalizing to other sports / markets without explicit scope.
- No "lessons for life" closes.
development
--- name: zettel-note description: The note-writing discipline for this vault's evergreen knowledge graph, modeled on a Zettelkasten reading companion and governed by the vault conventions. Enforces declarative-claim titles, one claim per note (atomicity), own-words prose with no block quotes, the piped [[slug|Title]] link form, the labeled link-relationship vocabulary (Confirms/Contradicts/Extends/Context/Prerequisite/Builds-on/Applies/Example-of/Contrasts-with), 3-6 links per note, and search-
development
Plans between-round FIFA World Cup Fantasy transfers — budgets the round's free transfer(s), forces out players whose nation has been eliminated, chases fixture-swing drops, upgrades on value, and decides when a rebuild is large enough to fire the Wildcard instead of spending free transfers one at a time. Ranks candidate in/out pairs by EV gain over each player's remaining survival horizon (delta xEV weighted by progression_carry) MINUS transfer cost (a free transfer is cheap, a points hit is real, churning the squad for marginal swings is a critic flag), and tags forced/fixture/upgrade priority. Emits a `transfer-plan` signal. Use when called by wc-squad-architect (whose transfer work this skill is the engine for) and by the strategists in the populate stage when their candidate is transfer-adjacent rather than a full rebuild.
testing
Reads and updates the FIFA World Cup Fantasy tournament state machine (footballfantasy/context/tournament-state.md) — the temporal backbone tracking phase (pre-tournament → group MD1-3 → R32 → R16 → QF → SF → final), budget ($100m group / $105m knockouts), nation cap (3 group, loosening in knockouts), chips remaining, surviving nations, each owned player's elimination-risk horizon, and deadlines. Validates state on load (count/feasibility checks), applies phase transitions, and appends to the append-only state log (never silent overwrite). Use to load state at the start of a run and to commit state changes after the manager makes a move.
development
Validates and persists FIFA World Cup Fantasy signal files to signals/YYYY-MM-DD-<type>.md. Checks the required frontmatter (type, round, date, emitted_by, confidence, source_urls), range-checks declared numeric signals, confirms every factual claim carries a source URL or "manager-provided", rejects unknown signal types, and refuses to persist a signal that fails validation (logging the failure instead). Keeps the inter-agent signal layer auditable so downstream agents can trust what they read and never re-derive it. Use whenever an agent or skill writes a signal.