Skip to content

Add runnable checks to the five product skills - #1958

Merged
remigiusz-antczak merged 2 commits into
mainfrom
feat/product-checks-land
Oct 23, 2026
Merged

remigiusz-antczak merged 2 commits into
mainfrom
feat/product-checks-land

Conversation

@remigiusz-antczak

Copy link
Copy Markdown
Collaborator

Summary

Five product skills (growth-analytics, business-ops, product-output-safety, positioning, product-discovery) shipped prose and evals with no runnable check. Rival skill packs ship scripts. This PR gives each skill one deterministic checker that enforces only rules quoted from its own SKILL.md:

Skill Script Checks
growth-analytics readout_check.py experiment readout against what the input pre-registers
business-ops bizops_check.py runway, LTV:CAC, payback and margin arithmetic against stated limits
product-output-safety output_safety_check.py inventory, human gate, unmeasured metrics, certification words, card, regimes
positioning positioning_check.py drafted statement or message house; name clearance FAILs unless the bool is true
product-discovery discovery_check.py plan or readout: assumptions, ICE user_supplied, collisions

All five fail closed on absent fields (FAIL, never a sibling-carried PASS) and use exit codes SKIP / FAIL 1 / ERROR 2 / INCONCLUSIVE 3. Lone-surrogate input returns ERROR rc 2 where tested.

Cost

Each SKILL.md grows by one routing line (about 110–150 bytes). The scripts load only when run.

Review

Each lane commit passed an independent review; final verdicts were 🔴0 🟡0, with at most three 🔵 nits that are queued for the next nits PR. Discovery's first review found 🔴3 🟡4 (fail-open bools, ICE SKIP, surrogate traceback), and positioning's found one 🟡 (a regex bypass); both were fixed before the delta reviews.

Land notes

This branch squashes the five lane commits onto main 31419323d5860b34faa9b39dafe15e632ee34c94 as one commit, which saves four CI cycles. The table conflicts in size-budgets.tsv, INDEX.md and capability-matrix.md were resolved by union and then deduplicated, and the INDEX files were regenerated. The slim fast-path caps for business-ops (6350→6454) and growth-analytics (6000→6011) rise by the routing line.

Tests

  • 166/166: readout 17, bizops 23, output-safety 29, positioning 46, discovery 35, slim bizops 9, slim GA 7.
  • The ci-tests.d check scripts pass (6/6).
  • Gates pass locally: size, size-ratchet, rules, mustload, check_section_pointers, skill_index --check (14 INDEX files) and bench_check --changed.
  • CI on the exact SHA is the blocking gate.

🤖 Generated with Claude Code

Remigiusz Antczak and others added 2 commits October 23, 2026 19:44
growth-analytics, business-ops, product-output-safety, positioning and
product-discovery shipped prose and evals only. Each now ships one
deterministic script that checks a JSON plan, readout or draft against
rules quoted from its own SKILL.md, fails closed on absent fields, and
exits SKIP/FAIL 1/ERROR 2/INCONCLUSIVE 3:

- growth-analytics: scripts/readout_check.py
- business-ops: scripts/bizops_check.py
- product-output-safety: scripts/output_safety_check.py
- positioning: scripts/positioning_check.py
- product-discovery: scripts/discovery_check.py

Each SKILL.md gains one routing line; the generated INDEX files list the
scripts; docs/capability-matrix.md rows name them. Each lane passed an
independent review (final verdicts 🔴0 🟡0, at most 🔵3 queued as nits).

Combined land: the five lane commits are squashed onto one base to save
four CI cycles. Table conflicts (size-budgets.tsv, INDEX.md,
capability-matrix.md) were resolved by union, then deduplicated; the
INDEX files were regenerated. The slim fast-path size caps for
business-ops (6350→6454) and growth-analytics (6000→6011) rise by the
routing line.

size-budget-raise: .claude/skills/INDEX.md 12344→13037 generated index lists the five new product-skill check scripts (combined land)

Tests: 166/166 (readout 17, bizops 23, output-safety 29, positioning 46, discovery 35, slim bizops 9, slim GA 7); ci-tests.d check scripts 6/6 OK

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@remigiusz-antczak
remigiusz-antczak merged commit bc46fc8 into main Oct 23, 2026
1 check passed
@remigiusz-antczak
remigiusz-antczak deleted the feat/product-checks-land branch October 23, 2026 20:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant