Agent skill

Creating Skills

by letta-ai in letta-ai/letta-code

Guide for creating effective skills. An agent skill from letta-ai/letta-code.

Apache-2.0Auto-check passedAgent Workflows

Install Creating Skills

skills CLI
$ npx skills add letta-ai/letta-code --skill creating-skills -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install letta-ai/letta-code creating-skills --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/letta-ai/letta-code.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/skills/builtin/creating-skills .claude/skills/creating-skills && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
creating-skills
GitHub stars
3.6k
Token cost
~4.6k tokens
SKILL.md length
2,257 words
Files
6 (incl. scripts, references)
Skills in repo
25
Repo updated
First seen
Licence
Apache-2.0

At a glance

Guide for creating effective skills. An agent skill from letta-ai/letta-code.

  • Works in 6 steps: Understanding the Skill with Concrete… → Planning the Reusable Skill Contents → Initializing the Skill → …
  • Agent Workflows work in your project
  • SKILL.md covers About Skills, Core Principles and Skill Creation Process
  • Runs TypeScript scripts from its folder; calls npx

What it does

Creating Skills is an agent skill from letta-ai/letta-code. Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Letta Code's capabilities with specialized knowledge, workflows, or tool integrations.

Its SKILL.md is about 4.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts and reference files (for example `references/output-patterns.md`, `references/workflows.md` and `scripts/init-skill.ts`).

It sits in Agent Workflows. It works with Letta. The repository describes itself as: Stateful agents that are like people, with memory, identity, and the ability to learn and adapt. The licence is Apache-2.0.

When your agent uses it

  • Agent Workflows work in your project

Example prompts

  • “/creating-skills”

Requirements

  • Node.js

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Understanding the Skill with Concrete Examples
  2. Planning the Reusable Skill Contents
  3. Initializing the Skill
  4. Edit the Skill
  5. Packaging a Skill
  6. Iterate

What it can do on your machine

Read from SKILL.md and the folder at commit 271f119. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 3 files in scripts/ (TypeScript), which the agent can run.

    Shell commands in SKILL.md call:

    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • agentskills.io

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Creating Skills loads about 4.6k tokens when it runs, and up to ~5.3k if it reads all its reference files. Until then it costs about 62 tokens; SKILL.md has 2,257 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~62
When it runs · the whole SKILL.md, loaded when a task matches
~4.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from letta-ai/letta-code at commit 271f119, republished under its Apache-2.0 licence (© letta-ai). 2,257 words, ~4,607 tokens.

Download SKILL.mdSave it as .claude/skills/creating-skills/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
creating-skills
description
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Letta Code's capabilities with specialized knowledge, workflows, or tool integrations.

Creating Skills

This skill provides guidance for creating effective skills in Letta Code. For the complete official specification, see agentskills.io.

About Skills

Skills are modular, self-contained packages that extend Letta Code's capabilities by providing specialized knowledge, workflows, and tools. Think of them as "onboarding guides" for specific domains or tasks—they transform a Letta Code agent from a general-purpose agent into a specialized agent equipped with procedural knowledge that no model can fully possess.

What Skills Provide
  1. Specialized workflows - Multi-step procedures for specific domains
  2. Tool integrations - Instructions for working with specific file formats or APIs
  3. Domain expertise - Company-specific knowledge, schemas, business logic
  4. Bundled resources - Scripts, references, and assets for complex and repetitive tasks

Core Principles

Concise is Key

The context window is a public good. Skills share the context window with everything else the Letta Code agent needs: system prompt, conversation history, other Skills' metadata, and the actual user request.

Default assumption: the Letta Code agent is already very capable. Only add context the Letta Code agent doesn't already have. Challenge each piece of information: "Does the Letta Code agent really need this explanation?" and "Does this paragraph justify its token cost?"

Prefer concise examples over verbose explanations.

Set Appropriate Degrees of Freedom

Match the level of specificity to the task's fragility and variability:

