docs(upstream): record the show-me-your-work lane, closing the attribution table's last gap - #3103
Conversation
…ns attribution table The attribution table claims to be the single source of truth for everything this marketplace derived from cursor/plugins' pstack/skills collection, and its recheck trigger only reaches rows the table names — but show-me-your-work, from which two plugins absorbed shipped rules, had only a decision section below the table and no row. Drift in that upstream skill would have gone undetected. This was the second and last instance of the gap #3094 closed for unslop. One row added, recording what was taken into implement-dispatch's DEVIATIONS.md (four deviation-log rules, implementation 0.15.0) and into audit-install-state's CSV writer (the formula-injection guard, claude-ops 0.35.1), where the guard was hardened past upstream's own version, and what was rejected with its reason: the skill, the marketplace convention upstream's "Composing this skill" section proposes, the unconditional cross-model review, the standing Attention section, and the log-versus-transcript self-audit as a duplicate. Provenance is stated in the direction the evidence supports, which is the opposite of the unslop row's: this verdict WAS formed at the file's pin. The commit that set main@60c641e4 (228a2b1) is the same commit that landed both absorbs and this file, so git history dates the derivation correctly and no date correction applies. Upstream pstack/skills/show-me-your-work/ was re-read at the pin and is byte-identical to upstream main@46125561, so the row lands with no drift outstanding. The "All ten lanes are decided" count is unchanged and still true: show-me-your-work was already one of the ten (it had a decision section), so giving it a row moves nothing. unslop stays outside the count by its own row's text. The SSOT claim now holds — every pstack skill this marketplace derived anything from (why, recall, teach, tdd, reflect, arena, technical-writing, blast-radius, unslop, show-me-your-work) is named in the table. Not under plugins/, so no version bump. One file, one insertion, zero deletions. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AqwX2njhiLMWGrMg3QNt4g
|
Claude finished @kyle-sexton's task in 2m 35s —— View job Code review —
|
|
Claude has reviewed this PR 1 time. The lane skips further automatic reviews after 5; deleting this comment resets the count. |
No linked issue.
Summary
docs/upstream/cursor-pstack.mdclaims to be the single source of truth for everything thismarketplace derived from
cursor/plugins'pstack/skills/collection, and its recheck trigger firesonly on skills named in the attribution table.
show-me-your-workhad shipped derivatives in twoplugins and no row — so drift in that upstream skill fired nothing.
This is the second and last instance of the gap #3094 closed for
unslop. One row added.The table is now complete, proven by enumeration rather than assertion: nine
pstack/skillsmembers have derived surfaces here —
why,blast-radius,technical-writing,teach,tdd,reflect,arena,unslop,show-me-your-work— and all nine are named. The upstream collectioncarries 44 skills at the pin; none of the rest has a derived surface in this repo.
recalltooknothing and is tabled anyway.
Fix
Relation: Absorbed (skill omitted)— exact sibling vocabulary, withtddas the structuralprecedent: rules absorbed into two different plugins, no skill shipped.
Derivedwould be wrong (nosurface here is a reauthor of upstream's) and
Partial (…)is for a skill that shipped withmechanics dropped.
What the row records as taken:
implement-dispatch'sDEVIATIONS.md(implementation0.15.0),each traced to upstream's own text — append-only supersession, the evidence column preferring
committed scripts,
INCONCLUSIVEas a real result, one row per decision.claude-ops:audit-install-state'sinstall_state.py(
claude-ops0.35.1), from upstream'sscripts/log.shclean(). The exposure was live ratherthan hypothetical:
git show 228a2b19^:…/install_state.pyshowswrite_csvpassingrow.relpathraw to
csv.writerbefore the port. This repo's version is stricter than upstream's — upstreamstrips tabs and newlines then tests
=+-@;csv_safetests"=+-@\t\r\n"directly and quotesrather than strips.
And what was rejected, with reasons drawn from the existing decision section rather than restated:
the skill itself, and upstream's proposal that other skills route their audit trails through it.
This verdict was formed at the pin, and the row says so — the opposite of the
unsloprow'sdisclaimer, and stated explicitly so a reader does not assume that caveat carries over. Commit
228a2b19(#3065) introduced both plugin changelog entries and this file with itsmain@60c641e4pin, so the derivation and the audit are the same commit and this file's git history dates the
derivation correctly. No date correction was needed.
git diff 60c641e4 HEAD -- pstack/skills/show-me-your-work/against a fresh clone of upstream isempty: no drift outstanding at the time of writing.
Verification
plugins/, so no version bumppstack/skills/show-me-your-work/SKILL.mdat the pin — upstream was cloned through the session's git proxy, not paraphrased from this repo's own account of itbroandshow-me-your-work(section-only). Giving this lane a row moves it from section-only to section-plus-row, exactly asarena,teach,tdd,reflectandrecallalready are.unslopstays outside the count by its own row's text, and this row now states its own side, so the arithmetic is legible from both.test -f)### Why show-me-your-work ships neither a skill nor a conventionexists exactly oncemarkdownlint-cli2,typos,editorconfig-checkerOne deliberate divergence from sibling rows: the
Ourscolumn linksinstall_state.pydirectly,a plugin-internal script, where every sibling links only
.md. The formula guard has no markdownsurface, and pointing at the changelog alone would leave a reader hunting for the code the row
attests to. Flagged rather than hidden; it is a one-cell edit if you would rather the row point only
at the CHANGELOG.
One check not run here:
lycheeis not installed in this environment, so the anchor fragment wasverified by construction and by the precedent of the shipped
#why-arena-ships-no-skilllink ratherthan by running CI's offline link lane.
lychee.tomlsetsinclude_fragments = "full", so CI willsettle it.
Related
unslop; its adversarial pass found this one.Generated by Claude Code