auto-reply
Reply to an incoming message in any chat app on behalf of the user.
Skill by wuyhong715
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/wuyhong715-auto-reply
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/auto-reply
Tools it pre-approves 10
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
list_recent_notificationslist_active_notificationslaunch_appread_window_treefind_nodeclick_nodeset_textscrollglobal_actiontake_screenshot
What's inside
- Skill name
auto-reply- Description
- Reply to an incoming message in any chat app on behalf of the user. Reads the visible conversation, drafts a context-aware reply, and sends it. Composes the notification listener, the accessibility tap/scroll/read tools, and the back-to-home global action.
- License
- AGPL-3.0
- Allowed tools
- list_recent_notifications, list_active_notifications, launch_app, read_window_tree, find_node, click_node, set_text, scroll, global_action, take_screenshot
- Instructions
- 43 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Auto-reply Reply to an incoming message inside the originating chat app, without leaving the user's home loop. ## When to use The user says something like "reply to <person> for me", "send <person> 'on my way'", "draft a reply to the last message", or you spot an unread chat (Telegram / WhatsApp / Signal / Messages / Slack) in `list_recent_notifications` and the user has asked you to handle replies autonomously. Do NOT use this skill if the user just asked you to send a brand-new message to someone you haven't surfaced yet — for that, use `telegram_send_message` (Telegram only) or open the app yourself. ## Steps 1. **Identify the incoming chat.** Call `list_recent_notifications` and pick the most recent unread row whose package is the messaging app. Note `package_name`, `title` (usually the contact name), `text` (preview of the last message), `key`. 2. **Open the app.** Use `notification_action_click` with the entry's primary action if available; otherwise `launch_app(package_name = "<x>")` and the app will land on the chats list. 3. **Open the contact's thread.** Read `read_window_tree`, `find_node` for the contact name's text node, `click_node`. If the chat is already open, skip. 4. **Read the visible context.** Call `read_window_tree` on the chat screen. Scroll up once with `scroll(direction = "up")` if the most recent few messages aren't visible. Pull the last 3-5 messages out of the tree as plain text. 5. **Draft the reply.** Match the user's tone (you have memory; check `enableMemory`). Keep it short. If the incoming message is a question, answer it. If it's a status update, acknowledge it. If it's a request, decide whether the user can fulfil it now or needs to defer. 6. **Send.** `find_node` for the message-input field, `set_text` with your draft, `find_node` for the send button (looks like a paper-plane / arrow), `click_node`. 7. **Confirm.** Take a `take_screenshot` so the user can verify in the chat history. 8. **Return home.** `global_action(action = "home")`. ## Tools used - `list_recent_notifications`, `list_active_notifications` - `launch_app`, `notification_action_click` - `read_window_tree`, `find_node`, `click_node`, `set_text`, `scroll` - `take_screenshot` - `global_action` ## Failure modes - **Cannot find input field.** Some apps render send-message in a dialog overlay. Try `read_window_tree` again after a brief delay; if still no luck, abort and tell the user "I opened the chat but couldn't locate the input field — please reply manually". - **Send button is greyed out.** The draft probably failed to set. Try `set_text` once more; if still greyed, abort. - **Wrong contact opened.** If `find_node` matched a different person than expected (common with similar names), back out with `global_action(action = "back")` and try the search field instead. - **Notification was already dismissed.** `list_recent_notifications` is a 100-entry ring buffer — older entries stay visible even after dismissal. Always re-check by opening the app rather than trusting that the chat is the topmost one. ## Don't - Don't reply on behalf of anyone in a group chat without explicit confirmation — too easy to embarrass. - Don't send anything that contains the user's real personal info (full name, phone, address) unless the user typed it themselves. - Don't summarise the conversation back to the user before sending unless they asked you to confirm the draft first.
From wuyhong715/rikkahub-agent-pure, AGPL-3.0.
More from wuyhong715/rikkahub-agent-pure
- 0.667score
locale-tui-localization
wuyhong715
Use this skill when users request i18n/localization updates for Android string resources, especially when adding new keys or translating via locale-tui.
SkillAFreshness: A★ 65Claude Code +9 - 0.667score
notification-summarise-and-act
wuyhong715
Read the recent / active notification stream, group by app, summarise what's actually happening, and propose specific next actions.
SkillAFreshness: A★ 65Claude Code +9 - 0.666score
calculate-hash
wuyhong715
Calculate the SHA-1 hash of a given text via the WebView's WebCrypto API.
SkillAFreshness: A★ 65Claude Code +9 - 0.666score
virtual-piano
wuyhong715
Show a playable 88-key virtual piano with synthesized note audio inside a webview.
SkillAFreshness: A★ 65Claude Code +9 - 0.666score
interactive-map
wuyhong715
Show an interactive Google Maps embed for a location.
SkillAFreshness: A★ 65Claude Code +9 - 0.666score
mood-tracker
wuyhong715
Log a daily 1-10 mood score with comments and view trend dashboards.
SkillAFreshness: A★ 65Claude Code +9 - 0.664score
agent-core
wuyhong715
Operating manual for the on-device RikkaHub agent.
SkillAFreshness: A★ 65Claude Code +9 - 0.664score
morning-briefing
wuyhong715
Compose the user's morning summary — current weather, today's calendar, unread email count, scheduled jobs ahead, and any battery/storage warnings.
SkillAFreshness: A★ 65Claude Code +9 - 0.664score
openclaw-converter
wuyhong715
Convert OpenClaw skills from ClawHub (or raw markdown) into RikkaHub-compatible skills.
SkillAFreshness: A★ 65Claude Code +9 - 0.664score
smart-forward
wuyhong715
Catch a notification from one app and forward its content to a contact in another (typically Telegram), with a one-line summary the recipient can act on.
SkillAFreshness: A★ 65Claude Code +9 - 0.664score
autonomous-agent
wuyhong715
Always-on operating doctrine for the RikkaHub agent.
SkillAFreshness: A★ 65Claude Code +9 - 0.661score
text-spinner
wuyhong715
Render a 3D-spinning text label inside a webview.
SkillAFreshness: A★ 65Claude Code +9
Signals
- Stars
- 65
- Forks
- 10
- Open issues
- 0
- Last commit (this folder)
- Oct 16, 2026 (11 days ago)
- Last release
- Oct 24, 2026 (4 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- AGPL-3.0
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from wuyhong715
- 0.667score
notification-summarise-and-act
wuyhong715
Read the recent / active notification stream, group by app, summarise what's actually happening, and propose specific next actions.
SkillAFreshness: A★ 65Claude Code +9 - 0.667score
locale-tui-localization
wuyhong715
Use this skill when users request i18n/localization updates for Android string resources, especially when adding new keys or translating via locale-tui.
SkillAFreshness: A★ 65Claude Code +9 - 0.666score
mood-tracker
wuyhong715
Log a daily 1-10 mood score with comments and view trend dashboards.
SkillAFreshness: A★ 65Claude Code +9 - 0.666score
interactive-map
wuyhong715
Show an interactive Google Maps embed for a location.
SkillAFreshness: A★ 65Claude Code +9 - 0.666score
calculate-hash
wuyhong715
Calculate the SHA-1 hash of a given text via the WebView's WebCrypto API.
SkillAFreshness: A★ 65Claude Code +9 - 0.666score
virtual-piano
wuyhong715
Show a playable 88-key virtual piano with synthesized note audio inside a webview.
SkillAFreshness: A★ 65Claude Code +9
Cite this page
auto-reply skill. Agent Mart. https://agentmart.dev/skills/wuyhong715-auto-reply (last updated 2026-10-24)