This skill should be used to search GitHub for relevant issues, filter them, draft replies to promote pikiclaw using a sub-agent, and publish those replies while tracking already replied issues to avoid duplicates.
This skill automates searching for GitHub issues where pikiclaw can be promoted as a helpful solution, generating contextual replies, and posting them, while maintaining a history to prevent duplicate replies.
Before doing anything, ALWAYS read the registry of already replied issues to ensure we do not spam or reply to the same issue twice.
.pikiclaw/skills/promote/replied_issues.txtUse gh search issues (via shell) to find recent, open issues related to our domain.
Run multiple queries in parallel to maximize coverage:
Core IM + Agent queries:
"claude code mobile" --state open"claude code telegram" --state open"claude code wechat" --state open"claude code feishu" --state open"gemini cli telegram" --state open"gemini cli mobile" --state open"codex cli telegram" --state open"codex cli mobile" --state openRemote/mobile control queries:
"coding agent phone" --state open"coding agent mobile" --state open"ai agent remote control" --state open"ai coding assistant mobile" --state open"claude code remote access" --state open"claude code ipad" --state openDashboard & console queries:
"claude code dashboard" --state open"claude code web ui" --state open"codex cli dashboard" --state open"agent web console" --state open"coding agent dashboard" --state open"claude code browser interface" --state openSession & workflow queries:
"claude code session resume" --state open"agent session management" --state open"claude code multi agent" --state open"switch between agents" --state open"claude code task queue" --state open"claude code context window" --state openDesktop/browser automation queries:
"agent browser automation" --state open"agent desktop automation mac" --state open"playwright mcp" --state open"browser automation agent mcp" --state open"appium agent automation" --state openNotification & monitoring queries:
"claude code notification" --state open"coding agent notification done" --state open"agent task completion alert" --state openHeadless / server / self-hosted queries:
"coding agent headless" --state open"claude code server" --state open"ai agent self-hosted" --state open"claude code ssh" --state open"coding agent remote server" --state openSimilar-project issues (high contributor-conversion potential):
repo:RichardAtCT/claude-code-telegram --state openrepo:m1heng/clawdbot-feishu --state openrepo:Johnixr/claude-code-wechat-channel --state openrepo:Wechat-ggGitHub/wechat-claude-code --state openrepo:qingpingwang/remote-claude-code --state openChinese queries:
"claude code 手机" --state open"claude code 远程" --state open"ai agent 手机控制" --state open"coding agent 微信" --state open"coding agent 飞书" --state open"claude code 网页控制" --state open"claude code 仪表盘" --state open"代码agent 远程控制" --state open"claude code 会话管理" --state openExample command (filters out aggregator/bot repos and our own repo):
gh search issues "claude code telegram" --state open --limit 30 --json url,title,repository | jq -r '[.[] | select(.repository.name | test("trending|news|weekly|github-daily|awesome|digest|bulletin|pikiclaw"; "i") | not) | select(.repository.nameWithOwner | test("xiaotonng/") | not)] | .[] | "\(.url) | \(.title) | \(.repository.nameWithOwner)"'
Filter out any URLs that are already present in replied_issues.txt.
For the remaining candidate issues, use gh issue view <url> to read the context.
Select issues that express a pain point pikiclaw explicitly solves.
Priority tiers (select higher-tier issues first):
Target pain points include:
IM & Remote Control:
Agent Console & Dashboard:
Agent Runtime & Orchestration:
GUI & Automation:
Skills & Extensibility:
Setup & Management:
Pick 1-5 most relevant issues.
Delegate the drafting process to a sub-agent for high-quality, focused output.
Prompt for the sub-agent:
Draft short, highly grounded, non-spammy GitHub issue replies to promote 'pikiclaw'.
What pikiclaw is: A Node.js CLI (
npx pikiclaw@latest) that bridges local Claude Code, Codex CLI, and Gemini CLI to Telegram, Feishu, or WeChat — and also serves a full web dashboard at localhost:3939 that works as a standalone agent console. It runs on your own machine — your files, your tools, your environment — and lets you control everything from your phone or browser.Key capabilities to draw from (use only what's relevant to the issue):
Channels & Agents:
- Three IM channels: Telegram, Feishu, WeChat — run one or all simultaneously
- Three agent backends: Claude Code, Codex CLI, Gemini CLI — switch mid-session
- Model listing and switching per agent (e.g., opus/sonnet/haiku for Claude, o4-mini/o3/gpt-5.4 for Codex)
Dashboard as Agent Console:
- Web dashboard at localhost:3939 — a full interactive agent console in the browser
- Full conversation history with tool-use activity, thinking traces, plan progress
- Real-time streaming output via WebSocket (bidirectional push, no polling)
- Image attachments, file previews, and an input composer with file upload
- Context window usage display (percentage per turn)
- Session monitoring across all agents, token usage tracking
- Channel setup, agent config, model selection, permissions, extensions — all in one UI
Runtime & Orchestration:
- Streaming preview with continuous message updates in IM
- Session switching, resume, and multi-turn conversations
- Task queue with Steer — send follow-up instructions while agent is busy; interrupt and re-prioritize the running task
- Codex Human Loop — when Codex asks a question mid-task, it surfaces in your IM as an interactive prompt
- Long-task sleep prevention, watchdog, and auto-restart
- Draft persistence across session switches in the dashboard
MCP & GUI Automation:
- MCP bridge per stream:
im_list_files,im_send_filefor real-time file exchange- Browser automation — managed Chrome profile via Playwright MCP (log in once, reuse across tasks)
- macOS desktop automation — Appium Mac2 (
desktop_open_app,desktop_snapshot,desktop_click,desktop_type,desktop_screenshot)Skills & Extensibility:
- Project-level skills system (
.pikiclaw/skills/) — reusable workflows triggered from IM- Compatible with
.claude/commands/*.mdskill format- Trigger skills via
/skillsand/sk_<name>in chatOther:
- Working directory browsing and switching from IM
- File attachments automatically enter the session workspace
- Long text auto-splitting; images and files sent back to IM directly
- i18n: Chinese & English; light / dark theme
Reply formula (standard):
- One sentence acknowledging the specific pain point in the issue
- One sentence explaining the relevant architectural solution (be specific — e.g., "WebSocket-based dashboard with full tool-use trace and streaming", "task queue with Steer to interrupt and re-prioritize", "managed Chrome profile for persistent logins", "Human Loop for Codex prompts")
- Direct call to action:
npx pikiclaw@latest- End with project link:
GitHub: https://github.com/xiaotonng/pikiclawReply formula (contributor-oriented) — use for Tier 1 similar-project issues:
- One sentence acknowledging the pain point with genuine technical empathy (you've solved the same problem)
- One sentence sharing the specific architectural approach pikiclaw took (implementation detail, not marketing)
- A concrete contribution invitation — link to a specific open issue that's related to their expertise (pick from: Slack support #2, multi-user #3, session history #4, or Windows bugs #5/#8)
- Direct call to action:
npx pikiclaw@latest- End with project link:
GitHub: https://github.com/xiaotonng/pikiclawRules:
- Match the language of the original issue (Chinese, Japanese, English, etc.)
- Only mention features that are directly relevant to the issue — do NOT list everything
- Sound like a developer sharing a tool, not a marketer pushing a product
- For contributor-oriented replies: share implementation insights that demonstrate technical depth, making the reader think "these people know what they're doing, I'd like to contribute"
- Keep replies under 6 sentences
Provide only the drafted replies.
Review the drafts. Ensure they are NOT generic ads but provide real technical insight relevant to the specific issue.
Use gh to post the drafted comments:
gh issue comment <URL> --body "<Drafted Reply>"
After successfully posting replies, ALWAYS append the new issue URLs to the registry:
echo "<URL>" >> .pikiclaw/skills/promote/replied_issues.txt
Never skip this step — it prevents duplicate replies in future runs.