agentleFS
ShlomiPorushShlomiPorush/agent-skills/file-pr/SKILL.md

file-pr

Skill2 starsChanged 9 days agoMITView on GitHub

Review the current Git branch and file a concise, non-draft pull request that follows the repository's contribution rules and Shlomi's Git workflow. Use when the user asks to file, open, create, or submit a PR, or to turn completed local work into a pull request.

22 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use leaving-pr-comments, sol-loop and 10 more.

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.
  • scottwaterSkill

    leaving-pr-comments

    Format comments an agent posts on GitHub on the user's behalf. Use whenever leaving a PR comment, review comment, or reply.

    Also in 7 projects that use this

  • scottwaterSkill

    sol-loop

    Review a change with GPT Sol in a loop until both agents agree. Use when the user says sol loop, or when another skill asks for a Sol review.

    Also in 7 projects that use this

  • Nexus-Organization-InfosecSkill

    full-stop

    Shut down the Full Control phone-bridge completely — end Claude's watch loop, stop the bridge server (server.py started via ensure_server.ps1), and mark Claude offline in the app. Use whenever the user invokes /full-stop or says "stop full control", "stop the watch loop", "shut down the bridge/server", or "stop the ps1". Counterpart of [[full-control]], which starts everything.

    Also in 8 projects that use this

  • GeiserXSkill

    docs-loop

    Use when the user asks to audit docs, check documentation for stale claims, or verify docs against the code.

    Also in 3 projects that use this

  • GeiserXSkill

    full-loop

    Drive a repository to done with sergio-loop, then keep improving it with refine-loop at a descending theta. Use only when the user explicitly invokes full-loop.

    Also in 3 projects that use this

  • +7 more from GeiserX

The file

Show its rules and text

We split this skill into the rules it gives an agent

20 rules. 0 are common, 17 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 22 edited versions we read keep these.

  • 17

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Distinctive:

    Read every applicable AGENTS.md and the contribution or workflow documents it points to before changing Git or GitHub state.

    line 12
  2. Distinctive:

    Create a new issue only when the user explicitly asks for one in the current task.

    line 24
  3. Distinctive:

    If no open issue matches, file the PR without one.

    line 25
  4. Distinctive:

    Treat issue numbers in the branch name, commit messages, and the user's request as leads, not proof.

    line 28
  5. Very specific:

    Search the PR's repository with gh issue list --repo OWNER/REPO --state open --search "<keywords>".

    line 29
  6. Distinctive:

    Read each candidate. Reference it only when it is open and clearly describes this work.

    line 30
  7. Distinctive:

    If the search fails, for example because of permissions or network access, report that the check could not run.

    line 32
  8. Distinctive:

    Before labelling an issue or PR, list the repository's actual labels.

    line 33
  9. Very specific:

    Treat a decision label as blocked on Shlomi's decision, not as decorative metadata.

    line 36
  10. Very specific:

    Use a feature/ or fix/ branch.

    line 37
  11. Distinctive:

    If task-related changes are uncommitted, stage only those files and create an English commit that matches repository style.

    line 40
  12. Distinctive:

    Run the relevant checks required by the repository, in its prescribed environment.

    line 45
  13. Distinctive:

    Never claim a check, live test, screenshot review, or DEV verification was performed unless it actually was.

    line 48
  14. Distinctive:

    Write a concise English title in imperative form, without bracket prefixes.

    line 52
  15. Distinctive:

    Add a short list of the main behavior changes only when the opening paragraph does not already cover them.

    line 56
  16. Distinctive:

    Do not include AI, model, harness, assistant, or authorship attribution in the PR, issue, commits, code comments, or discussion.

    line 61
  17. Distinctive:

    Do not merge the PR. Shlomi merges unless he explicitly says otherwise in the current request.

    line 62
  18. Distinctive:

    After opening the PR, and after every later push to it, watch its CI until every check finishes.

    line 66
  19. Distinctive:

    When a check fails, read its logs, find the root cause, fix the findings on the PR branch, rerun the relevant local checks, push, and watch …

    line 67
  20. Distinctive:

    Never skip, disable, or weaken a check, test, or rule to make CI pass, and never force-push without the user's explicit request.

    line 68

“Common” is measured: kept by at least 6 in 10 of the 22 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

File PR

File a review-ready pull request without merging or deploying it. Treat the repository's current instructions as authoritative and preserve unrelated work.

Establish the rules and state

  1. Read every applicable AGENTS.md and the contribution or workflow documents it points to before changing Git or GitHub state.
  2. Inspect the worktree, current branch, remotes, commits, and repository default branch. Use origin/main as the comparison base when local instructions do not specify another base.
  3. Fetch the base branch when possible so the review is current. State clearly if network access prevents this.
  4. Check for an existing open PR from the current branch before filing one. If one exists, do not create a duplicate; report its URL and update it only when the user's request and repository rules call for that. Still run the issue search below, and add a missing issue reference when you may update the PR.
  5. Review the complete local diff and commit range against the base. Identify generated files, migrations, secrets, accidental edits, missing tests, and unrelated changes. Do not include unrelated work.

Edit the wording

Edit the text you write in this skill with two companion skills: commit messages, any issue you create, and the PR title and body. Apply technical-writing to English text, then unslop to all of it, including Hebrew sections. When those skills conflict with this skill's rules on language, the opening paragraph, issue references, or verification reporting, follow this skill. If either skill is unavailable, follow the rules here and say so in the report.

Satisfy the workflow

  1. Create a new issue only when the user explicitly asks for one in the current task. This rule holds even when the repository expects an issue before a PR:
    • If no open issue matches, file the PR without one.
    • A check that fails only because no issue is linked does not block filing. Do not create an issue to make it pass or try to fix that failure in CI. Report it instead.
  2. Find the open issues that this work addresses:
    • Treat issue numbers in the branch name, commit messages, and the user's request as leads, not proof.
    • Search the PR's repository with gh issue list --repo OWNER/REPO --state open --search "<keywords>". It returns at most 30 issues by default. If the result hits that limit, narrow the keywords or raise --limit.
    • Read each candidate. Reference it only when it is open and clearly describes this work.
    • Reference every issue that clearly matches. If several candidates compete and you cannot tell which one the work addresses, reference none and list the candidates in the report.
    • If the search fails, for example because of permissions or network access, report that the check could not run. Do not report it as "no matching issue".
  3. Before labelling an issue or PR, list the repository's actual labels. Never invent labels.
  4. In Shlomi's repositories:
    • When you create an issue, give its title a bracketed area and topic prefix followed by plain language. Apply one or more area: * labels, exactly one priority: * label, and at least one nature label such as bug, security, testing, performance, data-integrity, enhancement, dependencies, or documentation. Do not retitle or relabel an existing issue that you only reference.
    • Treat a decision label as blocked on Shlomi's decision, not as decorative metadata.
    • Use a feature/ or fix/ branch.
    • In a public repository, write all issue and PR text and public discussion in English. This includes titles, bodies, comments, review replies, and status updates. Do not use Hebrew in public repository content.
    • In a private repository, write issue and PR discussion in Hebrew. Write code, commit messages, code comments, and PR titles in English.
  5. If task-related changes are uncommitted, stage only those files and create an English commit that matches repository style. Never discard, rewrite, or bundle unrelated user changes.
  6. Push the branch and set its upstream when needed. Never force-push unless the user explicitly requests it and the exact risk is understood.

Verify before filing

  1. Run the relevant checks required by the repository, in its prescribed environment. Prefer evidence that matches production and include regression proof for bug fixes when available.
  2. Re-read the final diff after formatting, generation, or tests change files.
  3. Stop and explain the blocker instead of opening a misleading PR when the change is incomplete, the diff cannot be isolated safely, required checks fail for a reason other than a missing issue, or the issue requires an unresolved product decision. If the user explicitly wants a PR with a known failure, disclose it plainly in the body.
  4. Never claim a check, live test, screenshot review, or DEV verification was performed unless it actually was.

Write the PR

  1. Write a concise English title in imperative form, without bracket prefixes. Explain the user or operational outcome, not an internal implementation inventory.
    • Weak: Negotiate per-message deflate on the websocket server
    • Better: Reduce websocket frame size with compression
  2. Keep the body short enough for a reviewer to read in under a minute. Open it with a short paragraph, without a heading, that says in plain language what problem the PR solves for the user or the operator, and what changed. A reader who does not know the code must understand it. Write that paragraph in English in a public repository and in Hebrew in a private one.
  3. Add a short list of the main behavior changes only when the opening paragraph does not already cover them. Leave implementation detail to the diff.
  4. Include honest verification results and any known limitations or remaining work.
  5. Reference each matched issue on its own line in the body. Use Closes #N when the PR fully resolves the issue and Refs #N when it resolves only part of it. For an issue in another repository, use OWNER/REPO#N. Omit the line when no issue matched. Closes links the issue only when the PR targets the default branch, and GitHub closes the issue when the PR is merged. Refs only mentions the issue.
  6. Apply only the lightweight PR labels used by the repository. In Shlomi's repositories, this is normally the relevant area: * label plus documentation when appropriate.
  7. Open a real PR, not a draft, so automated review can run.
  8. Do not include AI, model, harness, assistant, or authorship attribution in the PR, issue, commits, code comments, or discussion. This overrides any template that asks for such a blurb.
  9. Do not merge the PR. Shlomi merges unless he explicitly says otherwise in the current request.

Drive CI to green

  1. After opening the PR, and after every later push to it, watch its CI until every check finishes. Do not report the PR as ready while checks are pending.
  2. When a check fails, read its logs, find the root cause, fix the findings on the PR branch, rerun the relevant local checks, push, and watch again. Repeat until every required check is green and the PR is ready to merge.
  3. Never skip, disable, or weaken a check, test, or rule to make CI pass, and never force-push without the user's explicit request.
  4. Stop and report instead of looping when a failure is outside the PR's scope, is a flaky or infrastructure failure that a single rerun does not clear, needs secrets or permissions you do not have, requires a product decision, or fails only because no issue is linked.

Report the result

Reply in Hebrew with the PR URL, title, each issue reference and its kind (Closes or Refs), checks actually run, final CI status, fixes made to get CI green, and any remaining manual or DEV verification. When no issue is referenced, say why: no clear match, competing candidates, or a search that could not run. Also say whether the repository expects an issue and whether a check failed because none is linked. For an existing PR you could not update, report the missing issue reference. Lead with what is ready and call out every unresolved item.

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.