arayaroma/ether/pr-author-job

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Use when running the recurring "implement pending tasks and open PRs" routine (invoked via /loop or CronCreate against this skill, or on direct request "run the PR author job"). Drains pending `pr-author` jobs from ether-pro's job store, implements each task in an isolated branch/worktree of the target repo, runs its tests, and opens a PR via `gh`. Records the outcome so the autonomy state machine can promote or demote future runs.

Install

npx vskill@latest install arayaroma/ether/pr-author-job

SKILL.md

PR Author Job

Same job-router + crystallization mechanism as repo-review-job and web-review-job (docs/design/2026-08-01-job-router-crystallization-design.md), applied to a pr-author job type. target is a local repo path. Run ether job ... commands from ether-pro's own directory, never from inside the target repo — see repo-review-job's hard rule; it applies here identically. Never run ether setup/ether init/etc with the target as cwd.

This job type WRITES to the target repo (new branch, commits, an open PR). Treat every run as actionType write — there is no read-only variant.

Workflow

Autonomy-tier check and record-run steps below follow the shared protocol in `skills/_shared/job-constitution.md` — read that first if unfamiliar; only this job type's specifics are called out here.

  1. Drain pending jobs. From ~/wrkspc/ether-pro: `ether job pending

--type pr-author`. If none, report "no pending pr-author jobs" and stop.

  1. Check autonomy tier. `ether job should-confirm --type pr-author

--actionType write`.

  • confirm: tell the user what task you're about to implement in which

repo, and wait for explicit approval before touching the target repo. First runs of a new target always confirm — expected.

  • autonomous: proceed without asking.
  1. Isolate the work. Create a fresh branch off the target's default

branch (git -C <target> switch -c pr-author/<jobId>-<slug> or a worktree if the target repo is one you're also interactively using — check EnterWorktree/superpowers:using-git-worktrees if unsure). Never work directly on the default branch.

  1. Estimate scope, then implement. params.task (or params.issueRef)

describes what to build — a spec/change id under the target's own change-tracking (if it uses dar-ai/ether-pro conventions), an issue number, or free-text. Before writing any code, invoke ether-scope-estimate — record a min/max LOC estimate for a surgical fix in ether-mem. Follow the target repo's own conventions (read its CLAUDE.md/AGENTS.md first) — do not impose ether-pro's own SDD process on a repo that doesn't use it. Then invoke ether-tdd unconditionally — write the failing test first, then the code that makes it pass. This is mandatory for every pr-author run, not just repos that already have a test suite; if the target has none, TDD is how one gets started. Keep the change scoped to params.task and to the estimated max — no drive-by refactors.

  1. Verify before opening the PR. Run the target repo's test/typecheck/

lint commands (discover via its package.json scripts, Makefile, or CLAUDE.md). A PR opened with failing tests is a failed run, not a success with caveats. Run ether-scope-estimate's reconciliation step — git diff --stat the branch against its base, compare actual LOC to the recorded min/max. If over max, record cause + prevention in ether-mem before opening the PR (mandatory) and mention the overrun in the PR body so the reviewer sees it too.

  1. Open the PR.

git -C <target> push -u origin <branch> gh -R <target> pr create --title "<concise title>" --body "<summary + test plan>" --head <branch> (add --base <default> if not auto-detected). Capture the PR URL/number — it's the job's deliverable.

  1. Record the run. `ether job record-run --jobId <id> --agent

pr-author-job --actionType write --outcome success|failure from ether-pro's directory. failure = couldn't implement, tests never passed, or PR couldn't be opened — not "PR opened but reviewer later requested changes" (that's the next job's job, see pr-review-job). --safetyViolation only if you touched files/repos outside target or pushed to the default branch directly. If a human approved a confirm-tier run, add --confirmedByHuman`.

  1. Write a short receipt. <target>/.ether/qa/jobs/<jobId>/report.md:

task, branch, PR URL, verification commands run + result, outcome.

  1. Report per job: target repo, task summary, PR URL, tier used. End

with ether job status --type pr-author and call out any tier change.

Adding a job

From ~/wrkspc/ether-pro: ether job add --type pr-author --target /absolute/path/to/repo --params '{"task":"<description>"}'

Scheduling

/loop <interval> /pr-author-job for a live session, or CronCreate for unattended cadence (session-only, expires after 7 days — re-create periodically, not a durable daemon). For a durable always-on trigger with no re-creation needed, use an external scheduler invoking claude -p "/pr-author-job" headless — a systemd user timer, or a GitHub Actions workflow on a schedule cron. Neither is set up by default; pick one when wiring a target repo for real unattended operation.

Handoff to review

This job type only opens PRs — it never merges or self-reviews. Pair it with pr-review-job on the same target so opened PRs get an independent pass; pr-review-job auto-discovers open PRs, no need to manually enqueue a review job per PR.

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/arayaroma/ether/pr-author-job/badge)](https://verified-skill.com/skills/arayaroma/ether/pr-author-job)

Something wrong with this skill or its page? Tell us.