Skip to content
Agentmart
Submit a tool

x-act-on-notifications

Perform selected actions on X (Twitter) notifications through ai-chrome-pilot.

Skill by shinshin86

IndexedMIT★ 7
Write a review

Chalk Labs

Need help deploying x-act-on-notifications?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

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/shinshin86-x-act-on-notifications

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.

We use your email only for this newsletter. Privacy

About

Perform selected actions on X (Twitter) notifications through ai-chrome-pilot. Use when the user wants to open X notifications, identify reply or quote repost notifications, filter them by explicit criteria such as action, type, actor, text, date, or limit, and then execute only the requested notification action such as like, bookmark, or repost.

No 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. 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/x-act-on-notifications

What's inside

Skill name
x-act-on-notifications
Description
Perform selected actions on X (Twitter) notifications through ai-chrome-pilot. Use when the user wants to open X notifications, identify reply or quote repost notifications, filter them by explicit criteria such as action, type, actor, text, date, or limit, and then execute only the requested notification action such as like, bookmark, or repost.
License
MIT
Instructions
219 lines in SKILL.md · view on GitHub

Before installing

  • Instructions call the network

Files (2)

  • SKILL.md
  • openai.yaml · agents/

SKILL.md (first lines)

# X Act On Notifications

Use ai-chrome-pilot to inspect X notifications, build a candidate list, and perform only the requested action on the notifications that match the user's criteria.

Keep the skill profile-agnostic. Use `default` unless the user explicitly requested another profile.

Use this skill for notification actions. If the user only wants to inspect notifications first, use `x-get-notifications` instead. If the user wants to reply or quote-post from a target post, use `x-compose-post`.

## Supported Actions

- `like`
- `bookmark`
- `repost`

Do not overload this skill with reply or quote composition. Treat those as posting workflows.

## Prerequisites

- ai-chrome-pilot server is available in the current repo
- Google Chrome is installed
- The user is already logged in to X in the chosen Chrome profile
- The UI is expected to be Japanese; match labels such as `すべて`, `@ツイート`, `いいねする`, `いいねしました`, `ブックマーク`, `リポスト`, and `リポストを取り消す`

If X shows a login screen, stop and use `x-login` first.

## Inputs To Resolve

Resolve these before acting:

- `profile_name`: default to `default` if unspecified
- `action`: one of `like`, `bookmark`, `repost`
- `types`: `reply`, `quote`, or both
- `filters`: actor handle/name, text substring, date substring, and optional limit
- `mode`: `dry-run` or `execute`

Default resolution rules:

- If `profile_name` is unspecified, use `default` without asking
- If the user explicitly asked to `like` or `bookmark`, default `mode=execute`
- If the user explicitly asked to `repost`, default `mode=dry-run` unless the request already includes clear matching conditions
- If `types` is unspecified, inspect both `reply` and `quote`
- If `filters` is unspecified and the action is `like` or `bookmark`, treat the request as applying to all matching pending notifications currently collected

If the user says only "interact with notifications" without enough detail to infer an action, default to `dry-run` and present candidates instead of clicking anything.

Recommended decision rule:

- Use `x-get-notifications` for read-only collection and review
- Use `x-act-on-notifications` only after the user supplied a clear action and matching conditions
- Prefer `dry-run` before `repost`, because reposting has broader visibility impact than likes or bookmarks

## Workflow

### 1. Ensure the server is running

Check health:

```bash
curl -s http://127.0.0.1:3333/health
```

If not running, start it with the requested profile:

```bash
HEADLESS=0 PROFILE_NAME=<profile_name> npx tsx src/index.ts
```

### 2. Open notifications

Navigate to notifications and wait for rendering:

```bash
curl -s -X POST http://127.0.0.1:3333/goto \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://x.com/notifications"}'
sleep 2
```

Take a screenshot to confirm the user is logged in and the page loaded:

```bash
curl -s http://127.0.0.1:3333/screenshot -o /tmp/x_notifications.png
```

### 3. Inspect both notification tabs

Check both:

- `すべて`: quote reposts often appear here
- `@ツイート`: replies often appear here

Before any click, take a fresh `/snapshot` and use fresh refs from that snapshot only.

If the needed tab is not active, click the corresponding tab ref, then wait briefly and take another `/snapshot`.

### 4. Collect candidate notifications

Use `/snapshot` and limited scrolling to gather visible notifications. Repeat 2-3 times when needed:

```bash
curl -s http://127.0.0.1:3333/snapshot
curl -s -X POST http://127.0.0.1:3333/eval \
  -H 'Content-Type: application/json' \
  -d '{"js":"window.scrollBy(0, window.innerHeight * 2)"}'
sleep 1
```

Normalize each candidate with:

- `tab`: `all` or `mentions`
- `type`: `reply` if it contains `返信先:`, `quote` if it contains `引用`
- `actor`: display name and handle when visible
- `date`: visible date text such as `3月3日`
- `notification_text`: reply or quote text
- `original_post_text`: quoted or replied-to post text when visible
- `action_ref`: ref of the requested action button in the same article
- `action_state`
  - `like`: `done` if the button says `いいねしました`, `pending` if it says `いいねする`
  - `bookmark`: `present` if a bookmark button exists and is not already toggled off by stateful UI text; when state is ambiguous, do not act automatically

From shinshin86/ai-chrome-pilot, MIT.

Signals

Stars
7
Forks
1
Open issues
0
Last commit (this folder)
Mar 11, 2026 (7 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from shinshin86

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get x-act-on-notifications running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying x-act-on-notifications?

CallGet help
Cite this page

x-act-on-notifications skill. Agent Mart. https://agentmart.dev/skills/shinshin86-x-act-on-notifications (last updated 2026-10-24)