Skip to content
Agentmart
Submit a tool

send_connection_request

Send one LinkedIn connection request from a profile URL using the user's logged-in browser session, optionally adding a custom note, and report whether it was…

Skill by prakhar1114

IndexedMIT
Write a review

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/prakhar1114-send-connection-request

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

Send one LinkedIn connection request from a profile URL using the user's logged-in browser session, optionally adding a custom note, and report whether it was sent, pending, already connected, or failed.

Use cases: documents, productivity

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
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/send-connection-request

What's inside

Skill name
send_connection_request
Description
Send one LinkedIn connection request from a profile URL using the user's logged-in browser session, optionally adding a custom note, and report whether it was sent, pending, already connected, or failed.
License
MIT
Instructions
73 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Agent Skills spec issues

  • name: only lowercase letters, digits and single hyphens allowed
  • name: "send_connection_request" does not match folder "send-connection-request"

Files (6)

  • SKILL.md
  • inputs.example.json · inputs/
  • inputs.template.json · inputs/
  • fallback_plan.md · references/
  • run.sh
  • run.py · scripts/

SKILL.md (first lines)

# send_connection_request

Open a LinkedIn profile, detect the current relationship state, and send a single connection request when a Connect action is available. If `custom_note` is empty, send without a note; if it is non-empty, add and verify the note before sending. After a new request is submitted, refresh the original profile URL and verify the direct profile page shows `Pending`.

For the primary Connect action, the runner first derives the vanity name from `profile_url` and clicks the matching visible `/preload/custom-invite` profile anchor instead of relying on broad visible-text search. For the invite modal, LinkedIn's current UI exposes the reliable controls through Chrome's Accessibility tree rather than normal page DOM selectors; the runner uses AX role/name nodes for the dialog and send controls.

## Preconditions

The user must already be logged into LinkedIn in the Chrome/browser profile controlled by `$AI_MIME_BROWSER_HARNESS_BIN`.

## Inputs

JSON object:

- `profile_url` (string, required): LinkedIn profile URL, for example `https://www.linkedin.com/in/example/`.
- `custom_note` (string, optional): note text to include. Empty or omitted means send without a note.

## Run

Use:

```bash
./run.sh /path/to/inputs.json
```

Without an argument, `run.sh` uses `inputs/inputs.example.json`.

`run.sh` uses the first available interpreter in this order: skill `.venv/bin/python`, workflow `.venv/bin/python`, then required `$AI_MIME_PYTHON_PATH`.

This skill has no third-party Python dependencies and does not need `requirements.txt`. Runtime does not create or repair `.venv`.

## Outputs

The runner prints a single-line JSON object to stdout:

```json
{"event":"workflow_done","outputs":{"status":"sent","message":"Connection request sent."}}
```

`outputs.status` is one of:

- `sent`: connection request was submitted in this run and the refreshed direct profile page showed `Pending`.
- `pending`: LinkedIn already showed a pending request before sending.
- `already_connected`: profile is already a 1st-degree connection.
- `failed`: login, page load, unavailable profile, missing Connect action, note-entry mismatch, send-modal failure, or post-send pending verification failure. Failed runs exit non-zero.

Successful and known terminal runs close the tab opened by the skill. Failed runs intentionally leave that tab open with a visible error banner asking the user to check LinkedIn.

## Progress logs

Progress logs are written to stderr in clear, short, natural language suitable for an end-user overlay, such as `Opening LinkedIn profile...`, `Looking for Connect...`, and `Typing note...`.

## Fallback

If `run.sh` fails, read `references/fallback_plan.md` and complete the same single-profile workflow manually or with a UI agent. Do not bulk-send requests or attempt account-risk workarounds.

## Stable selector notes

- Profile Connect: `main a[href*="/preload/custom-invite"]` with `vanityName` equal to `/in/<vanity>/`.
- Invite modal: Chrome Accessibility tree role `dialog`, name `Add a note to your invitation?`.
- No-note send: Chrome Accessibility tree role `button`, name `Send without a note`.
- DOM gap: the modal may not appear in `document.body.innerText` or `[role="dialog"]` page selectors even while visible. Use AX first for modal actions.
- Remaining unconfirmed path: custom-note textarea selectors can vary after `Add a note`; if note entry fails, leave the tab open and use the fallback plan.

## ask_llm decision points

None. The skill uses deterministic LinkedIn page-state checks, visible button/link text, and LinkedIn's visible invite link when Connect is rendered as an anchor.

## References

- `references/fallback_plan.md`: manual/UI-agent fallback steps, state checks, selectors, and traps observed during validation.

From prakhar1114/ai_mime_marketplace, MIT.

More from prakhar1114/ai_mime_marketplace

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Jul 27, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026).

Details

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

More from prakhar1114

Cite this page

send_connection_request skill. Agent Mart. https://agentmart.dev/skills/prakhar1114-send-connection-request (last updated 2026-10-24)