High freedom (text-based instructions): Use when multiple approaches are valid, decisions depend on context, or heuristics guide the approach.

Medium freedom (pseudocode or scripts with parameters): Use when a preferred pattern exists, some variation is acceptable, or configuration affects behavior.

Low freedom (specific scripts, few parameters): Use when operations are fragile and error-prone, consistency is critical, or a specific sequence must be followed.

Think of the Letta Code agent as exploring a path: a narrow bridge with cliffs needs specific guardrails (low freedom), while an open field allows many routes (high freedom).

Anatomy of a Skill

Every skill consists of a required SKILL.md file and optional bundled resources:

processing-pdfs/
├── SKILL.md (required)
│   ├── YAML frontmatter metadata (required)
│   │   ├── name: (required, must match directory name)
│   │   └── description: (required)
│   └── Markdown instructions (required)
└── Bundled Resources (optional)
    ├── scripts/          - Executable code (TypeScript/Python/Bash/etc.)
    ├── references/       - Documentation intended to be loaded into context as needed
    └── assets/           - Files used in output (templates, icons, fonts, etc.)
SKILL.md (required)

Every SKILL.md in Letta Code consists of:

  • Frontmatter (YAML): Contains name and description fields. These are the only fields that the Letta Code agent reads to determine when the skill gets used, thus it is very important to be clear and comprehensive in describing what the skill is, and when it should be used.
  • Body (Markdown): Instructions and guidance for using the skill. Only loaded AFTER the skill triggers (if at all).
Bundled Resources (optional)
Scripts (scripts/)

Executable code (TypeScript/Python/Bash/etc.) for tasks that require deterministic reliability or are repeatedly rewritten.

  • When to include: When the same code is being rewritten repeatedly or deterministic reliability is needed
  • Example: scripts/rotate-pdf.ts for PDF rotation tasks
  • Benefits: Token efficient, deterministic, may be executed without loading into context
  • Note: Scripts may still need to be read by the Letta Code agent for patching or environment-specific adjustments
References (references/)

Documentation and reference material intended to be loaded as needed into context to inform the Letta Code agent's process and thinking.

  • When to include: For documentation that the Letta Code agent should reference while working
  • Examples: references/finance.md for financial schemas, references/mnda.md for company NDA template, references/policies.md for company policies, references/api_docs.md for API specifications
  • Use cases: Database schemas, API documentation, domain knowledge, company policies, detailed workflow guides
  • Benefits: Keeps SKILL.md lean, loaded only when the Letta Code agent determines it's needed
  • Best practice: If files are large (>10k words), include grep search patterns in SKILL.md
  • Avoid duplication: Information should live in either SKILL.md or references files, not both. Prefer references files for detailed information unless it's truly core to the skill—this keeps SKILL.md lean while making information discoverable without hogging the context window. Keep only essential procedural instructions and workflow guidance in SKILL.md; move detailed reference material, schemas, and examples to references files.
Assets (assets/)

Files not intended to be loaded into context, but rather used within the output the Letta Code agent produces.

  • When to include: When the skill needs files that will be used in the final output
  • Examples: assets/logo.png for brand assets, assets/slides.pptx for PowerPoint templates, assets/frontend-template/ for HTML/React boilerplate, assets/font.ttf for typography
  • Use cases: Templates, images, icons, boilerplate code, fonts, sample documents that get copied or modified
  • Benefits: Separates output resources from documentation, enables the Letta Code agent to use files without loading them into context
What to Not Include in a Skill

A skill should only contain essential files that directly support its functionality. Do NOT create extraneous documentation or auxiliary files, including:

  • README.md
  • INSTALLATION_GUIDE.md
  • QUICK_REFERENCE.md
  • CHANGELOG.md
  • etc.

The skill should only contain the information needed for an AI agent to do the job at hand. It should not contain auxiliary context about the process that went into creating it, setup and testing procedures, user-facing documentation, etc. Creating additional documentation files just adds clutter and confusion.

Progressive Disclosure Design Principle

