Social Media Use

Using LinkedIn

Operational objective for LinkedIn workflows covering auth reuse, login constraints, connection requests, inbox checks, direct messages, posts, and article publishing based on the Using LinkedIn playbook.

Spec

Goals

Reuse saved LinkedIn authentication before attempting any new login flow.
Handle LinkedIn login safely by stopping for human intervention on CAPTCHA, reCAPTCHA, or unresolvable checkpoints.
Send personalized connection requests using the documented profile-first workflow and note-length guardrails.
Check accepted connections and prior message history using the documented Connections page and profile-message workflow.
Send outbound direct messages from the full Messaging page using the reliable compose flow.
Create, edit, and delete posts using the documented DOM and shadow DOM patterns.
Create and schedule articles using the structured ProseMirror workflow and scheduler flow.

Constraints

Prefer shared auth reuse for the `linkedin` site key before fresh login attempts.
Do not repeatedly retry login when LinkedIn presents CAPTCHA, checkpoint, or challenge flows; stop and wait for a human.
Use DOM inspection via eval before clicking LinkedIn-specific elements; avoid brittle CSS selectors for LinkedIn UI controls.
Use `button:has-text("Send")` instead of `text="Send"` to avoid hitting the messaging widget send button.
Connection request notes must stay under 300 characters.
Reuse a single browser session for batch outreach and add short delays between requests.
Treat the profile page as the source of truth when determining connection or messaging state.

Success Criteria

{
  "id": "auth-reuse-first",
  "description": "The workflow checks for reusable LinkedIn auth first and only attempts a fresh login when saved auth is missing or stale."
}
{
  "id": "human-handoff-on-challenge",
  "description": "The workflow stops for human intervention on CAPTCHA, reCAPTCHA, or unresolved checkpoint flows instead of retrying aggressively."
}
{
  "id": "safe-connection-request-flow",
  "description": "The workflow navigates to the profile, captures the single required screenshot, chooses the correct Connect path, adds a note under 300 characters, and sends using the documented selector."
}
{
  "id": "accepted-connections-check",
  "description": "The workflow checks accepted connections from the direct Connections URL, scrolls `main#workspace`, extracts name/date pairs, and verifies message history from each profile."
}
{
  "id": "messaging-page-compose",
  "description": "The workflow sends direct messages from `/messaging/` using the compose icon, recipient search, contenteditable editor, and `button:has-text(\"Send\")`."
}
{
  "id": "content-publishing-workflows",
  "description": "The workflow can create or manage posts and articles using the documented shadow DOM, main DOM, and ProseMirror editor patterns."
}

Tool Contracts

No entries.