{
  "schemaVersion": "1.0",
  "item": {
    "slug": "inkedin-automation-that-really-works",
    "name": "Linkedin - automation",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/red777777/inkedin-automation-that-really-works",
    "canonicalUrl": "https://clawhub.ai/red777777/inkedin-automation-that-really-works",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/inkedin-automation-that-really-works",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=inkedin-automation-that-really-works",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/cc-webhook.py",
      "scripts/linkedin.py",
      "scripts/requirements.txt",
      "scripts/lib/actions.py",
      "scripts/lib/analytics.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/inkedin-automation-that-really-works"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/inkedin-automation-that-really-works",
    "agentPageUrl": "https://openagent3.xyz/skills/inkedin-automation-that-really-works/agent",
    "manifestUrl": "https://openagent3.xyz/skills/inkedin-automation-that-really-works/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/inkedin-automation-that-really-works/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "LinkedIn Automation",
        "body": "Author: Community Contributors\n⚠️ DISCLAIMER — PERSONAL USE ONLY\nThis skill is provided for personal, non-commercial use only. It automates your own LinkedIn account for personal productivity and engagement. Do NOT use this skill for spam, mass outreach, scraping other users' data, or any commercial automation service. Use responsibly and in accordance with LinkedIn's User Agreement. The author assumes no liability for misuse or account restrictions.\n\nAutomate LinkedIn interactions via headless Playwright browser with a persistent session."
      },
      {
        "title": "Prerequisites",
        "body": "Python 3.10+ with Playwright installed (pip install playwright && playwright install chromium)\nA logged-in LinkedIn browser session (persistent Chromium profile)\nAdjust paths in scripts/lib/browser.py to match your setup"
      },
      {
        "title": "Commands",
        "body": "CLI={baseDir}/scripts/linkedin.py\n\n# Check if session is valid\npython3 $CLI check-session\n\n# Read feed\npython3 $CLI feed --count 5\n\n# Create a post (text only)\npython3 $CLI post --text \"Hello world\"\n\n# Create a post with image (handles LinkedIn's image editor modal automatically)\npython3 $CLI post --text \"Hello world\" --image /path/to/image.png\n\n# Comment on a post (supports @Mentions — see below)\npython3 $CLI comment --url \"https://linkedin.com/feed/update/...\" --text \"Great insight @Betina Weiler!\"\n\n# Edit a comment (match by text fragment)\npython3 $CLI edit-comment --url \"https://...\" --match \"old text\" --text \"new text\"\n\n# Delete a comment\npython3 $CLI delete-comment --url \"https://...\" --match \"text to identify\"\n\n# Repost with thoughts\npython3 $CLI repost --url \"https://...\" --thoughts \"My take...\"\n\n# Engagement analytics for recent posts\npython3 $CLI analytics --count 10\n\n# Profile-level stats (followers, views)\npython3 $CLI profile-stats\n\n# Monitor your likes for new ones (for comment suggestions)\npython3 $CLI scan-likes --count 15\n\n# Scrape someone's activity\npython3 $CLI activity --profile-url \"https://linkedin.com/in/someone/\" --count 5\n\nAll commands output JSON. Enable debug logging: LINKEDIN_DEBUG=1."
      },
      {
        "title": "@Mentions",
        "body": "Comments support @FirstName LastName syntax. The skill:\n\nTypes @FirstName → waits for typeahead dropdown\nProgressively types last name letter by letter if needed\nClicks the match only if first+last name both match\nFalls back to plain text if person not found (returns mention_failed warning)\n\nCheck mentions in the JSON result to see if mentions succeeded."
      },
      {
        "title": "Like Monitor",
        "body": "The scan-likes command checks your recent likes/reactions activity and returns any new likes since the last check. State is persisted to avoid duplicate alerts. Ideal for cron/heartbeat integration:\n\n# In HEARTBEAT.md or cron job:\npython3 $CLI scan-likes → if new likes found → suggest comment for each"
      },
      {
        "title": "⚠️ Golden Rule",
        "body": "NEVER post, comment, repost, edit, or delete anything without EXPLICIT user approval.\n\nAlways show the user exactly what will be posted and get a clear \"yes\" before executing. Read-only actions (feed, analytics, check-session, scan-likes) are safe to run freely."
      },
      {
        "title": "Content Calendar (Scheduled Publishing)",
        "body": "Full approval-based publishing workflow with auto-posting. See references/content-calendar.md for setup.\n\nWebhook (scripts/cc-webhook.py): Receives approve/edit/skip from a frontend UI\nAuto-apply: Simple edits (\"old text -> new text\") applied instantly by webhook\nAgent processing: Complex edits flagged for AI-powered text rewriting\nAuto-post: Approved posts past their scheduled time are posted automatically via cron\nImage strategy: Real photos + AI-generated story overlays (not stock photos)\n\n# Start the webhook (or install as systemd service)\npython3 scripts/cc-webhook.py\n\n# Env vars for config:\n# CC_DATA_FILE=/path/to/cc-data.json\n# CC_ACTIONS_FILE=/path/to/actions.json\n# CC_WEBHOOK_PORT=8401"
      },
      {
        "title": "Content Strategy & Engagement",
        "body": "references/content-strategy.md — Hook formulas, post structure, posting times, hashtag strategy, 4-1-1 rule\nreferences/engagement.md — Algorithm signals, comment quality formula, rate limits, weekly routine\nreferences/dom-patterns.md — Known LinkedIn DOM patterns for troubleshooting\nreferences/content-calendar.md — Content calendar setup, data format, webhook API"
      },
      {
        "title": "Rate Limits",
        "body": "ActionDaily MaxWeekly MaxPosts2–310–15Comments20–30—Likes100—Connection requests30100"
      },
      {
        "title": "Setup",
        "body": "Install dependencies: pip install playwright && playwright install chromium\nConfigure browser profile path in scripts/lib/browser.py (or set LINKEDIN_BROWSER_PROFILE env var)\nLog in to LinkedIn manually once (the session persists)\nRun python3 scripts/linkedin.py check-session to verify\nLearn your voice: Run python3 scripts/linkedin.py learn-profile — this scans your recent posts and comments to learn your tone, topics, language, and style. The agent uses this profile when suggesting comments/posts so they sound like you, not like a generic bot."
      },
      {
        "title": "Voice & Style",
        "body": "On first setup, learn-profile analyzes your content and saves a style profile (~/.linkedin-style.json) containing:\n\nLanguage (de/en/mixed)\nTone (casual / professional / professional-friendly)\nEmoji usage (heavy / moderate / minimal)\nTop hashtags you use\nSample posts and comments for voice reference\n\nThe agent should ALWAYS read this profile (get-style) before drafting any comment or post suggestion. Never impose a foreign voice — match the user's natural style."
      },
      {
        "title": "Post Age Warning",
        "body": "CRITICAL: Before suggesting a comment on any post, check how old the post is:\n\n< 2 weeks: Safe to comment\n> 2 weeks: Warn the user explicitly (\"⚠️ This post is X weeks old — commenting on old posts can look like bot behavior. Still want to?\")\n> 1 month: Strongly discourage unless there's a specific reason\n\nCommenting on old posts makes it look like you're mining someone's history with a bot. Always flag post age."
      },
      {
        "title": "Troubleshooting",
        "body": "Session expired: Log in again via browser profile\nSelectors broken: LinkedIn updates UI frequently — check references/dom-patterns.md and update scripts/lib/selectors.py\nDebug screenshots: Saved to /tmp/linkedin_debug_*.png on failure"
      }
    ],
    "body": "LinkedIn Automation\n\nAuthor: Community Contributors\n\n⚠️ DISCLAIMER — PERSONAL USE ONLY This skill is provided for personal, non-commercial use only. It automates your own LinkedIn account for personal productivity and engagement. Do NOT use this skill for spam, mass outreach, scraping other users' data, or any commercial automation service. Use responsibly and in accordance with LinkedIn's User Agreement. The author assumes no liability for misuse or account restrictions.\n\nAutomate LinkedIn interactions via headless Playwright browser with a persistent session.\n\nPrerequisites\nPython 3.10+ with Playwright installed (pip install playwright && playwright install chromium)\nA logged-in LinkedIn browser session (persistent Chromium profile)\nAdjust paths in scripts/lib/browser.py to match your setup\nCommands\nCLI={baseDir}/scripts/linkedin.py\n\n# Check if session is valid\npython3 $CLI check-session\n\n# Read feed\npython3 $CLI feed --count 5\n\n# Create a post (text only)\npython3 $CLI post --text \"Hello world\"\n\n# Create a post with image (handles LinkedIn's image editor modal automatically)\npython3 $CLI post --text \"Hello world\" --image /path/to/image.png\n\n# Comment on a post (supports @Mentions — see below)\npython3 $CLI comment --url \"https://linkedin.com/feed/update/...\" --text \"Great insight @Betina Weiler!\"\n\n# Edit a comment (match by text fragment)\npython3 $CLI edit-comment --url \"https://...\" --match \"old text\" --text \"new text\"\n\n# Delete a comment\npython3 $CLI delete-comment --url \"https://...\" --match \"text to identify\"\n\n# Repost with thoughts\npython3 $CLI repost --url \"https://...\" --thoughts \"My take...\"\n\n# Engagement analytics for recent posts\npython3 $CLI analytics --count 10\n\n# Profile-level stats (followers, views)\npython3 $CLI profile-stats\n\n# Monitor your likes for new ones (for comment suggestions)\npython3 $CLI scan-likes --count 15\n\n# Scrape someone's activity\npython3 $CLI activity --profile-url \"https://linkedin.com/in/someone/\" --count 5\n\n\nAll commands output JSON. Enable debug logging: LINKEDIN_DEBUG=1.\n\n@Mentions\n\nComments support @FirstName LastName syntax. The skill:\n\nTypes @FirstName → waits for typeahead dropdown\nProgressively types last name letter by letter if needed\nClicks the match only if first+last name both match\nFalls back to plain text if person not found (returns mention_failed warning)\n\nCheck mentions in the JSON result to see if mentions succeeded.\n\nLike Monitor\n\nThe scan-likes command checks your recent likes/reactions activity and returns any new likes since the last check. State is persisted to avoid duplicate alerts. Ideal for cron/heartbeat integration:\n\n# In HEARTBEAT.md or cron job:\npython3 $CLI scan-likes → if new likes found → suggest comment for each\n\n⚠️ Golden Rule\n\nNEVER post, comment, repost, edit, or delete anything without EXPLICIT user approval.\n\nAlways show the user exactly what will be posted and get a clear \"yes\" before executing. Read-only actions (feed, analytics, check-session, scan-likes) are safe to run freely.\n\nContent Calendar (Scheduled Publishing)\n\nFull approval-based publishing workflow with auto-posting. See references/content-calendar.md for setup.\n\nWebhook (scripts/cc-webhook.py): Receives approve/edit/skip from a frontend UI\nAuto-apply: Simple edits (\"old text -> new text\") applied instantly by webhook\nAgent processing: Complex edits flagged for AI-powered text rewriting\nAuto-post: Approved posts past their scheduled time are posted automatically via cron\nImage strategy: Real photos + AI-generated story overlays (not stock photos)\n# Start the webhook (or install as systemd service)\npython3 scripts/cc-webhook.py\n\n# Env vars for config:\n# CC_DATA_FILE=/path/to/cc-data.json\n# CC_ACTIONS_FILE=/path/to/actions.json\n# CC_WEBHOOK_PORT=8401\n\nContent Strategy & Engagement\nreferences/content-strategy.md — Hook formulas, post structure, posting times, hashtag strategy, 4-1-1 rule\nreferences/engagement.md — Algorithm signals, comment quality formula, rate limits, weekly routine\nreferences/dom-patterns.md — Known LinkedIn DOM patterns for troubleshooting\nreferences/content-calendar.md — Content calendar setup, data format, webhook API\nRate Limits\nAction\tDaily Max\tWeekly Max\nPosts\t2–3\t10–15\nComments\t20–30\t—\nLikes\t100\t—\nConnection requests\t30\t100\nSetup\nInstall dependencies: pip install playwright && playwright install chromium\nConfigure browser profile path in scripts/lib/browser.py (or set LINKEDIN_BROWSER_PROFILE env var)\nLog in to LinkedIn manually once (the session persists)\nRun python3 scripts/linkedin.py check-session to verify\nLearn your voice: Run python3 scripts/linkedin.py learn-profile — this scans your recent posts and comments to learn your tone, topics, language, and style. The agent uses this profile when suggesting comments/posts so they sound like you, not like a generic bot.\nVoice & Style\n\nOn first setup, learn-profile analyzes your content and saves a style profile (~/.linkedin-style.json) containing:\n\nLanguage (de/en/mixed)\nTone (casual / professional / professional-friendly)\nEmoji usage (heavy / moderate / minimal)\nTop hashtags you use\nSample posts and comments for voice reference\n\nThe agent should ALWAYS read this profile (get-style) before drafting any comment or post suggestion. Never impose a foreign voice — match the user's natural style.\n\nPost Age Warning\n\nCRITICAL: Before suggesting a comment on any post, check how old the post is:\n\n< 2 weeks: Safe to comment\n> 2 weeks: Warn the user explicitly (\"⚠️ This post is X weeks old — commenting on old posts can look like bot behavior. Still want to?\")\n> 1 month: Strongly discourage unless there's a specific reason\n\nCommenting on old posts makes it look like you're mining someone's history with a bot. Always flag post age.\n\nTroubleshooting\nSession expired: Log in again via browser profile\nSelectors broken: LinkedIn updates UI frequently — check references/dom-patterns.md and update scripts/lib/selectors.py\nDebug screenshots: Saved to /tmp/linkedin_debug_*.png on failure"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/red777777/inkedin-automation-that-really-works",
    "publisherUrl": "https://clawhub.ai/red777777/inkedin-automation-that-really-works",
    "owner": "red777777",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/inkedin-automation-that-really-works",
    "downloadUrl": "https://openagent3.xyz/downloads/inkedin-automation-that-really-works",
    "agentUrl": "https://openagent3.xyz/skills/inkedin-automation-that-really-works/agent",
    "manifestUrl": "https://openagent3.xyz/skills/inkedin-automation-that-really-works/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/inkedin-automation-that-really-works/agent.md"
  }
}