Skills use a three-level loading system to manage context efficiently:

  1. Metadata (name + description) - Always in context (~100 words)
  2. SKILL.md body - When skill triggers (<5k words)
  3. Bundled resources - As needed by the Letta Code agent (Unlimited because scripts can be executed without reading into context window)
Progressive Disclosure Patterns

Keep SKILL.md body to the essentials and under 500 lines to minimize context bloat. Split content into separate files when approaching this limit. When splitting out content into other files, it is very important to reference them from SKILL.md and describe clearly when to read them, to ensure the reader of the skill knows they exist and when to use them.

Key principle: When a skill supports multiple variations, frameworks, or options, keep only the core workflow and selection guidance in SKILL.md. Move variant-specific details (patterns, examples, configuration) into separate reference files.

Pattern 1: High-level guide with references

markdown
# PDF Processing

## Quick start

Extract text with pdfplumber:
[code example]

## Advanced features

- **Form filling**: See [FORMS.md](FORMS.md) for complete guide
- **API reference**: See [REFERENCE.md](REFERENCE.md) for all methods
- **Examples**: See [EXAMPLES.md](EXAMPLES.md) for common patterns

The Letta Code agent loads FORMS.md, REFERENCE.md, or EXAMPLES.md only when needed.

Pattern 2: Domain-specific organization

For Skills with multiple domains, organize content by domain to avoid loading irrelevant context:

querying-bigquery/
├── SKILL.md (overview and navigation)
└── references/
    ├── finance.md (revenue, billing metrics)
    ├── sales.md (opportunities, pipeline)
    ├── product.md (API usage, features)
    └── marketing.md (campaigns, attribution)

When a user asks about sales metrics, the Letta Code agent only reads sales.md.

Similarly, for skills supporting multiple frameworks or variants, organize by variant:

deploying-to-cloud/
├── SKILL.md (workflow + provider selection)
└── references/
    ├── aws.md (AWS deployment patterns)
    ├── gcp.md (GCP deployment patterns)
    └── azure.md (Azure deployment patterns)

When the user chooses AWS, the Letta Code agent only reads aws.md.

Pattern 3: Conditional details

Show basic content, link to advanced content:

markdown
# DOCX Processing

## Creating documents

Use docx-js for new documents. See [DOCX-JS.md](DOCX-JS.md).

## Editing documents

For simple edits, modify the XML directly.

**For tracked changes**: See [REDLINING.md](REDLINING.md)
**For OOXML details**: See [OOXML.md](OOXML.md)

The Letta Code agent reads REDLINING.md or OOXML.md only when the user needs those features.

Important guidelines:

  • Avoid deeply nested references - Keep references one level deep from SKILL.md. All reference files should link directly from SKILL.md.
  • Structure longer reference files - For files longer than 100 lines, include a table of contents at the top so the Letta Code agent can see the full scope when previewing.

Skill Creation Process

Skill creation involves these steps:

  1. Understand the skill with concrete examples
  2. Plan reusable skill contents (scripts, references, assets)
  3. Initialize the skill (run init-skill.ts)
  4. Edit the skill (implement resources and write SKILL.md)
  5. Package the skill (run package-skill.ts)
  6. Iterate based on real usage

Follow these steps in order, skipping only if there is a clear reason why they are not applicable.

Step 1: Understanding the Skill with Concrete Examples

Skip this step only when the skill's usage patterns are already clearly understood. It remains valuable even when working with an existing skill.

To create an effective skill, clearly understand concrete examples of how the skill will be used. This understanding can come from either direct user examples or generated examples that are validated with user feedback.

For example, when building an editing-images skill, relevant questions include:

  • "What functionality should the editing-images skill support? Editing, rotating, anything else?"
  • "Can you give some examples of how this skill would be used?"
  • "I can imagine users asking for things like 'Remove the red-eye from this image' or 'Rotate this image'. Are there other ways you imagine this skill being used?"
  • "What would a user say that should trigger this skill?"

To avoid overwhelming users, avoid asking too many questions in a single message. Start with the most important questions and follow up as needed for better effectiveness.

Conclude this step when there is a clear sense of the functionality the skill should support.

Show full SKILL.md (923 more words)Show less
Step 2: Planning the Reusable Skill Contents

To turn concrete examples into an effective skill, analyze each example by:

  1. Considering how to execute on the example from scratch
  2. Identifying what scripts, references, and assets would be helpful when executing these workflows repeatedly

Example: When building an editing-pdfs skill to handle queries like "Help me rotate this PDF," the analysis shows:

  1. Rotating a PDF requires re-writing the same code each time
  2. A scripts/rotate-pdf.ts script would be helpful to store in the skill

Example: When designing a building-frontend-apps skill for queries like "Build me a todo app" or "Build me a dashboard to track my steps," the analysis shows:

  1. Writing a frontend webapp requires the same boilerplate HTML/React each time
  2. An assets/hello-world/ template containing the boilerplate HTML/React project files would be helpful to store in the skill

Example: When building a querying-bigquery skill to handle queries like "How many users have logged in today?" the analysis shows:

  1. Querying BigQuery requires re-discovering the table schemas and relationships each time
  2. A references/schema.md file documenting the table schemas would be helpful to store in the skill

To establish the skill's contents, analyze each concrete example to create a list of the reusable resources to include: scripts, references, and assets.

Step 3: Initializing the Skill

At this point, it is time to actually create the skill.

Skip this step only if the skill being developed already exists, and iteration or packaging is needed. In this case, continue to the next step.

When creating a new skill from scratch, always run the init-skill.ts script. The script conveniently generates a new template skill directory that automatically includes everything a skill requires, making the skill creation process much more efficient and reliable.

Usage:

bash
npx tsx <SKILL_DIR>/scripts/init-skill.ts <skill-name> --path <output-directory>

Where <SKILL_DIR> is the Skill Directory shown when the skill was loaded (visible in the injection header).

The script:

  • Creates the skill directory at the specified path
  • Generates a SKILL.md template with proper frontmatter and TODO placeholders
  • Creates example resource directories: scripts/, references/, and assets/
  • Adds example files in each directory that can be customized or deleted

After initialization, customize or remove the generated SKILL.md and example files as needed.

Step 4: Edit the Skill

When editing the (newly-generated or existing) skill, remember that the skill is being created for another Letta Code agent instance to use. Include information that would be beneficial and non-obvious to the Letta Code agent. Consider what procedural knowledge, domain-specific details, or reusable assets would help another Letta Code agent instance execute these tasks more effectively.

Learn Proven Design Patterns

Consult these helpful guides based on your skill's needs:

  • Multi-step processes: See references/workflows.md for sequential workflows and conditional logic
  • Specific output formats or quality standards: See references/output-patterns.md for template and example patterns

These files contain established best practices for effective skill design.

Start with Reusable Skill Contents

To begin implementation, start with the reusable resources identified above: scripts/, references/, and assets/ files. Note that this step may require user input. For example, when implementing a brand-guidelines skill, the user may need to provide brand assets or templates to store in assets/, or documentation to store in references/.

Added scripts must be tested by actually running them to ensure there are no bugs and that the output matches what is expected. If there are many similar scripts, only a representative sample needs to be tested to ensure confidence that they all work while balancing time to completion.

Any example files and directories not needed for the skill should be deleted. The initialization script creates example files in scripts/, references/, and assets/ to demonstrate structure, but most skills won't need all of them.

Update SKILL.md

Writing Guidelines: Always use imperative/infinitive form.

Frontmatter

Write the YAML frontmatter with name and description:

name (required):

  • Use gerund form: processing-pdfs, analyzing-data, creating-reports (not pdf-processor)
  • Lowercase letters, numbers, and hyphens only
  • Must match the directory name exactly
  • Max 64 characters

description (required):

  • Write in third person: "Processes PDF files..." (not "I help process..." or "You can use this to...")
  • Include both what the skill does AND when to use it
  • Include trigger keywords that help the agent identify relevant tasks
  • Max 1024 characters

