From photography-workflow
Audits a commercial-photography catalog for entries that require a signed model release. Four-tier classification (HARD-FLAG / SOFT-FLAG / OK / EXEMPT) keyed to identifiability-to-the-general-public, not facial recognition alone. Stricter bar for children (parental release) and workers at workplaces. Mandatory 1024px-long-edge downscale before viewing any image — pixels falsify description-only assumptions every time. Pairs with property-release-review for the rights side of the same catalog. USE WHEN model release review, person release, can I sell this print, identifiable person audit, candid model audit, child in catalog, worker in catalog, portrait release audit. NOT FOR property/architecture/artwork rights (use property-release-review).
How this skill is triggered — by the user, by Claude, or both
Slash command
/photography-workflow:model-release-reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Before reading or classifying ANY image, downscale to 1024px on the long edge. Process only the downscaled copy. If resize fails, HALT and prompt the user.**
Before reading or classifying ANY image, downscale to 1024px on the long edge. Process only the downscaled copy. If resize fails, HALT and prompt the user.
import sharp from "sharp";
await sharp(srcPath)
.resize({ width: 1024, height: 1024, fit: "inside", withoutEnlargement: true })
.jpeg({ quality: 82, mozjpeg: true })
.toFile(outPath);
magick "$FILE" -resize "1024x1024>" "$OUT" is an acceptable ImageMagick fallback.
Output location: a scratch dir scoped to the active audit (e.g. <workdir>/downscaled/). Originals are never modified. If any resize fails, stop and ask — do NOT skip and continue.
This rule exists because description-only judgments (carry-over notes from prior sessions, captions, IPTC metadata) lie. Pixels don't. The gate has demonstrably caught description-only HARD-FLAGs that the actual frame falsified — back-turned subjects mislabeled as frontal, glass-distorted faces mislabeled as identifiable.
For new-photo intake, this skill is step 4 of 5 in the pipeline:
If quality-review failed a photo or property-release-review flagged it as Bucket 1 (remove entirely), skip model review for that photo — the upstream concern is already dispositive. Publish is a distinct downstream step, never collapsed into this skill.
For audit-only passes on an already-published catalog, this skill can be invoked standalone.
For each non-exempt catalog entry: does the image require a signed model release before commercial sale?
Answer = HARD-FLAG (yes) / SOFT-FLAG (judgment call) / OK (no) / EXEMPT (skipped per catalog owner's declaration).
The legal bar is identifiable to the general public, NOT identifiable to close friends. Personality / privacy rights protect against being recognized by the public from the image alone.
This is the most common over-flagging mistake: assuming a four-attribute "fingerprint" (coat + bag + hair + hat) of generic items in a public place makes someone identifiable. It almost never does — the bar is what a stranger could match against social media or someone's general appearance.
| Factor | Pushes toward HARD-FLAG | Pushes toward OK |
|---|---|---|
| Face | Visible, in focus, frontal or 3/4 | Back-turned, silhouette, deep shadow, glass distortion |
| Distance | Subject occupies significant frame | Small/distant figure, not the subject |
| Subject vs incidental | Person is what the photo is about | Person is compositional element only |
| Clothing | Branded, uniformed, singular | Generic, mass-retail |
| Body / posture | Distinctive (tattoos, gait, public-known build) | Generic |
| Setting | Workplace (worker depicted at work) | Public space, anonymous context |
Strict cases — always HARD-FLAG even with face partially obscured:
Permissive cases — usually OK even though a person is in frame:
| Tier | Action | Trigger |
|---|---|---|
| 🟥 HARD-FLAG | Release required before sale | Identifiable face/features, person is subject; OR child; OR worker at workplace |
| 🟧 SOFT-FLAG | Judgment call — surface to user | Framing/distance ambiguous; reasonable people could disagree |
| 🟩 OK | No release needed | Unidentifiable per the table above |
| 🚫 EXEMPT | Skip entirely | Categories the catalog owner has declared exempt (e.g. macro, abstract, in-studio) |
Posed/commissioned portraits are HARD-FLAG by series convention, but a working photographer typically already has releases on file. Treat the portraits pass as audit-confirmation (list them so the owner can verify the signed release exists for each subject), not as a flag for new acquisition.
When the user challenges a flag, debate it honestly:
The downscale gate exists because pixels routinely falsify carry-over notes — view first, opine second.
property-release-review)| Bucket | Action | When |
|---|---|---|
| Bucket 1 | Remove entirely | Release impossible AND image too risky to keep even unsold |
| Bucket 2 | Delist from sales platform; keep in portfolio | Release impossible but image acceptable as portfolio |
| Bucket 3 | Keep on sale, release confirmed on file | Release exists, audit-confirmed |
Implementation depends on your catalog architecture — see property-release-review for the generic remediation pipeline.
Originals of removed photos go to an archive dir, not deletion. Restoration must remain possible.
property-release-review| Concern | This skill | Sibling |
|---|---|---|
| Faces / persons | ✓ | — |
| Buildings / interiors | — | ✓ |
| Permanent artwork (sculpture, murals) | — | ✓ |
| Branded venues, trademarks | — | ✓ |
| Child protection | ✓ | — |
| Worker-at-workplace | ✓ (model release) | partial (where branded uniform / workplace property) |
| Freedom-of-Panorama analysis | — | ✓ |
| Owner-declared exempt category | ✓ | ✓ |
| 1024-gate | ✓ | ✓ |
| Debate-don't-capitulate | ✓ | ✓ |
When a photo trips both — escalate via the sibling skill first (property) since trademark/permanent-artwork concerns are usually dispositive of the sale decision regardless of model release.
npx claudepluginhub derekslinz/photography-workflow --plugin photography-workflowProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Searches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.