Skip to content

Skills

Skills: create, customize and import

Write and validate SKILL.md instructions, customize a library skill, make a branch draft, and import public Markdown or a ZIP with resources.

Open avatar → Skills, or Skills → Manage skills… from an ordinary message box. These controls appear only when your account has skill access. A skill needs a YAML header with name and description, followed by nonempty Markdown instructions. Keep reusable process rules, not a transcript full of one-off facts.

Review untrusted content before adding or using it. URL imports, branch drafts and answer blocks open an editor before saving; file uploads with valid metadata save directly. Do not assume every import includes a review screen. Remove secrets and personal details from drafts yourself, even if an AI was asked to omit them.

Write a new skill when you know the rules. Customize a library entry when its process is close to yours. Turn a successful branch into a draft to capture the tone, checks and corrections that made it work. Import a public file or a ZIP when you already have instructions and, optionally, supporting resources.

  1. Write in the editor. Choose New skill. In SKILL.md, replace the template’s name, description and instructions. Use headings for the task, numbered steps for the process, and explicit output rules. The first heading written with #, ## or ### becomes the display title; without one, the title is derived from name. name is the identifier. Switch to Preview to check the rendered instructions, then Save.
  2. Make valid metadata. Keep name between 1 and 64 characters: lowercase ASCII letters, numbers and single hyphens separating nonempty groups. For example, weekly-report is valid; Weekly Report, weekly--report, and leading/trailing hyphens are not. Your own skills need distinct names. description is required, allows up to 1,024 characters, and should say what the skill does and when to use it. Put both keys between the template’s opening and closing --- lines. Quote YAML values containing punctuation such as a colon followed by a space. Keep the body below the closing line.
  3. Improve the description. Suggest a description proposes metadata from the instructions. It can replace a template name, but preserves a non-template name already present. Read and edit the suggestion. Needs a powerful model (with Auto) sets a model-tier preference for Auto routing; it does not purchase access or replace a manually selected model. If offered, Test activation → Test checks whether Jev would choose the saved skill for an example message, not whether its answer would be correct. Save edits before testing.
  4. Customize a library skill. In Explore, open an entry and choose Duplicate and edit. This immediately saves a personal copy and opens its editor; Cancel does not undo that duplication. Change its text and save. The copy keeps the library name, replaces the original for your account, inherits its use mode, and takes over its workspace pins. The original library is not edited. This library-fork action copies instructions and metadata, not supporting resource files. Delete the personal copy to make the library entry visible again; do not expect deleted copy pins to be restored automatically.
  5. Draft from a conversation. On a completed ordinary Canvas answer, open ⋮ → Create skill from this branch. In Chat, use the action with the same name below an answer; on narrow screens it may be an icon. The drafter reads the conversation leading to that answer, including prompts, replies and corrections—not every sibling branch. It aims to extract reusable instructions, generally in English with a rule to answer in the user’s language. Review the draft, give it a unique name and Save. These controls are not available on Build answers or decision answers in Chat.
  6. Save a SKILL.md answer block. You can manually select the library’s skill-creator skill and ask for reusable instructions. When an ordinary answer contains a fenced code block with a complete SKILL.md header, Save as skill appears on that block. It opens the editor; inspect both metadata and body before Save. A plain paragraph or a block missing name or description does not receive that button.
  7. Import a public URL. Choose From a URL, paste a complete HTTP(S) address, and Import. It must return publicly readable Markdown, not an HTML/login page or private-network resource. Recognized GitHub file/folder pages are converted to a raw SKILL.md request. Review the fetched text in the editor and Save; URL imports start as Only when I pick it. This fetch imports one instruction file, not all resources from its repository. No login credentials are sent to retrieve a private repository. Public-address checks, including redirect targets, protect against server-side request forgery (SSRF); do not try to bypass a blocked internal address.
  8. Upload Markdown or a folder ZIP. Inspect the local content first, then Upload .md or .zip. The picker also accepts .markdown; Markdown should be UTF-8 text. If a plain .md has no header, the Name and description form lets you fill both fields, optionally Suggest name and description, then Add skill. Invalid or incomplete existing YAML needs correcting in the file. A ZIP must contain exactly named SKILL.md at the archive root or inside its single enclosing folder. Put resources beneath that same root, commonly in references/, scripts/ or assets/. Arbitrary extra files outside the enclosing folder are rejected. Valid uploads save directly and default to Automatic; review their Use mode immediately if you only want manual use.
  9. Inspect resources and export. Open the saved skill and click a path in Files to inspect readable text. Binary files have no text preview; export the skill to inspect them locally. Use the card’s Export for a ZIP when resources exist, or a .md otherwise. The editor changes SKILL.md text, not the resource files; to replace those, prepare and review a new archive under a distinct skill name.

Create weekly-report with a description such as “Writes a weekly project report. Use when I ask for a weekly report or status summary.” Replace the body with rules to separate completed work, blockers, owners and next steps, and to flag missing dates rather than invent them. Give it a heading such as “Weekly project report”, check Preview, and Save.

Choose Only when I pick it, select it for a message, and test with fictional project notes. Refine the rules based on the result. If a supporting checklist is needed for an agent, prepare a ZIP containing weekly-report/SKILL.md and weekly-report/references/checklist.md. Give a revised import a different header name if the original already exists. Refer to the checklist in the instructions; Chat will not automatically read that resource.

Saved skills appear in My skills. Editor creations, branch drafts and answer blocks start as Automatic candidates; URL imports and copies added from a share/gallery preview start manual. Automatic mode does not switch on the Canvas/Chat checkbox. Saving a skill does not run it or create an answer. Select it, pin it, or use an eligible agent as described in the usage guide.

Canvas/Chat applies the SKILL.md body only. Agents with their separate Use skills switch and a tool-capable model can load instructions through use_skill and read listed resources with read_skill_file. If the computer is enabled, available for the account and configured, resources of loaded skills are copied under /home/agent/skills/<name>/ when a computer tool is used. That copy includes supporting files, not a newly exported SKILL.md file. Scripts are not executed simply because a skill is uploaded, selected or read; an agent may explicitly run them through a computer tool such as computer_shell. Those built-in calls do not share the connected-app approval pause, so inspect scripts before allowing their use.

Creating, saving or fetching an instruction file does not generate a normal model answer. The branch drafter and metadata helper are not charged to your credits in the current implementation, but have rate/daily limits and depend on model availability. Jev activation checks are helper decisions, not full task runs; they also have limits. None of this promises unlimited or permanent free access. Answers using the skill bill normally, including its text as input tokens. Agent resource reads add context; computer use and other tools can add their usual charges.

Current file-format limits are 64 KiB for SKILL.md, 1,024 characters for its description, and a default 20,000-character instruction-body ceiling, which may change. ZIP limits are 5 MiB compressed, 10 MiB expanded in total, up to 50 supporting files and 2 MiB per archive file; SKILL.md still has its own text limit. Paths must be safe relative paths, at most 200 characters: absolute paths, drive-style paths, traversal outside the root and symbolic links are rejected. Folder names and extensions are not a security approval; accepted scripts still need review. ZIP resources require available file storage.

The agent index defaults to at most 20 automatic skills, with long descriptions shortened; it is not an unlimited catalog in every run. Text resource previews and agent reads are limited to the first 30,000 characters by default; binary resources return a binary-file notice rather than usable text. Other model/context/tool limits still apply. The editor token estimate is approximate. Personal creations and copies count against the allowance shown in My skills; library entries do not.

  • Invalid name or duplicate: use lowercase letters/numbers with single separating hyphens and choose a distinct personal name. Changing only the filename does not change the header’s name.
  • Invalid YAML, missing description or empty body: keep the two --- delimiters, valid key/value lines, a description and actual instructions below the header. Fix malformed uploaded YAML locally and upload again.
  • Save as skill is absent: the answer needs a code block containing the complete header; plain Markdown instructions alone are not enough. Paste the complete file into New skill instead.
  • The branch draft is incomplete: long conversations are shortened to the beginning and recent turns. Add missing reusable rules yourself. A deleted branch cannot be drafted.
  • Import returns a web-page error: use the public raw Markdown file, not a site homepage or sign-in page. Private hosts, unsafe redirects, timeouts and oversized files can prevent fetching.
  • ZIP lacks SKILL.md or has unsafe paths: check exact capitalization, root placement, the single enclosing folder, and remove links or unsafe entries. Do not ZIP several separate skill folders together.
  • An upload saved without a preview: this is expected for valid .md/ZIP uploads. Inspect files before uploading, then open the saved skill and review its mode before using it.
  • Files cannot be stored or copied: storage may be unavailable. Retry later, or use an instructions-only file if the resources are not required. Library duplication does not copy resource files; shared/community copies do.
  • An agent cannot use a resource: check that the file is listed and readable, that its Use skills switch is enabled, and that computer access is available for scripts/binary files. Long text reads can be truncated.
  • Activation testing is missing or inconclusive: automatic selection may be disabled or unavailable. Test the saved instructions manually on a fictional example; the activation check does not verify task quality.

For agents, continue with these Spools guides: