oracle/graalvm-reachability-metadata · Archived

close-new-library-support-pr

Close or reject pull requests that add support for a new library in graalvm-reachability-metadata.

First seen Jun 24, 2026

Installation

$ npx skills add oracle/graalvm-reachability-metadata --skill close-new-library-support-pr

Summary

  • Close or reject pull requests that add support for a new library in graalvm-reachability-metadata.
  • Use when asked to close a `library-new-request` PR and roll the linked issue back by removing assignees and changing project status from `In Progress` to `Todo` without downgrading `Done`.

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from oracle/graalvm-reachability-metadata.

npx skills add oracle/graalvm-reachability-metadata

Browse all from oracle/graalvm-reachability-metadata

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 464
License LICENSE
Default branch master
Open issues 672
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 7,654 B
  • docs SUMMARY.md 323 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

Close library-new-request PRs

Use this skill when the task is to close or reject a pull request that was opened to add support for a new library.

The PR number or URL can be passed as an optional argument (for example, 1234, https://github.com/oracle/graalvm-reachability-metadata/pull/1234). If the user says "close this PR" or "revert this PR" without an argument, infer the PR from surrounding context or the current branch when possible. Ask only when the PR cannot be resolved safely.

Goal

When a new-library support PR is closed, return the linked issue to the pre-work state:

  • remove all assignees from the linked issue
  • move the linked project item from In Progress back to Todo
  • do not change project items already marked Done

Project edits require GitHub auth with the project scope. If gh project ... commands fail with an authorization error, refresh auth before continuing:

gh auth refresh -s project

Workflow

  1. Resolve and inspect the PR.

- Use gh pr view <pr> --json number,title,state,labels,body,url. - Confirm this is the intended PR and that it is a new-library support PR. Prefer library-new-request, but the skill still applies if the PR clearly adds support for one new library. - If the PR is already closed, still perform the linked-issue rollback if it was not done yet.

  1. Find the linked issue from the PR itself.

- Prefer GraphQL over body scraping: ``bash gh api graphql -f query=' query { repository(owner: "oracle", name: "graalvm-reachability-metadata") { pullRequest(number: PR_NUMBER) { number title closingIssuesReferences(first: 10) { nodes { number title state assignees(first: 10) { nodes { login } } } } } } }' ` - Expect exactly one linked issue for a normal library-new-request PR. - If no linked issue is returned, inspect the PR body for Fixes #... or Closes #...` and only continue when the target issue is unambiguous. - If the PR links multiple issues, stop and explain that the rollback is ambiguous.

  1. Inspect the linked issue state before changing anything.

- Use: ``bash gh issue view ISSUE_NUMBER -R oracle/graalvm-reachability-metadata --json assignees,projectItems,title,url `` - Record: - current assignees - every project item and its status - Do not assume there is only one assignee.

  1. Remove all assignees from the linked issue.

- If the issue has assignees, remove every current assignee: ``bash gh issue edit ISSUENUMBER -R oracle/graalvm-reachability-metadata --remove-assignee login1,login2 ` - If gh issue edit --remove-assignee ... exits successfully but the assignees are still present when re-read, clear them via the REST API instead: `bash gh api repos/oracle/graalvm-reachability-metadata/issues/ISSUENUMBER -X PATCH -f assignees[]= `` - If there are no assignees, leave the issue as-is.

  1. Roll project status back only when it is currently In Progress.

- Query the issue's project items with item IDs and field values: ``bash gh api graphql -f query=' query { repository(owner: "oracle", name: "graalvm-reachability-metadata") { issue(number: ISSUE_NUMBER) { projectItems(first: 10) { nodes { id project { id number title owner { typename ... on Organization { login } ... on User { login } } } fieldValues(first: 20) { nodes { typename ... on ProjectV2ItemFieldSingleSelectValue { field { ... on ProjectV2SingleSelectField { id name } } name optionId } } } } } } } }' ` - Find each Status field value. - If Status is In Progress, change it to Todo. - If Status is Done, leave it untouched. This covers the case where another PR already completed the issue and moved it to Done`. - Leave any other status unchanged unless the user explicitly asks otherwise.

  1. Resolve field IDs and option IDs from the owning project before editing.

- For the matching project, list its fields: ``bash gh project field-list PROJECTNUMBER --owner PROJECTOWNER --format json ` - Read the Status field ID plus the option IDs for Todo, In Progress, and Done. - In this repository's main board today, the project is oracle project 30 titled GraalVM Reachability Metadata, and the status names are Todo, In Progress, and Done`. Still query live data instead of hardcoding IDs.

  1. Update the project item only when rollback is needed.

- For each project item currently at In Progress, set the status to the Todo option: ``bash gh project item-edit \ --id ITEMID \ --project-id PROJECTID \ --field-id STATUSFIELDID \ --single-select-option-id TODOOPTIONID ` - Never replace Done with Todo`.

  1. Close the PR.

- Leave a short factual closing comment if context is useful, then close it: ``bash gh pr close PR_NUMBER -R oracle/graalvm-reachability-metadata --comment "Closing this new-library support PR and rolling the linked issue back to Todo." `` - Do not delete the branch unless the user explicitly asks.

  1. Verify the rollback.

- Re-read the issue: ``bash gh issue view ISSUE_NUMBER -R oracle/graalvm-reachability-metadata --json assignees,projectItems,state,url ` - Confirm: - assignees are empty - project items that were In Progress are now Todo - project items that were Done stayed Done`

Decision Rules

  • If another PR has already been merged and the linked issue is Done, close the PR if requested but do not roll the issue back to Todo.
  • If the PR has no unambiguous linked issue, stop and explain what is missing instead of guessing.
  • If the issue belongs to multiple projects, only edit the project items that are currently In Progress; do not rewrite unrelated statuses.
  • If the PR is merged and the user asks to "revert" it, confirm whether they mean "close the follow-up work item" or a true code revert. This skill only covers PR closure and issue/project rollback, not git revert.

Output Style

Keep status updates short and operational:

  • identify the PR and linked issue
  • state whether assignees were removed
  • state which project items moved from In Progress to Todo
  • explicitly note when a Done item was left unchanged