agentleFS
forcedotcomforcedotcom/salesforcedx-vscode/.claude/skills/shipped-issues/SKILL.md

shipped-issues

Skill1k starsChanged 26 days agoBSD-3-ClauseView on GitHub

Find open GitHub issues whose linked GUS work item is closed AND whose issue number appears in CHANGELOG.md, then close them. Use when user invokes /shipped-issues or asks to clean up shipped issues.

Adopted by

Steady: 0 new projects took it in the last 4 weeks, none the 4 weeks before.thin data

Week of Sep 13: 0 new projectsWeek of Sep 20: 0 new projectsWeek of Sep 27: 0 new projectsWeek of Oct 4: 0 new projectsWeek of Oct 11: 0 new projectsWeek of Oct 18: 0 new projectsWeek of Oct 25: 0 new projectsWeek of Nov 1: 0 new projects
Sep 2026Oct 2026Nov 2026
New projects taking a version of this file each week, over the 8 weeks our latest run read: only 0 in all, so this is a hint, not a trend.

Who's talking about forcedotcom/salesforcedx-vscode

The biggest 5 of 52 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 52

Talked about on GitHub and Stack Overflow (52 times).

On GitHub · 50

45 more on GitHub

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 4 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    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. Distinctive:

    Do not switch branches; run from wherever the user is.

    line 26
  2. Distinctive:

    Keep an issue only when every W- on the issue resolves to a Closed/Completed status in GUS.

    line 50
  3. Distinctive:

    If matched → issue is shipped.

    line 60
  4. Distinctive:

    Do not loop-close without user confirmation.

    line 81
  5. Very specific:

    Issue # shows up in CHANGELOG as [PR #N]: not a match. Only ISSUE #N / issues/N indicate the issue itself.

    line 88

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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

Shipped Issues

Cross-reference open GitHub issues against closed GUS work items and the shipped CHANGELOG to identify issues that were fixed and released, but never closed on GitHub.

Inputs

  • Repo: forcedotcom/salesforcedx-vscode
  • Changelog: root CHANGELOG.md on develop (full shipped history; each stable section folds every pre-release it contains). Not packages/salesforcedx-vscode/CHANGELOG.md — that holds only the latest pre-release delta.
  • GUS alias: gus (see .claude/skills/gus-cli/SKILL.md)

Workflow

1. Get current CHANGELOG from develop

git fetch origin develop
git show origin/develop:CHANGELOG.md > /tmp/shipped-changelog.md

Do not switch branches; run from wherever the user is.

2. List open issues with W- references

gh issue list --repo forcedotcom/salesforcedx-vscode --state open --limit 500 --search "W in:body" --json number,title,body,url > /tmp/shipped-issues.json

The W in:body filter narrows to issues that contain the letter W — overly broad but cheap. Locally extract W-\d{6,9} matches per issue (regex; multiple W- per issue is allowed). Drop issues with no match.

3. Query GUS for status of each W-

Batch in chunks of ~50 W- names per query to stay under SOQL limits:

sf data query --query "SELECT Id, Name, Status__c, Last_Modified_Internal_Closed_Date__c FROM ADM_Work__c WHERE Name IN ('W-1234567','W-2345678', ...)" -o gus --json

Closed terminal statuses (any of these counts as closed): see .claude/skills/gus-cli/SKILL.md § Status__c values "Closed (terminal)".

Quick check: Status__c LIKE 'Closed%' OR Status__c IN ('Completed','Fixed').

4. Filter to candidates

Keep an issue only when every W- on the issue resolves to a Closed/Completed status in GUS. If any linked W- is still open, skip the issue (work isn't all done).

5. Cross-reference CHANGELOG

For each candidate issue number N, search /tmp/shipped-changelog.md for any of:

  • ISSUE #N (case-insensitive)
  • issues/N (link form)
  • #N only when the surrounding line clearly references an issue, not a PR

If matched → issue is shipped. Record the matched CHANGELOG line for the closing comment.

6. Present the report

Show a table to the user before closing anything:

IssueTitleW-WI StatusShipped in (CHANGELOG line)

Also list any near-miss rows separately so the user can review:

  • Issues where WIs are all closed but the issue # isn't in the CHANGELOG (maybe under-the-hood / not customer-facing)
  • Issues where some W- are still open

7. Close issues — only after explicit user confirmation

For each confirmed issue, post a comment then close:

gh issue close <number> --repo forcedotcom/salesforcedx-vscode --comment "Closing — shipped in <version>. See CHANGELOG entry: <verbatim line>. (Linked work item <W-XXXXXXXX> is closed.)"

Do not loop-close without user confirmation. If many issues, present the full list and ask "Close all N?" once.

Edge cases

  • Multiple W- per issue, mixed status: skip until all W- close.
  • Issue body mentions W- in a quoted error or unrelated context: rare; surface as candidate anyway, the user reviews the table.
  • CHANGELOG hit on a ## Under the Hood line: still counts as shipped — user can opt out per-row.
  • Issue # shows up in CHANGELOG as [PR #N]: not a match. Only ISSUE #N / issues/N indicate the issue itself.
  • No CHANGELOG match but WI closed long ago: list as near-miss, don't auto-close.

Output format

End with a one-line summary: Closed N issues; M near-misses for review.

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.