Repository navigation
Labels
priority: lowNice-to-have, cosmetic, or speculative; opportunistic.Nice-to-have, cosmetic, or speculative; opportunistic.status: confirmedA maintainer confirmed the item is real and in scope; ready to be worked.A maintainer confirmed the item is real and in scope; ready to be worked.work-class: mechanicalDeterministic, trivially reversible maintenance: dependency bumps, lint/format, sync.Deterministic, trivially reversible maintenance: dependency bumps, lint/format, sync.
Description
Parent: #7052 (owner decision 2026-10-13: one PR per plugin).
Problem
A copy check during #7009 flagged text in this plugin that shares word runs or one-to-one structure with an upstream source. The repository's rule is our own words, with credit only on docs/upstream/ pages. Line numbers from the filing are stale; locate the passage by the finding.
| Local file | Upstream (repo@sha, path) | Finding |
|---|---|---|
plugins/education/CHANGELOG.md |
cursor/plugins@12d587dfb2 pstack/skills/teach/SKILL.md |
15-word and 13-word shared runs (filed at lines 507-511) |
Fix
Confirm each finding with fingerprint.mjs compare first. If it does not fire, record that in the PR and change nothing. If it fires, rewrite the passage in a new structure with this repository's own examples, keeping every directive and eval expectation. Make sure the upstream source has a credit row on docs/upstream/cursor-pstack.md.
Done when
-
gh api -H 'Accept: application/vnd.github.raw' 'repos/cursor/plugins/contents/pstack/skills/teach/SKILL.md?ref=12d587dfb2' > /tmp/upstream-education-0.mdthennode plugins/attribution/skills/audit/scripts/fingerprint.mjs compare --local plugins/education/CHANGELOG.md --source /tmp/upstream-education-0.md | jq .separation.firedprintsfalse. - The PR body lists each passage with its before and after
longest_span_wordsandcontainment. -
scripts/check-changelog-fragments.shpasses.
Metadata
Metadata
Assignees
Labels
priority: lowNice-to-have, cosmetic, or speculative; opportunistic.Nice-to-have, cosmetic, or speculative; opportunistic.status: confirmedA maintainer confirmed the item is real and in scope; ready to be worked.A maintainer confirmed the item is real and in scope; ready to be worked.work-class: mechanicalDeterministic, trivially reversible maintenance: dependency bumps, lint/format, sync.Deterministic, trivially reversible maintenance: dependency bumps, lint/format, sync.
Type
Fields
No fields configured for Task.
Activity
github-actions commentedon Oct 24, 2026
Proposed work class: work-class: mechanical
Basis: automated intake triage; the lanes App applied this class.
Size: Small
Complexity: Low
Uncertainty: Known
Flags: none
Understood: reword the CHANGELOG passage in plugins/education that shares 15-word and 13-word runs with the upstream pstack teach skill. First confirm the finding with fingerprint.mjs compare. If it fires, rewrite the passage in our own words and check that the credit row exists on docs/upstream/cursor-pstack.md. The done-when items are specific and checkable. No duplicates spotted.
Automated triage, applied by the lanes App.
melodic-automation-lanes commentedon Oct 24, 2026
The work-resolve-issue lane stopped partway through this issue and needs a person.
Why, in the run's own words:
What the run says it did not do:
Run: https://github.com/melodic-software/claude-code-plugins/actions/runs/40113253307
To retry, remove
needs-humanand addagent-readyagain.kyle-sexton commentedon Oct 28, 2026
Host run. Fetched the upstream
pstack/skills/teach/SKILL.mdat12d587dfb2, ran the fingerprint compare againstplugins/education/CHANGELOG.md, and reworded the passage it flagged.What ran (Claude Code 2.1.312):
gh api -H 'Accept: application/vnd.github.raw' 'repos/cursor/plugins/contents/pstack/skills/teach/SKILL.md?ref=12d587dfb2', thennode plugins/attribution/skills/audit/scripts/fingerprint.mjs compare --local plugins/education/CHANGELOG.md --source <that file>.separation.fired: true, rulecontainment>=0.3||span>=15): four spans of 8, 5, 13 and 15 words, all in the build-up paragraph of the 0.8.0teachentry;longest_span_words15,containment0.003.fired: false,longest_span_words0,containment0, no matched spans.Acceptance criteria:
separation.firedfalseon the branch.longest_span_words(15 to 0) andcontainment(0.003 to 0).scripts/check-changelog-fragments.sh --checkand--check-required origin/mainpass (abump: nonefragment was added).docs/upstream/cursor-pstack.mdalready has theteachrow and section; unchanged.PR: #10651
Target labels: add none; remove host-run.