Log in
GuideBy HypernaturalVersion 1, updated

Pull product highlights

hn/guide-pull-product-highlights

How to pull what a product video says from what the person has, before any script is written: the headline, the value props in the source's own order, every number with the line it came from and the date it was read, the named parts verbatim, the CTA's exact words and the one thing the viewer must do, written to source/facts.md and checked against the person's brief. Starts by asking what they have: a website (its copy read in page order), a GitHub repo (README, releases, commits and where the marketing lives), the product running on this computer (screenshots of its key screens), docs or a help page, a details doc, or an existing launch video. Use for product highlights, value props, key features, product facts, site copy, reading a repo, product screenshots, fact checking a brief.

SKILL.md

Every product video says a handful of true things: what the product is, why it matters, the proof, and what to do next. This guide gets them out of whatever the person has, in their own words and order, into one file, source/facts.md, that the script is written from (llm-write-an-ad-script, guide-make-a-script-from-source). Nothing goes on screen or into the narration that isn't in it.

First question: what do you have? Ask it plainly, and take everything they have: a website, a GitHub repo, the product running on this computer, docs or a help page, a details doc or brief, an earlier launch video. Several sources are common (a site plus the app to screenshot); read each by its route and merge them into one facts.md.

Routes

SourcePick it whenCost and timeWhat you getLoad
A websiteThe product has a homepage or product pageFree, minutes in the browserThe headline, sub, value props in page order, the CTA's words, the numbers the site showsreferences/read-a-site.md; images and logo via guide-capture-a-brand
A GitHub repoThe product is code (a CLI, a library, an app's own repo)Free, five API requestsThe exact name, install command, named parts, what shipped lately, where the marketing images livereferences/read-a-repo.md
The product on this computerIt runs here (a desktop app, a web app on a local or staging address) and the screens are the storyFreeFull-resolution screenshots of the key screens, the UI's own words for each stepScreenshots, below (a desktop app: macOS only)
Docs or a help pageThe video is about one feature or how to use itFreeThe feature's exact name, its kinds or routes, defaults, prices and limits, the one thing the viewer must doRead the page and what it links
A details doc or briefThe person wrote down what to say (prices, offer, audience)FreeTheir facts, their emphasisRead it; ask for anything missing
An existing launch videoThe brand already made oneFreeIts beats and their lengths, full-resolution frames of its real screens and logosffmpeg-scene-cuts or a 1 fps sheet (python-contact-sheet)

Process

  1. Ask what they have, and who the video is for (a cold social viewer, a customer, an investor). Save every source in source/, never edited.
  2. Read each source by its route. Save what you read: source/site_copy.md, source/repo/, source/screens/, the page or doc itself.
  3. Write source/facts.md (the shape below). Keep the substantive points and their source order as evidence. Select the points that serve this video's audience, purpose and length; the script need not cover every site section or follow page order. Preserve any coverage or ordering the person's brief requires.
  4. Check the brief against it. Every claim in the person's brief (or in your own draft later) gets a line in facts.md or a question back. Briefs go stale: a feature a brief called "coming soon" had shipped months before, in the repo's release notes.
  5. Gate, often joined with the next one: show facts.md with the points you propose to use, in order, and any conflicts between the brief and the source.

source/facts.md

# <Product> facts (read <date> from <sources>)

Headline: <the source's own, verbatim>
Sub: <verbatim>
For: <who it's for, in the source's words>
Value props, in the source's order:
1. <prop, in its own words> (<where: H2 on the homepage>)
2. ...
Numbers:
- "<2 million households>" (<homepage, "Over 2 million households" heading>, read <date>)
Named parts, verbatim: <commands, modules, plans, feature names, with their casing>
Integrations, as the brand shows them: <names, and where it shows them>
CTA: "<the button's exact words>" -> <where it goes>
The one thing the viewer must do: <install command, sign up, book a demo>
Not to say: <claims the source doesn't support; anything the person ruled out>

Screenshots of the running product

Ask which flow to show (the first five minutes of a new user, the one feature the video is about), then capture each screen in it at full resolution:

  • A web app: open it in your browser at a desktop size and take each screen. Ask for a demo account or seed data, never the person's real customers.

  • A desktop app, on a Mac: bring it to the front and capture the display with macOS's screencapture, then crop the window out (a Retina display captures at 2× its points, e.g. 6016×3384). exec refuses screencapture (it runs only ffmpeg, ffprobe, the programs hn4a installs, Python and .py scripts), so run it from your own shell:

    screencapture -x -t png source/screens/01_home_full.png
    

    With no shell of your own, run it from Python through exec (references/capture-screen.md). If the capture shows only the desktop, the app the command runs under needs Screen Recording permission in System Settings; ask the person to grant it, never change it yourself. On Windows or Linux, ask the person for the screenshots.

  • Clean state on every screen: no notifications, dev toolbars, personal names or emails, real customer data or half-loaded spinners. Note each screen's own words (menu items, button labels) verbatim in facts.md: they are the named parts.

  • Sheet the screens (python-contact-sheet, images) and look at every one.

Choosing

  • The source's order is the brand's ranking. Keep value props in the order the site or doc gives them; reorder only with the person.
  • Numbers carry their line and date, and round down. "Over 2 million" for 2.3 million, never "2.5 million". A count from a repo (stars, modules) is dated: it changes daily.
  • Named parts verbatim, with the source's casing (lint-fix, Acme Lists, not "Acme lists"). A video that says "whatever language you ship" instead of naming them lost the product's substance.
  • Integrations only as the brand shows them: the names it lists, and logos only where it shows logos (guide-capture-a-brand, Avoid).
  • The repo, not just the README: the README can lag the code by months; release notes and the commit log of the area the pitch is about say what shipped.
  • A help page is read whole, with what it links that carries the feature (routes, defaults, prices, limits).
  • A details doc's prices are the only prices. Never invent or estimate one; ask.

Avoid

  • Writing the script before facts.md exists: invented reviews, numbers and claims start there.
  • Submitting a site's lead form, signing in, or downloading a video to get more: a thumbnail and the public copy are usually enough; ask first.
  • Copying a competitor's claims or a review site's numbers as the brand's own.
  • Screenshots with a real person's data in them.

Related

  • guide-capture-a-brand: the look, the images and the logo from the same sources.
  • llm-write-an-ad-script, guide-make-a-script-from-source: what is written from facts.md.

Workflows that use this skill

FAQs

How to pull what a product video says from what the person has, before any script is written: the headline, the value props in the source's own order, every number with the line it came from and the date it was read, the named parts verbatim, the CTA's exact words and the one thing the viewer must do, written to source/facts.md and checked against the person's brief. Starts by asking what they have: a website (its copy read in page order), a GitHub repo (README, releases, commits and where the marketing lives), the product running on this computer (screenshots of its key screens), docs or a help page, a details doc, or an existing launch video. Use for product highlights, value props, key features, product facts, site copy, reading a repo, product screenshots, fact checking a brief.

Install Hypernatural Desktop, a free Mac app, and connect it to Claude Code, Codex or Claude Desktop. Then describe the video you want and your agent finds the skill itself, or paste this page's link (https://hypernatural.ai/skill/hn/guide-pull-product-highlights) and it installs hn/guide-pull-product-highlights and follows it.

Nothing. The skill is free and runs with tools on your own Mac, like python and ffmpeg.

Yes. Ask your agent to adjust it for your job, or to save its own version. You can publish your version under your own handle so anyone can install it.

Go make something cool.

Install the app, open your agent, describe the video. That's the whole onboarding.

Sticker HypernaturalSticker BannerSticker TVBoy