Skip to content
Back to skills

Social Hook Capture

ASecurity

Analyze a project/product/game and previous posts, capture hook screenshots or GIFs with Playwright, choose Reddit/social media targets, generate post copy, and create posts/post_N.md previews with linked media. Use when Codex is asked to make Reddit posts, social media hooks, screenshot/GIF-led launch/devlog/promotional posts, community-targeted captions, or a repeatable posts/ content pipeline.

  • 3 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 5, 2026
ai-agentsgobashnodeperformance

Works with

  • cli

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 9 files and shows the line behind each finding

Scanned September 5, 2026

npx -y skills add SkyWalker2506/claude-config --skill social-hook-capture --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Social Hook Capture?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Social Hook Capture
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/skywalker2506-social-hook-capture/badge)](https://www.skillsdirectory.com/skills/skywalker2506-social-hook-capture)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: social-hook-capture
description: Analyze a project/product/game and previous posts, capture hook screenshots or GIFs with Playwright, choose Reddit/social media targets, generate post copy, and create posts/post_N.md previews with linked media. Use when Codex is asked to make Reddit posts, social media hooks, screenshot/GIF-led launch/devlog/promotional posts, community-targeted captions, or a repeatable posts/ content pipeline.
---

# Social Hook Capture

## Goal

Create a repeatable post pipeline: analyze the project and previous posts, choose the best audience/platform angle, capture a screenshot or short GIF that proves the hook, write platform-ready copy, and save a preview under `posts/post_N.md` with media assets.

## Default Strategy

Do not post automatically. Produce local drafts and previews only. The user decides what gets published.

Keep the workflow lightweight:

- Store output in the target project's `posts/` folder.
- Use `posts/assets/` for screenshots, GIFs, and temporary captured frames.
- Use `post_0.md`, `post_1.md`, etc. by default.
- Scan older `posts/post_*.md` files before writing a new one so hooks, screenshots, audiences, and wording do not repeat.
- For Reddit, treat subreddit rules and self-promo norms as changing external constraints; verify them before final posting when a subreddit is named.
- Before browser media capture, check dependencies. If Playwright or ffmpeg is missing, explicitly tell the agent/user what to install instead of failing silently.

## Workflow

1. **Check media capture dependencies when screenshot/GIF is needed.**

   ```bash
   node <skill>/scripts/check-media-deps.mjs <target-project>
   ```

   If Playwright is missing, tell the agent/user to run `npm install -D playwright` in the target project or tool environment. If GIF output is needed and ffmpeg is missing, tell them to install ffmpeg and ensure it is on `PATH`. Continue with text-only draft scaffolding if the user does not want to install dependencies yet.

2. **Analyze existing post history.**

   ```bash
   node <skill>/scripts/analyze-post-history.mjs <target-project>
   ```

   Read `posts/post-history-analysis.md`. Identify repeated hooks, used platforms, target audiences, screenshots, strongest claims, weak patterns, and the next post number.

3. **Analyze the project/product.**
   - For games/apps: inspect README, package metadata, screenshots, `public/`, recent changes, gameplay state, and built UI.
   - Identify the most postable proof: surprising mechanic, visual before/after, satisfying interaction, clear problem solved, launch milestone, Steam-ready build, localization, performance win, or funny constraint.
   - Prefer GIF when motion is the hook: physics, transformation, traversal, reveal, destruction, satisfying loop, UI interaction, before/after transition, or a funny emergent moment.
   - Define one primary audience: players, indie devs, Three.js developers, Steam shoppers, niche subreddit members, or general social feed.

4. **Choose target and hook.** Load `references/platform-hooks.md` before drafting. Pick one primary target per `post_N.md`; add alternates only as variants.

5. **Capture hook media with Playwright.** Use a screenshot for a single clear state, or a GIF when motion makes the post more clickable. If dependency check failed, state the missing install command before attempting capture.

   ```bash
   node <skill>/scripts/capture-hook-screenshot.mjs <target-project> --url http://localhost:5173 --selector canvas
   ```

   ```bash
   node <skill>/scripts/capture-hook-gif.mjs <target-project> --url http://localhost:5173 --selector canvas --duration 3500 --fps 12
   ```

   If no app URL is provided, ask for or infer the local dev/preview URL. Capture the actual product/game state, not a decorative mockup. Prefer one strong moment over a collage or noisy montage.

6. **Create the post preview scaffold.**

   ```bash
   node <skill>/scripts/create-post-preview.mjs <target-project> --platform reddit --target r/threejs --screenshot posts/assets/post_0.png --gif posts/assets/post_0.gif
   ```

   This creates the next `posts/post_N.md` and includes history notes, media links, target, hook slots, copy slots, and QA checklist. Codex should then fill the draft with real copy.

7. **Write the post copy.**
   - Make the first line carry the hook.
   - Keep claims specific and honest.
   - Avoid spammy hype, engagement bait, and repeated phrasing from older posts.
   - Use platform-native format: Reddit title/body, X short post, LinkedIn short dev note, Discord announcement, Steam community update.
   - Include a question only when it naturally invites feedback.

8. **Validate locally.**
   - Confirm screenshot/GIF paths exist and render.
   - Confirm `post_N.md` links media with relative paths.
   - Confirm GIF is short, readable, and starts quickly.
   - Confirm no TODO placeholders remain in the final version.
   - Compare against `post-history-analysis.md` for repetition.

## Output Shape

```text
target-project/
  posts/
    post_0.md
    post_1.md
    post-history-analysis.md
    assets/
      post_0.png
      post_0.gif
      post_1.png
      post_1.gif
      post_1_frames_<timestamp>/
```

If `posts/` does not exist, create it. If it exists, preserve all prior posts and append the next number.

## References

- Read `references/platform-hooks.md` before choosing target/platform copy.
- Read `references/screenshot-playwright.md` before screenshot/GIF capture or browser automation.

Files in this skill

  • SKILL.md5.4 KB
  • agents/openai.yaml227 B
  • references/platform-hooks.md1.6 KB
  • references/screenshot-playwright.md2.3 KB
  • scripts/analyze-post-history.mjs3.1 KB
  • scripts/capture-hook-gif.mjs4.2 KB
  • scripts/capture-hook-screenshot.mjs2.4 KB
  • scripts/check-media-deps.mjs1.4 KB
  • scripts/create-post-preview.mjs2.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.