بنقرة واحدة
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 ويثبّتها لك.
[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
استنادا إلى تصنيف SOC المهني
| 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: