pilot: AI That Ships Your Tickets for Automated Development
# Add to your Claude Code skills
git clone https://github.com/peterhoang1103991-cmd/pilot-ai-ticket-shipperGuides for using ai agents skills like pilot-ai-ticket-shipper.
See how pilot-ai-ticket-shipper compares with popular alternatives.
pilot-ai-ticket-shipper is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by peterhoang1103991-cmd. pilot: AI That Ships Your Tickets for Automated Development. It has 58 GitHub stars.
pilot-ai-ticket-shipper's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/peterhoang1103991-cmd/pilot-ai-ticket-shipper" and add it to your Claude Code skills directory (see the Installation section above).
pilot-ai-ticket-shipper is primarily written in HTML. It is open-source under peterhoang1103991-cmd on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh pilot-ai-ticket-shipper against similar tools.
No comments yet. Be the first to share your thoughts!
Available after the catalog security scan passes.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
See comparison

Pilot is a Python tool that turns labeled tickets from GitHub, Linear, Jira, or Asana into reviewed pull requests: it plans the implementation, writes the code, runs tests and lint, and opens a PR linking back to the issue. It's built for developers and small teams who want their backlog worked down without handing merge control to a bot — every change still goes through human review. What sets it apart is the ticket-to-PR loop as a single process, with configurable autopilot modes (dev, stage, prod) that decide how much CI gating and auto-merge happens before you ever see the diff.
Everything below is what users get out of the box. Features are grouped by area — skim the tables for the short version, or dive into the snippets for concrete usage.
| Feature | What it does |
|---|---|
| Autonomous ticket pickup | Watches GitHub, Linear, Jira, and Asana for tickets labeled pilot and claims them for processing |
| Plan → code → test → PR | Executes the full loop end-to-end without manual steps between phases |
| Branch-per-ticket isolation | Creates a dedicated branch (pilot/{ticket}) so work never collides with in-flight changes |
| Self-review before push | Runs an internal code-review pass so obvious issues are caught before reviewers see them |
| PR with issue linkage | Opens a PR that references the originating ticket and updates labels on completion |
| Surface | Capability |
|---|---|
| GitHub | Issue polling, PR creation, label-driven lifecycle |
| GitLab / Azure DevOps | Polling and webhook adapters |
| Linear / Jira / Asana | Webhook ingestion and task sync |
| Telegram bot | Chat, research, planning, and task execution — including voice and image input |
| Slack / Email | Daily briefs and alerts |
Four interaction modes keep chat from being a one-size-fits-all command line:
💬 Chat "What do you think about using Redis?" → discussion only
🔍 Question "What files handle authentication?" → read-only answer
🔬 Research "Research how the caching layer works" → deep analysis
📐 Planning "Plan how to add rate limiting" → plan with Execute/Cancel
🚀 Task "Add rate limiting to /api/users" → confirms, then ships a PR
| Backend | Notes |
|---|---|
| Claude Code | Default execution backend |
| OpenCode | Alternative backend, switchable per task |
| Anthropic direct | Uses your own API key |
| AWS Bedrock / GCP Vertex | Enterprise endpoints via environment flags |
Routing, budget, and backend selection are all configurable per project, so a monorepo with mixed requirements doesn't force a single global policy.
Pilot is a ticket-to-PR pipeline. Each stage is a discrete, observable step, so you can watch progress in the dashboard or follow it in the execution log.
Ticket labeled "pilot"
│
▼
┌────────────────────┐
│ 1. Pick up │ Claims the ticket, adds an in-progress label
└─────────┬──────────┘
▼
┌────────────────────┐
│ 2. Branch │ Creates a working branch off the default branch
└─────────┬──────────┘
▼
┌────────────────────┐
│ 3. Plan │ Reads the codebase, drafts an approach
└─────────┬──────────┘
▼
┌────────────────────┐
│ 4. Implement │ Writes code against the plan
└─────────┬──────────┘
▼
┌────────────────────┐
│ 5. Verify │ Runs tests, lint, and build checks
└─────────┬──────────┘
▼
┌────────────────────┐
│ 6. Open PR │ Links the ticket, marks it ready for review
└─────────┬──────────┘
▼
You review → merge
| Stage | Input | Action | Output |
|---|---|---|---|
| Pick up | Open ticket | Claims ownership so no two runs collide | In-progress label |
| Branch | Ticket ID | Cuts a branch from the project's default branch | Isolated working tree |
| Plan | Repo + ticket | Explores relevant files, proposes a step-by-step approach | Implementation plan |
| Implement | Plan | Edits and creates files to satisfy the plan | Code changes |
| Verify | Code changes | Runs configured quality gates; retries on failure | Passing (or flagged) checks |
| Open PR | Verified changes | Pushes the branch and files a PR referencing the ticket | Reviewable pull request |
Verification is not a single pass/fail. When a gate fails, Pilot feeds the failure back into the implementation step and tries again, up to a configured limit. If it still cannot pass, the ticket is surfaced with the failing output attached rather than opening a broken PR.
verify → pass? ──yes──▶ open PR
│
no
▼
retry budget left? ──yes──▶ implement (with failure context) → verify
│
no
▼
surface ticket with diagnostics
Tasks run sequentially by default: Pilot waits for the current PR to merge (or time out) before starting the next ticket. This keeps branches from piling up and conflicting with each other. Parallel execution is available when tickets are known to touch independent areas.
The pipeline is source-agnostic. The pickup and status updates are driven by an adapter, while planning, implementation, and verification are identical regardless of where the ticket originated.
Every stage emits a record you can inspect after the fact:
Pilot runs as a CLI tool that orchestrates an AI coding backend. The table below lists the runtime prerequisites, followed by the optional integrations you may enable.
| Requirement | Needed for | Notes |
|---|---|---|
| Python runtime | Running pilot |
Match the version pinned in pyproject.toml. |
| Git | Branch creation, commits, PR flow | Repositories are operated on via the local git CLI. |
| Claude Code CLI | Code planning and implementation | Pilot shells out to it; it must be on your PATH and authenticated. |
| GitHub account + token | GitHub issue polling and PR creation | Token needs repo scope (or equivalent) for target repositories. |
| A configured project checkout | Executing tickets | Point Pilot at a local clone of the repository it should work in. |
| Dependency | Enables |
|---|---|
| Anthropic API access via the Claude Code CLI | Default execution backend |
| OpenCode | Alternative execution backend (--backend opencode) |
| Telegram bot token | Chat, research, and task execution through Telegram |
| Linear / Jira / Asana credentials | Task intake and sync from those trackers |
| GitLab / Azure DevOps credentials | Polling and webhook adapters |
| AWS Bedrock or Google Vertex AI | Hosted model access instead of the default Anthropic endpoint |
| OpenAI API key | Voice message transcription |
~/.pilot by default) for config.yaml and the local metrics database.git and the Claude Code CLI resolve correctly (WSL is the tested path).Refer to Configuration for the exact keys each integration expects.
All settings live in a single YAML file at ~/.pilot/config.yaml. Run pilot init to generate a commented starter file, then edit it or override values with environment variables.
version: "1.0"
gateway:
host: "127.0.0.1"
port: 9090
adapters:
github:
enabled: true
token: "${GITHUB_TOKEN}"
repo: "owner/repo"
pilot_label: "pilot"
polling:
enabled: true
interval: 30s
telegram:
enabled: fal