Skip to content
Agentmart
Submit a tool

github-issue-to-pr

Implement one scafld-governed repository issue with normal host tools, prove the tested change through its finalize wall, and optionally publish the exact…

Skill by runxhq

IndexedApache-2.0★ 104
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/runxhq-github-issue-to-pr

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Implement one scafld-governed repository issue with normal host tools, prove the tested change through its finalize wall, and optionally publish the exact pull request through scoped provider authority with readback.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Node.js package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/github-issue-to-pr

What's inside

Skill name
github-issue-to-pr
Description
Implement one scafld-governed repository issue with normal host tools, prove the tested change through its finalize wall, and optionally publish the exact pull request through scoped provider authority with readback.
License
Apache-2.0
Instructions
114 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (15)

  • SKILL.md
  • gh · fixtures/bin/
  • git · fixtures/bin/
  • scafld · fixtures/bin/
  • composed-pr-flow.yaml · fixtures/
  • composes-in-graph.yaml · fixtures/
  • receipt-for-another-contract.yaml · fixtures/
  • resume-after-provider-failure.yaml · fixtures/
  • resume-reuses-open-pull-request.yaml · fixtures/
  • scafld-pass.json · fixtures/
  • standalone-host-flow.yaml · fixtures/
  • composed.graph · fixtures/support/
  • github-issue-to-pr.mjs
  • catalog.md · references/
  • run.yaml

SKILL.md (first lines)

# GitHub Issue to PR

Turn one issue into a tested change and, when authorized, a verified pull
request. Use the repository's normal development workflow. Runx owns evidence
continuity and the consequential publication boundary; it does not replace the
host agent's editor, shell, Git, tests, or repository judgment.

## Scope

Use this runner for work the repository actually governs with scafld: essential
architecture, execution, security, persistence or cross-package contract changes,
or work explicitly placed under that lifecycle by the operator. Read the
repository's current instructions before choosing it. The receipt-verification
wall is part of this skill's executable contract.

For ordinary UI, copy, documentation and routine fixes, use normal host editing
and focused checks, then the selected GitHub operation for publication. Do not
create a scafld lifecycle merely to satisfy this package, and do not invent a
finalization receipt. Task size or file count alone does not make work governed.

## Direct operator flow

1. Name the repository as an exact `owner/name`. Never infer the target from
   an available grant.
2. Read through the GitHub instance selected here: the signed-in `gh`
   session (`runx connector use github --session`) or a stored token.
3. Run one preflight before work: issue identity, repository permission, branch
   state, required tools, requested outcome, and publication authority.
4. Investigate, edit, and test with the host agent's ordinary tools. Do not
   manufacture Runx answer files between normal coding steps.
5. Complete the repository-required independent review and call `scafld finalize` exactly once after the change and tests are ready.
   Preserve its workspace-scoped receipt path, exact target commit, and
   contract digest in `host_result`. Runx verifies that receipt with the scafld
   CLI on this host (`scafld/receipt.verify`) and checks its verdict, commit,
   contract and open blockers; host-authored status strings are not proof.
6. If PR publication is not authorized, return the tested/finalized result and
   stop. Do not silently downgrade the work to a plan.
7. If publication is authorized, pass the exact `host_result` to `publish`.
   Runx pushes the exact commit to the requested branch (`github/branch.push`,
   never forced, read back from GitHub), reuses the one open pull request for
   that branch or opens one (`github/pullrequest.open`, read back), and
   completes only when the pull request's head is the tested commit.
   Notifications, feeds, issue comments, and documentation sync are optional
   downstream skills.

## Reuse in chains

- `from-evidence` accepts `runx/github-issue-to-pr.issue_evidence.v1` and skips GitHub
  discovery and issue read.
- `resume` accepts both prior issue evidence and a completed
  `runx/github-issue-to-pr.host_result.v1`; it does not repeat host work or finalize.
- `verify` verifies the signed scafld receipt against the exact commit and
  contract without publishing anything.
- `finalize-local` verifies the completed host result and returns it without a
  remote mutation.
- `publish` verifies the completed host result, publishes its exact Git ref,
  and creates or recovers the authorized PR with readback.
- Preserve the same idempotency key across pause, retry, and resume. An
  uncertain PR creation never gets a new key.

## Host work contract

The `github-issue-to-pr-host-work` act performs normal repository work and returns:

```yaml
host_result:
  schema: runx/github-issue-to-pr.host_result.v1
  status: completed | blocked | failed
  repository: owner/name
  issue_number: string
  repo_root: workspace-relative-or-absolute-path
  branch: string
  commit: full-git-object-id
  files: [relative/path]
  tests:
    - command: string
      status: passed | failed
      evidence: string
  finalization:
    receipt_path: workspace-relative-path
    contract_digest: sha256:...
  publication:
    decision: hold | ready
    title: string
    body: string
    head: string
    base: string
    draft: boolean
    idempotency_key: string
  errors: [string]
```

Do not claim `completed` without a real edit/test outcome and one successful
finalize result. Do not claim `published` from a branch push, API
acknowledgement, or draft packet; only independent PR readback closes that
state.

## Stop conditions

- Wrong or ambiguous repository: stop with one target-resolution blocker.
- No GitHub instance selected: return the exact `runx connector use github
  --session` or `runx connector use github --credential token` handoff; do
  not cycle through unrelated skills.
- Dirty or conflicting branch state: stop before mutation and preserve the
  evidence already gathered.
- Failed tests or failed/stale finalize: return blocked or failed, never
  succeeded.
- Missing publication authority: retain the tested finalized change locally and
  stop before PR creation.
- Provider failure after admission: preserve the grant reference, idempotency key,
  finalization evidence, and mutation recovery state. Resume at publication;
  do not repeat issue discovery, coding, tests, or finalize.

From runxhq/runx, Apache-2.0.

More from runxhq/runx

Signals

Stars
104
Forks
109
Open issues
16
Contributors
16
Last commit (this folder)
Oct 21, 2026 (9 days ago)
Last release
Oct 18, 2026 (12 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
Website
runx.ai
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from runxhq

Cite this page

github-issue-to-pr skill. Agent Mart. https://agentmart.dev/skills/runxhq-github-issue-to-pr (last updated 2026-10-24)