ワンクリックで
linkedin-engage
[FUTURE] Discover LinkedIn feed content and engage with community via comments and likes
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
[FUTURE] Discover LinkedIn feed content and engage with community via comments and likes
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
[FUTURE] Update operating configuration via HMAC-signed webhook to n8n
Check LinkedIn OAuth token health
Draft, review, and publish LinkedIn posts via HMAC-signed webhook to n8n
Query past LinkedIn activity and present formatted summaries
| name | linkedin-engage |
| status | future |
| description | [FUTURE] Discover LinkedIn feed content and engage with community via comments and likes |
| requires | {"env":["N8N_WEBHOOK_SECRET"],"bins":["curl","jq","openssl"]} |
When the operator asks to discover feed content, engage with posts, or says "scan the feed", use this skill.
When operator says "scan the feed now" or similar:
WEBHOOK_URL="http://localhost:5678/webhook/feed-discovery"
TIMESTAMP=$(date +%s)
BODY='{"action":"discover_feed","topics":["autonomous racing","F1","motorsport technology"],"max_posts":10,"session_duration_minutes":5}'
SIGNATURE="sha256=$(echo -n "$BODY" | openssl dgst -sha256 -hmac "$N8N_WEBHOOK_SECRET" | awk '{print $2}')"
RESPONSE=$(curl -s -X POST "$WEBHOOK_URL" \
-H "Content-Type: application/json" \
-H "X-Signature: $SIGNATURE" \
-H "X-Timestamp: $TIMESTAMP" \
-d "$BODY")
If response status is "session_expired", inform operator: "LinkedIn browser session has expired. Please re-login manually to restore feed discovery. See docs/LINKEDIN-SESSION-SETUP.md for instructions."
For each discovered post:
Extract structured facts via the feed-extractor agent:
content_sanitized (NOT content_snippet) to feed-extractor{author, topic, key_claims, sentiment, relevance_score}Generate comment suggestion from structured facts ONLY:
Present to operator with content_snippet (200 chars) for context:
Post by [author] about [topic] (relevance: [score]):
"[content_snippet]..."
Suggested comment: [generated comment]
Options: approve / edit / like only / skip
Every action requires individual approval:
Comments still require individual approval. Likes can be batch-approved:
When operator approves batch likes in steady-state mode:
timing_randomization_range_minutes for jitter# POST each scheduled action to the action-runner queue
QUEUE_URL="http://localhost:5678/webhook/queue-action"
for URN in $APPROVED_URNS; do
BODY='{"action_type":"like","target_urn":"'"$URN"'","scheduled_at":"'"$SCHEDULED_TIME"'","status":"queued"}'
SIGNATURE="sha256=$(echo -n "$BODY" | openssl dgst -sha256 -hmac "$N8N_WEBHOOK_SECRET" | awk '{print $2}')"
curl -s -X POST "$QUEUE_URL" \
-H "Content-Type: application/json" \
-H "X-Signature: $SIGNATURE" \
-H "X-Timestamp: $(date +%s)" \
-d "$BODY"
done
Confirm to operator: "Scheduled [N] likes across the next [hours] hours."
For approved comments:
WEBHOOK_URL="http://localhost:5678/webhook/linkedin-comment"
BODY='{"action":"publish_comment","draft_id":"'"$DRAFT_ID"'","target_urn":"'"$URN"'","text":"'"$COMMENT"'"}'
# ... HMAC sign and POST ...
For individual likes:
WEBHOOK_URL="http://localhost:5678/webhook/linkedin-like"
BODY='{"action":"like_post","target_urn":"'"$URN"'"}'
# ... HMAC sign and POST ...
Check $vars.quiet_hours_start and $vars.quiet_hours_end.
If current time is within quiet hours: