Przejdź do treści
Biblioteka skilli
Marketing i treści · Konwersja i formaty

reframe

/reframe

Kadruje poziome nagranie do pionu, kwadratu lub 4:5, prowadząc kadr za ważnym elementem bez ponownego kodowania.

Licencja
MIT
Ostatnia zmiana repozytorium
07.11.2026

Ocena i bezpieczeństwo

90/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść25 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
4
Skrypty
1
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 07.11.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co sprawdzić przed instalacją
  • 1 skrypt w paczce. Przejrzyj je przed instalacją, bo Claude może je uruchomić.

Skrypty: scripts/reframe.mjs

Co robi i kiedy

Kadruje poziome nagranie do pionu, kwadratu lub 4:5, prowadząc kadr za ważnym elementem bez ponownego kodowania.

Oryginalny opis (EN)

Re-frame landscape footage for a vertical (9:16), square or 4:5 film - every shot cropped onto what matters in it (the speaker, the thing that moves, what the shot is about), the crop following a subject that crosses the frame, the footage never re-encoded. Measures each shot first, draws every window on the frames for you to check, and checks the finished film.html against the same rules. Use for a vertical version of a landscape video, Shorts, Reels, TikTok or 抖音 cuts from horizontal footage, a square cut for a feed, or when the person asks to reframe or auto-crop (横屏转竖屏, 竖屏版, 重构图, 自动裁切, 竖版剪

Jak działa

  1. What defines it
  2. What has to be true
  3. What you have
  4. With the person
Sekcje z nagłówków SKILL.md, w oryginale · 59 linii, 673 słów
Podgląd SKILL.md
---
name: reframe
description: Re-frame landscape footage for a vertical (9:16), square or 4:5 film - every shot cropped onto what matters in it (the speaker, the thing that moves, what the shot is about), the crop following a subject that crosses the frame, the footage never re-encoded. Measures each shot first, draws every window on the frames for you to check, and checks the finished film.html against the same rules. Use for a vertical version of a landscape video, Shorts, Reels, TikTok or 抖音 cuts from horizontal footage, a square cut for a feed, or when the person asks to reframe or auto-crop (横屏转竖屏, 竖屏版, 重构图, 自动裁切, 竖版剪辑, reframe, auto reframe, 9:16).
---

# Reframe

The person's landscape footage as a vertical or square film that looks shot for that shape: at every moment the
viewer sees what the shot is about, never the wall beside it, never half a face.

## What defines it

Each shot is framed on its own content. One centre crop for the whole video is not this, however tidy, and neither
is the whole landscape frame shrunk between blurred bars.

## What has to be true

- **Measured, then looked at.** Every window comes from the measure and from your own eyes on its pictures. The
  measure can be wrong; the pictures decide.
- **The subject stays whole.** Faces, the speaker, the moving thing and words that matter stay inside the frame with
  room around them. When two things matter and both do not fit, the frame goes to the one the moment is about (who
  speaks, what moves, what the narration names), and the person hears what was left out.
- **Calm framing.** A still subject gets one still window for the shot. The window moves only when the subject does:
  a hard reposition at least a second after the last one, or a smooth follow; never a crop that drifts or jitters.
- **Their footage as it is.** The same file trimmed with `#t=` and cropped by the clip's own CSS (`object-fit: cover`
  with an `object-position`, or a box of the footage's shape moved by `translate`); never re-encoded, cropped into a
  new file, or changed in speed. Clips of one shot meet frame to frame, so the shot's sound runs on unbroken.

## What you have

`node <this skill's folder>/scripts/reframe.mjs <video> --aspect 9:16 --src assets/<file>` (in the film's folder)
writes `reframe/<name>.json`, a review page and `reframe/<name>-sheet.jpg`. It finds the shots, weighs motion (the
camera's own move taken out), detail, colour contrast and skin tones ten times a second, and gives each shot a
`fixed` window (one clip), a `split` (several clips of the same file, each at least a second, each with its own
position) or `whole` (the footage's own shape), with ready `<video>` lines at their own source seconds.

**Read every sheet it prints (`look: … (Read it)`).** Each picture is a moment (each clip's start, its weakest
moment marked WEAKEST, one every 1.5 s): the frame with the window outlined and the outside dimmed, a ruler in % of
the frame, and the crop as the film shows it. Where the subject is outside the window or cut by it, set
`object-position` yourself; the output gives the formula. `held` is how often the window agrees with the measure, not
proof the subject is in it. Lines marked `!` say where to look hardest.

**A smooth follow** (`--follow`): `@keyframes follow-N` of `translate` for a split shot's path and the one `<video>`
clip that wears them, also in `reframe/<name>-follow.css`. Put the keyframes in film.html's `<style>`. The animation
runs on the clip's own time from its `at`: a clip trimmed to start `a` seconds after the shot's start takes
`animation-delay: -a s`. The clip keeps its own sound.

**Trimming a shot** keeps only the clips inside the new `#t=`, the outer two cut to it, positions unchanged.

**The film as written:** `node <this skill's folder>/scripts/reframe.mjs check` in the film's folder reads
film.html's own crops and prints each window, how long it moves, each reposition, the moments where the window keeps
least of what the measure found, and draws them in a sheet. It lists with `!` what breaks the rules above. Fix every
`!` and run it again.

The film's shape is its viewport (`<meta name="viewport" content="width=1080, height=1920">`). `npx openfilm look`
shows the cut film.

## With the person

What they ask for comes first: the shape (9:16 when they say vertical), the shots that must be in it, anything that
must stay in frame (a product, a logo, a second speaker). Ask without holding up the work. When done, say per shot:
`held`, every `!` line, each window you moved and why, and what the crop left out.
Pliki w paczce (4)
  • SKILL.md 5 KB
  • cover.jpg 54 KB
  • openfilm.json 5 KB
  • scripts/reframe.mjs 81 KB

Wersje

RepozytoriumWynikLicencja
Ta strona · WEBGRS/openfilm-reframe90MIT
ramboz/jig100MIT
ramboz/jig100MIT
ramboz/jig100MIT
kiyeonjeon21/reframe100MIT
Hendrixer/Direction-app82MIT
saadshahd/moo.md82MIT

Migawka bazy z 13.11.2026 · wersja paczki 05c08dc37ac8 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 90video-social-reframe
    Przekształca poziome nagrania w pionowe i kwadratowe, zachowując kadr z podmiotami.
  • 100footage-reframing
    Przekształca własne nagrania w inny format kadru, np. poziomy na pionowy, i kadruje na właściwą osobę, sprawdzając wynik ręcznie.
  • 100reframe-social
    Zmienia proporcje wideo poziomego na pionowe 9:16, kwadratowe 1:1 lub portretowe 4:5 do mediów społecznościowych, z kadrowaniem za ruchem.
  • 95video-perception
    Analizuje, co pokazuje klip wideo: rodzaj ujęcia, ruch kamery, ekspozycję i tekst, a także kadruje poziome nagrania do pionu.
  • 90make-vertical-cut
    Przekształca film poziomy w pionowy kadr 9:16 do mediów społecznościowych, komponując każdą scenę wokół akcji i dodając napisy.
  • 100footage-reframing
    Zmienia kadr własnego materiału wideo, na przykład z poziomego na pionowy, z kamerą podążającą za osobą, i montuje klipy w rolkę skryptem reel_cut.py.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.