How to build a (basic) agentic pipeline with GitHub A developer guide published on GitHub details how to build a basic agentic pipeline that automates the hand-offs between an idea and a clickable preview link, using Claude Code routines, the Claude GitHub App, GitHub Actions, and Vercel preview deployments. Because routines can trigger only on pull requests and releases rather than issues or comments, a GitHub Action listens to issue and PR activity and calls the routine's API, with Claude writing content while the workflow changes labels, issue text and review threads based on hidden markers in Claude's comments. The guide notes that text sent to a routine arrives as untrusted data and is ignored unless the saved prompt opts in by mentioning the payload block, and that each session's assigned branch overrode a branch rule when that rule lived in a file rather than the prompt stub. Count the hand-offs between "someone has an idea" and "someone can click a preview link". Write the ticket, refine it, agree on what done means, branch, build, test, open a PR, review, fix, wait for the preview, merge. Only three of those need a human: answering the questions only you can answer, saying yes to the plan, and looking at the result. This guide builds a pipeline where those three are all you do. You open an issue with one sentence. Claude proposes a plan and asks a few multiple-choice questions on the issue. Your answers turn the issue into a spec. You add a label. Claude writes a test per acceptance criterion, implements until they pass, and opens a PR with a Vercel preview. You leave review comments; Claude fixes them on the same branch and replies in the threads. Everything below comes from that experiment, including the parts that broke. What you need - A Next.js or any repo on GitHub, with tests that run in CI. I used Vitest and React Testing Library. - A claude.ai plan with Claude Code on the web, for routines : saved cloud sessions that run on Anthropic's infrastructure, so nothing has to stay switched on. - The Claude GitHub App installed on the repo. - Vercel connected to the repo for preview deployments. The architecture in one paragraph Routines can trigger on a schedule, on an API call, or on GitHub events, but those events only cover pull requests and releases. Not issues, not comments. So a GitHub Action listens to issue and PR activity, decides which step comes next, and calls the routine's API with the issue or PR as text. The routine does the thinking and talks back by commenting. Claude writes, the workflow moves the cards : labels, issue text and review threads are only ever changed by the workflow, based on hidden markers in Claude's comments. Step 1: one routine, instructions in the repo Create a routine at claude.ai/code/routines with your repo, the Default environment, an API trigger, and no connectors. Then generate its token in the API trigger settings. It's shown once. The routine's saved prompt is a stub. The real instructions live in the repo, so changing how Claude behaves is a commit, not a trip to a web form: You are a step in this repository's delivery pipeline. The routine-fire-payload block starts with a line "Step: