Skip to main content
Set up from: Discover > Feed (create an interest from a repo) or the remyxai CLI | Runs in: your repo’s GitHub Actions
A scheduled action opening a draft PR that wires a paper into an existing call site
The success of an AI application depends on continuously adopting the right improvements. Identifying what to build next requires constant monitoring and evaluation of new ideas found in papers, repositories, models, benchmarks, and community discussions. Outrider automates that process by discovering new ideas, validating them against your codebase, and proposing actionable pull requests and issues—so your team can focus on building instead of scouting. On a schedule you set, Outrider:
  • Surfaces new work relevant to your repo from the sources Remyx indexes, ranked against what your team has actually shipped.
  • Validates fit against your real codebase — is there a call site, and is the change architecturally aligned (a refactor, a new technique, an upgrade)?
  • Drafts the most actionable candidate into a reviewable PR, wired into an existing module with code and tests.
  • Files an Issue instead for ideas worth watching that aren’t a clean fit yet, or that need input from the team or the source.
Outrider helps push development in the most fruitful directions without paying the upfront cost of finding and vetting each idea manually. Spend your time reviewing concrete proposals.
Human-reviewed by design. Outrider proposes changes as draft PRs and Issues, but every decision to merge remains with your team.

Quickstart

You’ll need to connect Remyx to your GitHub account via the Connectors view. The GitHub connector will install the Remyx GitHub App in your account or organization. Make sure to include access to your desired repo(s).Connecting Claude Code is required to draft implemented PRs (billed to your Anthropic account).For the CLI, also generate a Remyx API key.
Either path provisions the workflow and fires the first run. A draft PR or Issue lands in minutes.

From the CLI

pip install remyxai

# authenticate the CLI with your Remyx API key
export REMYXAI_API_KEY=<your-remyx-key>

# install Outrider on the repo and auto-create a Research Interest from it
remyxai outrider init --repo owner/name --auto-interest
--auto-interest creates a Research Interest from the repo; drop it and pass --interest <uuid> to use an existing one. If the GitHub App isn’t installed yet, the command prints the install link. No GitHub App? setup-local provisions with your own authenticated gh CLI instead; PRs then come from your account, not remyx-ai[bot]. (details)
remyxai outrider setup-local --repo owner/name --auto-interest --anthropic-key sk-ant-...

From the UI

Creating a Research Interest from a repo and choosing Set it up for me in Remyx Studio
Create a Research Interest from your repo and choose Set it up for me — no terminal required.

How it works

A run has two stages. The Remyx engine ranks a candidate pool server-side, then Outrider validates candidates against a clone of your repo and decides what to open. Ranking. The pool is ranked from three inputs: your interest’s context, your team’s shipping history (extracted from the merge log), and a learned preference model. Candidates that match the direction your team has shipped rank above topically similar ones. Validation and decision. A high relevance score does not mean a candidate is implementable; the top-ranked paper often has no call site in your repo. A selection pass checks each candidate against the codebase (code search and file reads) and picks the most implementable; if none fit, the run skips. Filters that do not call the model run first, so a run that cannot produce a useful result exits before any LLM cost. Each run ends in one of three outcomes: a draft PR, an Issue, or a skip.

Draft PR

The candidate integrates into an existing call site and passes the validators (tests, stub density, reachability). Outrider opens a draft PR with code and tests.

Discussion Issue

The candidate is relevant but not directly implementable (no call site, too many stubs, or unreachable code). Outrider opens an Issue with the attempted diff.

Skip

No candidate cleared the confidence, dedup, or fit gates. No artifact is created; the run records a status.

Configuration

The defaults are conservative; most repos only touch interest-id and the schedule.
InputDefaultWhat it does
interest-id(required)The Research Interest UUID the run draws candidates from
min-confidencemoderateSkip recommendations below high / moderate / low
draft-modealwaysalways (draft), on_test_failure (ready if tests pass), or never (skip on test failure)
rate-limit-days7Skip the run if any Remyx PR or Issue landed within this window. 0 disables
lookbackweekCandidate pool window: today / week / month
candidate-pool25How many candidates the selection pass chooses from
test-integration-policystrictstrict demotes to an Issue if new tests don’t import an existing module; soft opens a draft with a warning; off skips the gate. Use soft for component/library repos where a standalone module is the contribution
guardrails-allowlist''Extra path globs the agent may modify, on top of the defaults
claude-timeout900Wall-clock seconds for the implementation step. Raise for large repos, lower to cap cost
pin-arxiv''Implement one specific arxiv_id and skip selection — for reproducible re-runs

Guardrails

Outrider constrains what the agent may change so a draft PR is reviewable:
  • Allowed: *.py anywhere, **/*.md, and the .remyx-recommendation/** spec bundle (scrubbed before commit).
  • Always blocked by file role (block list wins): .github/**, Dockerfiles, shell scripts, and dependency/build manifests (requirements*.txt, pyproject.toml, setup.py, lockfiles).
  • Edit-size caps: ≤50 net lines per edit to an existing file, ≤3 new .py files per run, and at least one new function/class must be invoked from another changed file (an import alone doesn’t count).
These caps are why a run picks an Issue over a PR when an honest implementation would be larger or more invasive than the guardrails allow.

Costs

You bring your own ANTHROPIC_API_KEY, so Claude Code usage is billed to you:
  • Claude Code: about $2 per run on average. A run that skips after the selection pass still costs ~$1 (it reads the repo to verify fit); a PR-track run that implements and self-reviews costs more.
  • GitHub Actions: ~6–8 min on ubuntu-latest per run.
  • Remyx API: included in your subscription.
At weekly cadence that is roughly $8–10/month of Claude spend. Each run reports cost_usd and token counts as Action outputs.

Run outcomes

Every run ends in a status in the Action log. The common ones:
StatusMeaning
pr_opened / pr_opened_draftA PR was opened (ready or draft)
issue_opened*Routed to an Issue — pre-flight, no integration found, too many stubs, or orphan code
skipped_low_confidenceBest candidate below min-confidence
skipped_rate_limitA Remyx artifact already landed within rate-limit-days
skipped_by_selection_verificationNo candidate structurally fit the repo
skipped_pr_exists / skipped_issue_existsEvery candidate already has an open artifact
The full set of 18 outcomes is in the action’s README.

Reviewing an Outrider PR

Treat it like a first-pass proposal from a teammate:
  1. Read the self-review in the PR body — what the integration covers and what it left out.
  2. Run the diff and tests locally; the action runs pytest + an integration check, but your full suite is the real bar.
  3. Decide — merge, push follow-ups, or close. With the GitHub integration connected, linking the PR to a Remyx experiment syncs its status automatically.
Same loop as Implement an experiment — Outrider just initiates it on a schedule.

Feed

Research Interests and the recommendations Outrider draws from

Connectors

The Remyx GitHub App and the remyx-ai[bot] identity

Outrider on GitHub

Action source, inputs, and full status-code reference