KL

K L D'Souza

GitHub 资料 · @lyndonkl

Full Stack Developer since 2012

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-before-create deduplication. Use when capturing a claim as an evergreen note, refactoring a sprawling note into atomic ones, or wiring a new claim into the graph. Trigger keywords — evergreen note, zettel, atomic note, declarative title, link relationships, search before create, route the claim.
lyndonkl/zettel-note
Rewrites a published substacker essay as three X thread variants (short 3-5 tweets, medium 6-8, long 9-12). Each tweet ≤280 chars. Hook tweet works standalone. No numbering by default (2026 convention for tech-first-principles accounts). Final tweet is the link. If essay doesn't translate to X, emits a VERDICT line and halts rather than producing weak variants. Trigger keywords — X thread, Twitter thread, thread, tweet, threaded post, thread variants.
lyndonkl/x-thread-rewrite
Guides writing architecture planning using McPhee's structural diagramming method, helping select from 8 structure types (list, chronological, circular, dual/triple profile, pyramid, parallel, custom), create visual diagrams, and place gold-coin moments for engagement. Use when planning or organizing writing structure, outlining before drafting, restructuring disorganized drafts, or when user mentions outlining, organizing ideas, structure planning, article architecture, narrative flow.
lyndonkl/writing-structure-planner
Applies the Heath brothers' SUCCESs model (Simple, Unexpected, Concrete, Credible, Emotional, Stories) to make messages memorable and persuasive, with systematic analysis, targeted improvements, and scoring (0-18 stickiness scorecard). Use when making messages more memorable or compelling, preparing presentations, crafting pitches or campaigns, or when user mentions stickiness, making ideas stick, persuasion, SUCCESs framework, or Heath brothers.
lyndonkl/writing-stickiness
Applies a systematic three-pass revision system (Zinsser, King, Pinker, Clark) to existing drafts — Pass 1 cuts clutter, Pass 2 reduces cognitive load, Pass 3 improves rhythm. Use when revising, editing, or polishing drafts, cutting word count, tightening prose, improving readability, or fixing flow, or when user mentions revision, editing, cut clutter, too wordy, improve readability, fix the flow, reduce word count.
lyndonkl/writing-revision
Runs a comprehensive six-section quality checklist (content, structure, clarity, style, polish, final tests) before writing is shared or published, catching issues that revision and stickiness enhancement might miss. Use when performing final quality checks before sharing, publishing, or submitting writing, or when user mentions pre-publish, final check, ready to publish, last review, quality check, or about to share.
lyndonkl/writing-pre-publish-checklist
Composes the substacker final ops/growth-analyst/YYYY-WW-report.md from ingest + baseline + attribute + per-section + public-page outputs. Enforces 400-800 word budget, YAML frontmatter schema, seven-section body structure. Truncates weakest sections first when over budget. Injects data-caveats from any degraded-mode flags upstream. Use as the final compose step of the weekly pipeline. Trigger keywords — weekly report, compose report, growth report, Monday report.
lyndonkl/write-weekly-report
Renders the Trend Scout ranked keep-and-drop lists into ops/trend-scout/YYYY-WW-digest.md using the agent voice profile and including an appendix of all sources surveyed. Use once per weekly run as the terminal skill. Trigger keywords — weekly digest, write digest, Trend Scout digest, Saturday morning digest.
lyndonkl/write-weekly-digest
Crafts the one-sentence promise a substacker section makes to its reader — specific, testable, non-overlapping with other sections, written in the writer's voice (not marketing). Use when propose-section stages a new section or when an existing promise is being revised. Trigger keywords — section promise, one-sentence promise, section statement, reader promise.
lyndonkl/write-section-promise
Composes the final Technical Reviewer artifact at ops/technical-reviewer/YYYY-MM-DD-{slug}-review.md. Enforces frontmatter schema, section order (Summary → Blockers → Claims → Boundary-Break Suggestions → Glossary Alignment → Could-Not-Verify → Research Log), go/no-go decision rule, and never-modify-draft principle. Use exactly once per Technical Reviewer run as the last step. Trigger keywords — write review, technical review artifact, compose review, claim review output.
lyndonkl/write-review-artifact
Produces step-by-step computational walkthroughs of vector and matrix operations as a sequence of numbered "frames", showing the explicit state at each step. The text-equivalent of a 3Blue1Brown animation — each frame shows what changed and why, so the learner can re-trace the operation by hand. Use when the learner needs to *see* a computation unfold (eigenvalue computation, attention with 3 tokens, gradient descent step, SVD on a 2×2, layer norm on a 3-vector, softmax of a small input), when an explanation has been given but the learner needs to ground it in a worked example, or when introducing an operation that's intimidating in symbol form but trivial in pencil-and-paper form.
lyndonkl/worked-example-walkthrough
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.
lyndonkl/wc-transfer-planner
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.
lyndonkl/wc-tournament-state
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.
lyndonkl/wc-signal-emitter
Measures and protects diversity in the FIFA World Cup Fantasy evolution engine — the anti-inbreeding / selection-pressure governor from the Evolution document. Computes how collapsed an offspring set is (pairwise squad overlap %, captain overlap, ownership-profile spread, variance-band coverage); if the population has converged toward one template (premature convergence / local optimum), it injects an under-represented genotype's blocks and/or raises the mutation rate and signals a re-run; and it tunes selection pressure (too high collapses the gene pool, too low makes the board noise). Ensures the manager's board always offers a real choice across the variance spectrum. Use after recombination + mutation, before emitting offspring.
lyndonkl/wc-population-diversity
Computes one player's expected FIFA World Cup Fantasy points for a single round (xEV) from a scout signal — folding start probability, the 60-minute appearance cliff, fixture-and-minutes-scaled npxG/xA, clean-sheet and defensive-action floors, the penalty/set-piece premium, and the card/concede downside into one number plus its full decomposition, variance, ceiling, and floor. This is the atomic EV unit the whole system samples from. Use whenever a single player's per-round point distribution is needed — called by wc-scout, every wc-strategist genotype, wc-matchday-tactician, and wc-fitness-eval (which sums these into raw_xEV). Reads the scout signal; never re-scouts. Emits a player-ev signal.
lyndonkl/wc-player-ev
Models the FIFA World Cup Fantasy field — effective ownership, the template set, the differential list, and the rank-protect-vs-gain leverage math — so the system reasons about "what will most managers do?" rather than raw points. Computes effective ownership EO = field_ownership% x (1 + captaincy_share), classifies every owned/missed player into the three regimes (own high-EO haul = hold station, MISS high-EO haul = drop hard, own low-EO haul = leap the field), builds the template set and differential list, flags where the field is over-concentrated (fade ops) and under-reacting (get-there-first), and returns the ownership_leverage contribution under the rank objective θ that wc-fitness-eval folds into fitness. Also computes mini-league rival-relative leverage. Emits an `ownership` signal. Use when called by wc-ownership-analyst, by the strategists weighting picks by leverage, and by wc-fitness-eval scoring the rank term.
lyndonkl/wc-ownership-meta
Builds the structural support for the in-round levers in FIFA World Cup Fantasy — scores how the squad's players are distributed across the round's match days (a good build spreads them, NOT stacked on one day), orders the 4 bench players by kickoff time (latest highest, so they stay promotable after early results land), and generates conditional manual-substitution triggers ("if early starter scores ≤ T and a later bench player hasn't kicked off, promote them"). Implements BB6 (matchday spread) and MB3/MB4 (bench order + sub triggers), and the manual-substitution rule in league-config.md. Returns a kickoff_spread assessment with over-stack flags, a ranked bench_order (1–4), and a sub_triggers list. Use when laying out a matchday plan or vetting a candidate squad's timing layout — called by wc-matchday-tactician and the strategists, especially A6 Matchday Mechanic.
lyndonkl/wc-matchday-timing
Rates fixture difficulty (separately for an attacking and a defending fantasy asset, 1-5 each way, from opponent xGA/xG), computes team progression probabilities (group qualification odds from the mini-table; round-by-round knockout survival down the bracket) by reference-class forecasting updated Bayesianly on observed form and group state, detects weak-group/mismatch fixtures (powerhouse-vs-minnow -> captain candidates and clean-sheet locks), and builds a multi-round swing calendar of where each team's difficulty flips so transfers can be planned ahead. Emits the `fixture` signal. Use when called by wc-fixture-analyst, by the strategists in the populate stage, and by wc-fitness-eval for its progression_carry term — and never re-derive these once the signal exists.
lyndonkl/wc-fixture-progression
Scores a FIFA World Cup Fantasy candidate squad/plan as risk-adjusted, rank-relative fitness under a stated rank objective (protect / gain / neutral). Sums fixture-scaled player xEV + captaincy uplift, adds clean-sheet correlation and progression-carry, applies an ownership-leverage term (cover chalk when protecting, fade it when gaining), and a variance term whose SIGN flips with the objective (penalty when protecting, reward when chasing) — the selection-pressure dial. Returns one fitness number plus the full decomposition. Use to score the population in the evolution engine, or to evaluate any single squad/plan. The objective makes the same candidate score differently for a leader vs a chaser; never returns raw expected points.
lyndonkl/wc-fitness-eval
Appends FIFA World Cup Fantasy decisions to tracker/decisions-log.md — logging not just what the manager chose but the full OPTION SET they chose from, which option the board recommended, whether the manager overrode it, and the manager's stated reasoning. Also archives the full generation (population → offspring → board → pick) to generations/, and updates the archetype scoreboard (which genotypes' blocks were chosen/won) and the manager's revealed preferences. Append-only; never overwrites. The override rows are the system's most valuable learning signal. Use after the manager picks an option off a board.
lyndonkl/wc-decision-logger
Renders the FIFA World Cup Fantasy decision board — the advisory output that surfaces 2-4 genuinely distinct, weighted options for the expert manager and ends on "your call." Takes the evolution engine's verified offspring (with fitness decomposition, genotype lineage, and specialist dissent) and formats each as an option with its concrete picks, EV/ownership-leverage/variance/progression decomposition, football reasoning, what it's betting on, the dissent, and an ownership read — then a trade-off axis, a recommended-but-overridable default tied to the rank objective, and a "what I need from you." Enforces options-not-commands, shows the working, surfaces dissent, never auto-commits. Use to present any squad/matchday/transfer/chip decision.
lyndonkl/wc-decision-board
Computes clean-sheet probability and defensive-returns EV for a team in a specific fixture from team defensive strength (xGA) against opponent attacking strength (xG), then models the STACK CORRELATION that turns a Clean-Sheet Spine (BB2) — GK + k same-team defenders — into a single correlated bet rather than k independent draws. Returns p_cs(team,fixture), a stack_corr_bonus capturing the amplified joint ceiling and shared downside (sign interacts with the rank objective θ — amplify when chasing, discount when protecting), and expected_ga with its conceding-points downside. Use when sizing a defensive stack, valuing a GK/DEF pick, scoring a candidate's BB2, or weighing the Clean Sheet Shield chip — called by wc-squad-architect, wc-matchday-tactician, wc-fitness-eval, and the strategists.
lyndonkl/wc-clean-sheet-model
Scores the deployment leverage of all five FIFA World Cup Fantasy boosters (Wildcard, 12th Man, Maximum Captain, Clean Sheet Shield, Qualification Booster) across the remaining tournament horizon — computing, for each chip and each candidate round, the EXTRA expected points the chip yields in that round versus an average round, then turning the leverage surface into a fire/hold call per chip this round plus a maintained earmark table (chip -> earmarked round -> trigger -> fallback). This is the math engine behind wc-chip-strategist. Reads the round's player-ev, clean-sheet, fixture/progression, ownership and captain-ladder signals plus tournament-state (chips remaining, phase, surviving nations); never re-derives them. Enforces the golden rule — never reach the semis with chips unused. Use whenever a chip decision is live (the chip-check prompt, the group->KO transition, or any round where a chip is earmarked or leverage spikes). Emits a chip-plan signal.
lyndonkl/wc-chip-timing
Computes the optimal rolling-captaincy LADDER across a matchday's staggered kickoff sequence — the ordered captain candidates, the explicit bank-or-switch rules at each kickoff, and the captaincy_uplift that wc-fitness-eval folds into raw_xEV. Because the armband doubles the round's points AND can be MOVED during the round to a player who has not yet kicked off, captaincy EV is the expected value of the best outcome reachable by switching across the sequence — not a naive 2x of the top xEV player. Call from wc-matchday-tactician (to write MB2 of the matchday plan), from the strategists (to value a candidate's captaincy when building a matchday plan), and from wc-fitness-eval (which consumes captaincy_uplift). Returns the ladder, the switch thresholds, and the uplift against a stated baseline; the ladder is moot under the Maximum Captain chip (value = max of candidates).
lyndonkl/wc-captain-ladder
The recombination operator for the FIFA World Cup Fantasy evolution engine. Crosses elite candidate squads/plans at BUILDING-BLOCK boundaries (Captain Core, Clean-Sheet Spine, Mid-Engine, Differential Pod, Enabler Bench; or for matchday plans the XI/captain-ladder/bench/sub/chip blocks) — harvesting the strongest module from each parent rather than swapping individual players — then runs a feasibility REPAIR operator (budget, nation cap, formation, 15-man shape) that restores legality from the cheapest block first and never guts a value-bearing block. Records block lineage (which parent each block came from). Implements the Evolution document's central lesson that naive crossover destroys good building blocks. Use in the recombine stage after fitness selection.
lyndonkl/wc-building-block-crossover
The mutation operator for the FIFA World Cup Fantasy evolution engine. Applies small, bounded, feasibility-preserving perturbations to a recombined offspring squad/plan — swap one differential for an adjacent-price alternative, reorder the bench by kickoff, shift one captain-ladder step, try one fixture-swing transfer, nudge one enabler. Mutation rate is low by default and raised on demand by the diversity governor when the population has collapsed. Each mutation stays inside budget/nation/formation feasibility. Use in the mutate stage after recombination, or when wc-population-diversity calls for more exploration.
lyndonkl/wc-archetype-mutation
Ranks a proposed set of framings against the writer's voice profile, especially the analogy-direction priority — biology > organizational > sports, with physics/military as voice violations. Produces a tier rating per framing and flags any framing that would break voice. Use in the Intuition Builder pipeline after generating framings, to order them by fit with the writer's register. Trigger keywords — voice fit, analogy direction, biology to AI, organizational to multi-agent, sports to calibration.
lyndonkl/voice-fitness-check
Scans a substacker draft line-by-line against the canonical voice-profile.md don't-list and signature moves. Emits phrase-level flags with location, quoted phrase, violation type, voice-profile citation, and up-to-2 suggested rewrites per flag. Use as pass-2 skill (voice) after structural-review completes, when a draft reads competent but not in the writer's voice, or when the writer asks "does this sound like me?" Trigger keywords — voice check, delve, unpack, paradigm shift, sounds AI, does this sound like me, voice violation.
lyndonkl/voice-check
Matches visualization types to data questions and creates narrated reports that highlight insights and recommend actions. Covers chart selection (comparison, trend, distribution, relationship, composition, geographic), perceptual best practices, and narrative reporting (headline, pattern, context, meaning, action). Use when analyzing data for patterns, building dashboards, presenting metrics, monitoring KPIs, or when user mentions "visualize this", "what chart should I use", "create a dashboard", "analyze this data", "show trends", "report on".
lyndonkl/visualization-choice-reporting
Transforms data into compelling visual narratives by applying narrative structure, annotation techniques, scrollytelling patterns, and honest framing to data journalism, presentations, and infographics. Use when creating data-driven articles or reports, designing infographics with narrative, building scrollytelling experiences, annotating charts to guide interpretation, or when user mentions data storytelling, presentation design, annotated chart, narrative visualization.
lyndonkl/visual-storytelling-design
Given a current win probability and a downside asymmetry flag, recommends a variance-seeking, neutral, or variance-minimizing posture and emits a numeric multiplier (typically 0.8-1.3) for downstream consumers to apply to boom-bust scores, position sizes, or bet sizes. Favorites minimize variance; underdogs maximize it. Reusable across fantasy sports lineup construction, portfolio allocation, poker bankroll decisions, racing strategy, and any decision where the agent controls a variance knob. Use when user mentions variance strategy, underdog variance, variance seeking, variance minimizing, risk posture, boom bust, must-win variance, favorite strategy, or when a decision module needs a single scalar to bias toward or away from high-variance options.
lyndonkl/variance-strategy-selector
Assembles a finished company analysis into the deliverable a decision-maker reads — the executive summary, the value bridge, the assumptions that matter, the sensitivity range, and the recommendation with its catalysts and risks. Use when writing up a valuation, DCF, acquisition, IPO, restructuring or corporate finance analysis, when drafting REPORT.md or the verdict, or when deciding what belongs in the report.
lyndonkl/valuation-reporting
Attacks a finished valuation the way a skeptical reviewer would — hunts bias and verdict-first reasoning, checks that each risk is charged exactly once, tests whether growth is paid for, interrogates terminal value, reverse-engineers what the market price already assumes, and applies the seven deadly sins of acquisition analysis. Use when reviewing a completed valuation, red-teaming or challenging assumptions before acting on a number, auditing a DCF someone else built, or checking double counting, control premiums, synergy claims, comparable sets and route constraints.
lyndonkl/valuation-red-team
Checks a finished valuation for internal consistency across its artifacts — currency agreement between cash flows and discount rate, terminal growth against the riskfree ceiling, reinvestment that pays for the growth assumed, perpetual excess returns, capital weights and beta range, equity bridge arithmetic, tax rates, and the hard constraints a company's type imposes. Grades each finding ERROR, WARN or INFO and exits 1 on any error, so it can gate a pipeline. Use before accepting a DCF, when reviewing someone else's model, when a value looks too high, or when checking terminal value assumptions, growth-versus-reinvestment consistency, currency consistency, or an equity bridge that does not tie.
lyndonkl/valuation-consistency-checks
Proposes adds and removes to the Trend Scout watchlist based on consecutive-failure sources, repeated-reference external authors, and user-added feedback markers. Emits a proposed diff at ops/trend-scout/watchlist-proposed-diff.md for user review. On explicit approval, applies the diff. Monthly cadence. Trigger keywords — watchlist update, add source, remove source, watchlist review, monthly review, source pruning.
lyndonkl/update-watchlist
Maintains substacker shared-context/topic-ledger.md as an append-and-update index of all topics in the corpus. Each topic row tracks seed/draft/published counts, last-touched date, top-3 seed ids by density, and a hot/warm/cold temperature indicator. Use after any seed is created, promoted to draft, published, or killed. Trigger keywords — ledger, topic index, update index, topic ledger, hot/cold topics.
lyndonkl/update-topic-ledger
Writes the canonical substacker shared-context/section-map.md after writer confirmation of review-artifact proposals. Atomic write with backup snapshot. Validates schema before writing. Use as the final step of a Curator run, only after writer has accepted/modified proposals. Trigger keywords — update section map, write section map, commit sections, apply changes.
lyndonkl/update-section-map
Appends one structured YAML observation block to substacker shared-context/audience-notes.md iff the week produced at least one observation with confidence ≥ medium. Includes supporting evidence (post slugs + numbers) and reviewed_by_curator flag. Never rewrites or deletes prior entries. Append-only discipline protects downstream agents' shared context. Use at the end of each weekly pipeline after write-weekly-report. Trigger keywords — audience notes, append observation, audience insight, confidence-rated.
lyndonkl/update-audience-notes
Appends an entry to substacker shared-context/analogy-catalog.md when the writer PUBLISHES a post that uses a new analogy. Not invoked on seed or draft — only on publish. Records source, target, post, freshness, mapping, where-it-breaks, and why-it-worked. Prevents silent recycling in future Intuition Builder runs. Use at publish time for any post that contains a non-trivial analogy. Trigger keywords — catalog, analogy catalog, update catalog, publish, analogy archive.
lyndonkl/update-analogy-catalog
Adapts content for different audiences while preserving core accuracy, changing tone, depth, emphasis, and framing to match audience expertise and goals. Use when technical content needs business framing, strategic vision needs tactical translation, expert knowledge needs simplification, formal content needs casual tone, long-form needs summarization, internal content needs external framing, or cross-cultural adaptation is needed. Use when user mentions "explain to", "reframe for", "translate for [audience]", "adapt for [executives/engineers/customers]", or "same content, different audience".
lyndonkl/translation-reframing-audience-shift
Detects and removes duplicate transactions across overlapping bank, credit-card, and brokerage statement imports using a stable composite key (account_id, date ±1d, amount_cents, description_normalized). Emits a list of new transactions to commit, a list of suppressed duplicates with their reasons, and a list of suspicious near-duplicates that need human review. Use when ingesting financial statements that may overlap prior drops, merging multiple export sources for the same account, or when user mentions duplicate transactions, deduping a transaction file, or reconciling overlapping statements.
lyndonkl/transaction-deduplicator
Assigns a category and subcategory to a financial transaction by matching its raw description against a configurable taxonomy and rules table, falling back to LLM inference when no rule matches. Emits a normalized merchant name, category path, recurring flag, and confidence score, and proposes new rules from confirmed classifications. Use when categorizing bank, credit-card, or brokerage transactions, building or refining a category taxonomy, or when user mentions transaction categorization, merchant normalization, expense classification, or category rules.
lyndonkl/transaction-categorizer
Walks a finished document line by line, finds every word and phrase standing in for a concept, and breaks each one down until a reader with no background can follow it. Targets the assumed-knowledge phrase, the kind that sounds ordinary while hiding everything that matters ("moat", "flywheel", "product-market fit", "at scale"), not merely the rare word. Explains each term where it is used, then re-reads its own explanation and unpacks any new term that explanation introduced, repeating until every word bottoms out in ordinary language. Produces a term ledger recording what was flagged, how it was handled, where each explanation came from, and how many passes it took. Use after drafting any report, explainer or analysis for a non-expert audience, or when asked to explain something from first principles, assume the reader knows nothing, cross-question the jargon, define every term, or make a document readable by a beginner.
lyndonkl/term-interrogation
Scans a taxable brokerage account for individual lots with unrealized losses above a configurable threshold, identifies wash-sale risks by checking recent buys and forward planned buys of substantially identical securities (across all household accounts including spousal), and proposes harvest pairs (sell-for-loss + immediate buy of a similar-but-not-identical replacement). Use for year-end tax planning, monthly TLH scans, after market drawdowns, or when user mentions tax-loss harvesting, TLH, wash sale, or harvest candidates.
lyndonkl/tax-loss-harvest-scanner
Assigns 1-4 topic tags to a seed body from the controlled vocabulary in substacker shared-context/topic-ledger.md. Prevents tag sprawl at small-corpus scale by requiring existing-tag match or logged addition. Uses keyword + title match; logs near-miss candidates to pending-tags. Use after format normalization and before dedupe. Trigger keywords — tag, topics, categorize, classify, taxonomy, controlled vocabulary, topic ledger.
lyndonkl/tag-by-topic
Finds high-leverage intervention points in complex systems by mapping feedback loops, identifying system archetypes (fixes that fail, shifting the burden, tragedy of the commons, limits to growth), and ranking interventions by Meadows' leverage hierarchy. Use when problems involve interconnected components with feedback loops, delays, or emergent behavior; when past solutions failed or caused unintended consequences; when identifying where to push for maximum effect; or when user mentions systems thinking, leverage points, feedback loops, causal loop diagrams, stocks and flows, or complex systems.
lyndonkl/systems-thinking-leverage
Renders a market, protocol, institution, codebase, supply chain, disease, or ecosystem as a legible protagonist without faking agency. Builds the POSIWID character sheet (revealed objective function vs. stated purpose), the agency ledger of verb repairs, the gateway-proxy admission test, the traveling-object device, the instrumented threshold scene, and climax by constraint violation. Use when the subject of a piece is a system rather than a person, when a draft says "the market decided" or "the industry learned", when analysis reads as a data dump with no protagonist, or when user mentions systemic narrative, system as character, POSIWID, anthropomorphism, agency laundering, follow the flow, or institution as protagonist.
lyndonkl/systemic-protagonist
Domain-neutral methodology for evaluating completeness and logical soundness of an extracted set of components, then transforming them into actionable guidance. Runs the "is it true / is it complete / what of it" critical evaluation pass before any final artifact is built. Checks for completeness gaps, logical consistency, contradictions, and practical applicability. Reusable across any extraction workflow - skill creation (evaluating extracted components before building SKILL.md), paper extraction (evaluating Pass 2 extraction notes before deep reading), report writing (evaluating gathered evidence before synthesis). Use when an agent has extracted structured components from a source and needs to gate-check before downstream commitment. Trigger keywords - synthesis evaluation, completeness check, logic check, critical evaluation, fact-check before synthesis, gap analysis, what is not said.
lyndonkl/synthesis-application
Synthesizes information from multiple sources into coherent insights and applies analogical reasoning to transfer knowledge across domains. Use when conducting literature reviews, integrating stakeholder feedback, reconciling conflicting viewpoints, identifying cross-source patterns, creating explanatory analogies ("X is like Y"), finding creative solutions through cross-domain transfer, or testing whether analogies hold (surface vs deep). Use when user mentions "synthesize", "combine sources", "analogy", "similar to", "transfer from", "integrate findings".
lyndonkl/synthesis-and-analogy
Provides empirical test protocols and metrics to validate whether hypothesized symmetries actually hold in data or models before committing to equivariant architecture. Includes invariance/equivariance testing, group structure verification, and distribution analysis under transforms. Use when testing invariance, validating equivariance, checking symmetry assumptions, debugging symmetry-related model failures, or needing data-driven validation before architecture decisions.
lyndonkl/symmetry-validation-suite
Maps identified symmetries to mathematical groups (cyclic, dihedral, symmetric, SO(3), SE(3), E(3)) for equivariant neural network architecture design, using taxonomy and foundations from Visual Group Theory. Use when candidate symmetries have been identified and need formalization into group theory language, or when user mentions cyclic groups, dihedral groups, Lie groups, SO(3), SE(3), or permutation groups.
lyndonkl/symmetry-group-identifier
Guides collaborative discovery of hidden symmetries in ML data through structured domain analysis, coordinate system examination, transformation testing, and physical constraint identification. No group theory knowledge required. Use when ML engineers need to identify symmetries in their data, when user mentions data symmetry, invariance discovery, what transformations matter, or needs help recognizing patterns their model should respect.
lyndonkl/symmetry-discovery-questionnaire
Identifies substacker seeds older than 30 days with status=seed and no incoming related_seeds links, flags them for writer review, and recommends keep / promote-to-draft / kill based on density score. Does NOT auto-execute any action. Emits a review list to ops/librarian/YYYY-MM-DD-stale-sweep.md. Run at session start after ingest, once per day max. Trigger keywords — stale, sweep, review, old seeds, cleanup, gardener, corpus hygiene.
lyndonkl/sweep-stale-seeds
Given a candidate item from the substacker Trend Scout fetch, WebFetches the full post or arXiv abstract and produces a one-line "teaches X" summary plus signal_type classification (mechanism / empirical / tool / opinion / announcement / benchmark). Distinguishes teaching-content from capability-announcement explicitly. Use during the weekly run, after fetching and before ranking. Trigger keywords — summarize, signal type, mechanism vs announcement, teaching content.
lyndonkl/summarize-signal
Rewrites a published substacker essay as a Substack Note using the extracted spine and chosen hook. Closest voice to the essay. Bolded maxim closer. Single link line. 60-180 words. Emits substack-note.md in the post's distribution folder. Use as the Substack-native arm of the Distribution Translator. Trigger keywords — Substack Note, note rewrite, note post, tease, Notes feed.
lyndonkl/substack-note-rewrite
Performs pass-1 structural review of a substacker essay draft — argument flow, out-of-order moves, buried topic sentences, missing pivots, weak signposting, paragraph-logic issues. Emits the "Argument flow" and "Structural blockers" sections of the Editor artifact. Use when reviewing a draft's macro-structure before addressing voice, when a draft feels like it meanders, or when the user asks whether the argument lands. Trigger keywords — structure, argument flow, outline, signposting, meandering, pivot, macro edit, substantive edit.
lyndonkl/structural-review
Domain-neutral methodology for the second level of Adler-style reading - understanding what a document is about *as a whole* and how its parts relate. Classifies content (practical vs theoretical; sequential / categorical / structured / hybrid), states unity in one sentence, enumerates major parts and their organization, and defines the problems the document tries to solve. Reusable across any extraction workflow - skill creation from a methodology document, Pass-2 content grasp on an academic paper, structural review of a long-form document. Use when an agent has done inspectional reading and now needs to map structure before deeper component extraction. Trigger keywords - structural analysis, document structure, state unity, enumerate parts, Adler Level 2, content classification, define problems.
lyndonkl/structural-analysis
Stress-tests a proposed analogy by finding the edge where the mapping breaks, then frames that break as a teaching opportunity the writer can fold into the post. Every analogy has a boundary; the writer's style treats that boundary as a feature. Use after generate-analogy-set and map-analogy-to-concept, for each framing. Trigger keywords — where does it break, stress-test, boundary, edge case, fold the break, analogy limits.
lyndonkl/stress-test-analogy
Develops business strategies grounded in rigorous competitive and market analysis using proven frameworks (Good Strategy kernel, Porter's 5 Forces, SWOT, Blue Ocean, Playing to Win, Value Chain Analysis, BCG Matrix). Use when developing strategy (market entry, product launch, expansion, M&A, turnaround), conducting competitive analysis, making strategic decisions (build vs buy, pricing, positioning), planning strategic initiatives, or when user mentions strategy, competitive analysis, Porter's 5 Forces, SWOT, market positioning, or strategic frameworks.
lyndonkl/strategy-and-competitive-analysis
Provides the house style for analyst-grade strategist writing — third-person register with sparing first-person, no em dashes, no "not X, not Y, not Z" negation cascades, numbered footnote citations rather than inline source parentheticals, specific opinion-signaling phrases, and topic-forward paragraph structure modeled on voice patterns observed in Damodaran's Musings on Markets and Thompson's Stratechery. Use when consolidating working notes into a finished long-form strategist or analyst report that must read as written by a senior human analyst rather than an AI assistant.
lyndonkl/strategist-voice
Verifies that an extracted statement is internally consistent by checking that opening_balance + sum(transactions) = closing_balance within a small tolerance, and produces a reconciliation report flagging missing rows, double-counted rows, sign errors, and rounding diffs. Use as the gate between PDF extraction and committing transactions to the data store, when reconciling a statement that does not balance, or when user mentions reconcile, balance check, or statement does not tie out.
lyndonkl/statement-reconciler
Provides frameworks for mapping stakeholder influence networks, designing team structures aligned with system architecture (Conway's Law), defining team interface contracts (APIs, SLAs, decision rights), and assessing capability maturity (DORA, CMMC, agile models). Use when designing org structure or team topologies, mapping stakeholders for change initiatives, defining team interfaces, assessing capability maturity, planning restructures, or when user mentions org design, team structure, stakeholder map, Conway's Law, or RACI.
lyndonkl/stakeholders-org-design
Turns a raw dictation transcript into a clean, editable draft while preserving the writer's voice and form exactly. MECHANICAL ONLY — removes fillers and false starts, restores sentence-boundary punctuation and paragraph breaks, and FLAGS likely transcription errors as questions rather than silently fixing them. It does NOT restructure, restyle, reword, or improve. Produces the cleaned draft plus a cleanup log of every change and every flag. This is the strict intake bridge from "speak out my article" to an editable draft, run before the advisory-edit passes. Use when cleaning a dictation/voice transcript, prepping a spoken draft for editing, or doing transcript intake. Trigger keywords — clean up transcript, dictation cleanup, spoken draft, transcript intake, remove fillers, flag transcription errors.
lyndonkl/spoken-draft-cleanup
Values companies the standard DCF cannot handle, across five branches — distress (failure probability from a bond price or rating, blended with the distress-sale outcome), financial service firms (equity excess return and FCFE against regulatory capital, since a bank gets no FCFF and no optimal debt ratio), private companies (total beta for an undiversified owner, Silber and bid-ask illiquidity discounts), cyclical and commodity firms (mid-cycle normalized earnings), and young negative-earnings firms (a revenue and margin path plus survival odds, emitted as a dcf-valuation-engine payload). Also walks a private owner's value to an IPO offer price line by line. Use when valuing a bank, insurer, startup, distressed firm, private business, miner or deep cyclical, when pricing an IPO or a sale to a public buyer, or when asked about probability of distress, total beta, illiquidity discount, excess return models, normalized earnings, or negative-earnings valuation.
lyndonkl/special-situation-models
Guides learners to discover knowledge through strategic Socratic questioning and progressive scaffolding removal. Combines question ladders, misconception detectors, Feynman explanations, and worked-example fading to build durable understanding. Use when teaching complex concepts, correcting misconceptions, onboarding team members, mentoring problem-solving, or designing self-paced learning. Use when user mentions "teach me", "help me understand", "explain like I'm", "learning path", "guided discovery", or "Socratic method".
lyndonkl/socratic-teaching-scaffolds
Scans a substacker draft for 10 signatures of AI-generated explainer slop — meta-framing openers ("In this post"), list-heavy argument, nominalization clusters, generic examples lacking first-person texture, prompt-residue phrases ("Let's break this down"), buzzword stuffing, outline-shaped paragraphs, hedge clusters, flattened uncertainty. Use when a draft "feels generic" even after voice-check passes. Trigger keywords — slop, AI-written, generic, template, meta-framing, zombie nouns, prompt residue, outline-shaped.
lyndonkl/slop-detector
Transforms documents containing theoretical knowledge or frameworks (PDFs, markdown, book notes, research papers, methodology guides) into actionable, reusable Claude Code skills using systematic reading methodology. Use when user mentions "create a skill from this document", "turn this into a skill", "extract a skill from this file", or when analyzing documents with methodologies, frameworks, or processes that could be made actionable.
lyndonkl/skill-creator
Methodology for building a properly structured Claude Code skill (SKILL.md + optional resources + evaluation rubric) from extracted components. Assesses complexity (Level 1 simple - SKILL.md only; Level 2 moderate - SKILL.md plus 1-3 resources; Level 3 complex - SKILL.md plus 4-8 resources), plans the resource grouping, drafts SKILL.md following Anthropic's authoring best practices (concise frontmatter with what + when triggers, body under 500 lines, progressive disclosure to resource files one level deep, workflow checklists), and constructs an evaluation rubric. Use when extracted components and a synthesis verdict are in hand and the next step is to materialize them as a skill. Trigger keywords - construct skill, build SKILL.md, skill construction, skill scaffolding, generate skill files.
lyndonkl/skill-construction
Systematically identifies vulnerabilities, threats, and mitigations for systems handling sensitive data using STRIDE methodology, trust boundary mapping, and defense-in-depth principles. Use when designing or reviewing systems with PII/PHI/financial/auth data, building security-sensitive features (auth, payments, file uploads, APIs), preparing for audits or compliance (PCI, HIPAA, SOC 2), investigating incidents, or integrating third-party services. Use when user mentions threat model, STRIDE, trust boundaries, attack surface, or security review.
lyndonkl/security-threat-model
Classifies each substacker section as healthy / drifting / candidate-for-prune based on post volume, engagement trend, and niche alignment. Produces table + 2-4 paragraph narrative. Used in every quarterly review. Trigger keywords — portfolio, section health, healthy drifting prune, section assessment, which section is carrying.
lyndonkl/section-portfolio-assessment
Verifies the section-break style in a substacker draft matches the post register — asterisks (* * *) for essayistic posts under 2500 words, H2 for methodology / how-to / technical posts. Flags mixed registers (H2 in a reflective essay, asterisks in a structured how-to). Per the style-guide rhythm rule. Use every draft. Trigger keywords — section break, asterisk, H2, headers, register, essayistic vs methodology.
lyndonkl/section-break-check
Answers "what have I already thought about X?" by searching the substacker corpus (seeds, drafts, published) for seeds matching a topic, keyword, analogy, or author. Returns a ranked list of seeds with id, title, status, density score, and a one-line excerpt. Use when another agent (Intuition Builder, Editor) needs prior thinking before generating new material, or when the writer asks "have I written about X." Trigger keywords — search, find, what have I, already thought, prior work, precedent, have I written about.
lyndonkl/search-corpus
Detects and removes cognitive biases from reasoning using Julia Galef's Scout Mindset framework. Provides reversal tests, scope sensitivity checks, status quo bias tests, confidence interval audits, and full bias audits. Use when a prediction feels emotional, stuck at 50/50, or when validating forecasting process. Use when user mentions scout mindset, soldier mindset, bias check, reversal test, scope sensitivity, or cognitive distortions.
lyndonkl/scout-mindset-bias-check
Computes a 0-10 intuition-density score for a seed body using 8 concrete measurable signals — analogy presence, concrete worked example, counterfactual offered, reframe against default, biology-to-AI transfer, question posed, calibrated hedge, math-to-metaphor handoff. Emits both the numeric score and the list of triggered signals for auditability. Use after topic tagging to enrich seed frontmatter in the substacker Librarian pipeline. Trigger keywords — intuition density, score, signals, analogy count, worked example, density proxy.
lyndonkl/score-intuition-density
Guides systematic multi-pass review and editing of scientific manuscripts (research articles, reviews, perspectives) to improve clarity, structure, scientific rigor, and reader comprehension. Use when reviewing or editing research manuscripts, journal articles, or perspectives, when user mentions manuscript, paper draft, article, research writing, journal submission, reviewer feedback, or needs to improve scientific writing.
lyndonkl/scientific-manuscript-review
Composes and polishes professional scientific correspondence -- emails to collaborators, journal cover letters, and responses to peer reviewers -- ensuring clear communication, appropriate tone, explicit asks, and professional formatting for academic contexts. Use when writing or polishing scientific emails, cover letters to editors, reviewer responses, or when user mentions email to collaborator, cover letter to journal, reviewer response, or professional scientific correspondence.
lyndonkl/scientific-email-polishing
Reviews scientific documents for logical clarity, argument soundness, and rigor by auditing hypothesis-data alignment, claim-evidence chains, quantitative precision, hedging calibration, and terminology consistency across any document type. Use when reviewing scientific argumentation, checking claims vs evidence, auditing terminology, or when user mentions check clarity, review logic, scientific soundness, hypothesis-data alignment, or claims vs evidence.
lyndonkl/scientific-clarity-checker
Builds scenes that are reported rather than generated, by running a four-slot SCAM qualification gate (Setting, Character, Action, Meaning) with a source required per slot, a scene floor and ceiling, the 1-of-20 telling-detail cut with a provenance veto, the RUE pass, and a scene/summary narrative-distance audit against per-form ratio targets. Every technique has a person variant and a system variant (market, protocol, institution, codebase, supply chain). Use when turning research notes into a scene, opening a section with a moment, deciding whether a passage is a scene or summary, or auditing whether a vivid paragraph is actually sourced, or when user mentions scene, SCAM, show don't tell, telling detail, scene vs summary, summary in costume, establishing shot, make this vivid, or in medias res.
lyndonkl/scene-construction-scam
Analyzes decisions from multiple stakeholder perspectives (engineering, product, legal, finance, users) to uncover blind spots, surface tensions, and synthesize alignment paths with explicit tradeoffs. Use when stakeholders have conflicting priorities, need to pressure-test proposals, build cross-functional empathy, or when user mentions "what would X think", "stakeholder alignment", "see from their perspective", "blind spots", or "conflicting interests".
lyndonkl/role-switch
Plans backward from a fixed goal or deadline to the present, identifying required milestones, dependencies, critical path, and feasibility constraints to transform aspirational targets into actionable sequenced plans. Use when planning with fixed deadlines, working backward from future goals, mapping critical path, or when user mentions "backcast", "work backward from", "reverse planning", "we need to launch by", "target date is", or "what needs to happen to reach".
lyndonkl/roadmap-backcast
Facilitates structured team reflection through retrospectives, post-mortems, after-action reviews, and weekly/quarterly reviews, producing root cause analysis and SMART action items with psychological safety. Use when conducting sprint retrospectives, project post-mortems, weekly reviews, quarterly reflections, after-action reviews (AARs), or when user mentions "retro", "retrospective", "what went well", "lessons learned", "reflection", or "how can we improve".
lyndonkl/reviews-retros-reflection
Designs retrieval strategies for querying knowledge graphs in RAG systems, covering pattern selection (global-first, local-first, U-shaped hybrid), query decomposition for multi-hop reasoning, ranking and constraint configuration, and provenance tracking for citation. Use when designing retrieval pipelines, orchestrating search over knowledge graphs, or when user mentions retrieval strategy, search orchestration, query decomposition, multi-hop reasoning, provenance tracking, or citation in GraphRAG.
lyndonkl/retrieval-search-orchestration
Systematically evaluates claims by triangulating sources, rating evidence quality (primary/secondary/tertiary), assessing source credibility, and reaching confidence-rated conclusions to prevent confirmation bias and reliance on unreliable sources. Use when verifying claims before decisions, fact-checking statements, conducting due diligence, evaluating conflicting evidence, or when user mentions "fact-check", "verify this", "is this true", "evaluate sources", "conflicting evidence", or "due diligence".
lyndonkl/research-claim-map
Prices a company against peers and the market with multiples — builds PE, PEG, PBV, EV/EBITDA, EV/EBIT, EV/Sales and EV/Invested Capital with the numerator/denominator consistency rule enforced, computes peer medians and quartiles, fits an ordinary-least-squares regression of a multiple on its companion variables for a sector or the whole market, reports predicted versus actual under and over valuation, and derives the intrinsic multiple from DCF fundamentals. Prices a conglomerate division by division with a sum of the parts, and values cross-holdings and minority interests. Bundles Damodaran's regional pricing regressions and multiple distributions. Use for relative valuation, comparable company analysis, trading comps, sector or market multiple regressions, justified multiples, PEG screens, sum-of-the-parts or break-up analysis, conglomerate discounts, cross-holdings and minority interests, or when asked whether a stock is cheap on its multiple.
lyndonkl/relative-valuation-toolkit
Anchors predictions in historical reality by identifying a class of similar past events and using their statistical frequency as a baseline (outside view) before analyzing case-specific details. Use when starting a forecast, establishing base rates, testing "this time is different" claims, or when user mentions reference classes, outside view, base rates, or starting a new prediction.
lyndonkl/reference-class-forecasting
Identifies recurring charges (subscriptions, monthly bills, biweekly paychecks) from a transaction history by clustering same-merchant transactions of similar amount on a regular cadence, requiring at least 3 confirming occurrences before promoting a candidate to active status. Detects new recurring charges, dormant subscriptions (missed expected dates), and amount drift, and computes annualized cost. Use when auditing subscriptions, building a recurring bills calendar, computing cash-flow forecast inputs, or when user mentions subscription audit, recurring detection, dormant subscription, or annualized cost.
lyndonkl/recurring-charge-detector
Recommends structural cleanups for the substacker section map — sections to retire, sections to merge, posts to reassign. Applies under-filled, stale, and overlapping heuristics. Writes proposals with reasons-to-reject (steelman counter). Does not execute. Use once per Curator run, after drift audit. Trigger keywords — prune, retire section, merge sections, reassign post, cleanup.
lyndonkl/recommend-prune
Rewrites expository prose for a reader meeting the subject for the first time, not an insider who already shares the writer's knowledge. Enforces introduce-before-use (every entity, term and acronym defined on first mention, in an order a newcomer can follow), grounds or cuts every metaphor in the same breath it appears, converts compressed or nominalized logic into a plain if-then, and kills the two loudest machine tells, the em dash and the terse two-beat antithesis ("X. Not Y."). Carries an honesty pass so the prose never out-claims its evidence, marking inference as inference and preserving every number exactly. Use when a draft assumes knowledge the reader lacks, reads as insider or "clever", name-drops terms before defining them, leans on unexplained metaphor, or sounds AI-written; or when the user mentions first-time reader, plain language, define before use, sounds like AI, em dash, too clever, or jargon. Complements ladder-of-abstraction, slop-detector and narrative-fidelity-audit.
lyndonkl/reader-first-prose
Scores prose with Flesch Reading Ease, Flesch-Kincaid Grade, SMOG, Gunning Fog, and Dale-Chall, reports every score on one shared grade-band scale, and rewrites the sentences that fail. Runs on markdown files or on piped draft text before it is sent, and can run automatically through Claude Code hooks. Use before delivering any substantial written output, when a draft reads as convoluted or bloated, when a document must hit a reading-level target, or when checking a folder of documents for prose quality. Trigger keywords — readability, reading level, Flesch, Flesch-Kincaid, SMOG, Gunning Fog, Dale-Chall, grade level, hard to read, convoluted, dense prose, plain language, reading ease.
lyndonkl/readability-check
Scores and ranks substacker Trend Scout annotated candidates against voice-profile and goals, producing a top-10 keep list and an explicit drop list with reasons. Weighted-sum scoring across intuition-density fit, goal alignment, dedup penalty, source reliability, freshness. Produces the digest's keeps and drops sections. Use after cross-ref-topic-ledger. Trigger keywords — rank, fit score, user fit, keep list, drop list, signal weight.
lyndonkl/rank-by-user-fit
Synthesizes 13 weeks of substacker Growth Analyst reports + the most recent Curator review + a meta-scan of the published corpus into a 400-700 word narrative that names the quarter's shape — what happened, what changed, what held steady, what surprised. Used by the Growth Strategist at the opening of every review. Trigger keywords — quarterly, zoomout, quarter narrative, rollup, what happened this quarter.
lyndonkl/quarterly-zoomout
Guides validation of ideas before full development using pretotyping (fake doors, concierge MVPs, Wizard of Oz) and prototyping at appropriate fidelity (paper, clickable, coded) to test assumptions about demand, pricing, and feasibility. Use when testing ideas cheaply before building, choosing prototype fidelity, running experiments to validate assumptions, or when user mentions prototype, MVP, fake door test, concierge, Wizard of Oz, landing page test, smoke test, or asks "how can we validate this idea before building?".
lyndonkl/prototyping-pretotyping
Runs Jack Hart's Wordcraft line passes in strict order (Structure, Force, Brevity, Clarity, Rhythm, Humanity, Color, Voice, Mechanics) followed by a slop audit, one pass per edit class, with a claim-strength invariant that stops verb strengthening and hedge cutting from silently overclaiming. Enforces upward escalation instead of downward compensation, a protected-hedge list, a clarity split log the rhythm pass may not undo, and rhythm metrics reported as diagnostics rather than optimized. Use when line-editing a draft, tightening flabby prose, fixing weak verbs or monotonous sentence rhythm, de-slopping AI-sounding copy, or when user mentions line edit, force pass, punch it up, tighten this, passive voice, wordy, sentence variety, sounds like AI, burstiness, or Wordcraft.
lyndonkl/prose-force-and-rhythm
Converts one candidate cluster from cluster-corpus-by-theme into a named, promised section proposal ready for writer review. Calls write-section-promise for the one-sentence promise. Rates fit confidence (high / medium / low / provisional) and flags borderline posts. Use once per cluster that passes ≥3-post threshold. Trigger keywords — propose section, section proposal, new section candidate.
lyndonkl/propose-section
Produces the counterfactual framing in an Intuition Builder 5-set — "what if this component were not here?" Reveals the function of a technical element by subtracting it and observing what breaks. Uses Pearl's causal ladder (counterfactual = level 3) as the theoretical spine. Use as the 5th archetype slot of generate-analogy-set, or invoked standalone when the writer wants to build intuition for why a specific element exists. Trigger keywords — counterfactual, what if not, remove, subtract, reveal function, why does this exist.
lyndonkl/propose-counterfactual
Identifies, assesses, and prioritizes project risks using probability-times-impact scoring (risk matrix), then assigns owners, mitigation plans, contingencies, and triggers to track risk evolution over the project lifecycle. Use when managing project uncertainty, building a risk register, conducting risk assessments, defining risk mitigation plans, or when user mentions risk register, risk management, probability-impact matrix, or asks "what could go wrong with this project?".
lyndonkl/project-risk-register
Evaluates a discrete investment, project or acquisition from its cash flow stream — NPV, IRR with every root reported when the stream has more than one, MIRR, profitability index and project selection under a capital budget, equivalent annuities and replication for unequal lives, payback and discounted payback, project return on capital and EVA, synergy value with the ceiling price it supports, the value of control and its expected value, the four-number acid test for a deal, and control premiums and minority discounts. Use when deciding whether to take a project, ranking competing projects, comparing projects with different lives, sizing a capital budget, testing whether a stream is truly incremental, valuing synergy or control, pricing a majority or minority stake, or setting the maximum price for an acquisition.
lyndonkl/project-investment-analysis
Scans the substacker published corpus for clusters of posts that could become a product — a course, a book, a cohort, or a consulting offer. Produces at most 2 candidates with evidence + audience signal, or an honest "not yet" verdict if nothing qualifies. Typically fires once the writer has 30+ posts. Trigger keywords — product hiding, course from essays, book from essays, corpus to product, product scan.
lyndonkl/product-hiding-scan
Transforms overwhelming backlogs into clear, actionable priorities by mapping items on a 2x2 effort-vs-impact matrix, identifying quick wins (high impact, low effort), big bets, time sinks, and fill-ins. Use when ranking backlogs, deciding what to do first, prioritizing feature roadmaps, triaging bugs or technical debt, allocating resources across initiatives, identifying low-hanging fruit, evaluating strategic options, or when user mentions prioritization, quick wins, effort-impact matrix, high-impact low-effort, big bets, or "what should we do first?".
lyndonkl/prioritization-effort-impact
Conducts blameless postmortems that transform failures into learning opportunities by documenting timelines, quantifying impact, performing root cause analysis (5 Whys, fishbone diagrams), and defining corrective actions with owners and deadlines. Use when analyzing failures, outages, incidents, or negative outcomes, conducting blameless postmortems, identifying corrective actions, learning from near-misses, establishing prevention strategies, or when user mentions postmortem, incident review, failure analysis, RCA, lessons learned, or after-action review.
lyndonkl/postmortem
Creates strategic portfolio roadmaps that size and sequence initiative bets across time horizons (H1/H2/H3), balance risk profiles (core/adjacent/transformational), and set clear exit/scale criteria for disciplined resource allocation. Use when managing multiple initiatives across time horizons, balancing risk vs return across portfolio, sizing and sequencing bets with dependencies, setting exit/scale criteria for experiments, allocating resources across innovation types, or when user mentions portfolio planning, roadmap horizons, betting framework, initiative prioritization, innovation portfolio, or resource allocation across horizons.
lyndonkl/portfolio-roadmapping-bets
Aggregates investment holdings across taxable brokerage, 401k, and HSA into a single asset-allocation view, computes drift versus a target allocation, and produces a tax-efficient rebalance proposal that prefers tax-advantaged accounts for the trades and never executes. Flags drift over 5 percentage points and free-money issues like missed 401k employer match. Use when reviewing portfolio allocation, planning a rebalance, computing drift, or when user mentions asset allocation, drift, rebalancing proposal, or 401k match.
lyndonkl/portfolio-drift-rebalancer
Runs a voice-fidelity audit on each of the four substacker platform outputs (Substack Note, X thread, LinkedIn post, cross-post blurb) before reporting Distribution Translator completion. Checks for voice-don'ts (banned vocabulary, emoji, generic openers, marketing math without source), voice-do compliance (paper attribution preserved, hedges preserved, em-dash reframes present), platform-specific tonal shifts. Emits voice-check.md with pass/fail per artifact. Trigger keywords — platform voice check, voice-check, gate, distribution voice, slop-leak check.
lyndonkl/platform-voice-check
Breaks down weekly and trailing-4-week substacker performance per Substack section, keyed on section tags in corpus/published/ and section-map.md. Reports opens, clicks, subs-attributable-to-section per section with ≥3 posts. Skips if section-map has <2 sections. Feeds Curator with pruning candidates (sections with 4-week median z ≤ -1.0). Use when section-map has ≥2 live sections. Trigger keywords — per-section, section performance, section metrics, section pruning, differential engagement.
lyndonkl/per-section-tracking
Parses a single financial statement PDF (checking, savings, credit card, brokerage, 401k, HSA, mortgage, tax form) and emits a normalized JSON record with institution, account mask, statement period, opening/closing balances, line-item transactions or holdings, and a confidence score. Use when extracting structured data from a bank, brokerage, retirement, or HSA PDF statement, when ingesting a drop of household finance documents, or when user mentions parsing a statement, extracting transactions from a PDF, or normalizing statement data.
lyndonkl/pdf-statement-parser
Assesses whether a company returns the right amount of cash to shareholders. Computes FCFE over a history under three debt assumptions, compares it against dividends plus buybacks to give the cash surplus or deficit, places the firm in the dividend matrix of affordability against project quality, projects forward FCFE and buyback capacity, and benchmarks payout ratio and dividend yield against peers and the market. Handles bank FCFE from regulatory capital. Use for dividend policy, payout ratio, dividend yield, potential dividends, FCFE, cash returned, buybacks, share repurchase capacity, excess cash, dividend cut or increase, cash accumulator or overpayer, or the dividend matrix.
lyndonkl/payout-policy-analysis
Checks paragraph rhythm in a substacker draft — long/short mix, one-sentence paragraph at pivots, no walls, avoid monotony. Flags drafts where >3 consecutive paragraphs share the same length bucket, where the pivot lacks a one-sentence paragraph, or where any paragraph exceeds 120 words. Use in the Editor's structural pass. Trigger keywords — rhythm, paragraph length, wall of text, one-sentence paragraph, pivot, monotone.
lyndonkl/paragraph-rhythm-check
Domain-neutral methodology for autonomously extracting structured notes from a single academic paper via three escalating passes. Pass 1 (inspectional, ~10-15 min) reads title, abstract, intro, section headings, conclusion, references at a glance, then applies the Five Cs framework (Category, Context, Correctness, Contributions, Clarity). Pass 2 (content grasp, ~30-60 min) reads the full paper skipping proofs, answers main-argument / Big-Question / hypotheses / figure-by-figure / references / confusions. Pass 3 (deep understanding, ~1-4 hours, reserved for important papers) virtually re-implements, challenges every assumption, identifies what is NOT said, asks the falsifiability question. The methodology is internal to the agent applying it - questions are answered against the paper's content, never asked of the operator. Use when an extraction agent needs to convert dense academic prose into structured machine-and-human-readable notes - bio papers, CS papers, ML papers, statistics, math, any field.
lyndonkl/paper-three-pass-extraction
Scores a candidate paper against a keyword watchlist and a relevance-criteria document, returning KEEP/DROP/REVIEW with a one-line rationale and a 0-100 relevance score. Combines keyword-match strength, criteria-fit, and a historical-context check (was this paper or its preprint already covered in a recent digest). Domain-neutral - usable for any literature-scan workflow. Use after fetching candidate papers from bioRxiv, medRxiv, or PubMed and before clustering or synthesis. Trigger keywords - paper relevance, filter papers, keep or drop, score papers, relevance rationale.
lyndonkl/paper-relevance-filter
Groups a set of kept papers into 2-5 thematic clusters before synthesis, using abstract semantics + matched-keyword overlap. Names each cluster with a short noun phrase that describes what the cluster argues, not just the topic. Surfaces an "outliers" bucket for single-paper themes that don't fit. Domain-neutral - usable for any literature-scan workflow. Use after relevance filtering and before writing the synthesis report. Trigger keywords - cluster papers, group by theme, thematic clusters, paper themes, organize papers.
lyndonkl/paper-cluster-by-theme
Evaluates whether substacker has the four preconditions for launching a paid tier — enough subs, healthy engagement, a clear candidate section, writer capacity. Produces readiness score (not-ready / close / ready) with named gaps. Used when the "should we launch paid?" question is selected or at writer's explicit request. Trigger keywords — paid tier, paid readiness, monetization, Substack paid, launch paid, 1000 subscribers.
lyndonkl/paid-tier-readiness-check
Prices options for valuation work — Black-Scholes with a cost-of-delay yield, binomial trees that allow early exercise, dilution-adjusted employee options for the equity bridge, equity in a heavily levered firm valued as a call on firm value, and implied volatility. Use when employee options or warrants must be subtracted before computing value per share, when a distressed or negative-earnings company's equity still trades above zero, when testing whether a patent, licence, undeveloped reserve or expansion right is a real option that deserves a premium, or when early exercise makes a European formula wrong. Triggers on option pricing, Black-Scholes, binomial tree, real options, option to delay, patent as an option, equity as a call option, distress and default probability, employee stock options, dilution, warrants, implied volatility, put-call parity.
lyndonkl/option-valuation-toolkit
Classifies an opposing player, manager, or agent into one of a configurable archetype set using Bayesian inference over observed behavior (roster composition, transaction pattern, lineup moves, trade activity). Domain-neutral scaffold -- callers supply the archetype taxonomy (names, priors, characteristic feature distributions) and observed features; the skill returns a normalized posterior, MAP archetype, classification confidence, feature-contribution breakdown, and best-response hints. Use when modeling opponents, classifying player types, performing Bayesian archetype inference, producing opponent posteriors, or when user mentions opponent archetype, classify opponent, Bayesian archetype inference, player type classification, opponent modeling, or archetype posterior.
lyndonkl/opponent-archetype-classifier
Evaluates the first 1-3 sentences of a substacker draft against the writer's signature opener patterns — confession / "I hadn't done X" / reframe / small concrete admission. Classifies opener as confession | reframe | admission | news-hook | generic-opener and flags news-hook/generic as tier-1. The opener sets the voice contract for the essay. Use on every draft. Trigger keywords — opener, hook, first sentence, opening, confession opener, news hook, generic opener.
lyndonkl/opener-critique
Creates concise, decision-ready product specifications (one-pagers and PRDs) that align stakeholders on problem, solution, users, success metrics, and constraints. Use when proposing new features/products, documenting product requirements, creating concise specs for stakeholder alignment, pitching initiatives, scoping projects before detailed design, capturing user stories and success metrics, or when user mentions one-pager, PRD, product spec, feature proposal, product requirements, or brief.
lyndonkl/one-pager-prd
Writes quantities into prose so they land without overstating what the source supports. Applies a per-paragraph number-landing checklist (three numbers per paragraph, one per sentence, direction before magnitude, a comparison on the same screen), a unit-and-denominator lock that catches denominator drift, quantitative fidelity refusals (precision ceiling, rounding drift, percent vs percentage point, model output vs measurement), an uncertainty routing table, a declared likelihood-and-confidence ladder, and a chart-beat contract for exhibits that carry a claim. Use when drafting or editing prose that carries figures, statistics, benchmarks, forecasts or estimates, when a passage reads as a stat wall, when deciding how much precision or hedging a number can bear, or when the user mentions numbers in prose, rounding, denominator, per capita, percentage points, error bars, confidence, uncertainty, chart title, caption, or stat wall.
lyndonkl/numbers-in-narrative
Normalizes a single inbox file of any supported format (plain markdown, Claude.ai JSON export, Claude Code JSONL session, Readwise markdown/CSV highlight, transcript with timestamps or speaker labels, link capture) into a clean markdown body plus partial frontmatter (id, title, source block, word_count). Handles format-specific failure modes — JSON content-block arrays, timestamp stripping, per-highlight chunking, URL-vs-commentary separation. Use when ingesting any inbox item for the substacker Librarian. Trigger keywords — normalize, convert, parse, transcript, export, JSON, JSONL, highlight, CSV.
lyndonkl/normalize-format
Creates explicit stakeholder alignment through negotiated working agreements, clear decision rights (RACI/DACI/RAPID), and conflict resolution protocols. Use when stakeholders need aligned working agreements, resolving decision authority ambiguity, navigating cross-functional conflicts, establishing governance frameworks, negotiating resource allocation, defining escalation paths, creating team norms, mediating trade-off disputes, or when user mentions stakeholder alignment, decision rights, working agreements, conflict resolution, governance model, or consensus building.
lyndonkl/negotiation-alignment-governance
Defines concepts, quality criteria, and boundaries by showing what they are NOT -- using anti-goals, near-miss examples, and failure patterns to create crisp decision criteria where positive definitions alone are ambiguous. Use when clarifying fuzzy boundaries, defining quality criteria, teaching by counterexample, preventing common mistakes, setting design guardrails, disambiguating similar concepts, refining requirements through anti-patterns, or when user mentions near-miss examples, anti-goals, what not to do, negative examples, counterexamples, or boundary clarification.
lyndonkl/negative-contrastive-framing
Builds the business story behind a valuation and connects it to the drivers that carry value — market size, growth, margin, reinvestment efficiency and risk. Tests a narrative as possible, plausible and probable, and keeps the feedback loop open. Use when starting a valuation, writing the story behind a company, setting growth or margin assumptions, sanity-checking a story against its numbers, choosing a target margin or sales-to-capital ratio, or when a valuation needs a defensible reason for its inputs.
lyndonkl/narrative-to-numbers
Builds a four-corner opposition web for narrative nonfiction and stops the writer from casting whoever lost as the villain. Runs Truby's four-corner worksheet (shared central moral problem, per-corner value clusters, distinct routes of attack, corner-to-corner conflict), the best-possible-opponent audit (same goal, necessity, relentlessness, value conflict, the double, power parity, justification in the opponent's own voice), the Opponent Warrant evidence test that demotes undocumented antagonists to rivals or constraints, and a drive-section collapse check that catches a web that was decorative. Use when planning a piece with competing parties, when an antagonist feels flat or cartoonish, when the protagonist is a system rather than a person, or when user mentions opposition web, four-corner opposition, antagonist, opponent, villain, steelman the other side, character web, who is the bad guy here.
lyndonkl/narrative-opposition-web
Defines and validates the machine-readable contract that passes a narrative architecture between a structural agent and a drafting agent — architecture.json with evidence-backed slots, capped scene tags, gap dispositions, a DEAD column, and an escalation object for sending defects back upward. Ships a validator script so the rules are enforced rather than requested. Use when two agents or two sessions must hand narrative work to each other, when an architecture needs checking before drafting begins, when a draft must report a defect it cannot fix at its own layer, or when the user mentions handoff, contract, schema, validator, architecture.json, escalation, or "the outline and the draft have drifted apart".
lyndonkl/narrative-handoff-contract
Decides which narrative form a body of researched material can actually support, before any structure is imposed. Runs a six-question form-triage gate producing STORY NARRATIVE, EXPLANATORY NARRATIVE, MULTI-NODE GATHERING, or DO NOT NARRATE; runs the ABT (And/But/Therefore) spine diagnostic; selects a spine from a thirteen-structure table covering Truby arc, layer cake, pyramid/SCQA, OCAR, PR/FAQ, sparkline, Raskin five-slot, martini glass, drill-down, inverted pyramid and braided/mosaic; and writes an immutable spine contract with a boredom budget. Use before outlining or drafting any long-form nonfiction, report, post-mortem, market history, research writeup or case study, or when user mentions find the narrative, what's the story here, narrative arc, story structure, how should I structure this, does this have a story, or storytelling with data.
lyndonkl/narrative-form-triage
Runs the hard gate on invention in fact-based narrative — a bright-line refusal sweep, an interior-state provenance ladder ([A] said-so / [B] contemporaneous document / [C] behavioural inference / [D] unsourced, where any [D] blocks publication), an LLM-specific fabrication red-flag scan, a three-altitude "How do you know?" prosecution at sentence, paragraph and passage level, a subtraction-log set review, and a note on sources generated from the deviation log. Use before shipping any narrative built on real evidence — market history, incident post-mortem, biography, ML writeup, supply-chain reconstruction, science writing — or when the user mentions fact-check, fidelity audit, fabrication check, invented detail, sourcing pass, did I make this up, composite scene, note on sources, or is this defensible.
lyndonkl/narrative-fidelity-audit
Stops a true set of facts from being assembled into a false story. Runs the retrospective slot audit, the outcome-blind rewrite (flip test, separation test), the inevitability audit with its overshoot check, the survivorship graveyard pass, the counterfactual admissibility gate, and the expensive proportion and omission audits. Every check labels and discloses; none deletes. Use when drafting or reviewing history, post-mortems, biography, market or protocol narratives, research writeups, or any account written after the outcome was known, or when user mentions hindsight bias, narrative fallacy, survivorship bias, inevitability, halo effect, outcome bias, just-so story, teleology, or Whig history.
lyndonkl/narrative-fallacy-guard
Builds the evidence ledger that narrative work is allowed to be built on, before any structure is chosen. Locks the frame (unit, denominator, window, population boundary), atomizes material into findings with evidence classes A-F and re-findable pointers, triages every causal claim L1 MECHANISM to L5 CONJECTURE with permitted and banned verb sets, runs one-way promotion from finding to claim to beat, and keeps a DEAD column of everything a veto killed. Use before outlining or drafting any evidence-based narrative, when auditing whether a draft's claims are actually sourced, when a piece needs a provenance layer for handoff, or when user mentions evidence ledger, claim ledger, provenance, sourcing, causal grading, denominator lock, cherry-picking, or circular citation.
lyndonkl/narrative-evidence-ledger
Maps researched evidence onto Truby's twenty-two structural steps without fabricating the steps the evidence cannot fill. Runs the designing-principle discrimination test, step-fit triage (PRESENT / ABSENT / NOT APPLICABLE), per-slot warrant cards, the empty-slot decision table, the moral-argument spine, and the revelation-intensity audit, then stops at a tagged scene weave. Use when architecting a long-form nonfiction piece from a research corpus, structuring a post-mortem, market history, biography, or science writeup, or when user mentions Truby, 22 steps, designing principle, moral argument, revelation sequence, scene weave, or step-fit triage.
lyndonkl/narrative-arc-mapping
Explores solution spaces systematically through morphological analysis (parameter-option matrices) and resolves technical contradictions using TRIZ inventive principles to generate novel, non-obvious solutions. Use when exploring all feasible design alternatives before prototyping, resolving technical contradictions (speed vs precision, strength vs weight, cost vs quality), generating novel product configurations, finding inventive solutions to engineering problems, identifying patent opportunities, or when user mentions morphological analysis, Zwicky box, TRIZ, inventive principles, systematic innovation, or design space exploration.
lyndonkl/morphological-analysis-triz
Turns a point-estimate valuation into a distribution — samples the drivers you are least sure about from normal, lognormal, triangular, uniform or discrete-scenario distributions, re-runs the DCF engine on every draw, and reports percentiles, mean, standard deviation, the probability the value exceeds the market price, and the share of draws the engine refused as infeasible. Correlates drivers through a shared common factor. Use when running a Monte Carlo simulation or a probabilistic valuation, putting a range or confidence band around a value per share, asking how likely it is that a stock is under- or overvalued, valuing a commodity or cyclical company where one macro variable such as the oil price dominates, or turning a scenario grid into a probability-weighted expected value.
lyndonkl/monte-carlo-valuation
Verifies that implemented neural network models correctly respect their intended symmetries through systematic equivariance testing, layer-wise isolation, and gradient analysis. Use when testing model equivariance, debugging symmetry bugs, verifying implementation correctness, checking if a model is actually equivariant, or diagnosing why an equivariant model isn't working.
lyndonkl/model-equivariance-auditor
For a given fantasy week (Monday-Sunday), identifies every starting pitcher scheduled to start twice, validates both probable starts, grades each matchup against the league's Quality Starts (QS) scoring rules, and ranks the list by streamability_score. Flags bullpen-game and opener risks that nearly never produce QS. Use when user mentions "two-start pitchers", "weekly streaming", "Monday-Sunday pitcher plan", "double start", "2-start SP", or preparing the weekly streaming plan on Sunday nights.
lyndonkl/mlb-two-start-scout
Computes the full impact of a proposed MLB fantasy trade across all 10 H2H categories (R/HR/RBI/SB/OBP, K/ERA/WHIP/QS/SV), rest-of-season dollar value, positional flexibility, slot-value optionality, adverse-selection prior, and weeks 21-23 playoff impact. Produces a signed verdict (accept / counter / reject) with rationale and a specific counter if applicable. Use when user mentions "trade evaluation", "trade value", "should I accept", "trade delta", "counter offer", or pastes in a trade proposal from Yahoo. Defaults to COUNTER in the middle band — pure REJECT is reserved for clearly predatory offers.
lyndonkl/mlb-trade-evaluator
Validates and persists signal files to the yahoo-mlb signals directory. Every MLB skill calls this skill before writing a signal. Enforces the signal-framework.md schema -- required YAML frontmatter fields (type, date, emitted_by, confidence, source_urls), range-checks numeric signals (0-100 unipolar, -100 to +100 bipolar), verifies variant_synthesis metadata, and enforces file naming. On validation failure, does not persist and routes a failure entry to mlb-decision-logger. Use when an agent or skill needs to emit a signal, validate a signal file, write to signals/YYYY-MM-DD-<type>.md, or check signal frontmatter. Triggers — "emit signal", "validate signal", "write signal file", "signal frontmatter".
lyndonkl/mlb-signal-emitter
Identifies fantasy baseball players whose surface stats (wOBA, ERA, batting average) are diverging from their underlying Statcast quality (xwOBA, FIP, xBA) — emits a `regression_index` from -100 (very lucky, sell high) to +100 (very unlucky, buy low). Primary signal for buy-low/sell-high decisions on trades and waivers. Use when user mentions "buy low", "sell high", "regression candidate", "lucky", "unlucky", "xwOBA gap", "ERA-FIP gap", "BABIP", "due for regression", or is deciding whether to trade for / trade away a player based on over- or under-performance.
lyndonkl/mlb-regression-flagger
Counts MLB games per team during the Yahoo fantasy playoff window (weeks 21, 22, 23 -- Aug 17 through Sep 6, 2026) and grades the quality of each team's opponents. Emits three signals per rostered player -- playoff_games (int, max ~21), playoff_matchup_quality (0-100), holding_value (0-100) -- that drive trade-deadline and playoff-lineup decisions. Use when the user mentions playoff weeks, weeks 21-23, playoff schedule, game count, holding value, or asks whether to keep/trade a player for the playoff run. Pre-July 1 this skill returns "insufficient signal -- too early"; from July 1 onward it fires weekly.
lyndonkl/mlb-playoff-scheduler
Deep-dive analysis of a single MLB player (hitter or pitcher) for the Yahoo Fantasy Baseball 2K25 league. Web-searches FanGraphs (ATC projections), Baseball Savant (xwOBA/xBA/xERA), MLB.com (lineups, probables), RotoWire (weather, injuries), and RotoBaller (closer depth) to produce the full set of structured player signals defined in the signal framework. Emits form_score, matchup_score, opportunity_score, daily_quality, regression_index, obp_contribution, sb_opportunity, role_certainty for hitters and qs_probability, k_ceiling, era_whip_risk, streamability_score, two_start_bonus, save_role_certainty for pitchers. Use when you need to analyze player, compute daily_quality, compute regression index, produce player signals, run a hitter analysis, run a pitcher analysis, or prep start/sit inputs for the lineup optimizer.
lyndonkl/mlb-player-analyzer
Weekly refresh of per-opponent archetype + behavioral profiles for the 11 opposing teams in the user's Yahoo Fantasy Baseball league (ID 23756). Thin baseball-specific wrapper around the domain-neutral `opponent-archetype-classifier` -- provides the 10-archetype MLB taxonomy (balanced, stars_and_scrubs, punt_sv, punt_sb, punt_wins_qs, hitter_heavy, pitcher_heavy, inactive, frustrated_active, unknown), extracts MLB features from Yahoo pages (draft distribution, FAAB spend, waiver pattern, roster composition, lineup consistency, trade activity, recent record, activity recency), invokes the classifier, and writes/updates `context/opponents/<team-slug>.md` files per `opponent-profile-schema.md`. Read-modify-write preserves manual notes. Emits a weekly summary signal at `signals/wkNN-opponent-profiles.md`. Use when user says "opponent profiling", "classify opposing manager", "update opponent profiles", "refresh opponents", "weekly opponent scout", or "MLB fantasy opponent archetype".
lyndonkl/mlb-opponent-profiler
Analyzes a single MLB game from a fantasy perspective given home team, away team, and date. Emits structured matchup signals -- opp_sp_quality, park_hitter_factor, park_pitcher_factor, weather_risk, bullpen_state -- and a short narrative of platoon implications (handedness matchup for hitters). Use when preparing daily start/sit calls, evaluating a streaming pitcher's environment, sizing weather risk, or when user mentions matchup analysis, park factor, opposing pitcher, weather risk, or platoon.
lyndonkl/mlb-matchup-analyzer
Parses Yahoo Fantasy Baseball league state (roster, standings, current matchup, FAAB remaining, free agents) from authenticated Yahoo team pages via Claude-in-Chrome browser automation, then grounds it against league-config.md and team-profile.md to emit a normalized league-state bundle every other agent can consume without re-scraping. Use when the coach or any downstream agent needs to read Yahoo roster, refresh team profile, pull league state, get current matchup, check FAAB remaining, list free agents, or when user mentions "what's on my roster", "who am I playing this week", "how much FAAB do I have left", or "refresh my team".
lyndonkl/mlb-league-state-reader
Computes FAAB (Free Agent Acquisition Budget) recommended and maximum bids for Yahoo fantasy baseball waiver targets. Implements the baseball-specific layering of the faab-bid-framework (positional_need_fit, role_certainty, urgency, season_pace, league-inflation calibration) and DELEGATES the game-theoretic primitives -- first-price shading and winner's-curse haircut -- to the sibling skills `auction-first-price-shading` and `auction-winners-curse-haircut`. Produces a recommended bid, a hard ceiling, a rationale with the full delegation chain, and guardrail flags. Use when the user asks "how much should I bid on X", mentions FAAB bid, waiver bid amount, blind bid, Yahoo waiver claim sizing, or when mlb-waiver-analyst needs a bid amount for an identified target.
lyndonkl/mlb-faab-sizer
Appends structured decision entries to the yahoo-mlb decision log (tracker/decisions-log.md) on behalf of any agent in the MLB team. Validates entries against the authoritative schema, serializes concurrent writes from parallel agents, and runs the Monday calibration pass to fill in outcomes and update the variant scoreboard. Use when any MLB agent needs to record a decision, when the coach requests "log decision", "append to decision log", "record variant outcome", or runs the "calibration pass".
lyndonkl/mlb-decision-logger
Tracks the closer role and bullpen pecking order across all 30 MLB teams — who owns the ninth-inning job today, who is next in line if the current closer falters (the handcuff), and who carries DFA or demotion risk. Emits a per-reliever `save_role_certainty` signal (0-100) and flags speculation-worthy handcuffs for waiver bids. Use when the user mentions "closer", "save role", "handcuff", "ninth inning", "bullpen depth", lost save, blown save, committee, or when the waiver analyst needs to decide whether to spend FAAB on a backup reliever. This league uses SV as one of its five pitcher categories, but SV is also the most volatile and most punt-worthy cat, so tracking should always be paired with a punt-the-cat fallback recommendation.
lyndonkl/mlb-closer-tracker
Computes the weekly category state for a Yahoo H2H Categories matchup across all 10 scoring categories (R, HR, RBI, SB, OBP, K, ERA, WHIP, QS, SV). Pulls current totals from Yahoo, builds rest-of-week per-cat projections from roster + schedule, then DELEGATES matchup/per-cat win-probability math to `matchup-win-probability-sim`. Consumes the sim's `per_cat_win_probability` and `matchup_win_probability` to derive cat_position, cat_pressure, cat_reachability, and cat_punt_score, and emits a "push 6, punt N" plan that drives waiver, streaming, and lineup decisions. Use when user asks about "category state", "where am I winning", "should I punt", "matchup score", "cat pressure", weekly category planning, or which cats to push vs. concede.
lyndonkl/mlb-category-state-analyzer
Converts baseball and fantasy-baseball jargon into plain English for a user with zero baseball knowledge. Wraps every user-facing sentence produced by the MLB agent team (morning briefs, trade recommendations, waiver calls, chat summaries). Detects jargon terms, attaches an inline parenthetical plain-English gloss on first mention in a document, enforces the action-verb ladder (START / SIT / ADD / DROP / BID $X / ACCEPT / COUNTER / REJECT), and rejects assumed-knowledge phrases like "hot streak" or "positive matchup." Use when asked to translate for beginner, explain in plain English, translate this, write without jargon, make it beginner-friendly, or produce any user-facing MLB output for K L D'Souza's Fantasy Baseball 2K25 team.
lyndonkl/mlb-beginner-translator
Decomposes any ML construct (attention, layer norm, softmax, convolution, dropout, contrastive loss, diffusion step, gradient descent update, cross-entropy) into the small set of linear-algebra primitives it's built from, then explains why those primitives produce the observed behavior. Includes an ablation thought experiment that asks "what would break if you removed this piece?". Use when the user asks "why does X work?", "explain attention/conv/norm intuitively", "what's actually happening in this layer", or when reading an architecture paper and a particular block doesn't make sense yet.
lyndonkl/ml-primitive-decoder
Decomposes high-level North Star metrics into actionable sub-metrics and leading indicators, maps causal relationships between metric levels, and identifies high-impact experiments to move key metrics. Use when setting product North Star metrics, decomposing business metrics into drivers, mapping strategy to measurable outcomes, identifying which metrics to move through experimentation, understanding leading vs lagging indicators, prioritizing metric improvement opportunities, or when user mentions metric tree, metric decomposition, North Star metric, KPI breakdown, metric drivers, or how metrics connect.
lyndonkl/metrics-tree
Transforms vague or unreliable prompts into structured, constraint-aware prompts with explicit roles, task decomposition, output formats, and quality checks. Use when prompts produce inconsistent outputs, need explicit structure and constraints, require safety guardrails, involve multi-step reasoning that needs decomposition, need domain expertise encoding, or when user mentions improving prompts, prompt templates, structured prompts, prompt optimization, reliable AI outputs, or prompt patterns.
lyndonkl/meta-prompt-engineering
Creates evidence-based learning plans that maximize long-term retention through spaced repetition, retrieval practice, interleaving, and elaboration. Guides through goal definition, material breakdown, review scheduling, and progress tracking. Use when long-term knowledge retention is needed, studying for exams or certifications, learning new job skills or technology, mastering substantial material, combating forgetting, or when user mentions studying, memorizing, learning plans, spaced repetition, flashcards, active recall, or durable learning.
lyndonkl/memory-retrieval-learning
Derives a document's structure out of its own corpus instead of picking one off a menu, using John McPhee's coding-and-sorting procedure - cold read, short topic codes one per card, a strict chronology sort run against a strict theme sort, a logged list of every disagreement resolved toward chronology, candidate juxtapositions gated by a state-and-footnote test, a named shape, and an invisibility test. Use when you hold researched material and have no structure yet, when a draft has turned into concept-named sections full of time-scrambled evidence, when deciding whether a flashback is earned, or when user mentions McPhee, coding pass, index cards, deriving structure, chronology versus theme, structure from material, or "what shape is this piece".
lyndonkl/mcphee-structure-derivation
Computes P(we win at least K of N categories) for a head-to-head categorical matchup via Monte-Carlo simulation or Poisson-binomial approximation. Domain-neutral — works for any fantasy sport with H2H Categories scoring (MLB, NBA, NHL) or any zero-sum per-category competition. Use when you need matchup_win_probability, per_cat_win_probability, expected_cats_won, or variance_estimate; or when user mentions "matchup win probability", "head to head simulation", "Monte Carlo matchup", "Poisson binomial matchup", "P win 6 of 10", "category matchup simulation", or "weekly win probability".
lyndonkl/matchup-win-probability-sim
A closed-book-first probing protocol that assesses how well the learner actually holds a module's claims — asking before telling, probing the gap, detecting misconceptions, then confirming. Tags each probe with a Bloom level, places the learner in a Dreyfus mastery band (unfamiliar/aware/functional/proficient/fluent), scores the session, and schedules the next spaced-repetition surfacing on expanding intervals (1d, 3d, 7d, 16d, 35d) — pulling the next date earlier on a miss. Writes an assessment-session note to assessments/log/ and proposes a review-due update on each evergreen note touched. Use when checking mastery of a module, running a spaced-repetition review, or gating phase progression. Trigger keywords — assess mastery, review-due, spaced repetition, Bloom check, mastery band, am I ready to move on.
lyndonkl/mastery-assessment
Translates beliefs (probabilities) into optimal actions (bet/pass/hedge) using quantitative frameworks including edge calculation, Kelly Criterion bet sizing, forecast extremizing, and Brier score optimization. Use when converting probabilities into decisions, calculating edge against market odds, sizing bets optimally, extremizing aggregated forecasts, improving Brier scores, or when user mentions betting strategy, Kelly Criterion, edge calculation, Brier score, extremizing, or translating belief into action.
lyndonkl/market-mechanics-betting
Renders a markdown report to a PDF using pandoc with xelatex (11pt serif body, 1-inch margins, numbered footnotes, formal heading hierarchy). Requires a one-time install of pandoc and a LaTeX engine on the user's machine — basictex on macOS or texlive-xetex on Linux. Does not attempt automatic install. Fails loudly with the exact install commands if pandoc or xelatex is missing on the user's PATH. Use when producing a finished strategist or analyst report PDF from a polished markdown source.
lyndonkl/markdown-to-pdf
Creates visual maps that make implicit relationships, dependencies, and structures explicit through diagrams, concept maps, and architectural blueprints. Guides through identifying nodes and relationships, choosing visualization approaches, and validating completeness. Use when complex systems need visual documentation, mapping component relationships and dependencies, creating hierarchies or taxonomies, documenting process flows or decision trees, understanding system architectures, visualizing data lineage or knowledge structures, or when user mentions concept maps, system diagrams, dependency mapping, relationship visualization, or architecture blueprints.
lyndonkl/mapping-visualization-scaffolds
Produces an explicit component-by-component mapping from the analogy's source domain to the target technical concept. Rejects vague analogies by forcing each source element to map to a specific target element, and flags unmapped elements as voice-breaking ("it's like a brain" is rejected because "brain" is unmapped). Use after generate-analogy-set, for each of the 5 framings. Trigger keywords — map, component mapping, source target, explicit mapping, what does the X correspond to.
lyndonkl/map-analogy-to-concept
Rewrites a published substacker essay as a LinkedIn post with a hook fitting the 210-char fold, practitioner framing (less confessional than Substack), short 2-3 line paragraphs, and 0-2 niche hashtags. 900-2500 characters. Emits linkedin-post.md. Use as the LinkedIn-native arm of the Distribution Translator. Trigger keywords — LinkedIn post, LinkedIn rewrite, practitioner, professional network, niche hashtags.
lyndonkl/linkedin-post-rewrite
House style for learning-in-public essays — a curious practitioner thinking out loud while learning a hard technical subject (here, ML-driven crop genetics / genomic selection). First-person, concrete-first, honest about the edge of understanding, mechanism over vocabulary. Provides the register, the hook patterns, the anti-slop hard rules, and the rule for reading a per-writer voice-profile.md so the voice stays the writer's own. Use when drafting a vault-style post from evergreen notes, or as the lens an advisory editor critiques against. This skill never imposes voice; it describes defaults and defers to the writer's profile.
lyndonkl/learning-in-public-voice
Structures thinking across multiple abstraction levels (30,000 ft strategic, 3,000 ft tactical, 300 ft operational) while maintaining consistency between layers. Guides through top-down decomposition, bottom-up aggregation, cross-layer translation, and constraint propagation. Use when reasoning across multiple abstraction levels, designing systems with hierarchical layers, explaining concepts at different depths, maintaining consistency between principles and implementation, or when users mention 30,000-foot view, layered thinking, abstraction levels, top-down design, or strategy-to-execution alignment.
lyndonkl/layered-reasoning
Moves prose deliberately between the concrete and the abstract and stops it stranding in the middle rung where bureaucratic prose lives. Tags every paragraph R1 (named particulars) to R4 (meaning), enforces run rules, detects the middle-rung trap, repairs it by climbing down to a real particular rather than simplifying vocabulary, gates the top rung with a counter-sentence test, and closes with an A-frame descent. Use when a draft reads as dense, vague, or jargon-heavy, when a readability score fails, when a conclusion feels grandiose or unearned, when technical material will not land for a general reader, or when user mentions ladder of abstraction, too abstract, too vague, concrete example, middle rung, dead zone, jargon, altitude, zoom in, zoom out, and thus capitalism.
lyndonkl/ladder-of-abstraction
Designs and builds knowledge graphs from unstructured or semi-structured data sources. Guides through data model selection (LPG, RDF, hypergraph, temporal), schema design, entity/relation extraction pipelines, and layered architecture construction. Use when designing knowledge graphs, choosing between LPG vs RDF, planning entity extraction, designing graph schemas, aligning ontologies, building a KG for RAG, or when user mentions knowledge graph construction.
lyndonkl/knowledge-graph-construction
Establishes pre-defined, objective conditions for stopping projects and specific decision points for continue/pivot/kill evaluations. Guides through defining kill criteria, setting go/no-go gates, avoiding sunk cost fallacy, and executing disciplined stopping decisions. Use when defining stopping rules for projects, avoiding sunk cost fallacy, setting objective exit criteria, deciding whether to continue/pivot/kill initiatives, or when users mention kill criteria, exit ramps, stopping rules, go/no-go decisions, project termination, or sunk costs.
lyndonkl/kill-criteria-exit-ramps
Domain-neutral methodology for the first level of Adler-style reading - systematic skimming to determine what kind of document this is, what it's about as a whole, and whether deeper engagement is worth the time investment. Read title, metadata, table of contents or section headings, abstract or introduction, conclusion, and end-material at a glance. Classify document type (methodology, framework, tool, theoretical, reference, or hybrid). Decide whether to escalate to deeper reading. Reusable across any artifact-from-document workflow - paper extraction, skill creation from a methodology document, literature triage, reading-list pruning. Use when an agent needs to convert "I have a document, what is it" into structured downstream-actionable input. Trigger keywords - inspectional reading, systematic skimming, document classification, Adler reading, skim before reading, skill-worthiness check, paper triage, reading triage.
lyndonkl/inspectional-reading
Loads and validates a weekly Substack CSV stats export for the substacker Growth Analyst. Reconciles header against expected-columns schema, parses post rows + subscriber aggregates, moves file into corpus/stats/ on success, emits schema-warning stub on header drift. Never reads subscriber emails row-by-row — aggregates only. FALLBACK path when fetch-substack-stats (Chrome automation) is unavailable. Use when a CSV appears in inbox/substack-stats/, when Chrome is not logged in, or when the writer prefers manual export. Trigger keywords — CSV, Substack export, stats export, schema validation, subscriber data, manual export, CSV fallback.
lyndonkl/ingest-substack-csv
Ingests a single file from the substacker inbox/ into corpus/seeds/ as a normalized markdown seed with full frontmatter. Orchestrates format normalization, topic tagging, intuition-density scoring, dedupe, changelog, ledger update, and inbox-file move to .processed/. Use when the user drops raw material into inbox/ and runs /ingest, at session start, or whenever a single inbox file needs to become an indexed seed. Trigger keywords — ingest, inbox, new note, new transcript, new highlight, index this, add to corpus.
lyndonkl/ingest-inbox-item
Organizes, structures, and labels content so users can find and manage information effectively. Guides through content audits, card sorting, taxonomy design, navigation structure, and tree testing validation. Use when organizing content for digital products, designing navigation systems, restructuring information hierarchies, improving findability, creating taxonomies or metadata schemas, or when users mention information architecture, IA, sitemap, navigation design, content structure, card sorting, tree testing, taxonomy, or findability.
lyndonkl/information-architecture
Names what the substacker writer should stop doing — habits with no evidence of use, goals that became theatre, sections with 2 consecutive dormant quarters, and agents in the team whose output the writer ignores. Produces a bulleted list, each item with one sentence of why. Max 4 items. Ordered by ease (easiest first). Used once per Growth Strategist review. Trigger keywords — kill list, stop doing, what to cut, dead habits, dormant, ignored output.
lyndonkl/identify-kill-list
Applies "what if" thinking to explore alternative scenarios, test assumptions, understand causal relationships, and prepare for uncertainty. Guides through counterfactual reasoning, scenario exploration, pre-mortem analysis, and stress testing decisions against alternative futures. Use when exploring alternative scenarios, testing assumptions through "what if" questions, understanding causal relationships, conducting pre-mortem analysis, stress testing decisions, or when user mentions counterfactuals, hypothetical scenarios, thought experiments, alternative futures, what-if analysis, or needs to challenge assumptions.
lyndonkl/hypotheticals-counterfactuals
Maintains a ledger of HSA-qualified medical expenses paid out of pocket (not reimbursed from the HSA), each with date, amount, provider, description, and a path to the scanned receipt. Tracks the running unreimbursed total — the amount of HSA balance the household can pull tax-free at any future date — and validates each candidate against IRS-qualified-expense categories. Use when a new medical receipt arrives, when totaling future tax-free HSA reimbursements, when planning a deferred reimbursement, or when user mentions HSA receipt vault, qualified medical expenses, or HSA shoebox strategy.
lyndonkl/hsa-receipt-vault
Generates a single self-contained static HTML dashboard for a household finance JSON store, with embedded D3.js, inlined data, and six standard panels (net worth over time, monthly cash flow, recurring & subscriptions, goals progress, asset allocation, vigilance feed). Applies cognitive-design principles for visual hierarchy and visual-storytelling-design for narrative annotations. Use when emitting a weekly or monthly finance dashboard, or when user mentions weekly dashboard, household dashboard, finance HTML report, or static dashboard.
lyndonkl/household-finance-dashboard-builder
Generates 3-5 candidate first-line hooks for a specific platform (Substack Note, X, LinkedIn, cross-post) from a given spine. Uses platform-appropriate hook patterns (confession / claim / question / reframe) and voice-profile constraints. Runs before each platform rewrite so the rewrite skill picks the strongest hook rather than reusing the essay's opener verbatim on every platform. Trigger keywords — hook, opening line, platform hook, first tweet, LinkedIn hook, Substack Note hook.
lyndonkl/hook-generator
Diagnoses where a learner's 3D geometric intuition is misleading them in a high-dimensional context (concentration of measure, Gaussian shells, distance-metric breakdown, manifold hypothesis, volume-in-corners, random-projection preservation), then surgically replaces the false picture with the correct one. Use when the user is reasoning about high-dim spaces (embeddings, latent vectors, neural net activations, large-scale data clouds, optimization landscapes) and either makes a claim that's true in 3D but false in 1000D, or expresses confusion at a high-dim phenomenon that "shouldn't" happen.
lyndonkl/high-dim-intuition-rebuild
Provides practical frameworks for fast decision-making through mental shortcuts (heuristics) and systematic error prevention through structured checklists. Guides through designing effective heuristics, creating checklists for complex procedures, and recognizing when shortcuts lead to biases. Use when making decisions under time pressure or uncertainty, preventing errors in complex procedures, designing decision rules or checklists, simplifying complex choices, or when user mentions heuristics, rules of thumb, mental models, checklists, error prevention, cognitive biases, satisficing, or standard operating procedures.
lyndonkl/heuristics-and-checklists
Classifies every hedge in a substacker draft as either a precision hedge (keep — "n=1 may not replicate", "I do not know") or an epistemic-weakness hedge (flag — "I think", "perhaps", "arguably", "it could be argued"). Only flags weakness hedges; suggests either a commit (remove hedge, take position) or a specific hedge (name the uncertainty). Use when a draft feels wishy-washy or when a cluster of modal verbs appears. Trigger keywords — hedging, I think, perhaps, arguably, uncertainty, weak claim, wishy-washy.
lyndonkl/hedge-detector
Designs complete GraphRAG systems integrating graph databases, vector stores, orchestration frameworks, and LLM reasoning. Guides through pattern selection, technology stack decisions, integration pipeline design, and domain-specific customizations. Use when designing GraphRAG systems, choosing technology stacks for graph-augmented retrieval, combining Neo4j with LLM, using LangChain/LlamaIndex knowledge graphs, applying community detection for RAG, building hybrid symbol-vector pipelines, or deploying production or domain-specific GraphRAG.
lyndonkl/graphrag-system-design
Evaluates GraphRAG systems across knowledge graph completeness, retrieval relevance, answer correctness, reasoning depth, and hallucination prevention. Provides structured evaluation frameworks, metric selection guidance, and testing protocols. Use when evaluating GraphRAG quality, benchmarking multi-step reasoning, measuring hallucination reduction, or when user mentions evaluate GraphRAG, quality metrics, answer correctness, test my GraphRAG, or measure RAG performance.
lyndonkl/graphrag-evaluation
Guides creation and review of competitive grant proposals (NIH R01/R21/K, NSF, foundations) by applying reviewer-perspective thinking to ensure clear hypotheses, compelling significance, genuine innovation, and feasible approaches. Use when writing or reviewing grant proposals, crafting specific aims, drafting significance/innovation/approach sections, or when user mentions R01, R21, K-series, grant writing, proposal review, study section, or fundable hypothesis.
lyndonkl/grant-proposal-assistant
Drafts a proposed diff to substacker shared-context/goals.md showing which lines to add, remove, or change based on the quarter's review. Never writes to goals.md directly — writer applies manually. Used once per Growth Strategist review. Trigger keywords — goal reset, goals diff, update goals, goals proposal, rework goals.
lyndonkl/goal-reset-proposal
For each technical term in a substacker draft's claims, checks shared-context/glossary.md for a writer-specific definition and compares to field-standard. Emits a note for terms where the two diverge (aligned / diverged-safe / diverged-risky). Feeds into classify-claim (which definition governs) and write-review-artifact's Glossary Alignment section. Use on every claim. Trigger keywords — glossary alignment, term definition, writer vs field, load-bearing term.
lyndonkl/glossary-alignment-check
Presents a math or ML concept simultaneously in geometric form (picture, transformation, region, surface) and algebraic form (formula, matrix, derivation), then writes the explicit one-sentence bridge that says "these are the same thing because…". The signature 3Blue1Brown move applied to any vector/matrix concept. Use when a learner has one view but not the other ("I understand the formula but not what it means" or "I see the picture but can't write it down"), when introducing a concept that genuinely needs both views to land (eigendecomposition, SVD, dot product, attention, gradient, covariance), or when the user mentions "geometric meaning", "intuition behind", "picture for", or "why does the formula look like that".
lyndonkl/geometric-algebraic-bridge
Builds interactive D3 visualizations of genetics and genomics concepts for the vault's docs/ GitHub Pages site — each one a teaching object with a takeaway-stating title, an annotation layer, and a guided reading order. Specializes d3-visualization, visual-storytelling-design, and cognitive-design for the crop-genetics / genomic-selection domain, supplying a concept-to-visualization catalog, preattentive encoding guidance, colorblind-safe palettes, accessibility requirements, and a fixed docs/ file layout. Delegates design review to the cognitive-design-architect agent and runs design-evaluation-audit and cognitive-fallacies-guard before publish. Use when turning an evergreen claim into an interactive figure, building or revising a docs/ visualization, or planning the site's viz layout. Trigger keywords — D3 viz, interactive figure, GitHub Pages chart, Hardy-Weinberg, Manhattan plot, allele drift, LD decay, breeder's equation, genomic prediction accuracy, reaction norm, kinship heatmap.
lyndonkl/genomics-viz
Generates exactly 5 distinct intuitive framings for a given technical topic — one everyday analogy, one physical metaphor, one contrarian take, one historical angle, one counterfactual. Each framing is a short scaffold (not prose), paired with its archetype and a one-line framing statement. Use when the writer invokes the Intuition Builder agent, as the core generation step before mapping, stress-testing, novelty checking, and voice fitness. Trigger keywords — generate framings, analogies for, give me 5, intuitive angles, framing set.
lyndonkl/generate-analogy-set
Stress-tests predictions by assuming failure and working backward to identify blind spots, tail risks, and overconfidence. Applies Gary Klein's premortem technique to probabilistic forecasting. Use when confidence is high (>80% or <20%), need to identify tail risks and unknown unknowns, want to widen overconfident intervals, or when user mentions premortem, backcasting, what could go wrong, stress test, or black swans.
lyndonkl/forecast-premortem
Combines Pareto prioritization (80/20), timeboxing, and deep work techniques to manage attention, eliminate context-switching, and maximize high-impact output. Use when managing time and attention, combating procrastination, prioritizing high-impact work, planning daily/weekly schedules, or when user mentions timeboxing, Pomodoro, deep work, 80/20 rule, Pareto principle, focus blocks, task batching, or energy management.
lyndonkl/focus-timeboxing-8020
For each simplified-boundary claim, drafts a one-paragraph suggestion for how to acknowledge the boundary inside the post — usually a single sentence or "but" clause — so the break becomes a teaching moment rather than hidden fragility. Runs for exactly the claims classified as simplified-boundary. Skip for all other classifications. Use after cross-reference-claim. Trigger keywords — boundary break, fold break into post, feature not flaw, simplified-boundary.
lyndonkl/flag-boundary-break
Analyzes profitability per customer, product, or transaction to determine business model viability and scalability. Covers CAC, LTV, contribution margin, cohort analysis, and growth-readiness assessment. Use when evaluating business model viability, validating startup metrics (CAC, LTV, payback period), making pricing decisions, comparing business models, or when user mentions unit economics, CAC/LTV ratio, contribution margin, customer profitability, or break-even analysis.
lyndonkl/financial-unit-economics
Converts reported financial statements into valuation-ready numbers — capitalizes R&D into a research asset, capitalizes operating leases into debt, strips one-time items, normalizes cyclical or trough earnings, derives FCFF and FCFE, and computes invested capital, ROIC, economic value added and the diagnostic ratio pack. Use when cleaning up EBIT before a DCF, capitalizing research or leases, deciding whether a restructuring charge is really non-recurring, computing free cash flow to the firm or to equity, measuring return on invested capital, normalizing earnings for a cyclical or commodity company, or building the base-year operating income and capital base that a valuation model consumes.
lyndonkl/financial-statement-normalization
Maps every input a company analysis needs to where it comes from — filing line items, market data, Damodaran reference datasets, macro series — with units, update frequency, acceptable fallbacks and the consistency rules that bind them. Use when gathering data for a valuation, when an input is missing and a substitute is needed, when deciding whether a user-supplied figure can be accepted at face value, or when checking that figures are internally consistent.
lyndonkl/financial-data-sourcing
Fetches the last 7 days of updates from every entry in the substacker Trend Scout watchlist — blogs, paper aggregators (arXiv, Hugging Face papers), social feeds. Returns normalized {title, url, author, published, excerpt, source_type} tuples. Use at the start of a weekly Trend Scout run. Trigger keywords — watchlist, fetch sources, weekly fetch, last 7 days, source normalization.
lyndonkl/fetch-watchlist-sources
Pulls substacker's weekly Substack stats directly from the dashboard via Claude-in-Chrome browser automation. Navigates to substack.com/stats, parses the posts table and subscribers table, and produces the same typed WeekExport object that ingest-substack-csv produces — but without requiring a manual CSV export. The writer keeps Chrome signed in to Substack; this skill opens the dashboard in a new tab, reads the rendered stats, closes the tab. Primary data path for the Growth Analyst; ingest-substack-csv is the fallback when browser automation is unavailable. Trigger keywords — fetch stats, Substack dashboard, auto stats, Chrome stats, dashboard scrape, live stats, no CSV.
lyndonkl/fetch-substack-stats
Fetches PubMed articles posted in a given date window matching a keyword set, returning normalized records (PMID, title, authors, abstract, journal, date, DOI, URL). Uses NCBI E-utilities (`esearch` + `esummary` + `efetch`) via WebFetch for portability, but prefers a PubMed MCP server's `search_articles` + `get_article_metadata` tools when one is connected (faster, paginated, parsed). Builds date-bounded queries with optional MeSH expansion. Domain-neutral - usable for any PubMed scan, not just one project. Use when user mentions PubMed, NCBI, last-N-days PubMed, weekly PubMed scan, MeSH search, or when a literature-scan agent needs structured PubMed records.
lyndonkl/fetch-pubmed-recent
Uses WebFetch to pull publicly visible subscriber count and per-post public view count from substacker's Substack archive page and individual post URLs. Supplements the CSV when subscriber-count field is stale (>24h old) or when a post has public shares not yet reflected. Rate-limited to ≤10 fetches per invocation. Use when CSV subscribers-end field may have drifted or when external-share attribution needs a public signal. Trigger keywords — public stats, Substack public page, subscriber count check, post views supplement, WebFetch.
lyndonkl/fetch-public-page-stats
Fetches preprints posted to bioRxiv or medRxiv within a given date window, then keyword-filters the results client-side. Wraps the public `api.biorxiv.org/details/{server}/{from}/{to}/{cursor}` endpoint, handles cursor pagination, normalizes records to a stable shape (doi, title, authors, abstract, date, server, version, url), and applies a keyword-OR match against title + abstract. Domain-neutral — usable for any biology / clinical preprint scan, not just one project. Use when user mentions bioRxiv, medRxiv, weekly preprint scan, fetch preprints, last-N-days preprints, or when a literature-scan agent needs structured preprint records.
lyndonkl/fetch-preprint-recent
Fetches arXiv papers submitted within a given date window matching a keyword set, with optional restriction to one or more arXiv categories (e.g. cs.LG, cs.CL, cs.CV, stat.ML, math.ST, q-bio.QM). Wraps the public `export.arxiv.org/api/query` endpoint, parses Atom XML, handles pagination, and normalizes records to the same canonical shape as `fetch-preprint-recent` and `fetch-pubmed-recent` so a calling agent can dedupe across sources. Domain-neutral — usable for any literature scan that crosses CS, ML, statistics, math, physics, or quantitative biology. Use when user mentions arXiv, cs.LG, ML papers, NeurIPS-adjacent preprints, weekly arXiv scan, or when a literature-scan agent needs arXiv records alongside bioRxiv / medRxiv / PubMed.
lyndonkl/fetch-arxiv-recent
Provides structured formats and techniques for running productive group sessions, from standups to multi-day workshops. Covers format selection, agenda design, participation management, decision methods, and handling difficult dynamics. Use when running meetings, workshops, brainstorms, design sprints, retrospectives, or team decision-making sessions, or when user mentions facilitation, workshop design, meeting patterns, session planning, or effective collaboration.
lyndonkl/facilitation-patterns
Extracts the 5-7 point argument backbone of a published substacker essay into a structured _spine.json working artifact that downstream platform-rewrite skills consume. Pulls verbatim sentences where possible (not paraphrases). Tags each point with evidence anchor (paper, anecdote, formula, analogy), essay section, and translatability score. Use at the start of a Distribution Translator run. Trigger keywords — spine, backbone, extract claims, thread spine, argument skeleton.
lyndonkl/extract-thread-spine
Runs a vault learning module as a Kolb experiential cycle (Concrete Experience -> Reflective Observation -> Abstract Conceptualization -> Active Experimentation) instead of a lecture. Opens with an experience, withholds the explanation, draws the claim out of the learner with Socratic question ladders scaled by Bloom level, routes the earned claim to an evergreen note, and closes with a retrieval check. Enforces desirable-difficulty discipline — never summarize for the learner, never name the concept before they have reconstructed its mechanism. Use when tutoring a genomics/ML module, designing a Kolb session, or deciding whether to explain or to ask. Trigger keywords — Kolb cycle, experiential teaching, tutor a module, desirable difficulty, never summarize, Socratic ladder, run a session.
lyndonkl/experiential-kolb-teaching
Calculates probability-weighted averages of all possible outcomes to enable rational decisions under uncertainty. Covers scenario identification, probability estimation, payoff quantification, and risk-adjusted interpretation. Use when comparing risky options (investments, product bets, strategic choices), prioritizing projects by expected return, assessing whether to take a gamble, or when user mentions expected value, EV calculation, risk-adjusted return, probability-weighted outcomes, or decision tree.
lyndonkl/expected-value
Designs structured scoring tools with explicit criteria, performance scales, and descriptors for consistent, transparent quality assessment. Use when need quality criteria and scoring scales to evaluate work consistently, compare alternatives objectively, set acceptance thresholds, reduce subjective bias, or when user mentions rubric, scoring criteria, quality standards, evaluation framework, inter-rater reliability, or grading/assessing work.
lyndonkl/evaluation-rubrics
Guides structured identification of potential harms, benefits, and differential impacts across stakeholder groups for decisions affecting people. Covers stakeholder mapping, fairness evaluation, risk mitigation design, and monitoring. Use when decisions could affect groups differently, need to anticipate harms/benefits, assess fairness and safety, identify vulnerable populations, or when user mentions ethical review, impact assessment, differential harm, safety analysis, bias audit, or responsible AI/tech.
lyndonkl/ethics-safety-impact
Decomposes complex unknowns into estimable components to produce rapid order-of-magnitude answers with bounded uncertainty. Use when making quick estimates (market sizing, resource planning, feasibility checks), bounding unknowns with upper/lower limits, sanity-checking strategic assumptions, or when user mentions Fermi estimation, back-of-envelope calculation, order of magnitude, ballpark estimate, or triangulation.
lyndonkl/estimation-fermi
Designs neural network architectures that respect validated symmetry groups, recommending architecture families (G-CNN, steerable CNN, e3nn), layer patterns, and implementation libraries. Use when you have validated symmetry groups and need equivariant architecture design, or when user mentions equivariant layers, G-CNN, e3nn, steerable networks, or building symmetry into a model.
lyndonkl/equivariant-architecture-designer
Monitors external trends across PESTLE dimensions, detects weak signals of emerging change, develops scenario-based futures, and sets adaptive signposts for early warning. Use when scanning external trends for strategic planning, detecting early indicators of change, planning scenarios for multiple futures, setting signposts and indicators for early warning, or when user mentions environmental scanning, horizon scanning, trend analysis, scenario planning, strategic foresight, or futures thinking.
lyndonkl/environmental-scanning-foresight
Designs embedding strategies that combine semantic (text-based) and structural (graph-based) information at node, edge, path, and subgraph levels for knowledge graphs. Use when selecting embedding granularity, choosing complementary semantic and structural approaches, designing fusion strategies (concatenation, attention, contrastive alignment), or when user mentions node embeddings, embedding fusion, vector representations for graphs, or combining text and graph signals.
lyndonkl/embedding-fusion-strategy
Guides clinical and health science research through PICOT question formulation, evidence hierarchy assessment, bias evaluation (Cochrane RoB 2, ROBINS-I), outcome prioritization, and GRADE certainty rating. Use when formulating clinical research questions, evaluating health evidence quality, prioritizing patient-important outcomes, conducting systematic reviews or meta-analyses, creating evidence summaries for guidelines, or assessing regulatory evidence.
lyndonkl/domain-research-health-science
Designs structured interview guides, survey instruments, and JTBD probes to learn from users while avoiding common research biases (leading questions, confirmation bias, selection bias). Use when validating product assumptions before building, discovering unmet user needs, understanding customer problems and workflows, testing concepts or positioning, researching target markets, identifying jobs-to-be-done and hiring triggers, or uncovering pain points and workarounds.
lyndonkl/discovery-interviews-surveys
Applies thesis-antithesis-synthesis reasoning to escape false binary choices by steelmanning opposing positions, mapping their underlying principles and tradeoffs, and synthesizing principled third-way resolutions. Use when debates are trapped in false dichotomies, polarized positions need charitable interpretation, tradeoffs are obscured by binary framing, synthesis beyond "pick one side" is needed, or when users mention steelman arguments, Hegelian dialectic, or resolving seemingly opposed principles.
lyndonkl/dialectical-mapping-steelmanning
Generates structured experimental designs (factorial, response surface, Taguchi) to systematically discover how multiple factors affect outcomes while minimizing experimental runs. Use when optimizing multi-factor systems with limited experimental budget, screening many variables to find the vital few, discovering interactions between parameters, mapping response surfaces for peak performance, validating robustness to noise factors, or when users mention factorial designs, A/B/n testing, parameter tuning, or process optimization.
lyndonkl/design-of-experiments
Systematically evaluates existing designs against cognitive science principles using repeatable checklists, scoring rubrics, and severity-classified fix recommendations. Use when conducting design reviews or critiques, evaluating designs for cognitive alignment, performing quality assurance before launch, diagnosing usability issues, or choosing between design alternatives with objective criteria.
lyndonkl/design-evaluation-audit
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.
lyndonkl/derive-section-voice-overlay
Challenges plans, designs, and decisions from multiple adversarial perspectives to surface blind spots, hidden assumptions, and vulnerabilities before they cause real damage. Use when testing plans or decisions for blind spots, need adversarial review before launch, validating strategy against worst-case scenarios, building consensus through structured debate, identifying attack vectors or vulnerabilities, or when groupthink or confirmation bias may be hiding risks.
lyndonkl/deliberation-debate-red-teaming
Checks a candidate seed against the existing substacker corpus (seeds, drafts, published) for exact duplicates (sha256 fingerprint) and near-duplicates (title Jaccard, first-200-word Jaccard, shared topic cluster). Exact match exits as SKIPPED. Near-match links via related_seeds rather than creating a duplicate. Use after topic tagging and density scoring, before writing the seed. Trigger keywords — dedupe, duplicate, already thought, near-match, related seed, fingerprint.
lyndonkl/dedupe-against-corpus
Breaks complex systems into atomic components, maps their relationships, and reconstructs them in optimized configurations to identify bottlenecks, critical failure points, and redesign opportunities. Use when dealing with complex systems that need simplification, identifying bottlenecks or critical failure points, redesigning architecture or processes for better performance, breaking down problems that feel overwhelming, analyzing dependencies to understand ripple effects, or when optimization requires understanding how parts interact.
lyndonkl/decomposition-reconstruction
Compares multiple named alternatives against weighted criteria to produce transparent, defensible choices with explicit trade-off analysis. Covers criterion identification, weighting approaches (direct allocation, pairwise comparison, stakeholder averaging), scoring calibration, sensitivity analysis, and group decision facilitation. Use when choosing between vendors/tools/strategies, balancing competing priorities (cost vs quality vs speed), or when user mentions "which option should we choose", "compare alternatives", "evaluate vendors", or "trade-offs".
lyndonkl/decision-matrix
Matches the kind of debt a firm issues to the assets it finances — maturity, currency, fixed or floating, and features such as convertibility or commodity linkage — using asset duration and the sensitivity of firm value and operating income to interest rates, inflation, real growth and exchange rates. Use when advising on what debt to issue, reviewing an existing debt structure, choosing debt maturity or debt currency, deciding fixed versus floating, or after finding an optimal debt ratio.
lyndonkl/debt-design
Runs an intrinsic (discounted cash flow) valuation from value drivers — builds the year-by-year forecast with fading growth, margins and reinvestment, closes it with a terminal value, adjusts for failure risk, walks the bridge from operating assets to equity value per share, and runs sensitivity grids. Also reverse-engineers the market price into the growth or margin it already assumes. Use when valuing a company intrinsically, building a DCF or FCFF/FCFE model, computing terminal value or value per share, running valuation sensitivity, or asking what the market is pricing in.
lyndonkl/dcf-valuation-engine
Creates rigorous, validated models of entities, relationships, and constraints for database schemas (SQL, NoSQL, graph), knowledge graphs, ontologies, API data models, and taxonomies. Covers relational, document, graph, event/time-series, and dimensional schema patterns with lifecycle modeling, soft deletes, polymorphic associations, and hierarchies. Use when user mentions "schema", "data model", "entities", "relationships", "ontology", "knowledge graph", or when data structures need formalization.
lyndonkl/data-schema-knowledge-modeling
Guides creation of custom, interactive data visualizations with D3.js — bar/line/scatter charts, network diagrams, geographic maps, hierarchies, and real-time data updates with zoom/pan/brush interactions and animated transitions. Use when chart libraries (Highcharts, Chart.js) lack the customization needed and you require low-level control over data-driven DOM manipulation, scales, shapes, and layouts. Invoke when user mentions D3, d3.js, custom visualization, force-directed graph, or data-driven SVG.
lyndonkl/d3-visualization
Finds and cites a primary source for each substacker draft claim — original arXiv paper, official documentation, RFC, canonical textbook. Source hierarchy enforced — primary > secondary > tertiary > not-a-source. Records URL, title, passage/result that settles the claim. Use after classify-claim; runs once per claim unless classification is simplified-correct with high confidence on standard undergrad material. Trigger keywords — cross-reference, primary source, citation, arXiv, RFC, paper lookup, source hierarchy.
lyndonkl/cross-reference-claim
For each Trend Scout candidate item, checks substacker shared-context/topic-ledger.md and tags with NEW | OVERLAPS seed:{slug} | OVERLAPS draft:{slug} | OVERLAPS published:{slug}. Adds a reinforcement_angle note for items overlapping with published posts ("external confirmation of X"). Read-only against the ledger. Use after summarize-signal, before rank-by-user-fit. Trigger keywords — cross-ref, ledger check, overlap, reinforcement, dedup external.
lyndonkl/cross-ref-topic-ledger
Writes a 60-140 word third-person blurb for the Substack cross-post feature, positioned so another newsletter writer can paste it into their cross-post popup without editing. Third-person throughout ("In this piece, Kushal argues…"). No subscriber CTAs. Use as the cross-post arm of the Distribution Translator. Trigger keywords — cross-post, cross-poster, blurb, Substack cross-post, third person, positioning.
lyndonkl/cross-poster-blurb
Estimates discount rates and the optimal financing mix — riskfree rate in any currency, equity risk premium including country risk, bottom-up and total betas, synthetic credit ratings from interest coverage, cost of debt, market value of debt, WACC, the implied equity risk premium solved from current index levels, and the cost-of-capital schedule across debt ratios that locates the optimal debt ratio, with an APV cross-check and a stress test under rating constraints. Bundles Damodaran's rating and spread tables, Altman default probabilities, industry-average betas and multiples, and country risk premiums, each tagged with its vintage. Use when estimating a discount rate, WACC, hurdle rate, cost of equity or cost of debt, unlevering or relevering a beta, when a company has no credit rating, when estimating the equity risk premium priced into the market, when looking up a sector beta or country risk premium, when converting a rate between currencies, or when finding or stressing an optimal capital structure.
lyndonkl/cost-of-capital-toolkit
Assesses who actually controls a company and whether management is accountable — board independence, dual-class and voting structures, cross-holdings and pyramids, the marginal investor, and the gap between stated and real accountability. Use in a corporate finance analysis, when setting the objective function for a valuation, when assessing the odds that bad management gets replaced, or when valuing control.
lyndonkl/corporate-governance-analysis
Turns limitations into creative fuel by strategically imposing constraints that force novel thinking, break habitual patterns, and reveal unexpected solutions. Covers resource constraints (budget/time/tools), format constraints (length/medium), rule-based constraints, and perspective constraints. Use when brainstorming feels stuck or generates obvious ideas, working with limited resources, designing with specific limitations, or when user mentions "think outside the box", "we're stuck", "same old ideas", "tight constraints", or "limited budget/time".
lyndonkl/constraint-based-creativity
Cluster a conference's event records into a small set of coarse themes with finer sub-clusters, an explicit outlier bucket, and soft (multi-membership) affinities — using the hybrid embed-then-label pipeline (embed abstracts, reduce, density-cluster, then LLM-label the clusters) when embedding libraries are available, and an LLM-reasoned hierarchical fallback when they are not. Embeddings do the grouping; the LLM only names the groups. Conference-agnostic. Use when turning structured event records into a navigable theme map for preference elicitation and scheduling, when you need 6-8 reasonable themes rather than 20 muddy ones, or when overlapping talks must belong to more than one theme. Trigger keywords - theme clustering, cluster talks, embed then label, soft membership, outlier talks, conference themes, topic map.
lyndonkl/conf-theme-clustering
Build a personal conference schedule as a constraint-optimization problem — hard constraints (no time overlap, room-to-room travel time, capacity/registration, the attendee's own must-attends and blackouts) plus a user-owned weighted objective trading interest against breadth, pacing (maximize contiguous free time), and serendipity. Surfaces unbreakable conflicts (two high-value overlapping talks the model cannot rank) as decisions for the human rather than silently picking, and reports what each choice traded away. Conference-agnostic. Use to turn a preference profile plus a theme map into a day-by-day plan, to resolve overlapping sessions, or to balance a packed vs paced schedule. Trigger keywords - schedule optimization, conference schedule, constraint optimization, overlapping talks, contiguous free time, conflict surfacing, packed vs paced.
lyndonkl/conf-schedule-optimization
Parse a heterogeneous conference program (markdown, HTML, PDF-derived text, or JSON) into normalized event records with per-field confidence scores and independent classification axes (topic, depth, format, prerequisites, recorded, capacity). Detects the program's format before extracting, treats every inferred field as uncertain (present vs inferred vs missing), and flags thin or missing abstracts so downstream enrichment can target them. Conference-agnostic. Use when ingesting a conference or event schedule into a structured store, normalizing a talk/session list, or extracting per-session metadata with calibrated confidence. Trigger keywords - program ingestion, parse schedule, session extraction, event records, conference program, talk metadata, per-field confidence.
lyndonkl/conf-program-extraction
Build a personalized preference profile from a small number of well-chosen, cluster-grounded questions instead of a long survey. Represents the person's interests as an uncertainty region over the theme map, picks the single highest-information-gain choice-based question (contrasting real talks from different clusters), balances exploiting known interests against exploring uncertain ones, deliberately injects outlier probes to fight selection bias, and stops as soon as the schedule would be stable. Also elicits the user-owned objective weights and hard constraints. Interactive — runs where it can actually ask the person. Conference-agnostic. Use to turn a theme map into a preference profile, to decide what to ask a conference attendee, or to elicit scheduling priorities. Trigger keywords - preference elicitation, ask few questions, information gain, choice-based questions, selection bias probe, objective weights, attendee preferences.
lyndonkl/conf-preference-elicitation
The multi-agent communication and orchestration discipline for a staged pipeline whose stages each carry calibrated uncertainty. Agents talk through files with defined schemas and status fields (never free text); the orchestrator passes input paths plus an explicit output path plus a return contract, verifies each artifact's confidence before advancing a stage gate, holds and integrates worker outputs rather than passing them through, freezes its protected control logic against a checksum, maintains a diversity floor, hardens the fragile handoffs not the resilient hubs, and names the substitution effect every optimized score produces. Conference-agnostic; preloaded by a pipeline orchestrator. Use when coordinating a staged agent pipeline, designing the orchestrator-worker contract, or deciding when to advance, reconcile, or escalate. Trigger keywords - pipeline orchestration, stage gates, structured agent communication, invariant guard, confidence propagation, conflict surfacing.
lyndonkl/conf-pipeline-orchestration
Thicken a thin or missing conference-session abstract through targeted web research so short, noisy text becomes classifiable — pulling the speaker's recent work, the linked repo or paper, and the company/product to add signal. Every enriched claim carries provenance (source URL + retrieval date) and a confidence, the enriched text is stored separately from the original (never overwriting it), and enrichment is gated so already-rich abstracts are left alone. Conference-agnostic. Use when an event record has been flagged thin by program extraction, when a session lacks enough text to classify, or when a key axis (depth, topic) is low-confidence. Trigger keywords - abstract enrichment, thicken abstract, enrich session, speaker research, thin abstract, runtime web search for talks.
lyndonkl/conf-abstract-enrichment
Guides a learner to invent a math or ML concept themselves through a Socratic walk — a sequence of small guessable questions that ends with the learner stating the formal definition unprompted. The 3Blue1Brown signature move. Use when the learner is meeting a foundational concept (eigenvectors, gradient, attention, softmax, KL divergence) for the first time, when prior exposure produced memorization without understanding, or when the user says "explain it from scratch", "I want to really get it", "build it up for me", or "where does this come from".
lyndonkl/concept-rediscovery-walk
Computes substacker's rolling 4-week baseline for open rate, click rate, views-per-send, and weekly subscriber delta using corpus/stats/ archived CSVs. Produces per-metric z-scores of the current week against the baseline and flags cold-start windows where fewer than 4 prior weeks exist. Use after ingest-substack-csv each Monday. Trigger keywords — baseline, rolling median, z-score, cold start, per-metric comparison.
lyndonkl/compute-baseline
Domain-neutral methodology for the third level of Adler-style reading - extracting structured components (terms, propositions, arguments, solutions) from a document section by section. Selects a reading strategy appropriate to document size and structure (section-based for documents under 50 pages with clear sections; windowing for long documents without breaks; targeted for hybrid content where only specific sections matter). Writes per-section extraction notes that downstream synthesis can consume. Reusable across any extraction workflow - skill creation from a methodology document, Pass-2 content grasp on a paper's full text, evidence-mining from a long-form report. Use when an agent has done structural analysis and now needs to extract the actual atomic content. Trigger keywords - component extraction, section-by-section extraction, extract terms, extract propositions, extract arguments, Adler Level 3, interpretive reading.
lyndonkl/component-extraction
Classifies a company and routes it to the correct analytical treatment — life cycle stage, sector type, earnings status, ownership, distress markers, geography — then compiles the hard constraints that follow into classification.json. Use before any valuation begins, when deciding which valuation model applies, or when a company looks non-standard — a bank or insurer, a pre-revenue or loss-making firm, a distressed or declining business, a private company or an IPO, a cyclical or commodity producer, an emerging-market firm, or a multi-business group.
lyndonkl/company-classification-routing
Transforms analysis, data, and complex information into clear, persuasive narratives tailored to specific audiences — executives, customers, investors, or non-technical stakeholders. Provides story structures (Hero's Journey, Problem-Solution-Benefit, Situation-Complication-Resolution) and audience adaptation techniques. Use when presenting findings, explaining technical concepts to non-technical audiences, writing announcements, or when user mentions "write this for", "explain to", "present findings", "make this compelling", or "audience is".
lyndonkl/communication-storytelling
Detects and prevents visual misleads, cognitive biases, and data integrity violations in visualizations, dashboards, reports, and presentations. Audits charts for honesty, diagnoses misinterpretation causes, and provides specific fixes. Invoke when user mentions chartjunk, misleading chart, truncated axis, data integrity, visual deception, 3D chart problems, cherry-picking data, or needs to audit visualizations for accuracy. For general design evaluation, use `design-evaluation-audit`. For cognitive foundations, use `cognitive-design`.
lyndonkl/cognitive-fallacies-guard
Grounds visual design decisions in cognitive psychology principles — perception, attention, memory, Gestalt grouping, and visual encoding hierarchy — explaining WHY certain designs work. Covers interfaces, data visualizations, educational content, and presentations. Invoke when user mentions cognitive load, visual hierarchy, working memory, preattentive processing, Gestalt principles, encoding hierarchy, or cognitive design pyramid. For design evaluation, use `design-evaluation-audit`. For fallacy prevention, use `cognitive-fallacies-guard`. For data storytelling, use `visual-storytelling-design`.
lyndonkl/cognitive-design
Generates structured scaffolds (frameworks, checklists, templates) for technical work — TDD test suites, exploratory data analysis plans, statistical analysis designs, causal vs predictive modeling objectives, and validation checklists. Use when starting technical work that needs systematic planning before execution. Invoke when user mentions "write tests for", "explore this dataset", "analyze", "model", "validate", "design an A/B test", or when technical work needs scaffolding before execution.
lyndonkl/code-data-analysis-scaffolds
Performs axial-coding-style thematic clustering over the substacker corpus of published posts to surface candidate sections. Uses Braun & Clarke's six-phase thematic analysis — familiarization, initial coding, searching for themes, reviewing themes, defining themes, naming. Reads full bodies, not titles. Use when re-opening the section question. Trigger keywords — cluster, theme, axial coding, thematic analysis, candidate sections.
lyndonkl/cluster-corpus-by-theme
Evaluates the final paragraph of a substacker draft for compression and closing form — bolded maxim, forward-looking question, or compressed mechanism statement. For series posts (frontmatter series — {slug}), verifies the running scoreboard (P&L, Brier, W-L) is present and updated. Use on every draft. Blocks publication of series posts missing the scoreboard. Trigger keywords — closer, closing, last paragraph, bolded maxim, scoreboard, CTA, wrap up, conclusion.
lyndonkl/closer-critique
Assigns a substacker draft or published post to the best-fitting section (or to unassigned) based on content + section promises in section-map.md. Used by the Editor on every draft review (to load the right voice overlay) and by the Curator in batch mode. Trigger keywords — classify post, section assignment, which section, route post, per-draft section.
lyndonkl/classify-post-to-section
Assigns each extracted claim to one of five buckets — simplified-correct, simplified-boundary, wrong, contested, overclaim — with low/medium/high confidence and one-sentence rationale. Classification happens before primary-source verification (which confirms, not invents). Use for every claim from claim-extractor. Trigger keywords — classify, bucket, simplified vs wrong, claim type, technical classification.
lyndonkl/classify-claim
Extracts atomic technical claims from a substacker essay draft, converting flowing intuition-first prose into a numbered list where each item is a statement that could in principle be verified or falsified. Skips non-technical sections (personal anecdote, motivation, call-to-action). Use when the Technical Reviewer starts a per-draft review. Trigger keywords — extract claims, atomic claims, technical claim list, fact-check prep.
lyndonkl/claim-extractor
Verifies every paper or named research result cited in a substacker draft uses the inline "Author(s), Institution, Year" form per style-guide, not a bare hyperlink or title-alone reference. Flags bare-hyperlink citations and missing-institution attributions. Use whenever the draft references external research. Trigger keywords — citation, paper citation, bare hyperlink, authors, institution, reference format.
lyndonkl/citation-form-check
Guides cooking through culinary principles, food science, and flavor architecture rather than rote recipe steps. Covers technique teaching (knife skills, sauces, searing, braising), food science (Maillard reaction, emulsions, brining), flavor troubleshooting (salt/acid/fat/heat balance), menu planning, ingredient substitutions, plating, and cultural cuisine exploration. Use when users mention cooking, recipes, chef, cuisine, flavor, technique, plating, food science, seasoning, or culinary questions.
lyndonkl/chef-assistant
Checks whether the substacker corpus has enough material to justify a Curator run. Counts published posts, time-gates against the last review, and reports go/no-go with the specific gate that failed. Use before any Curator run, and on cold start to decide whether to propose sections yet. Trigger keywords — readiness, corpus ready, gate check, cadence gate, pre-flight.
lyndonkl/check-corpus-readiness
Cross-references each proposed analogy in a 5-framing set against substacker shared-context/analogy-catalog.md to flag reuse. Classifies each analogy as new, reused-from-catalog (and which entry), or adjacent-to-catalog (close to an existing entry but not identical). Prevents the writer from recycling "imagine a library" for the twentieth time. Use after generate-analogy-set and before presenting framings to the writer. Trigger keywords — novelty, catalog, analogy reuse, already used, imagine a library.
lyndonkl/check-analogy-novelty
Chains together clear specifications, proactive risk analysis (premortem/register), and measurable success metrics into a comprehensive planning artifact for high-stakes initiatives. Use when planning migrations, launches, or strategic changes that need implementation roadmaps, risk mitigation, and instrumentation. Invoke when user mentions "plan this migration", "launch strategy", "implementation roadmap", "what could go wrong", "how do we measure success", or when high-impact decisions need comprehensive planning.
lyndonkl/chain-spec-risk-metrics
Facilitates structured roleplay, debate, and synthesis to resolve decisions with multiple legitimate perspectives and inherent tensions. Surfaces assumptions that single-viewpoint analysis would miss and integrates competing priorities into coherent recommendations. Use when stakeholders have competing priorities (growth vs. sustainability, speed vs. quality), need to pressure-test ideas from different angles, explore tradeoffs between incompatible values, or synthesize conflicting expert opinions into coherent strategy.
lyndonkl/chain-roleplay-debate-synthesis
Chains estimation, decision analysis, and storytelling to transform uncertain choices into clear, stakeholder-ready recommendations. Quantifies uncertain variables, applies expected value analysis to identify the best option, then packages the analysis into a persuasive narrative. Use when evaluating strategic options (build vs buy, market entry, resource allocation), quantifying tradeoffs, justifying investments, pitching to decision-makers, or when user mentions ROI analysis, expected value, business case, cost-benefit, or needs to combine estimation with persuasive communication.
lyndonkl/chain-estimation-decision-storytelling
Systematically investigates causal relationships to identify true root causes rather than correlations or symptoms. Distinguishes genuine causation from spurious associations, tests competing explanations, and designs interventions addressing underlying drivers. Use when investigating why something happened, debugging systems, analyzing failures, evaluating policy impacts, or when user mentions root cause, causal chain, confounding, spurious correlation, or asks "why did this really happen?"
lyndonkl/causal-inference-root-cause
For each spending category, computes current-period spend, 6-month rolling average, year-over-year delta, and budget variance, then flags categories that are outliers (>1.5x rolling average or >130% of budget). Produces a ranked list of categories that grew, shrank, or stayed flat, plus the top transactions driving each outlier. Use for monthly spending reviews, identifying lifestyle creep, evaluating budget adherence, or when user mentions category trends, spending changes, budget variance, or outlier spend.
lyndonkl/category-trend-analyzer
Computes the best-response allocation of roster resources across categories in a Head-to-Head Categories matchup. Given our per-category capacity, the opponent's projected output, per-category win probabilities (from matchup-win-probability-sim), and a K-of-N winning threshold, classifies categories into pushed / contested / conceded buckets, emits per-category leverage weights for downstream lineup and streaming decisions, computes the resulting K-of-N win probability, and writes a plain-English rationale. Domain-neutral — portable to any fantasy sport with H2H Cats scoring (MLB 10-cat, NBA 9-cat, NHL 10-cat). Use when you need push/punt decisions, dominated-strategy elimination, leverage weights per cat, or best-response allocation; or when the user mentions "category allocation", "push or punt", "K of N cats", "dominated strategy elimination", "best response allocation", "Blotto fantasy", "leverage weights per cat", or "which cats to push".
lyndonkl/category-allocation-best-response
Projects 30-90 days of daily cash flow per cash account by combining current balance, scheduled recurring inflows and outflows from recurring.json, and a 6-month rolling average of discretionary spend, then flags days where projected balance falls below a configurable safety floor. Use for forward planning, detecting upcoming overdrafts, sizing pre-funding for sinking funds, or when user mentions cash flow projection, runway, balance forecast, or upcoming bills coverage.
lyndonkl/cash-flow-forecaster
Guides the creation of career documents for academic advancement including research statements, teaching statements, diversity statements, CVs, and biosketches. Combines strategic positioning, narrative coherence, and institutional alignment with authentic representation of contributions and vision. Use when writing or reviewing faculty applications, fellowship statements, promotion packages, award applications, or when user mentions research statement, teaching philosophy, diversity statement, biosketch, academic CV, or career narrative.
lyndonkl/career-document-architect
Constructs a structured narrative linking a company's qualitative business story to quantitative valuation drivers (revenue growth, target margin, reinvestment efficiency, cost of capital, failure risk). Classifies the company within a 6-stage corporate life cycle and sizes the total addressable market. Use when starting a company analysis, building a valuation narrative, assessing competitive position, sizing TAM, or when user mentions business narrative, story to numbers, life cycle stage, or company analysis.
lyndonkl/business-narrative-builder
Applies structured divergent-convergent thinking to generate many creative options, organize them into meaningful clusters, then systematically evaluate and narrow to the strongest choices. Balances creative exploration with disciplined decision-making. Use when exploring product ideas, solving open-ended problems, generating strategic alternatives, developing research questions, designing experiments, or when user mentions brainstorming, ideation, divergent thinking, generating options, or evaluating alternatives.
lyndonkl/brainstorm-diverge-converge
Applies Bayesian reasoning to systematically update probability estimates with new evidence, helping make better forecasts and avoid overconfidence. Use when making predictions or judgments under uncertainty, forecasting outcomes, evaluating probabilities, testing hypotheses, calibrating confidence, assessing risks with uncertain data, or when user mentions priors, likelihoods, Bayes theorem, probability updates, forecasting, calibration, or belief revision.
lyndonkl/bayesian-reasoning-calibration
Checks every post currently assigned to a substacker section against that section's promise and flags posts that no longer fit. Distinguishes acceptable-stretch (minor) from borderline (surface for review) from genuine-drift (violates promise). Never reassigns automatically — only flags. Use on every Curator run where at least one section already exists. Trigger keywords — drift, drift audit, section fit, promise violation, post in wrong section.
lyndonkl/audit-drift
Applies a Bayesian haircut to a bid valuation for common-value auctions where winning is itself evidence the bidder over-estimated. Takes a raw valuation, a value-type classification (common_value / private_value / mixed), the number of informed bidders N, and a signal-dispersion estimate, and returns an adjusted valuation. Domain-neutral and reusable across fantasy FAAB, prediction markets, M&A bids, ad-auction budgets, and any generic bidding context. Use when user mentions "winner's curse", "common value auction", "valuation haircut", "adverse valuation", "Bayesian bid adjustment", or "over-paying in auction".
lyndonkl/auction-winners-curse-haircut
Computes the optimal shaded bid for a first-price sealed-bid auction given a true private value, an estimate of the number of competing bidders N, and a value-distribution assumption. Implements the `(N-1)/N` equilibrium shading rule for uniform private values, adjusts for log-normal or empirical value distributions, layers a risk-aversion adjustment, and caps output against the bidder's remaining budget. Domain-neutral auction theory reusable across fantasy sports (baseball FAAB, NBA/NHL waiver auctions), prediction-market limit sizing, sealed procurement bids, and any blind-bid context. Use when user mentions "first-price auction bid", "sealed bid shading", "(N-1)/N", "FAAB bid amount", "auction shading", "optimal bid first-price", "bid for sealed-bid", "blind bid sizing", or when downstream logic needs a principled shade factor rather than an ad-hoc heuristic.
lyndonkl/auction-first-price-shading
For each substacker post that materially over- or under-performs the rolling baseline (|z| ≥ 1.0), produces a plain-English attribution paragraph with calibrated confidence (high / medium / low / unexplained). Considers subject-line effect, topic zeitgeist, external share, day-of-week, length effect, and audience-notes signals. Labels unexplained outliers explicitly rather than fabricating a story. Use after compute-baseline when outlier posts exist. Trigger keywords — attribution, why did this post work, outlier explanation, performance analysis.
lyndonkl/attribute-performance
Takes one strategic question about substacker ("should we launch paid?", "is this section dead?", "are we writing for the wrong audience?") and produces the mandatory evidence + reasoning + downside triad plus a recommendation. Used 3 times per Growth Strategist review. Trigger keywords — uncomfortable question, strategic question, evidence reasoning downside, triad.
lyndonkl/answer-uncomfortable-question
Scans transactions for fraud and anomaly signals — duplicate charges within 48 hours, transactions more than 3 standard deviations above a merchant's historical average, first-ever transaction with a new merchant above a high-dollar threshold, and unusual geography or time. Produces severity-tagged alerts with the transaction id, evidence, and a recommended action (call bank, freeze card, dispute, monitor). Use for vigilance scans on every drop, after any large unexplained outflow, or when user mentions fraud check, suspicious charge, anomaly detection, or duplicate charge.
lyndonkl/anomaly-fraud-scanner
For every analogy in a substacker draft, verifies it carries mechanical weight — the analogy does real work explaining the mechanism, not merely decorates it. Cross-references analogy-catalog.md for novelty (is this analogy reused from a prior post?) and domain fit (biology > organizational > sports preferred; physics/military disfavored). Use whenever an analogy appears in the draft. Trigger keywords — analogy weight, decorative, mechanical weight, reused analogy, catalog check, metaphor check.
lyndonkl/analogy-weight-check
Creates actionable alignment frameworks that give teams a shared North Star (direction), values (guardrails), and decision tenets (behavioral standards). Enables autonomous decision-making while maintaining organizational coherence. Use when starting new teams, scaling organizations, defining culture, establishing product vision, resolving misalignment, creating strategic clarity, or when user mentions North Star, team values, mission, principles, guardrails, decision framework, or cultural alignment.
lyndonkl/alignment-values-north-star
A strict advisory-only editing discipline for a writer who dictates ("speaks out") essays and wants help WITHOUT having their voice changed. The editor directs structure, flags grammar, and suggests strategic language — but never modifies the writer's text unless the writer explicitly says "apply" / "make that change" / "rewrite this." Produces a line-referenced, suggestion-only critique where every item is marked the writer's call. Four passes — structural, line (grammar/clarity), voice, pre-publish. Use when reviewing a draft, critiquing a spoken-out article, or doing a pre-publish check. The companion to learning-in-public-voice and the operating manual for the biostat-editor agent.
lyndonkl/advisory-edit
Produces a Bayesian prior probability that an offered transaction is +EV for the recipient, given that the counterparty chose to propose it. Applies Akerlof market-for-lemons logic -- if they offered it, they believe it is +EV for them, so the prior that it is +EV for us is materially below 50%. Reusable across trade evaluation, waiver drops (another team dropping a player is also adverse selection), job-offer analysis, M&A, and any "someone offered me this" situation. Use when you receive an unsolicited trade/offer/proposal, analyzing incoming trade prior, evaluating why a counterparty proposed a deal, or when user mentions adverse selection, market for lemons, why did they offer this, incoming trade prior, they proposed it, Bayesian adjustment on received offer.
lyndonkl/adverse-selection-prior
Documents significant architectural and technical decisions with full context, alternatives considered, trade-offs analyzed, and consequences understood. Creates a decision trail that helps teams understand why decisions were made. Use when choosing between technology options, making infrastructure decisions, establishing standards, migrating systems, or when user mentions ADR, architecture decision, technical decision record, or decision documentation.
lyndonkl/adr-architecture
Guides the creation of evidence-based academic recommendation letters, reference letters, and award nominations that combine concrete examples, meaningful comparisons, and genuine enthusiasm. Use when writing recommendation letters for students, postdocs, or colleagues, or when user mentions recommendation letter, reference, nomination, letter of support, endorsement, or needs help with strong advocacy and comparative statements.
lyndonkl/academic-letter-architect
Builds structured abstraction ladders that translate high-level principles into concrete, actionable examples across 3-5 levels. Bridges communication gaps, reveals hidden assumptions, and tests whether abstract ideas work in practice. Use when explaining concepts at different expertise levels, moving between abstract principles and concrete implementation, identifying edge cases by testing ideas against scenarios, designing layered documentation, decomposing complex problems into actionable steps, or bridging strategy-execution gaps.
lyndonkl/abstraction-concrete-examples