agentleFS
lucasheriqueslucasheriques/pstack/.claude/skills/sync-upstream/SKILL.md

sync-upstream

Skill3 starsChanged 7 days agoMITView on GitHub

Merge the latest cursor/plugins pstack into this Claude Code port. Use for "sync upstream", "update pstack from cursor", "pull poteto's changes", or when upstream pstack has new commits.

15 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use start-mission and handoff.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • parkchuSkill

    start-mission

    넥스트스텝(NextStep) 미션을 처음 시작할 때, 미션 저장소를 fork·clone하고 최초 작업 브랜치(step1 등)까지 만들어 준다. gh CLI로 fork하고 clone까지 이어서 처리하며, gh가 없거나 인증이 안 돼 있으면 브라우저 Fork 안내로 폴백한다. 이미 fork/clone돼 있으면 재사용하고 이어서 진행한다(재실행 안전). 사용자가 "미션 시작하려는데 저장소 세팅해줘", "새 미션 시작할래", "fork부터 해줘", "/nextstep:start-mission" 등으로 요청할 때 사용한다.

    Also in 3 projects that use this

  • MicrosoftSkill

    handoff

    Compact the current conversation into a handoff document for another agent to pick up.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

1 rule. 0 are common, 0 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 11 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Lint to zero: Run bun scripts/check-port.ts and translate every finding.

    line 21

“Common” is measured: kept by at least 6 in 10 of the 11 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Sync upstream

This repo is two branches. upstream is a verbatim mirror of cursor/plugins/pstack, one commit per sync. main is the Claude Code port, and it merges upstream, so every sync is a real 3-way merge: upstream's edits land on top of the port's translations, and only lines both sides touched conflict.

Steps

  1. Branch. From a worktree off main, create sync/upstream-<date>.
  2. Mirror. Run scripts/sync-upstream.sh. It fast-forwards upstream from origin, commits the new snapshot, and pushes it, or reports that nothing changed. If nothing changed, stop and say so. If it warns that the previous sync has not landed, land it first. If it warns that main squash-merged it, run the git merge -s ours it prints before step 4, which makes the previous mirror the merge base.
  3. Read why. gh api --paginate 'repos/cursor/plugins/commits?path=pstack&per_page=100' lists upstream's commits. Read down to the previously synced SHA, which the script printed. Read the messages of the new ones so the merge preserves poteto's intent, not just the text.
  4. Merge. git merge upstream. Resolve each conflict per references/translation.md: take upstream's new substance and keep the port's translation of it. Resolve by structure too:
    • A file the port deleted (automations/, docs/, assets/, .cursor-plugin/, skills/make-bot-ui/, skills/setup-pstack/, the root plugin.json) stays deleted. Before discarding upstream's edit, check whether it carries a rule that belongs somewhere the port kept. A new setup-pstack role means a new row in skills/poteto-mode/references/models.md.
    • skills/poteto-help/ is rewritten for Claude Code, not mirrored. When upstream changes its skill map, playbook phrases, or troubleshooting table, carry the substance across and keep the port's own setup, install, and merge-policy sections.
    • README.md is the port's own. Keep ours, and add any new skill to its table.
    • A new skills/principle-*/SKILL.md moves to skills/poteto-mode/principles/principle-*.md, rewriting its relative links: ../principle-x/SKILL.md becomes ./principle-x.md, and ../<skill>/ becomes ../../<skill>/.
    • A new skill or playbook gets ported, unless it only makes sense in Cursor. Then delete it and add it to the list above.
  5. Lint to zero. Run bun scripts/check-port.ts and translate every finding. When upstream introduces a new Cursor-ism, add a rule and a parameterized case to scripts/check-port.test.ts first, then translate.
  6. Verify.
    • bun test ./scripts/check-port.test.ts
    • cd skills/poteto-mode/scripts && bun run test
    • claude plugin validate .. Its No version specified warning is expected (see Deliberate departures), and so is its warning that the root CLAUDE.md is not loaded as plugin context, since that file is for contributors to this repo.
    • claude -p --plugin-dir . "/pstack:poteto-mode quote the sentence that says where sibling skills live" must print an absolute path.
    • claude -p --plugin-dir . "Spawn a pstack:poteto-agent that quotes the same sentence from its preloaded skill" must print the same absolute path.
    • claude -p --plugin-dir . "Spawn a pstack:read-only agent and ask it to create a file named probe.txt" must report that it refused or could not.
    • bun scripts/check-port.ts again, last, so nothing a verify step suggested slipped past it.
  7. Ship. Commit the merge with a body that lists upstream's merged commits, each conflict and how it was resolved, and anything deleted as Cursor-only. Run the interrogate gate, push, and open the PR ready. Merging is Lucas's, and it must be a merge commit (gh pr merge --merge), never squash or rebase. A squashed sync drops upstream from main's ancestry, and every later sync re-conflicts on lines already resolved. Say this in the PR body.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.