Communitygithub.com

lhaovo/short-video-skills

Turn 'I want to shoot something' into a clear video plan — decide the topic (5 candidates with types, reasons for recommendation and elimination), structure, script, and shot-level storyboard. Supports two entry points: a one-sentence topic (needs topic generation) or an existing deconstructed script (skips topic generation, first asks about remake requirements and intensity).

What is short-video-skills?

This skill is designed for AI coding agents like Claude Code or Cursor, helping developers and content creators plan short video content systematically. It takes either a vague idea ('I want to shoot something') or an existing script and produces a structured plan: topic selection (5 candidates with clear rationale), structural breakdown, script, and shot-level storyboard. The skill operates strictly at the content layer (what to say, how to say it) and avoids execution details like camera angles, props, or legal compliance. It enforces built-in guardrails to prevent obvious self-harming claims (unsubstantiated efficacy, fabricated testimonials, absolute language, personal data) but does not replace formal compliance review. The output is a structured markdown file with types, hooks, scripts, storyboards, and a self-check checklist, ready for downstream video generation.

Works with~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/lhaovo/short-video-skills/tree/HEAD/short-video-plan

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

Short Video Planning Desk

This skill only answers two things: Is this video worth making, and how should it tell its story?

It does not write camera angles, list props, calculate speaking rates, perform compliance reviews, or write video prompts. Those are tasks for subsequent skills.


I. Three Judging Criteria (Used Throughout)

Before writing anything, measure it with these three sticks.

  1. Specific Audience × Specific Situation × Verifiable Difference

    • "Young people like food" is insufficient; "People who work late and want a hot meal in ten minutes" is acceptable. The difference isn't "better" but "what's different."
  2. Repeatable in One Sentence The viewer can tell a colleague a complete sentence about it. If they can't, the concept doesn't hold.

  3. Social Reason Who do they forward it to, and what do they say when they forward it? A topic without a named person to send it to will have narrow reach.


II. Two Entry Points

① One-sentence topic ──→ Determine main type + 5 candidates ──[Gate 1: Pick 1]──┐
                                                                               │
② Existing deconstructed script ──→ Mark type + Remake requirements + Intensity 2-choice      │
                                    + Usability judgment + Decide direction ──[Gate 2]──────┤
                                                                                           ↓
                                          Requirements confirmation → Structure → Script → Storyboard → Self-check

Entry ① lacks options, Entry ② lacks judgment. Their first actions differ and cannot be mixed.

Entry ①: One-sentence Topic

Follow Step 1 → Gate 1 → Step 3.

Entry ②: Existing Deconstructed Script

Follow Step 2 → Gate 2 → Step 3. Skip the topic generation, but don't skip two things: ask about remake requirements and judge usability.

When entering, first ask "How closely do you want to remake this?" Do not immediately start rewriting the script.

How to decide which path: User provides a specific topic or direction → Entry ①; User provides a ready-made structure, dialogue, or shot sequence → Entry ②. When ambiguous, ask "Do you have just a direction, or do you already have a script you can shoot from?"


III. Type Library (2 Types, Single Choice)

Fact-Based/Educational Content

Give the audience a takeaway insight. Two subtypes, choose one.

SubtypeWhat It AnswersIdentifying MarkStructure
ExplanatoryWhy is it like this?The topic has a counterintuitive mechanismConvention-bust → Mechanism → Landing point
List-BasedHow to do it specifically?Can list 3 actionable stepsConclusion → Three steps → Wrap-up

Acceptance Criteria: After watching, the viewer can name one reason (Explanatory) or one action (List-Based). If they can't do either, the piece doesn't hold.

Narrative/Soft Ad

Use a small conflict in a specific situation to introduce the product.

Acceptance Criteria: The product is a necessary condition to solve the conflict. If removing the product still allows the conflict to advance, it's a forced ad.

Structure: Situation → Hurdle → Turning Point (Product Appears) → Result


IV. Content Red Lines (State Before Writing)

Four of them, if triggered, rewrite — don't leave them in the script. These are not suggestions; they are things that, if written, require a complete restart.