Example:

yaml
---
name: processing-pdfs
description: Extracts text and tables from PDF files, fills forms, and merges documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
---

Note: The spec allows optional fields (license, compatibility, metadata, allowed-tools) but most skills don't need them. See agentskills.io/specification for details.

Body

Write instructions for using the skill and its bundled resources.

Step 5: Packaging a Skill

Once development of the skill is complete, it must be packaged into a distributable .skill file that gets shared with the user. The packaging process automatically validates the skill first to ensure it meets all requirements:

bash
npx tsx <SKILL_DIR>/scripts/package-skill.ts <path/to/skill-folder>

Optional output directory specification:

bash
npx tsx <SKILL_DIR>/scripts/package-skill.ts <path/to/skill-folder> ./dist

The packaging script will:

  1. Validate the skill automatically, checking:

    • YAML frontmatter format and required fields
    • Skill naming conventions and directory structure
    • Description completeness and quality
    • File organization and resource references
  2. Package the skill if validation passes, creating a .skill file named after the skill (e.g., my-skill.skill) that includes all files and maintains the proper directory structure for distribution. The .skill file is a zip file with a .skill extension.

If validation fails, the script will report the errors and exit without creating a package. Fix any validation errors and run the packaging command again.

Step 6: Iterate

After testing the skill, users may request improvements. Often this happens right after using the skill, with fresh context of how the skill performed.

Iteration workflow:

  1. Use the skill on real tasks
  2. Notice struggles or inefficiencies
  3. Identify how SKILL.md or bundled resources should be updated
  4. Implement changes and test again

© letta-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts, references) in src/skills/builtin/creating-skills of letta-ai/letta-code.

  • SKILL.md
  • references/output-patterns.md
  • references/workflows.md
  • scripts/init-skill.ts
  • scripts/package-skill.ts
  • scripts/validate-skill.ts

Open the folder on GitHubat commit 271f119

Compare with similar skills

Creating Skills next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Creating Skills compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Creating Skills this skillletta-ai/letta-code3.6k—~4.6kAutomated safety check: PassApache-2.0
Agent Memory Systemsomer-metin/skills-for-antigravity163—~731Automated safety check: PassApache-2.0
Self Improving Systemsooiyeefei/ccc495—~5.2kAutomated safety check: PassMIT
LettaAnil-matcha/awesome-muse-connectors1.3k—~767Automated safety check: PassMIT
Lettabotletta-ai/lettabot327—~3.4kAutomated safety check: PassApache-2.0
Letta Configurationletta-ai/skills149—~1.3kAutomated safety check: NotesMIT

Similar skills

  • Agent Memory Systems

    omer-metin/skills-for-antigravity

    Memory is the cornerstone of intelligent agents. An agent skill from omer-metin/skills-for-antigravity.

    163 GitHub stars~731 tokensUpdated 8 mo ago
    Agent WorkflowsAuto-check passed
  • Decide whether your agent actually needs persistent memory, feedback loops, or closed-loop learning, then design the smallest thing that pays for itself.

    495 GitHub stars~5.2k tokensUpdated 2 mo ago
    Agent WorkflowsAuto-check passed
  • Letta

    Anil-matcha/awesome-muse-connectors

    Work with Letta agent memory: list agents, read core-memory blocks, list or add archival passages, create blocks, message an agent to record memory.

    1.3k GitHub stars~767 tokensUpdated 5 days ago
    Agent WorkflowsAuto-check passed
  • Lettabot

    letta-ai/lettabot

    Set up and run LettaBot - a multi-channel AI assistant for Telegram, Slack, Discord, WhatsApp, and Signal.

    327 GitHub stars~3.4k tokensUpdated 4 mo ago
    Productivity & AutomationAuto-check passed
  • Letta Configuration

    letta-ai/skills

    Configure LLM models and providers for Letta agents and servers.

    149 GitHub stars~1.3k tokensUpdated 9 days ago
    DevOps & CloudAuto-check: notes
  • Migrates deprecated Letta Filesystem folders/files to MemFS using markdown document corpora, chunking, local lexical search, and QMD semantic search via the memfs-search skill.

    149 GitHub stars~1.3k tokensUpdated 9 days ago
    Documents & OfficeAuto-check passed

