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 pas…
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".
Similar popular skills
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Claude CodeNot declared
CursorNot declared
CodexNot declared
GitHub CopilotNot declared
WindsurfNot declared
Gemini CLINot declared
ClineNot declared
OpenCodeNot declared
Repository health
Stars155
Default branchmain
Open issues0
Status
Active
Package contents
Files included with this skill beyond the listing page.
skill mdSKILL.md12,611 B
docsSUMMARY.md529 B
History
First seen on skills.sh
First recorded snapshot · 35 installs
SKILL.md
MLB Decision Logger
Table of Contents
[Example](#example)
[Workflow](#workflow)
[Common Patterns](#common-patterns)
[Guardrails](#guardrails)
[Quick Reference](#quick-reference)
Example
Scenario: Three agents fire in a single morning brief on 2026-04-17. Each agent hands a decision payload to this skill. On Monday 2026-04-21, the coach runs the calibration pass over Friday's lineup decision.
Sequence:
mlb-lineup-optimizer submits a start/sit decision for Junior Caminero.
mlb-waiver-analyst submits a FAAB bid on a two-start streamer.
mlb-streaming-strategist submits a stream pickup.
Skill behavior:
Reads the current tail of tracker/decisions-log.md.
Auto-assigns decision_id by counting same-day, same-type entries and incrementing (2026-04-17-lineup-01, 2026-04-17-waiver-01, 2026-04-17-stream-01).
Validates each payload against the schema in context/frameworks/decision-log-format.md.
Appends entries in timestamp order, one at a time, re-reading the tail between writes.
Returns the assigned decision_id to the calling agent.
Monday calibration (2026-04-21):
Reads all entries where willverifyon <= 2026-04-21 and outcomerecordedon is empty.
For each entry, agent web-searches the outcome and passes result to this skill.
Skill edits the target entry in place (only the three outcome fields) and increments the matching row in tracker/variant-scoreboard.md.
Recomputes tilt per agent using the advocate/critic counts over the most recent 20 verified decisions.
After Monday calibration the last three fields are filled in; the scoreboard row for mlb-lineup-optimizer increments Total decisions, Advocate correct (if 1-for-4 with an RBI counted as success), and Synthesis correct; Tilt is recomputed.
Workflow
Copy this checklist and track progress for each invocation:
Two supported modes. Exactly one fires per invocation.
append -- calling agent passes a complete decision payload. Skill creates a new entry.
calibrate -- calling agent passes an existing decision_id plus outcome fields. Skill edits that entry in place and updates the scoreboard.
See [resources/methodology.md](resources/methodology.md#mode-selection) for the full decision tree.
Step 2: Read current log tail
Always re-read the log immediately before any write. This is how concurrent writes from parallel agents are serialized without a real file lock.
Read the last ~80 lines of tracker/decisions-log.md.
Parse the last entry's timestamp and decision_id.
If another agent has written since this invocation started, note new decision_id numbers used today.
See [resources/methodology.md](resources/methodology.md#concurrent-writes) for the full serialization protocol.
Step 3: Validate payload against schema
Check every required field. Reject (do not write) if any are missing or malformed. The authoritative schema is in context/frameworks/decision-log-format.md; [resources/template.md](resources/template.md) mirrors it verbatim.
timestamp_iso8601 is UTC ISO 8601 (YYYY-MM-DDTHH:MM:SSZ).
recommendation starts with an action verb (START, SIT, ADD, DROP, BID $X, ACCEPT, COUNTER, REJECT, STREAM, HOLD).
signals_in references at least one signal by name.
variants has both advocate and critic entries (or explicit n/a for bootstrap).
confidence in [0.00, 1.00].
willverifyon is a date, end of week N, or end of season.
For calibrate mode: outcome in {happened, did not happen, partial}, variantthatwas_right in {advocate, critic, both, neither}.
Step 4: Serialize write
append: assign decisionid using format {YYYY-MM-DD}-{decisiontype}-{NN} where NN is lastsametypesameday_index + 1, zero-padded to 2 digits. Append the formatted entry plus a trailing separator line.
calibrate: locate the target entry by decision_id, replace only the three outcome fields, preserve everything else byte-for-byte.
Never overwrite the full file. Never reorder entries. Never edit fields other than the three outcome fields.
See [resources/methodology.md](resources/methodology.md#write-protocol).
Step 5: Update scoreboard (calibration mode only)
Read tracker/variant-scoreboard.md.
Find the row for the entry's emitted_by agent.
Increment Total decisions by 1.
Increment Advocate correct, Critic correct, or both (for variantthatwas_right = both). Increment Synthesis correct when the synthesized recommendation matched reality.
Recompute Tilt per the rules in [resources/methodology.md](resources/methodology.md#tilt-recomputation).
Write updated table back; leave all other text unchanged.
Step 6: Return decision_id and confirmation
Return assigned decision_id (append) or confirmation of calibrated fields (calibrate).
If validation failed, return structured error with field name and reason; do not write.
Validate the final output using [resources/evaluators/rubricmlbdecisionlogger.json](resources/evaluators/rubricmlbdecisionlogger.json). Minimum standard: average score 3.5+, no criterion below 2.
Common Patterns
Pattern 1: Parallel agent append (morning brief)
Coach launches lineup-optimizer, waiver-analyst, and streaming-strategist in one run. Each completes its variant pair, synthesizes, and calls this skill. Skill processes them serially in arrival order, re-reading the log tail between each write, assigning unique decision_ids per type.
Pattern 2: Monday calibration pass
Coach opens the log, filters for entries where willverifyon <= today and outcomerecordedon is empty, and for each one: web-searches the outcome, builds the calibration payload, calls this skill in calibrate mode. Each call edits one entry and updates one scoreboard row.
mlb-trade-analyzer fires when a trade offer arrives. The decision is REJECT, ACCEPT, or COUNTER. willverifyon is typically end of week N or end of season because trade value plays out over weeks. Skill logs normally; the trade stays "open" on the calibration queue until its verify date.
Pattern 4: Bootstrap / ad-hoc entry
For team initialization or meta-decisions (changing a weighting, amending a framework), decisiontype = ad-hoc or bootstrap, variants = n/a, variantthatwasright = neither. Skill accepts this as a special shape.
Guardrails
Append only. Never rewrite the log. Never reorder entries. The only edit allowed is filling in the three outcome fields on an existing entry during calibration. Any other mutation is a bug.
Re-read before every write. Parallel agents share one file. Reading the tail immediately before writing is the serialization primitive. Do not cache the tail from earlier in the run.
Validate before writing. A malformed entry poisons downstream calibration. Reject with a structured error; do not attempt partial writes or auto-fix missing fields.
decision_id is deterministic. Same day, same type, sequential NN. If another agent has already used 2026-04-17-lineup-01, this agent gets 02. Never reuse an id.
Outcome-editing is surgical. When filling outcome fields, replace only the three target lines. Preserve timestamps, decisionid, recommendation, variants, synthesis, red-team, confidence, and willverify_on byte-for-byte. If you have to reformat to write, you are doing it wrong.
Scoreboard updates are idempotent per decision. Each decisionid contributes exactly one row increment. If a calibration call is retried, re-check whether the entry already has outcomerecorded_on populated; if so, do not double-count.
Tilt needs sample size. Report neutral when Total decisions < 10 for the agent. Only switch to advocate+ / critic+ once both sample size and margin are met. See [resources/methodology.md](resources/methodology.md#tilt-recomputation) for exact thresholds.
Agents never write to the log directly. Every MLB agent routes through this skill. If the coach finds a malformed entry not produced here, treat it as a bug and log it under tracker/calibration-review.md.