Red LineHow It Appears in the ScriptHow to Fix
Don't write unsubstantiated effectsLowers blood pressure, shows results in three days, complete cureChange to observable behavior description ("saves a trip to the supermarket"), or delete
Don't write fabricated testimonialsMany friends say, 90% repeat purchase rate, I tested it myselfReplace with your own testing process, or delete
Don't use absolute languageLowest price nationwide, number one, 100%, onlyReplace with objective comparison ("40g lighter than Model A"), or delete
Don't disclose personal informationPhone number, door number, real name, identifiable badgeAnonymize to "Ms. Wang", "a certain neighborhood", or delete

The two most self-harming are efficacy claims and testimonials. They are not just wording issues — once written into the script, the storyboards, voiceover, and generated images all follow from that sentence, making fixes equivalent to a redo.

Boundary Statement: Red lines only prevent self-harm within the content; they do not replace formal compliance review. For heavily regulated categories like pharmaceuticals, health supplements, medical devices, finance, and education, a separate review is required before finalizing the video. This skill does not perform compliance checks; it only ensures the script avoids obvious self-harming language.


V. Three Hook Questions (Must Be Answered in the Opening)

Both the candidate card and the script section that carries the hook must answer these three questions. If a candidate can't answer all three, it's eliminated immediately, regardless of anything else.

#QuestionPassingFailing
1Why stop?Points to a specific moment the viewer is experiencing"Because it's very practical"
2What does it promise?A specific thing the viewer will get after watching (insight/action/judgment)"You'll learn a lot"
3What catches them in the 4th second?The second sentence gives next-step information, no gapOpening with a rhetorical question, then introducing oneself in the second sentence

These three questions are not three selling points but three sides of the same thing: Why does he stop now, what does he believe he will get, and why does he keep watching?

The most common collapse is a strong answer to the first question but a weak answer to the third. A "Did you know..." hook holds them, but the second sentence starts building background — by then, they're gone.


VI. Step 1 · Generate 5 Candidates (Entry ①)

6.1 Determine Main Type First

Do not ask the user "What type do you want?" Judge it yourself and then explain your reasoning:

  • Naturally has an explainable mechanism or listable actions → Fact/Education
  • Naturally has a human situation and conflict → Narrative/Soft Ad

If it touches both, the topic is too broad; narrow it down first.

6.2 Determine the Ratio

SituationRatio
User has specified a typeAll 5 candidates are within that type, differentiated by angle
User hasn't specifiedAt least 1 candidate in each type, ratio determined by the topic (4+1 / 3+2 / 2+3 / 1+4 all possible)
A certain type truly can't support the topicGive all candidates to the main type and explain why the other type can't work

State the reason for the ratio in the table header in one sentence:

This time: 4 Fact + 1 Narrative. Reason: The topic naturally has an explainable mechanism, leaving a lot of space for educational content; narrative only works around the product.

A ratio without a reason = a random ratio.

6.3 Differentiation by Dimension, Not Inspiration

The 5 candidates must take values across dimensions. No "five versions of the same video."

Fact/Education

DimensionPossible Values
SubtypeExplanatory / List-Based
Triggering QuestionWhy is it like this? / Why do I always do this wrong? / How do others do it right?
Landing PointChange cognition / Change behavior
Evidence MethodLogical deduction / Comparative experiment / Mistakes I made

Narrative/Soft Ad

DimensionPossible Values
Conflict OriginNot enough time / Spent money needlessly / Underestimated / Repeated failure
Who ActsSelf / Colleague / Family / Stranger's perspective
Product AppearanceSaves the day / Recommended by someone / Wins by comparison

Hard rule: Across the same dimension, no value can appear more than twice among the 5 candidates. Three consecutive "Mistakes I made" entries means it's one video.

6.4 Present in Three Layers

