A skill catalog for Claude Code, plus a small set of Go-native helpers for Gmail, Slack, and Trello. Install curated skills into any project with one command; use the CLI when a typed OAuth client beats a skill (Gmail digests, Slack posting, Trello credential storage).
- A skill catalog. Install Claude Code skills with
npx skills add siyuqian/devpilot.devpilot initscaffolds project-level config (.devpilot.yaml,.gitignoreentries,CLAUDE.md). - Gmail digest.
devpilot gmail summaryreads unread mail via OAuth, summarises it with Claude Code, and optionally posts the digest to Slack. - Slack send.
devpilot slack sendposts a message to a channel or DM with the credentials stored bydevpilot login slack. - Trello helpers.
devpilot login trellostores credentials;devpilot pushcreates a Trello card from a markdown plan file. Skills such asdevpilot-trelloread the same credential store.
- Claude Code installed and authenticated
- Git
- (Optional) Trello account with API credentials for
login trello - (Optional) Google OAuth for
gmail * - (Optional) Slack OAuth for
slack sendandgmail summary --channel
Just want the skills? Install the whole catalog into any project with one command — no devpilot CLI required:
npx skills add siyuqian/devpilotThis drops the skills into .claude/skills/ so Claude Code can pick them up immediately. Use the devpilot CLI below if you also want the Gmail / Slack / Trello helpers.
Updating installed skills — pull the latest versions from this catalog:
npx skills list # see what's installed
npx skills update # update all installed skills
npx skills update devpilot-pr-review # update a single skill by name
npx skills update -g # update globally-installed skills only
npx skills update -p # update project-installed skills onlyEach skill installs under its own name (e.g. devpilot-pr-review, devpilot-learn) — there is no single devpilot bundle to update. Re-running npx skills add siyuqian/devpilot also works and will overwrite the existing install.
From release:
curl -sSL https://raw.githubusercontent.com/SiyuQian/devpilot/main/install.sh | shOptionally specify a version or directory:
curl -sSL https://raw.githubusercontent.com/SiyuQian/devpilot/main/install.sh | sh -s -- --version v1.0.0 --dir ~/.local/binFrom source (Go 1.25+):
git clone https://github.com/SiyuQian/devpilot.git
cd devpilot
make build
sudo mv bin/devpilot /usr/local/bin/Verify: devpilot --version
# Initialise a project — detects stack, scaffolds .devpilot.yaml + CLAUDE.md
devpilot init
# Install Claude Code skills (separate from the CLI)
npx skills add siyuqian/devpilot
# Summarise unread Gmail, send to Slack
devpilot login gmail
devpilot login slack
devpilot gmail summary --channel daily-digest| Command | Description |
|---|---|
devpilot init |
Project setup wizard (detects stack, generates config) |
devpilot init -y |
Accept all defaults without prompting |
Skills are distributed via npx, not the Go CLI. To install:
npx skills add siyuqian/devpilot| Command | Description |
|---|---|
devpilot login <service> |
Authenticate (trello, gmail, slack) |
devpilot logout <service> |
Remove stored credentials |
devpilot status |
Show auth status for all services |
| Command | Description |
|---|---|
devpilot gmail list |
List emails with optional filters |
devpilot gmail read <id> |
Display full email |
devpilot gmail mark-read <id...> |
Mark as read |
devpilot gmail bulk-mark-read |
Bulk mark by query |
devpilot gmail summary |
AI digest of unread emails (optionally to Slack) |
| Command | Description |
|---|---|
devpilot push <plan.md> --board "Board" |
Create a Trello card from a markdown plan |
| Command | Description |
|---|---|
devpilot slack send --channel "#channel" |
Send a Slack message |
| Command | Description |
|---|---|
devpilot graph build <repo> |
Build a code graph; auto-incremental from cache |
devpilot graph preflight --base <sha> --head <sha> |
Get changed symbols and cross-module impact |
devpilot graph query <pattern> <target> |
Query edges (callers, tests, implementors, etc.) |
| Command | Description |
|---|---|
devpilot commit |
Generate a conventional commit message from staged changes |
| Flag | Default | Description |
|---|---|---|
-m, --message |
— | Additional context for AI |
--model |
(from config) | Override Claude model |
--dry-run |
false |
Generate message without committing |
| Flag | Default | Description |
|---|---|---|
--unread |
false |
Show only unread messages |
--after |
— | Show messages after date (YYYY-MM-DD) |
--limit |
20 |
Maximum messages to return |
| Flag | Default | Description |
|---|---|---|
--channel |
— | Send summary to Slack channel |
--dm |
— | Send summary as DM to Slack user ID |
--no-mark-read |
false |
Preview mode (don't mark emails as read) |
DevPilot stores project config in .devpilot.yaml. Initialize with devpilot init:
# Example
source: github # Informational only; used by init/future helpersSee ARCHITECTURE.md.
make build # Build to bin/devpilot
make test # Run all tests
make lint # Run linter (required before commit)
make lint-fix # Auto-fix lint issues
make clean # Remove build artifactsTests and lint must pass before committing. CI enforces this.
go test ./internal/initcmd/ -run TestDetect # Single test by name
go test ./internal/gmail/ -v # Single package, verbose- Language: Go 1.25.6
- CLI: Cobra
- Skills: Claude Code skill system, distributed via npx skills
- External APIs: Trello API, Gmail API, Slack API
MIT