Skip to content

Releases: sergebulaev/linkedin-skills

v1.0.18

Choose a tag to compare

@sergebulaev sergebulaev released this 16 Jul 09:49

Fixes two read-layer bugs surfaced by a live smoke test of every Apify method:

  • fetch_post_engagers was sending url (string) but the actor now requires urls (array), so every likers/commenters lookup failed with HTTP 400. Fixed; verified it returns real engagers.
  • fetch_post_comments was returning the actor's run-summary object as if it were a comment (and returning only that on a zero-comment post). The summary is now filtered out, so callers get clean comment records. Verified: 66 comments on a busy post, 0 on an empty one.
  • fetch_user_recent_comments confirmed healthy.

Combined with v1.0.17 (post-body actor swap), the whole LinkedIn read layer is verified working end to end.

v1.0.17

Choose a tag to compare

@sergebulaev sergebulaev released this 16 Jul 09:43

Fixes the post read layer. The previous Apify post actor (supreme_coder/linkedin-post) started returning empty results for every URL, which broke every skill that reads a post body: comment-drafter, hook-extractor, reply-handler, and the reshare parent lookup added in v1.0.16.

  • Swapped to apimaestro/linkedin-post-detail (no cookies, reputable author, same vendor already used for comments). Its nested response is normalized to the existing flat contract (text, authorName, urn, shareUrn, canShare, numLikes, numComments, numShares, reactions, postedAtISO), so no skill changed.
  • A private / removed / login-walled post now raises cleanly, so skills fall back to asking the user to paste the text.
  • Verified live end to end: post body, author, reactions, and the shareUrn reshare parent all resolve and match the reference.
  • Pay-per-event and cheap; Apify's $5/month free credit keeps the read layer free to try.

v1.0.16

Choose a tag to compare

@sergebulaev sergebulaev released this 16 Jul 06:51

Adds LinkedIn reshare (repost) support, now that Publora shipped POST /linkedin-reshare.

  • Write layer: PubloraClient.create_reshare(...) plus a lib.repost(post_url, commentary=None) wrapper and a new reshare kind in lib.publish. Fully Apify-consistent: the reshare parent URN is taken from Apify's shareUrn (urn:li:share:* / urn:li:ugcPost:*), never hand-converted from an activity id (the two ids can differ). Honors canShare, and routes Publora / manual / diy. Manual tier returns Repost-with-thoughts copy-paste steps.
  • linkedin-comment-drafter: new reshare mode (paste a post URL, optionally add a one-line take in your voice, repost on approval).
  • linkedin-employee-advocacy: references reshare mode as the amplification action teams use for brand and colleague posts.
  • Still exactly 11 skills; no new dependency (HarvestAPI stays out of the bundle).

v1.0.15

Choose a tag to compare

@sergebulaev sergebulaev released this 15 Jul 07:50

Merged PR #3 from @rodion-m: well-sourced 2026 nuance on templated-bait vs genuine comment prompts, and an F6 comment-gate gray-zone status paragraph (van der Blom Algorithm Insights 2026, LinkedIn 2025 comment rate-limit policy, Social Media Today anti-pod coverage). The reference content is kept as contributed.

This release also scrubs the 6 prose em dashes that PR introduced, replacing them with periods and commas, since no-em-dash is a load-bearing house rule that the linkedin-humanizer skill itself enforces.

Also merged Dependabot bumps #6 (ai-plugin-scanner-action) and #7 (charset-normalizer).

v1.0.14

Choose a tag to compare

@sergebulaev sergebulaev released this 13 Jul 07:34

Patch: trim the new Repurposer skill's description under the 510-char cap. No behavior change.

v1.0.13

Choose a tag to compare

@sergebulaev sergebulaev released this 13 Jul 07:29

New skill: Repurposer (11th in the bundle).

Turn content you already made on another platform into a native LinkedIn post. It transforms, it does not copy-paste: takes a tweet, thread, YouTube video/script, blog, or newsletter, extracts the spine, re-hooks for the first-210-char fold, expands to the 900-1300 char sweet spot with real whitespace and a CTA, moves links to the first comment, runs the humanizer, and waits for approval.

Write once, publish everywhere natively. Patch release.

v1.0.12

Choose a tag to compare

@sergebulaev sergebulaev released this 08 Jul 18:31

Cross-runtime install docs: the README now documents OpenClaw and Hermes Agent install paths (Hermes reads SKILL.md per the agentskills.io standard and imports OpenClaw skills via hermes claw migrate), alongside the existing Codex, Claude Code, Claude Desktop, claude.ai, and skills-CLI options. Docs-only patch, no skill changes.

v1.0.11

Choose a tag to compare

@sergebulaev sergebulaev released this 08 Jul 04:27

Install option added: the README now includes the cross-agent skills CLI install path (npx skills add), which works in Claude Code, Codex, Cursor, and any agent that reads SKILL.md files, alongside the existing plugin-marketplace instructions. Patch release, no skill changes.

v1.0.10

Choose a tag to compare

@sergebulaev sergebulaev released this 07 Jul 02:33

v1.0.10

Security and supply-chain hardening release.

  • New: HOL Plugin Scanner runs in CI on every push and PR (.github/workflows/hol-plugin-scanner.yml), SHA-pinned actions, min_score: 80, fails on high severity
  • New: SECURITY.md vulnerability disclosure policy
  • New: plugin icon (assets/icon.svg) wired via interface.composerIcon in the Codex manifest
  • New: requirements-lock.txt pinned dependency lockfile, .codexignore, Dependabot config
  • Sync script now mirrors README, SECURITY.md, assets, and the lockfile into the Codex marketplace package
  • Scanner result: 88/100 (B), 0 critical, 0 high findings

v1.0.9

Choose a tag to compare

@sergebulaev sergebulaev released this 05 Jul 00:29

Docs polish: every reference file longer than 100 lines now opens with a plain-text Contents list, so agents (and readers) doing a partial read see the full structure of the file before deciding which section to load. Insertions only, no content changes. Patch release.