Layer 0 · Filter First (Do before presenting, don't include in the table)

If any candidate contains red line statements from the prompt — efficacy promises, fabricated testimonials, absolute language, personal data — eliminate it immediately; it doesn't go into the quick-view table. They're not "some risk" but topics that are invalid from the start.

Layer 1 · Quick-view Table (5 rows, comparable at a glance)

#TypeProposition (One Sentence)What Grabs Them FirstMain Risk

Table header notes ratio and reason.

Layer 2 · Detail 2 Candidates (The two most recommended, fill all six lines)

Proposition: Who + In what situation + Gets what insight
Why stop: (The specific moment the viewer is experiencing)
What it promises: (A specific thing they will get after watching)
What catches them in the 4th second: (What the second sentence gives, no gap)
Reason for sharing: (Who to forward it to, what to say when forwarding)
Risk: (Where it might not hold)

The first four lines are the three hook questions plus the proposition; the fifth line corresponds to Criterion 3 (social reason) — without it, the video relies solely on platform recommendations, not word-of-mouth. Candidates that fail the three hook questions go back to the quick-view table without occupying a detail slot.

The remaining three candidates are not expanded — showing all five in detail leads to analysis paralysis, leaving decisions to gut feeling.

Layer 3 · Conclusion

Recommend #N, because...; Eliminate the rest, respectively because... (one sentence per candidate)

Do not say "All five are good, pick your favorite."

Gate 1 · Topic Confirmation

Stop and wait for the user's decision. The user chooses the topic; don't choose for them. The user might pick one, modify one, or ask for more ideas.


VII. Step 2 · Evaluating an Existing Script (Entry ②)

7.1 Mark Type

Is this script Fact/Education (which subtype) or Narrative/Soft Ad? If you can't classify it, the script itself isn't fully formed — first explain what it lacks, then decide whether to continue.

7.2 Remake Requirements (Four Questions)

Then ask these four things, all at once:

#QuestionWhat If the User Doesn't Answer
1Remake purpose: Borrow structure / Borrow topic / Borrow expressionDefault to "Borrow structure"
2Material replacement: What will replace the product, characters, scenes, and cases?List them, mark each with "To Be Confirmed"
3Must keep: Which segment, sentence, or rhythm can't be changed?Default to "Everything can be changed"
4Must replace: What content from the original do you want to avoid?Default to "None"

"Must keep" must be asked. The user often has one non-negotiable point they don't mention until the third draft, wasting all prior work.

After asking, present a requirements card for the user to confirm:

Remake purpose: ___ | Material replacement: ___ | Must keep: ___ | Must replace: ___

7.3 Remake Intensity (Two Choices, Second Option Default)

After the requirements card is confirmed, ask this:

"Do you want to remake it exactly (only replace materials, copy the rhythm), or keep the main line but with changes? Default is the second option."

OptionWhat to DoWhen to UseCost
A: Exact RemakeStructure, sequence, rhythm 1:1, only replace materialsYour own content / Licensed content / Internal referenceSubstantially similar, high risk of being deemed unoriginal
B: Keep Main Line with Changes (Default)Keep the story or argument main line; redo nodes, cases, and expressionMost situationsIncreased workload, but the result is your own

Intensity is locked to the purpose in 7.2; they are not independent choices:

Remake PurposeAllowed Intensity
Borrow structureA or B
Borrow topicOnly B — Same topic + same structure + same expression = mere recording
Borrow expressionOnly B, and direction must be migration or counter-writing — highest expression similarity allowed

When the user's combination is invalid (e.g., borrowing the topic but wanting an exact remake), point out the conflict and ask them to change one. Don't default to accommodating.

Before choosing A, you must ask, "Is the original video your own, or do you have permission?" If not, it's not recommended. Explain why and ask if they'd like to proceed with B. This skill does not provide methods to "alter it beyond detection" — the goal of alteration is to form your own expression, not to bypass detection.

If B is chosen, go through the seven change points one by one. Missing one means insufficient changes:

#What to ChangeMinimum Change Level
1Cases and dataReplace all with your own, and make them replicable
2Triggering questionChange the angle of questioning
3Argument/story orderSwap at least two segments, or change the causal entry point
4Voiceover expressionRewrite completely; keep no original catchphrases or verbal tics
5PerspectiveChange the narrator or the target audience
6IncrementAdd one element the original didn't have
7EndingRewrite the landing point and closing action

Criterion for sufficient change: Place the two storyboards side-by-side; if more than 3 consecutive shots have completely matching functions and visuals, the change is insufficient.

7.4 Usability Judgment

Judgment ItemPassing ConditionWhat to Do If It Fails
Can the facts be replaced with yours?Every case, number, and experience has your corresponding itemDelete the segment entirely if it can't be replaced; don't leave "close enough"
Can the structure stand independently?The structure holds without the original topicStructure relies on original content → Change structure
Is there a unique increment?You can add one thing the original didn't haveIf you can't → Only borrow the structure, not the conclusion

If any of the three fails, state it explicitly. Don't push ahead reluctantly.

If the original script's lines contain red line statements (efficacy promises, user testimonials, absolute language), handle them during revision — don't copy them just because "that's how the original said it." This is the most common miss in Entry ②.

7.5 Decide Direction (Three Choices)

IntensityPossible Directions
A: Exact RemakeLock to imitation; only replace materials
B: Keep Main LineImitation / Migration / Counter-write
DirectionWhat to DoCost
ImitationSame structure + Your contentMost stable, highest risk of homogeneity
MigrationStructure unchanged; change audience or scenario (change phenomenon for education, change conflict for narrative)Moderate, needs new corresponding materials
Counter-writeArgue the opposite conclusionMaximum differentiation, needs arguments, highest risk

Clearly state the costs. Let the user nod. Don't choose the direction for the user.

Gate 2 · Remake Plan Confirmation (Intensity + Direction)

Stop and present the requirements card, intensity, direction, and change points to the user all at once. Wait for confirmation before writing.

Example:

Remake intensity: Keep main line with changes (Purpose: Borrow structure)
Direction: Migration (Change audience: Office workers → Moms)
Change points: Replace cases with your own; change the triggering question to "Why does baby always eat cold food on the go?"; completely rewrite voiceover; add one counterexample the original didn't have; change the ending to call for saving

VIII. Step 3 · Requirements Confirmation (Both Entry Points Must Pass)

Even if Entry ② already has a complete script, these five items must be asked — they determine if a full rewrite is needed.

#What is NeededWhy It Must Be Asked
1PlatformDouyin emphasizes pacing, Video Account emphasizes resonance, Xiaohongshu emphasizes usability
2Target Duration15s / 30s / 60s determines how many segments fit
3PurposeRemember / Act / Share, choose only one
4Target AudienceWith situation; the more specific, the better
5Red LinesWhat must appear, what must absolutely not be mentioned

Ask all at once. Don't drag it out.


IX. Step 4 · Choose Structure

Map directly by type. Don't discuss unless the user explicitly requests a change:

TypeStructure
Fact/Education · ExplanatoryConvention-bust → Mechanism → Landing point
Fact/Education · ListConclusion → Three steps → Wrap-up
Narrative/Soft AdSituation → Hurdle → Turning Point (Product Appears) → Result

After choosing, state two things: What task each segment carries (one sentence per segment) and what is delivered at which second.

Don't mix structures. Mixing is the number one reason for something that "looks structured but isn't."


X. Step 5 · Write the Script

Write segment by segment, 3–6 segments (number determined by duration, don't force it), three lines per segment:

[Segment N | Task: ___ | Approx. __ seconds]
Voiceover: (Text to be read aloud; conversational; break long sentences into short ones)
Screen text: (Text cards / keywords; not a repeat of the voiceover)

Rules:

  • The first sentence of each segment must be independently informative — the viewer might enter from any segment.
  • The entire video should have only one sentence that must be remembered; everything else supports it.
  • Read it aloud. If it sounds awkward, rewrite it.
  • Don't write cue words in the voiceover ("Hello everyone", "Next", "So, in summary"). Delete them all.
  • If a line in the voiceover touches a red line — efficacy claims, testimonials, absolute language, personal data — rewrite it immediately; don't wait for the self-check stage. By then, you've often already written the rest of the script based on that line.
  • Keep each segment's voiceover within 36 characters, with each sentence ≤15 characters. This script will later be read by a video model; if it's too long, the model will cut off the second half.

When writing at this level, be aware: You're writing lines for a model to speak, not copy for a human to read. Rare characters, multi-syllable homophones, brand names buried in long sentences — all will be mispronounced. When possible, use common language over rare terms. See references/script-and-storyboard.md Section 1, Item 4.

The segment that carries the hook (usually Segment 1) should be written according to the three hook questions: what makes them stop, what it promises, what catches them in the 4th second. Other segments don't need these three questions.


XI. Step 6 · Cut into Shots

A six-column short table + details for each shot. The content layer doesn't dictate specific shot sizes and camera positions for the prompt layer, but it must hand down the narrative dependencies and key visible facts to the downstream:

Shot #Duration (s)What This Shot SaysVoiceoverScreen TextShot Function

Below the table, write four details for each shot under "### Shot 1": viewer perception, prerequisite dependency, key visible fact, timing intent. For shots without dialogue, the timing intent must specify what action, sound, music, or atmosphere carries the segment.

Before delivery, run scripts/check_plan.py --plan to fix missing columns, placeholders, durations, and prerequisite shot numbers that the tool can determine. Whether the viewer perception and visible facts hold is still a human review.

Three hard rules:

  1. One shot, one thing. If the same shot contains two pieces of information, it should be two shots.
  2. Every shot must answer "What is lost if it's deleted?" If the answer is "Nothing much," delete it.
  3. Each shot: 2–6 seconds. Going over 6 seconds doesn't mean the shot is long; it means two things are stuffed into one shot.
  4. Key visible facts must be written. Writing them only in the voiceover or "What this shot says" doesn't count as a complete handoff.
  5. Write prerequisite dependencies using shot numbers and facts. If there's no dependency, write "None." For process-based actions, write the key moment to be shown in this segment; don't compress the entire process into one first frame.

Gate 3 · Cut into shots only after the script is finalized

Cutting shots before the script is final is like breaking an unfinished draft into pieces. Only proceed after confirming the script is correct.


XII. Self-Check: Eight Questions

Go through each before delivery. If you can't answer, go back and fix:

  1. Can the topic be summarized in one sentence?
  2. Are the three hook questions fully answered — what makes them stop, what it promises, what catches them in the 4th second?
  3. Is there any segment that could be deleted without affecting the content? (If so, delete it.)
  4. Does each shot only say one thing?
  5. Is there only one call to action at the end?
  6. Red line self-check: Are there any unsubstantiated efficacy claims, fabricated testimonials, absolute language, or personal information?
  7. Can the lines be correctly spoken by a machine: Is each segment ≤36 characters, each sentence ≤15 characters? Are there rare characters or brand names buried in long sentences?
  8. Is the pacing intent valid: For segments without dialogue, is the action/sound/music/atmosphere that carries it written? Are consecutive equal-length shots or long silences intentional?

Question 6 is the only one with a "discover and block" rule — the first five can be fixed, but Question 6 failures cannot be delivered.

Questions 7 and 8 don't individually block delivery, but they will cause rework later. Fixing one word or clarifying the pacing intent here is much cheaper than redoing the generation phase.


XIII. Delivery

13.1 Output Location (Defined by Main Flow)

Directory structure and naming conventions are defined by the main flow skill short-video-flow; this skill does not define them separately. One directory per production, normally like this:

outputs/YYYY-MM-DD-title/
└── 01-planning-document.md

This skill only handles two things: provide the title and write the planning document into the directory specified by the main flow.

13.2 How to Choose the Title

Pick the most distinctive phrase from the selected proposition, not the category name.

Not AcceptableAcceptable
Fact/EducationSleep-deprived-like-ADHD
Douyin Short VideoHot-food-cold-outside-cold-inside
October 22 TopicThermos-coffee-cold-in-half-a-day

Judgment method: After three months, can you remember which video it is just from the directory name? Category names are definitely forgettable after three months; proposition phrases are memorable.

Rules: Title 8–15 characters, no spaces or punctuation, words separated by hyphens.

When adapting via Entry ②, include the adaptation direction in the title to avoid clashing with the original video's name (e.g., original: "sleep-deprived-like-ADHD" → mom version: sleep-deprived-like-ADHD-for-moms).

Confirm the title before creating the directory. Don't change it afterward — renaming breaks downstream material reference paths.

13.3 Composition of planning-document.md

Five sections (template in assets/plan-template.md):

  1. Topic Brief (type, subtype, proposition, audience, purpose)
  2. Type and Structure Explanation (why this structure, each segment's task)
  3. Script (segment-by-segment three-line format + three-hook-question review)
  4. Storyboard Table (six-column short table) and per-shot details (viewer perception, prerequisite dependencies, key visible facts, timing intent)
  5. Self-Check Results (answers to all eight questions)

Entry ② planning documents additionally include an appendix "Adaptation Judgment."

13.4 Delivery Actions

After the script is polished, deliver two items simultaneously:

  1. Save the complete planning document to <directory>/01-planning-document.md and open it using present_files.
  2. Directly paste a reviewable script in the current reply, containing at least: topic proposition, segment tasks, per-segment voiceover, screen text, and any modifications needing user confirmation. Don't just provide the file path.

The script in the conversation is for quick user review and modification requests. When the user requests changes, first update the script content, then save the updated document again and present the revised script directly. The subsequent four stages (Prompts, Generation, Delivery, Publishing) are handled by short-video-flow.


XIV. How to Handle Gaps in the Type Library

After reducing to two types, topics like store reviews, product tests, event notifications, and pure vlogs don't fit. Handle it in two fixed steps:

  1. First ask: "Would you like to adapt it as Fact/Educational or Narrative/Soft Ad?"
  2. If the user doesn't agree → clearly state that this session won't proceed and explain why the two types can't accommodate it.

Don't force it. Forcing a store review into a narrative/soft ad framework produces an incoherent result — worse than not doing it at all.


XV. Boundaries

  • No execution layer work: Camera angles, positions, focal lengths, props, subtitle styles, BGM — left for subsequent stages.
  • No quantitative calculations: Speaking rate, duration deviations, shot number continuity — this skill only ensures the content holds, not that it's recordable.
  • No compliance judgment: Content red lines only prevent obvious self-harm; heavily regulated categories still need separate review (see Section IV Boundary Statement).
  • Don't write generation prompts: That's for the visual generation phase.
  • Don't promise traffic: This skill only guarantees that "the topic holds, the structure makes sense, and shots can be cut."

XVI. Reference Materials (Load on Demand)

FileWhen to Read
references/topic-judge.mdStep 1: Brainstorming candidates, unsure if a topic can hold, or can't answer the three hook questions
references/type-and-structure.mdDetermining type, splitting subtypes, choosing structure
references/rewrite-judge.mdEntry ②: Asking remake requirements, choosing intensity, judging and deciding direction
references/script-and-storyboard.mdWriting script, cutting shots, stuck on "what does this shot say?"
assets/plan-template.mdFilling the template during delivery

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

lhaovo/short-video-skills

为视频生成准备可用的图——把资产清单变成能直接喂给图生视频的素材:排生产顺序、定资产级别、出候选图、做一致性验收、按编号落盘、回写清单状态。支持三种来源:实拍、AI 生成、官方素材,不强制实拍。当用户说「准备素材」「出资产图」「首帧图」「角色三视图」「产品图跑一下」「资产对不上」「这条要哪些图」时使用。只管把图做出来并验收,不写分镜,不直接生成视频。

lhaovo/short-video-skills

一条短视频从策划到发布的流程总控:建制作目录、依次走「剧本分镜 → 提示词 → 生成 → 交付 → 发布」五段、每段设门禁、记录流程状态、支持跨会话续做。当用户要开一条新片子、问「下一步做什么」、想接着做某条没做完的片子、要把分镜变成提示词、要整理素材与成片、要准备发布包时使用。本技能只规定流程、目录与产物标准,不重复各环节的写作规范。

lhaovo/short-video-skills

把已过 G2 的生成清单落成真实视频片段——按段建 KIE Seedance 任务、轮询、下载、媒体体检、抽帧质检、听声核台词,并把每段的状态与请求指纹写进生成台账。三种模式互斥(文生 / 首帧图生 / 首尾帧图生)。旁白由模型直接念,台词照稿写进提示词,不走独立 TTS 配音。当用户提到视频生成、出片段、跑 Seedance、首帧图生、首尾帧、原生音频、台词念错、任务查询、片段下载、生成失败重试时使用。只管「把已定的画面和台词变成成段素材」,不重新设计视觉、不改台词文本、不做字幕、不做剪辑。

lhaovo/short-video-skills

把已定稿的分镜表翻成可直接执行的两份清单——资产清单(要准备哪些图、每张图的图像提示词)与生成清单(每段视频的时长、模式、素材引用与提示词)。覆盖画面化、资产编号、切分生成单元、Seedance 视频提示词写法、首帧方案、一致性与失败诊断。当用户说「把分镜变成提示词」「写视频提示词」「这条片子要哪些图」「生成清单」「某个镜头生成不出来」时使用。只做翻译与清单,不重新编排内容,不直接出图出片。

Related Skills