gh-issues
Skill393k starsChanged 7 days agoMITView on GitHub
Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.
We split this skill into the rules it gives an agent
13 rules. 0 are common, 6 are distinctive, and 7 are very specific to this project.
0
Common
Most of the 23 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 27
Use for issue-to-PR automation.
- Very specific: line 60
If gh auth status fails and GH_TOKEN is missing, stop and ask for GitHub auth/config.
- Distinctive: line 69
Stop on dirty worktree unless user confirms that workers should ignore uncommitted changes.
- Distinctive: line 73
Verify auth/read access only:
- Very specific: line 89
Add --label, --milestone, --assignee, --state, --limit as requested.
- Very specific: line 91
If none found: report no matches.
- Distinctive: line 112
Create the parent directory before writing.
- Distinctive: line 122
After confirmation, in fork mode, configure the push remote before handing work to agents:
- Very specific: line 135
Before each spawn, write a claim for SOURCE_REPO#<n> with the current ISO timestamp.
- Very specific: line 160
Use coding-agent launch rules when available.
- Very specific: line 189
Only process fix/issue-* PRs created by this workflow unless the user explicitly named PR numbers.
- Distinctive: line 211
Stop when user says stop.
- Distinctive: line 213
Keep cumulative summary small.
“Common” is measured: kept by at least 6 in 10 of the 23 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
gh-issues
Use for issue-to-PR automation. Prefer gh CLI; fall back to gh api only when a high-level command lacks the needed field.
Arguments
- positional
owner/repo: optional; else infer fromgit remote get-url origin. --label <label>: filter.--limit <n>: default 10.--milestone <title>: filter.--assignee <login|@me>: filter.--state open|closed|all: default open.--fork <owner/repo>: push branches to fork, PR to source.--watch: poll issues + reviews.--interval <minutes>: default 5.--dry-run: list only.--yes: no confirmation.--reviews-only: skip issue fixing; handle PR reviews.--cron: spawn and exit; implies--yes.--model <id>: pass to workers when supported.--notify-channel <id>: optional final notification target.
Phase 1: resolve repo
git remote get-url origin
if [ -z "${GH_TOKEN:-}" ]; then
CONFIG_PATH="${OPENCLAW_CONFIG_PATH:-${OPENCLAW_STATE_DIR:-$HOME/.openclaw}/openclaw.json}"
GH_TOKEN=$(jq -r '.skills.entries["gh-issues"].apiKey // empty' "$CONFIG_PATH" 2>/dev/null || true)
if [ -n "$GH_TOKEN" ]; then export GH_TOKEN; fi
fi
gh auth status
gh repo view OWNER/REPO --json nameWithOwner,defaultBranchRefIf gh auth status fails and GH_TOKEN is missing, stop and ask for GitHub auth/config.
Derived:
SOURCE_REPO: issue repo.PUSH_REPO: fork if set, else source.BASE_BRANCH: source default branch unless user says otherwise.PUSH_REMOTE:forkin fork mode, elseorigin.
Stop on dirty worktree unless user confirms that workers should ignore uncommitted changes.
In fork mode, do not mutate remotes before confirmation or during --dry-run.
Verify auth/read access only:
gh auth token >/dev/null || test -n "${GH_TOKEN:-}"
gh repo view "$PUSH_REPO" --json nameWithOwner
git ls-remote --exit-code origin HEADPhase 2: fetch issues
Build filters and fetch:
gh issue list --repo "$SOURCE_REPO" --state open --limit 10 --json number,title,labels,url,body,assignees,milestoneAdd --label, --milestone, --assignee, --state, --limit as requested. gh issue list already excludes PRs.
If none found: report no matches. If --dry-run: show compact list and stop.
Phase 3: avoid duplicate work
For each candidate:
gh pr list --repo "$SOURCE_REPO" --search "$SOURCE_REPO#<n>" --state open --json number,url,title,headRefName
gh pr list --repo "$SOURCE_REPO" --head "fix/issue-<n>" --state open --json number,url
gh api "repos/$PUSH_REPO/branches/fix/issue-<n>" >/dev/nullSkip candidates with an open PR, existing branch, or active local claim.
Claim file:
${OPENCLAW_STATE_DIR:-$HOME/.openclaw}/gh-issues-<owner>-<repo>.jsonExpire claims older than 2 hours. Create the parent directory before writing.
Phase 4: confirm
Unless --yes or --cron, ask user to choose:
all- comma-separated issue numbers
cancel
After confirmation, in fork mode, configure the push remote before handing work to agents:
gh auth setup-git
git remote get-url fork || git remote add fork "https://github.com/$PUSH_REPO.git"
git remote set-url fork "https://github.com/$PUSH_REPO.git"
git ls-remote --exit-code fork HEADPhase 5: spawn workers
Launch up to 8 background workers. Do not block on each worker when --cron.
Before each spawn, write a claim for SOURCE_REPO#<n> with the current ISO timestamp. After a worker reports PR/failure, remove or update the claim. This prevents watch/cron overlap before a branch or PR exists.
Worker prompt must include:
- issue URL, title, body, labels.
SOURCE_REPO,PUSH_REPO,BASE_BRANCH,PUSH_REMOTE, fork mode.- target branch
fix/issue-<n>. - required proof and PR body.
- notification route.
Worker instructions:
Use gh and git. Do not handwave.
Checkout/create fix/issue-<n> from BASE_BRANCH.
Implement minimal fix.
Run relevant tests.
Commit with conventional message.
Push to PUSH_REMOTE.
Open PR against SOURCE_REPO BASE_BRANCH.
PR body: What Problem This Solves + Why This Change Was Made + User Impact + Evidence + visible Fixes SOURCE_REPO#<n>.
Report PR URL or failure reason.
Send completion/failure with openclaw message send if route provided.Use coding-agent launch rules when available.
Phase 6: collect
Poll workers with process or task registry. Report:
- issue number + title.
- status: PR opened, skipped, failed, timed out.
- PR URL or reason.
Notify channel only with final compact summary.
Reviews-only / watch reviews
Discover open PRs:
gh pr list --repo "$SOURCE_REPO" --state open --json number,title,url,headRefName,reviewDecision \
--jq '[.[] | select(.headRefName | startswith("fix/issue-"))]'Fetch review threads/comments:
gh pr view <n> --repo "$SOURCE_REPO" --json url,headRefName,comments,reviews
gh api "repos/$SOURCE_REPO/pulls/<n>/comments"
gh api "repos/$SOURCE_REPO/issues/<n>/comments"Only process fix/issue-* PRs created by this workflow unless the user explicitly named PR numbers. Group actionable comments by PR. Ignore praise, status, duplicates, and already-addressed comments. Spawn one worker per selected/scoped PR, same background rules.
Review worker instructions:
Checkout PR branch.
Read all actionable review comments.
Patch minimal changes.
Run relevant tests.
Commit and push normally; do not force-push unless explicitly told.
Reply to addressed comments with fix + commit/file reference.
Report comments addressed/skipped and proof.Watch mode
Loop:
- Fetch issues.
- Spawn eligible issue workers.
- Process actionable PR reviews.
- Sleep
--interval. - Stop when user says stop.
Keep cumulative summary small.
Trending
Quiet since March.about the whole repository
Who's talking about moltbot/moltbot
- A Hacker News story“Clawdbot Renames to Moltbot”Hacker News · Jan 27, 2026 · 249 points
- openclaw/openclaw“Fixes cron jobs”GitHub · Jan 28, 2026 · 17 reactions
- openclaw/openclaw“[Feature]: Add Email (AgentMail) as a channel”GitHub · Jan 30, 2026 · 8 reactions
- @aellalabrys.bsky.social“Hier liegen die Sourcen. Moltbot verwendet vorwiegend TypeScript, nur einige Anpassungen sind in Swift (für …”Bluesky · Jan 28, 2026 · 6 likes
- openclaw/openclaw“feat(providers): add ANTHROPIC_BASE_URL environment variable support”GitHub · Jan 27, 2026 · 6 reactions
The biggest 5 of 54 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 54
Talked about on GitHub, the web, Bluesky and Hacker News (54 times).
On GitHub · 32
- Jan 28, 2026Fixes cron jobs — openclaw/openclaw17 reactions · 6 comments
- Jan 30, 2026[Feature]: Add Email (AgentMail) as a channel — openclaw/openclaw8 reactions · 2 comments
- Jan 27, 2026feat(providers): add ANTHROPIC_BASE_URL environment variable support — openclaw/openclaw6 reactions · 1 comment
- Jan 28, 2026[Feature]: x402 payment protocol extension — openclaw/openclaw5 reactions · 5 comments
- Jan 28, 2026feat(models): Add Kimi K2.5 support for the kimi coding plan — openclaw/openclaw3 reactions
27 more on GitHub
- Jan 31, 2026fix(docs): update MiniMax plugin URL from legacy moltbot org — openclaw/openclaw2 reactions · 1 comment
- Jan 30, 2026feat: add Dokploy deployment guide — openclaw/openclaw2 reactions · 2 comments
- Jan 30, 2026fix(slack): Convert Unicode emojis to Slack shortcodes for ack reactions — openclaw/openclaw2 reactions · 1 comment
- Jan 29, 2026首个打通了企业微信,稳定好用。 — openclaw/openclaw2 reactions
- Jan 29, 2026Fix/3038 cli name moltbot — openclaw/openclaw1 reaction · 4 comments
- Jan 29, 2026fix(subagent): fix subagent thinking override — openclaw/openclaw1 reaction · 1 comment
- Jan 29, 2026Fix: File ID Format Mismatch When Switching from Gemini to OpenAI #3702 — openclaw/openclaw1 reaction · 1 comment
- Jan 28, 2026Merge branch 'main' of https://github.com/moltbot/moltbot — openclaw/openclaw1 reaction · 1 comment
- Jan 28, 2026feat(fireworks): integrate Fireworks AI support into onboarding and a… — openclaw/openclaw1 reaction · 1 comment
- Jan 28, 2026[macOS] Telegram long-polling causes 'fetch failed' crash (Node 23) — openclaw/openclaw1 reaction · 4 comments
- Jan 28, 2026fix(slack): forward threadId in extension read action — openclaw/openclaw1 reaction · 1 comment
- Jan 27, 2026[Bug]: Wrong dependency or possible rogue package — openclaw/openclaw1 reaction · 2 comments
- Jan 27, 2026feat: add Moltbot template — Dokploy/templates1 reaction · 2 comments
- Mar 17, 2026feat(pipeline): orchestrator, parallel backfill, and URL redirect dedup fix — yya007/SkillFinder0 reactions
- Feb 4, 2026sessions_spawn ignores target agent's model config, uses caller's model instead — openclaw/openclaw0 reactions · 1 comment
- Feb 3, 2026[Security] Multiple Credential Inputs Vulnerable to Type Coercion Leading to Predictable 'undefined' Values — openclaw/openclaw0 reactions
- Jan 31, 2026refactor: rename moltbot to openclaw branding — marcusquinn/aidevops0 reactions · 9 comments
- Jan 30, 2026feat: enhance OpenAI compatibility for tool calling — openclaw/openclaw0 reactions · 17 comments
- Jan 29, 2026[Feature]: Add Cognee as optional memory provider — openclaw/openclaw0 reactions · 3 comments
- Jan 29, 2026Fix npm binary: use moltbot@beta tag to get working bin field (#3787) — Joe-Heffer/deploy-openclaw0 reactions
- Jan 29, 2026fix(telegram): preserve reasoning tags inside code blocks (#3952) — openclaw/openclaw0 reactions · 1 comment
- Jan 29, 2026Feature[https://github.com/moltbot/moltbot/issues/3694] Public WebChat route /public/chat (UI shell) — openclaw/openclaw0 reactions · 8 comments
- Jan 28, 2026Giving Access to MacOS — openclaw/openclaw0 reactions · 1 comment
- Jan 28, 2026--json option does not exist in `browser set headers` — openclaw/openclaw0 reactions · 3 comments
- Jan 27, 2026refactor: rename Clawdbot to Moltbot across repo — marcusquinn/aidevops0 reactions · 5 comments
- Jan 27, 2026feat: add Moltbot template — Dokploy/templates0 reactions · 2 comments
- Jan 26, 2026feat: adding support for Together ai provider — openclaw/openclaw0 reactions · 2 comments
On the web · 14
- Feb 20, 2026Moltbot Review: Local-First AI Agent Architecture — linkedin.com
- Feb 3, 2026Moltbot: 83 сценария использования open-source AI-агента / Хабр — habr.com
- Feb 1, 2026ClawBot(Moltbot)安装与上手:用一条命令在本地跑起个人 AI 助手(含 Dashboard/Chat)_人工智能_JavaEdge.-2048 AI社区 — devpress.csdn.net
- Jan 31, 2026In-Depth Moltbot Analysis for AI Developers — blog.promptlayer.com
- Jan 30, 2026Docker方式安装你的私人AI电脑助手Moltbot_moltbot docker-CSDN博客 — blog.csdn.net
9 more on the web
- Jan 29, 2026Moltbot (Clawdbot) : Setup Guide+ API hosting Tutorial — dev.to
- Jan 29, 2026Running Moltbot (Clawdbot) with Bifrost: Observability, Cost Control, and Multi-Model Routing — dev.to
- Jan 29, 2026Falling in and out of love with Moltbot — platformer.news
- Jan 28, 2026Self-Hosted AI Assistant: Complete Moltbot Installation Guide for Docker — dev.to
- Jan 28, 2026How Clawdbot gave me back 40 hours in minutes. — linkedin.com
- Jan 27, 2026Moltbot (Clawdbot) What it is and isn't - by Matt Taylor — mjtdev.substack.com
- Jan 27, 2026Clawdbot → Moltbot: How the Viral Self-Hosted AI Agent Actually Works (2026 Deep Dive) - A Streak of Communication — telestreak.com
- Jan 27, 2026Moltbot Review 2026: Everything You Need to Know About the… | NxCode — nxcode.io
- Jan 26, 2026Clawdbot [Moltbot/OpenClaw], или почему нужно срочно дать языковой модели контроль над вашим Mac mini / Хабр — habr.com
On Bluesky · 5
- Jan 28, 2026Hier liegen die Sourcen. Moltbot verwendet vorwiegend TypeScript, nur einige Anpassungen sind in Swift (für Apple) und Kotlin (für Android)… — @aellalabrys.bsky.social6 likes and reposts · 1 reply
- Jan 29, 2026💎 Hidden Gem! 💎 (1000+ new stars) 📦 moltbot / moltbot ⭐ 89,672 (+17,830) 🗒 TypeScript Your own personal AI assistant. Any OS. Any… — @github-trending.bsky.social5 likes and reposts · 1 reply
- Jan 29, 2026💎 Hidden Gem! 💎 (1000+ new stars) 📦 moltbot / moltbot ⭐ 89,672 (+17,830) 🗒 TypeScript Your own personal AI assistant. Any OS. Any… — @github-trending-js.bsky.social2 likes and reposts · 1 reply
- Jan 29, 2026今日のGitHubトレンド moltbot/moltbot Moltbotは、個人のデバイスで動作するAIアシスタントです。 WhatsApp、Telegram、Slackなど様々なチャネルで応答し、音声入力やCanvasの操作も可能です。… — @dailygithubtrends.bsky.social1 likes and repost
- Jan 27, 2026Clawdbot is a personal AI assistant you run on your own devices. It answers you on the channels you already use (WhatsApp, Telegram, Slack,… — @ytroncal.bsky.social1 likes and repost
On Hacker News · 3
- Jan 27, 2026Clawdbot Renames to Moltbot249 points · 227 comments
- Jan 27, 2026Clawdbot Renamed to Moltbot2 points · 1 comment
- Jan 29, 2026Moltbot: Own Personal AI Assistant1 point · 1 comment
Other versions32 projects use a version of this.
Word for word · 9
- clawdbot/clawdbot★ 393k100% same
- steipete/warelay★ 392k100% same
- moltbot/clawdbot★ 392k100% same
- steipete/clawdis★ 392k100% same
- molt-bot/clawdbot★ 391k100% same
- openclaw/openclaw★ 391k100% same
- friuns2/openclaw-android-assistant★ 556100% same
- OpenClawAndroid/openclaw-android-assistant★ 556100% same
- bighamx/openclaw-android-node-apk★ 59100% same
Edited · 0
None found.
Wrote their own version · 23
- spinabot/brigade★ 11ksame name
- casibase/casibase★ 5.7ksame name
- the-open-agent/openagent★ 5.7ksame name
- linuxhsj/openclaw-zero-token★ 5.2ksame name
- google/adk-js★ 1.4ksame name
- OpenBMB/EdgeClaw★ 1.2ksame name
- understudy-ai/understudy★ 461same name
- AtomicBot-ai/atomicbot★ 325same name
- serejaris/personal-corp-os★ 236same name
- serejaris/ris-claude-code★ 230same name
13 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use taskflow-inbox-triage.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
AtomicBot-aiSkilltaskflow-inbox-triage
Also in 5 projects that use this
In this repository109 other files it gives its agents.
- AGENTS.mdAGENTS.md
- docs/AGENTS.mdAGENTS.md
- extensions/AGENTS.mdAGENTS.md
- scripts/AGENTS.mdAGENTS.md
- test/AGENTS.mdAGENTS.md
- ui/AGENTS.mdAGENTS.md
- agent-transcriptSkill
- auto-qaSkill
- autoreviewSkill
- channel-message-flowsSkill
- clawdtributorSkill
- claw-scoreSkill
- clawsweeperSkill
- control-ui-e2eSkill
- crabboxSkill
- discord-clawdSkill
- discord-e2eSkill
- discord-user-postSkill
- discrawlSkill
- gitcrawlSkill
- graincrawlSkill
- notcrawlSkill
- openclaw-changelog-updateSkill
- openclaw-ci-limitsSkill
- openclaw-debuggingSkill
- openclaw-docker-e2e-authoringSkill
- openclaw-ghsa-maintainerSkill
- openclaw-live-updaterSkill
- openclaw-parallels-smokeSkill
- openclaw-performanceSkill
- openclaw-pr-maintainerSkill
- openclaw-qa-testingSkill
- openclaw-refactor-docsSkill
- openclaw-release-validationSkill
- openclaw-repair-sweepSkill
- openclaw-secret-scanning-maintainerSkill
- openclaw-test-heap-leaksSkill
- openclaw-testingSkill
- openclaw-test-performanceSkill
- openclaw-updateSkill
- parallels-discord-roundtripSkill
- plugin-sdk-impactSkill
- proof-videoSkill
- prototype-openclaw-tuiSkill
- pr-simplifySkill
- release-openclaw-announcementSkill
- release-openclaw-ciSkill
- release-openclaw-macSkill
- release-openclaw-maintainerSkill
- release-openclaw-plugin-testingSkill
- security-triageSkill
- slack-e2eSkill
- slacrawlSkill
- solidSkill
- tag-duplicate-prs-issuesSkill
- technical-documentationSkill
- telegram-e2e-userbotSkill
- test-auditSkill
- update-team-serverSkill
- verify-releaseSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

