Annotate only. This Skill produces shot_annotation.schema.json content and
nothing else.
Example request
Use dreamina-shot-annotator on the supplied contact sheet and analysis version.
Return only a shot_annotation.schema.json payload; do not change measured timings
or make an acceptance decision.
Capability Boundaries
✅ Can do
- Read contact sheets and keyframes produced by the analysis step.
- Describe each shot's subject, action, camera behaviour, continuity, and preservation constraints.
- Emit annotations that match
shot_annotation.schema.jsonexactly.
⚠ Requires materials
- A completed machine analysis version and its contact-sheet artifacts.
- The caller's machine fingerprint, so the annotation can be bound to it.
❌ Out of scope
- Do not produce
shot_evaluation.schema.json. Accept-or-reject decisions belong todreamina-video-evaluator. - Do not edit measured timestamps, motion, media identity, or boundary provenance.
- Do not assert rights.
Workflow
- Receive the contact sheets and the machine analysis version.
- Describe each shot using only the closed fields in
shot_annotation.schema.json. - Return the annotations with the machine fingerprint it was written against.
Never do
- Never write measured values; those come from the machine analysis.
- Never emit an evaluation verdict.
- Never widen the annotation schema.
When to use
Load this skill when the user needs to select and execute a verifiable, recoverable professional workflow for the current request . First extract the goal, inputs, constraints, delivery format, and acceptance criteria from the request; the description summary is: Use when labelling contact sheets or keyframes with shot semantics before a Dreamina redesign, producing shot_annotation.schema.json content only.
Rules
- Read before write: first confirm the current state and real capabilities, then perform actions that change external state.
- Least privilege: only use the files, tools, accounts, and network scope required to complete the current step.
- Evidence first: when run results, resource IDs, versions, hashes, or test output are missing, explicitly mark them as
NOT_VERIFIED。 - Idempotency first: retain request identifiers and phase state; when results are unclear, query first and do not retry blindly.
- Privacy and security: logs, examples, receipts, and error messages must not contain tokens, cookies, keys, or personally sensitive data.
Workflow
Step 1: Clarify intent
Confirm whether this skill matches the goal; if it is only an adjacent need, hand it off to a more precise skill.
Step 2: Run prechecks
Confirm the goal, inputs, constraints, available tools, success criteria, and failure boundaries; if any key condition is unknown, stop at the read-only stage.
Step 3: Form a plan
List the tools to be called, the objects that will change, the success criteria, and the safe exit method after failure.
Step 4: Execute actions
Execute in minimal sufficient steps and record evidence at key state changes; retain an associable state or receipt for every external call.
Step 5: Verify delivery
Output results, verification evidence, unfinished items, risks, and clear next steps, and state facts, inferences, and unverified items separately.
Validation checklist
- The skill trigger conditions match the user's intent, and adjacent tasks have not been misrouted to this skill.
- The inputs, target objects, versions, and output locations are all clear, and no required values have been replaced with guesses.
- All write, paid, publishing, or irreversible actions are within the scope of user authorization.
- Results have been verified with independent checks; "command succeeded" or "file exists" alone does not count as complete acceptance.
- The output includes actual evidence, failed/skipped items, remaining risks, and actionable next steps.
Gotchas
- Mistaking a plan for a result: a document or prompt does not equal real execution; the actual execution level must be stated.
- Retrying on error: a timeout or lost response may already have produced remote state; query first before deciding whether to retry.
- Implicit scope expansion: batch, full-volume, publishing, overwriting, and paid actions are not natural extensions of ordinary reads and writes.
- Version drift: when referencing external resources, record the version, tag, or commit; do not treat a mutable branch as release evidence.
- Stale evidence: caches, old screenshots, and historical tests cannot prove the current environment; refresh key evidence before delivery.
Non-applicability and boundaries
Do not exceed the scope given by the user; write, payment, publish and irreversible actions require explicit authorization. If a request requires another skill, do not copy its body text; hand off by skill name and preserve the current task context.
Progressive disclosure
- When input/output, state, and authorization points need to be determined, read
references/workflow-contract.md。 - When pre-delivery self-checks are needed, read
references/validation-checklist.md。 - When encountering timeouts, partial success, or recovery scenarios, read
references/error-recovery.md。 - For first run, privilege escalation refusal, and failure recovery, refer respectively to
examples/happy-path.md、examples/boundary-refusal.md、examples/failure-recovery.md。