Repository navigation
docs: reword nine pre-existing passages that track upstream pstack and mattpocock text #7052
Description
Problem
A non-author copy check run for #7009 (WS-A Phase 23: fingerprint.mjs plus /attribution:audit) flagged nine passages that predate that effort and sit on main. Each shares word runs or a one-to-one structure with an upstream source. The repository's rule is our own words, with credit only on docs/upstream/ pages. #7009 rewrites only the text its own slices wrote, so these need their own pass.
| File | Lines | Upstream | Finding | Origin |
|---|---|---|---|---|
plugins/docs-hygiene/skills/write-for-humans/SKILL.md |
1-200 | cursor/plugins@12d587dfb2 pstack/skills/technical-writing/SKILL.md |
section-by-section paraphrase (four layers, three rules, Diataxis compass, mode table, no-mixing list, rhythm, UI-strings exclusion) | 228a2b1 |
plugins/education/CHANGELOG.md |
507-511 | cursor/plugins@12d587dfb2 pstack/skills/teach/SKILL.md:17 |
15-word and 13-word shared runs | 228a2b1 |
plugins/review/skills/quality-gate/context/downstream.md |
7-183 | cursor/plugins@12d587dfb2 pstack/skills/blast-radius/SKILL.md:13-45 |
7-9 word runs; same risks/cleared field order | 228a2b1, c392b4f, 72525f4 |
plugins/prototype/skills/explore-directions/evals/evals.json |
7-72 | mattpocock/skills@24fe0ef skills/engineering/prototype/UI.md:20-112 |
12-word run; same /settings example | 8e594f0 |
plugins/architecture/skills/improve/research/deepening/interface-design.md |
59-67 | mattpocock/skills@24fe0ef skills/engineering/codebase-design/DESIGN-IT-TWICE.md:30-38 |
same five return parts in the same order | b356df0 |
plugins/ai-slop/skills/audit/reference/rewrite-guide.md |
116-195 | cursor/plugins@73f8be4873 pstack/skills/unslop/SKILL.md:20-65 |
replacement pairs and "Adding voice" bullets mapped one to one | main |
plugins/code-tidying/skills/dissolve-comments/reference/triage.md |
97-117 | cursor/plugins@12d587dfb2 pstack/agents/comment-sicko.md:16-20 |
keep-list in nearly the same wording and order | main |
plugins/testing/skills/diagnose/SKILL.md |
35-37 | mattpocock/skills@24fe0ef skills/engineering/diagnosing-bugs/SKILL.md:12-16 |
same sentence order, shared runs | main |
plugins/discovery/skills/trace-intent/context/evidence-categories.md |
9-34 | cursor/plugins@12d587dfb2 pstack/skills/why/SKILL.md:66-112 |
same four-category list in order | main, partly slice 108 |
All rows are llm-suspected or fingerprint-confirmed spans, not a final verdict. Confirm each one before rewriting it.
Fix
For each row, rewrite the passage in a new structure with this repository's own examples, keeping every directive and eval expectation. Then re-run node plugins/attribution/skills/audit/scripts/fingerprint.mjs compare against the named upstream file. Make sure each upstream source has a credit row on its docs/upstream/ page.
Verification
fingerprint.mjs compare reports no shared run at the module's thresholds for each pair, and a fresh-context review finds no one-to-one sentence mapping.
Activity
github-actions commentedon Oct 11, 2026
Proposed work class: work-class: scoped
Basis: automated intake triage; the lanes App applied this class.
Size: Large
Complexity: Medium
Uncertainty: Knowable
Flags: none
Blocked by: none
Understood: nine existing docs and eval passages share wording or structure with upstream pstack and mattpocock sources. Each needs rewriting in our own words and re-checking with
fingerprint.mjs compare, and each upstream source needs a credit row on itsdocs/upstream/page. The issue is docs-only, so I rated it low priority. It is too big for one change, and the owner's comment already splits it into per-plugin slices (#9780–#9790). I'd treat this issue as the tracking parent. No duplicates found.Automated triage, applied by the lanes App.
kyle-sexton commentedon Oct 11, 2026
Three more rows from the final pass of the #7009 copy check. Like the rest of this issue, they sit in text the #7009 slices did not write (blame: non-WS-A or main commits), so #7009 leaves them alone:
plugins/review/agents/code-reviewer.mdskills/engineering/code-review/SKILL.md:45-56plugins/debugging/skills/debug/SKILL.mdtddplugins/debugging/skills/debug/SKILL.mdtddkyle-sexton commentedon Oct 11, 2026
More passages found while verifying slice 141 of #7009 (the interview and ADR gate rewording), which left them alone:
plugins/planning/skills/interview/SKILL.md: the "too big to hold in one session" line in Stance, the "frontier is empty" phrasing in Step 2, and the composition-table line "come back and answer in one line" all still share short phrases with mattpocock/skills (grilling / grill-me at 24fe0ef and 84fdeff).plugins/planning/skills/interview/context/loop.md: "question in the same round", near the branch-out mechanics.plugins/planning/skills/interview/SKILL.mdStep 3: the line "an empty frontier is necessary but not sufficient" is byte-pinned byplugins/planning/tests/interview-defenses.test.sh. Rewording it to match the slice's new stop wording ("no question is left to ask") needs an attended pin update.context/assumption-sweep.md(digest-pinned),templates/checklist.md, the interviewevals.json, and/planning:wayfind.Some of these lines sit in digested regions, so a reword also needs an attended digest recompute in
interview-defenses.test.sh.kyle-sexton commentedon Oct 13, 2026
Decision recorded. The owner approved applying independently verified recommendations (confirmed, low-risk set) on 2026-10-13.
Basis: AGENTS.md Code Review Rules (skill criteria: a cut ships only with eval evidence of no loss); docs: reword nine pre-existing passages that track upstream pstack and mattpocock text #7052 body table and comments 2026-10-11
Basis: docs: reword nine pre-existing passages that track upstream pstack and mattpocock text #7052 comment 2026-10-11T16:04 ('byte-pinned by plugins/planning/tests/interview-defenses.test.sh ... needs an attended pin update')
A copy check during #7009 flagged nine passages, plus three more and a set of planning/interview lines in comments, that share runs or structure with pstack and mattpocock sources; each must be confirmed with fingerprint.mjs, then reworded. All files were touched by #7009 after filing, so line numbers need re-deriving; open PR #7353 rechecks the pstack record but does not reword these.
Verification notes:
Verified by an independent fresh-context check (confirmed, risk low): gh issue view 7052 (OPEN; body plus owner comments 2026-10-11T10:34 and 16:04, no decision on PR shape or the pinned lines); 16:04 comment: byte-pinned line and digest recompute in interview-defenses.test.sh; git log -1 origin/main on write-for-humans, downstream.md, diagnose SKILL.md (#7009) and interview SKILL.md (#7053 2026-10-13); gh pr view 7353 (OPEN draft, touches only docs/upstream/cursor-pstack.md); gh issue view 6085 (CLOSED 2026-10-11)
Admission to an agent lane stays with the work-class rules and owner ratification.
kyle-sexton commentedon Oct 18, 2026
This was generated by AI during backlog shaping.
This issue is split into 11 pieces, each sized for one lane PR. The owner chose one PR per plugin with the pinned planning/interview lines split off (Decision recorded 2026-10-13), giving 10 plugin items plus a planning item. No item is lane-ready: each row must be confirmed and re-checked with fingerprint.mjs compare (node, against an upstream file not vendored here), and no CI job runs compare (git grep fingerprint origin/main -- .github scripts finds only the lane-run audit). The earlier split dropped the ai-slop, code-tidying, testing and discovery rows without evidence they were fixed, so they stay.
fingerprint.mjs compare(node) against the upstream file, which the lane cannot run; a human can unblock by pasting each row's current shared runs into the brieffingerprint.mjs compare(node) against the upstream file, which the lane cannot run; a human can unblock by pasting each row's current shared runs into the brieffingerprint.mjs compare(node) against the upstream file, which the lane cannot run; a human can unblock by pasting each row's current shared runs into the brieffingerprint.mjs compare(node) against the upstream file, which the lane cannot run; a human can unblock by pasting each row's current shared runs into the brieffingerprint.mjs compare(node) against the upstream file, which the lane cannot run; a human can unblock by pasting each row's current shared runs into the brieffingerprint.mjs compare(node) against the upstream file, which the lane cannot run; a human can unblock by pasting each row's current shared runs into the brieffingerprint.mjs compare(node) against the upstream file, which the lane cannot run; a human can unblock by pasting each row's current shared runs into the brieffingerprint.mjs compare(node) against the upstream file, which the lane cannot run; a human can unblock by pasting each row's current shared runs into the brieffingerprint.mjs compare(node) against the upstream file, which the lane cannot run; a human can unblock by pasting each row's current shared runs into the brieffingerprint.mjs compare(node) against the upstream file, which the lane cannot run; a human can unblock by pasting each row's current shared runs into the briefFiled pieces are sub-issues of this one, and the paced queue admits them to the lane. Unfiled pieces wait on the blocker shown. The owner approved this split in an attended backlog-shaping session on 2026-10-18.
kyle-sexton commentedon Oct 19, 2026
This was generated by AI during triage.
Hold: the 2026-10-18 split leaves all 11 reword pieces unfiled, because each needs its current shared runs confirmed with
fingerprint.mjs compareagainst an upstream file that is not in this repo. A person can unblock a piece by pasting those runs into its brief.kyle-sexton commentedon Oct 24, 2026
Released by the owner's HITL session (2026-10-24, C12): it waited only on removed gates (protected paths, attended-only pins, lane limits, sync allowlists). Split into sub-issues; intake triage re-runs on each slice to set its fields, then admission takes it.
The 2026-10-18 blocker no longer holds: the upstream files are fetchable with
gh api -H 'Accept: application/vnd.github.raw' 'repos/<owner>/<repo>/contents/<path>?ref=<sha>'(checked 2026-10-24 for cursor/plugins@12d587dfb2 and mattpocock/skills@24fe0ef), so each slice confirms and clears its rows withfingerprint.mjs compareitself.Slices, one per plugin, parallel except the planning one:
github-actions commentedon Oct 25, 2026
The triage sweep dispatched intake triage for this issue (attempt 1 of 2).
melodic-automation-lanes commentedon Oct 25, 2026
Not admitted to the issue lane yet: Size large: the split into sub-issues at intake is pending (owner Q93).