linkedin-skills — LinkedIn投稿を型から下書きするClaudeスキル(英語)動いた
LinkedIn投稿・コメント・返信を、実測エンゲージメント付きの20種の「型」から選んで下書きし、AI臭さを削る校閲までこなすClaude Code/Codex向けスキル集(12個)。APIキーもサインアップも無しのTier 0だけで下書き完成まで実際に通った。
この日に実際に動かした結果です。内容の誤りに気づかれた場合はお問い合わせください。確認のうえ訂正します。
linkedin-skills を使う前に分かること
| 必要なもの | 追加で用意するものは無し(無料の範囲で動いた) |
|---|---|
| 動かした環境 | Python 3.11。 |
| 日本語 | 画面・文書は英語 |
| 確認日 | 2026-09-14(この日に実際に動かした) |
linkedin-skills の使い方
やること:実際のLinkedInアカウントもAPIキーも無い状態(Tier 0)だけで、型(フォーミュラ)選びからLinkedInにそのまま貼れる下書きブロックの生成まで一通り動かす
リポジトリを取得し、試したコミットを確認する。Claude Code/Codexなら `/plugin install` かクローンしたディレクトリを開くだけで12個のスキルが自動検出されるが、今回はAIエージェント自身がSKILL.mdを直接読む形で検証した。
打つコマンドgit clone https://github.com/sergebulaev/linkedin-skills.git git rev-parse HEAD出るものskills/ 配下に linkedin-post-writer など12個のスキルフォルダが並び、HEADが ed05c4ff... と確認できる
linkedin-post-writer の SKILL.md の手順どおりに、目標をコメント獲得に設定し、20種の型からF17(Controlled A/B Anecdote=同じ条件で1点だけ変えた対照実験を対比させる型)を選んで下書きを書いた。ここはスクリプトの実行ではなく、SKILL.mdを読んだAIエージェント自身が hard rules(疑問文で始めない・指定語彙禁止・emダッシュは100語に1個まで等)を守りながら文章を書く工程。
打つコマンド`rm -rf /root/fp-shallow-test` blocked on the spot. Named policy, no exceptions offered. `rm -rf /root/fp-project-test/sub/deep` four levels down, same flag, same tool, same policy switched on. No warning. Directory gone, silently, the way a normal rm -rf behaves. Same binary. Same policy enabled. The only variable was path depth: two segments versus four. I had assumed a "block catastrophic deletions" guardrail meant catastrophic, full stop. Reading the matcher after the test showed the real rule: two path segments or fewer counts as catastrophic. Three levels down is just a normal command again, and anything under /tmp is exempt no matter how shallow. A guardrail you install and never try to break is a guardrail you're guessing about. I wrote the finding into the log before I wrote a single line about the tool. What's the last safety setting you turned on and actually tried to defeat?出るもの先頭行が疑問文ではなく事実(コマンドの実行結果)で始まっている。emダッシュ0個、SKILL.mdが禁止する語彙(leverage/fundamentally等)を含まない、905文字で中量(900-1300字)指定に収まる
PUBLORA_API_KEYを一切設定していないTier 0の状態で、下書き承認後の公開処理 lib.publish() に実際に渡す。鍵が無いと例外にはならず、自動でmanualモードに落ちてコピペ用ブロックを返すことを確認する。
打つコマンドimport sys sys.path.insert(0, "/tmp/ls-verify/linkedin-skills") from lib import publish draft = open("/tmp/ls-verify/draft_post.txt").read() result = publish( kind="post", draft_text=draft, target_url="https://www.linkedin.com/post/new/", platforms=[{"platform": "linkedin", "platformId": "linkedin-DEMO123"}], scheduled_time=None, media_urls=None, ) print(result["mode"]) print(result["message"])出るもの例外は発生せず、mode: manual と、```で囲まれた下書き本文そのまま・Target URL・Publora設定案内(2分で終わる自動投稿の手順)が返ってくる
同梱のAI検出器比較ツールを、鍵不要の--demoモードで先の下書きに対して実行する。続けて、文章の中身とは無関係な要因でスコアが動くかを確かめるため、'Hello world' と、末尾にピリオドを1個足しただけの'Hello world.' を同じツールに通して結果を比べた。
打つコマンドpython3 skills/linkedin-humanizer/scripts/test_detectors.py --text "$(cat /tmp/ls-verify/draft_post.txt)" --demo python3 skills/linkedin-humanizer/scripts/test_detectors.py --text "Hello world" --demo python3 skills/linkedin-humanizer/scripts/test_detectors.py --text "Hello world." --demo出るもの下書き(146語)はGPTZero 98.8 / Originality.ai 0.4 / ZeroGPT 55.7 / Sapling 4.3 / Copyleaks 12.2で差94.4点、'USELESS'判定。'Hello world'と'Hello world.'でも5つの点数が両方ともバラバラに変化した(GPTZero 39.2→66.7、Originality.ai 92.5→24.3など)。ソース(test_detectors.py の run_demo())を読むと、文章のSHA-256ハッシュの先頭5バイトを0-100にマッピングしているだけで、内容は一切見ていない仕組みだった
最後まで通した時に出たもの(実際の出力)
manual ✅ Draft approved. Copy the text below and paste it as a post on LinkedIn:
`rm -rf /root/fp-shallow-test` blocked on the spot. Named policy, no exceptions offered.
`rm -rf /root/fp-project-test/sub/deep` four levels down, same flag, same tool, same policy switched on. No warning. Directory gone, silently, the way a normal rm -rf behaves.
Same binary. Same policy enabled. The only variable was path depth: two segments versus four.
I had assumed a "block catastrophic deletions" guardrail meant catastrophic, full stop. Reading the matcher after the test showed the real rule: two path segments or fewer counts as catastrophic. Three levels down is just a normal command again, and anything under /tmp is exempt no matter how shallow.
A guardrail you install and never try to break is a guardrail you're guessing about. I wrote the finding into the log before I wrote a single line about the tool.
What's the last safety setting you turned on and actually tried to defeat?**Target URL:** https://www.linkedin.com/post/new/
linkedin-skills の良かった点
- 鍵もサインアップも一切無いTier 0だけで、20種類の型(フォーミュラ)からの選定→下書き→LinkedInにそのまま貼れるコピペ用ブロックの生成まで、実際に最後まで完走できた。ソース(lib/backend_selector.py)を読むと、鍵未設定時のmanualモードはrequestsのimportすら遅延評価にしてあり、コメントの通り『manual-tier users never need requests installed』という設計を確かめられた
- 同梱のAI検出器比較ツール(--demo)を実行すると、同じ下書きに対してGPTZero 98.8点・Originality.ai 0.4点のように正反対の判定が出た。『検出器は互いに矛盾する』というSKILL.md/READMEの主張を、実際の数値の乖離(差94.4点)で確認できた
linkedin-skills の不便だった点
- --demoのスコアは文章の中身を全く見ていない。test_detectors.py のソースを読むと、入力テキストのSHA-256ハッシュの先頭5バイトをそのまま0-100にマッピングしているだけの疑似乱数で、'Hello world'の末尾にピリオドを1個足しただけで5つのスコアが軒並み別の値に変わった(GPTZero 39.2→66.7、Originality.ai 92.5→24.3)。ヘルプの一文『offline canned scores』だけでは、文章の内容と無関係な疑似乱数だとは分からない
- 12個のスキルの実体は手順書(SKILL.md)で、文章を実際に書くのはそれを読んだAIエージェント自身。lib/ のスクリプト(url_parser.py・publish()・test_detectors.py)だけを単体で叩いても下書きそのものは出てこず、体験するにはClaude CodeやCodexのようなAIエージェントが手元に必須
詰まった点と、効いた対処
python3 skills/linkedin-humanizer/scripts/test_detectors.py --text "Hello world." --demoText: "Hello world...."
Length: 2 words
Detector scores (% AI probability):
GPTZero 66.7
Originality.ai 24.3
ZeroGPT 75.7
Sapling 43.1
Copyleaks 41.6直前に同じ文言('Hello world')で試した時はGPTZero 39.2・Originality.ai 92.5だった。末尾にピリオドを1個足しただけで5つの点数が全部別の値になっている。ソース(test_detectors.py の run_demo())を読むと、文章のSHA-256ハッシュの先頭5バイトを0-100にマッピングしているだけで、内容のAIっぽさは一切見ていない疑似乱数だった。--demoは『検出器同士がどれだけ食い違うか』を見せるための道具と割り切り、実際の判定が欲しければ鍵付きの本番モード(GPTZERO_API_KEY等)を使う
確認した条件
| 確認日 | 2026-09-14 |
|---|---|
| 試した版 | GitHub sergebulaev/linkedin-skills @ ed05c4ff2ccb18607a26a9ca801ce0c403edf120 |
| 実行環境 | Python 3.11。このマシンに直接 git clone し、pipインストール無しでそのまま検証した。SKILL.mdをAIエージェント(Claude)自身が読んで下書きを書く形で検証しており、Claude Code/Codexのプラグイン機構は経由していない。Apify(投稿本文の自動取得)・Publora(自動投稿)・Pixfaro(画像生成)の3つの外部連携はAPIキーが無いため未確認。 |