Skills

Skills are reusable instructions that teach Atom patterns, techniques, or brand guidelines. Once created, invoke a skill with a slash command or let Atom apply it automatically when relevant.

What Skills Are For

Skills capture knowledge you want to preserve across projects:

  • Brand guidelines – Color palettes, typography rules, logo animation standards
  • Animation techniques – Kinetic type recipes, easing preferences, timing patterns
  • Project conventions – Layer naming schemes, comp organization, expression templates
  • Reusable workflows – Title card structures, lower third layouts, transition styles

Instead of re-explaining “use our brand’s overshoot easing on all scale animations” every time, create a skill once and invoke it whenever you need it.

Creating Skills

There are two ways to create skills: ask Atom or create one manually.

Ask Atom to Create a Skill

The easiest approach is to ask Atom after you’ve built something worth preserving:

Create a skill from this animation style
Save this color palette as a skill
Make a skill from how we set up this lower third

Atom analyzes the conversation history, extracts the relevant patterns, and generates a skill with a name, description, and detailed instructions.

You can also guide what gets captured:

Create a skill that focuses on the expression we just wrote
Save this as a skill, but generalize it for any font

Create Manually

  1. Type / in the chat input
  2. Select Create Skill from the menu
  3. Fill in the fields:
    • Name – A short, descriptive name (becomes the skill ID in kebab-case)
    • Description – When to use this skill
    • Instructions – Detailed guidance for Atom

Or open SettingsSkillsCreate to access the same form.

Using Skills

Slash Commands

Type / followed by the skill ID to invoke it:

/corporate-style make a title card for "Q4 Results"
/kinetic-type animate the tagline with bounce

The skill token appears in your input as a pill. Atom loads the skill’s instructions before processing your request.

Type / and start typing to filter skills by name. Use arrow keys to navigate and Enter to select.

Natural Language

You can also reference skills by name:

Apply my logo animation skill to this layer
Use the corporate branding skill for this comp

Atom recognizes skill references and loads the appropriate instructions.

Automatic Matching

When a skill’s description clearly matches your request, Atom may apply it automatically. For example, a skill with description “Use for all client X projects” might activate when you mention client X.

Managing Skills

Open SettingsSkills to view, edit, or delete your skills.

Each skill shows:

  • Name – The display name
  • Description – When to use it
  • Edit – Modify the skill’s instructions
  • Delete – Remove the skill permanently

Skill File Format

Skills are stored as SKILL.md files with YAML frontmatter:

---
name: kinetic-type
description: Animated text reveal with overshoot easing
---

# Technique

Apply scale animation from 0% with overshoot...

(Markdown instructions continue here)

The name field becomes the skill ID (converted to kebab-case). The description helps Atom decide when the skill is relevant. Everything after the frontmatter is the instructions Atom follows.

Storage Location

Skills are stored locally at ~/Library/Application Support/atom/skills/

Each skill has its own folder containing a SKILL.md file. You can manually edit these files or back them up between machines.

Example Skills

Brand Color Palette

---
name: acme-brand
description: Use for all Acme Corp projects
---

# Acme Brand Guidelines

## Colors
- Primary: #E63946 (Acme Red)
- Secondary: #1D3557 (Navy)
- Accent: #F1FAEE (Off-white)
- Text: #457B9D (Steel blue)

## Usage
- Headlines: Acme Red on Navy
- Body text: Steel blue
- Backgrounds: Off-white or Navy
- Never use red on navy without white outline

Animation Preset

---
name: smooth-reveal
description: Standard text reveal animation
---

# Smooth Reveal Pattern

## Setup
1. Set text opacity to 0%
2. Set position 50px below final
3. Add keyframes over 20 frames

## Timing
- Opacity: Linear
- Position: Ease out (75% influence)
- Stagger layers by 3 frames

## Finishing
- Add 0.5px motion blur
- Enable continuous rasterization for sharp edges

Expression Template

---
name: wiggle-control
description: Controlled wiggle with slider
---

# Wiggle Control Setup

Create a slider control named "Wiggle Amount" on the layer.

Apply this expression to the property:

    wiggleAmount = effect("Wiggle Amount")("Slider");
    freq = 3;
    amp = wiggleAmount;
    wiggle(freq, amp);

This lets the animator dial in wiggle intensity without editing the expression.