More from letta-ai/letta-code

All 25 skills in this repo
  • Generating Mod Envs

    letta-ai/letta-code

    Generates and reviews mod learning env JSON files for Letta Code local mods.

    3.6k GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Initializing Memory

    letta-ai/letta-code

    Comprehensive guide for initializing or reorganizing agent memory.

    3.6k GitHub stars~4.8k tokensUpdated today
    Auto-check passed
  • Self Configuration

    letta-ai/letta-code

    Inspect or modify Letta Code's own memory, model, context window, system prompt, compaction, permissions, toolsets, mods, skills, channels, schedules, agent secrets, and local runtime settings.

    3.6k GitHub stars~7k tokensUpdated today
    Auto-check passed
  • Browser Use

    letta-ai/letta-code

    Control a real browser to navigate pages, click, type, fill forms, inspect rendered UI, take screenshots, or record video.

    3.6k GitHub stars~3.3k tokensUpdated today
    Auto-check passed
  • Creating Mods

    letta-ai/letta-code

    Creates and edits trusted local Letta Code mods, including tools, slash commands, local-only model providers, lifecycle/turn events, scoped conversation helpers, panels, and capability-gated behavior.

    3.6k GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Customizing Statusline

    letta-ai/letta-code

    Creates, edits, and migrates Letta Code statusline mods. An agent skill from letta-ai/letta-code.

    3.6k GitHub stars~834 tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Creating Skills

What does Creating Skills do?

Guide for creating effective skills. An agent skill from letta-ai/letta-code. Creating Skills is an agent skill from letta-ai/letta-code. Guide for creating effective skills.

When should I use Creating Skills?

Creating Skills fits situations like: agent Workflows work in your project.

How do I install Creating Skills in Claude Code?

Run `npx skills add letta-ai/letta-code --skill creating-skills -a claude-code`. Or copy the skill folder (src/skills/builtin/creating-skills in letta-ai/letta-code) into .claude/skills/creating-skills in your project. Claude Code loads it when a task matches its description.

How do I install Creating Skills in Codex?

Run `npx skills add letta-ai/letta-code --skill creating-skills -a codex`. Or copy the skill folder (src/skills/builtin/creating-skills in letta-ai/letta-code) into .agents/skills/creating-skills in your project. Codex loads it when a task matches its description.

Can I use Creating Skills in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add letta-ai/letta-code --skill creating-skills -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/creating-skills, .gemini/skills/creating-skills, .github/skills/creating-skills and .opencode/skills/creating-skills in your project.

What does Creating Skills need to run?

Going by SKILL.md and its folder, Creating Skills needs TypeScript for the scripts in its folder and the command-line tools its instructions call (npx). Our summary lists: Node.js.

Does Creating Skills access the network?

SKILL.md names 1 domain. As links in the text: agentskills.io. This is read from the text; nothing was executed.

Is Creating Skills safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Creating Skills use?

Creating Skills is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Creating Skills use?

About 4.6k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 669 tokens, read only when the agent opens those files.

What are the alternatives to Creating Skills?

Skills that share tags, products or a category with Creating Skills: Agent Memory Systems (omer-metin/skills-for-antigravity, 163 stars), Self Improving Systems (ooiyeefei/ccc, 495 stars), Letta (Anil-matcha/awesome-muse-connectors, 1.3k stars) and Lettabot (letta-ai/lettabot, 327 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Creating Skills?

letta-ai (a GitHub organization) maintains it in letta-ai/letta-code, which has 3,571 GitHub stars. The repository holds 25 skills in this directory. The repository was last updated on October 11, 2026.

Source: letta-ai/letta-code on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.