본문으로 건너뛰기
cccskills
무료GitHub에 공개

update-optimal-blog

Refresh the data tables in optimal-blog.md from master.db. Checks the data for integrity problems FIRST, then runs the generator that picks per-language winners and splices every GEN-marked table, then reconciles the surrounding prose. Use after new experiment results land, or when the optimal-blog numbers are stale.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md5.7 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Update optimal-blog.md

Overview

optimal-blog.md records what to run today, per language and task size. Its data tables are not hand-written — they are generated from master.db by the retort report optimal subcommand (code in src/retort/reporting/optimal.py) and live between <!-- GEN:<key> START/END --> markers. This skill is the safe procedure for refreshing them: check the data before you trust it, regenerate, verify the round-trip, then fix any prose whose numbers moved.

The order matters. master.db does not record the full stack/config (see the health gaps below), so a blind regenerate can silently publish wrong numbers. Always run the health check first and stop if it reports anything new.

Why per-language, not aggregates

A single cross-language reliability number is misleading — it blends a stack's strong languages with its weak ones (local Qwen passes Python/Go but fails Rust; Opus 4.8 dips on Java). The generator's centrepiece is the per-language success-rate matrix; the leading-stacks routine aggregate is explicitly labelled the least-useful number. Keep it that way — do not "promote" an aggregate back into the recommendation.

Steps

1. Health-check master.db FIRST (gate)

retort report optimal --health

Compare against the known, accepted gaps (already documented in the blog's Keeping this current section):

  • ⚠️ No sampling columns / max_context_tokens unpopulated — the qualified config is curated in FEATURED_STACKS, not filtered from data.
  • ⚠️ ~250 rows have a blank model (local provenance bug) — attributed by experiment slug.
  • ⚠️ experiment-11, experiment-29 not ingested.

You MUST STOP and surface to the user if the report shows anything beyond those:

  • "Unmapped model strings" — a new model appeared that no featured/legacy entry covers. Decide whether it's a new featured stack (add to FEATURED_STACKS) or legacy (add to KNOWN_NONFEATURED) before regenerating. Publishing without deciding would drop it silently.
  • New experiment dirs not in master.db — results exist on disk but aren't ingested; the refresh would omit them. Re-ingest first, or note the omission to the user.
  • A jump in the blank-model count — the harness may have regressed; a run recording no model is invisible to the tables. (The fix landed in src/retort/playpen/runner.py stack_metadata(); if new blanks appear, that path is being bypassed.)

2. Regenerate the tables

retort report optimal --write optimal-blog.md

This splices every GEN:* block (leading stacks, per-language matrix, per-language winners, prompt method). It only touches text between markers.

3. Verify the round-trip

retort report optimal --write optimal-blog.md   # run twice
git diff --stat optimal-blog.md

A second --write MUST produce no further change — the tables are idempotent. If git diff shows table cells changed, that's the real new data; if it shows nothing, the blog was already current.

4. Reconcile the prose

The generator owns the tables, not the sentences around them. After a refresh, read the diff and fix any prose that quotes a number that moved:

  • The bullets under Leading stacks (e.g. "Opus 4.8 ~0.59 on hard").
  • The per-language recommendation table (the curated one with the prompt/testing column) and its †/‡ footnotes — reconcile its picks against the generated matrix and winner table. A cell that flipped qualified↔unqualified (e.g. a language gaining local support) changes the recommendation.
  • The decision procedure list.
  • The language split sentence if a language moved between local and cloud.

You MUST NOT edit numbers inside the GEN markers by hand — re-run the generator instead.

5. Report

Tell the user: which table cells changed, any prose you reconciled, and — if step 1 found anything — what you stopped on. If nothing changed, say the blog was already current.

Constraints Summary

  • You MUST run --health and clear it against the known gaps before --write.
  • You MUST NOT hand-edit between GEN:* markers; the generator is the source of truth.
  • You MUST NOT introduce or re-elevate a cross-language aggregate as a recommendation — per-language success rates are the point.
  • You MUST verify idempotency (step 3) before considering the update done.
  • A new model string or un-ingested experiment is a STOP-and-ask, not a silent skip.

Troubleshooting

--health reports an unmapped model — add it to FEATURED_STACKS (with a models list and short column name) if it should appear in the blog, or to KNOWN_NONFEATURED if it's legacy/a serving variant. Re-run health until only the accepted gaps remain.

Blank-model count grew — the harness stopped recording model for some runs. Check stack_metadata() is still called by every runner's provision() (local_runner, metaharness_runner, docker_runner); a new runner or a bypass would reintroduce the original bug. Do not paper over it in the generator.

A local language's number looks too low — confirm the curated selection in FEATURED_STACKS still points at the tuned-config experiments, not an all-experiment average (which includes early bad-config runs and understates the tuned reality).

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

beads

무료

Use when working in a repository that uses bd or Beads for durable project task tracking, issue dependencies, blocker management, multi-session handoff, or shared work memory. Trigger when the user asks to find ready work, claim or close tasks, create follow-up work, inspect blockers, recover project context, or choose between local planning and persistent project tracking.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

adrianco/retort2102026년 10월 19일 업데이트

Compare evaluated runs in a retort experiment along factor dimensions. Surfaces effects of each factor, aggregates across replicates, and highlights cells that diverge qualitatively — complementing (not replacing) retort's ANOVA analysis.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

adrianco/retort2102026년 10월 18일 업데이트

Determine the TRUE cause of a failed retort run before attributing it. Ground-truth every failure (run its tests, read its agent logs, inspect its workspace) and classify it as an infrastructure false-fail, a genuine model miss, or an environment issue — never trust the gate verdict or a log signature alone. Use whenever a run is recorded failed (test_coverage=0 / gate fail), a pass rate looks low, or you're deciding whether a "failure" is real before reporting or proceeding.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

adrianco/retort2102026년 10월 18일 업데이트

Evaluate a single retort experiment run. Score the generated code against the task's TASK.md requirements, run its build and tests, compute metrics, and emit a structured evaluation report plus a machine-readable findings file.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

adrianco/retort2102026년 10월 18일 업데이트

Aggregate a retort run's findings.jsonl into a machine-readable assessment.json summary with severity counts, penalty score, requirement coverage, and top findings.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

adrianco/retort2102026년 10월 18일 업데이트

Summarize the architecture of code generated by a single retort run. Produces module-level structure, interfaces, and control flow in a form suitable for cross-run comparison — not a full codebase-summary.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

adrianco/retort2102026년 10월 18일 업데이트

adrianco의 스킬 모두 보기

이 스킬의 문제 신고