Skills and reusable procedures
Create, import, inspect, and maintain the instructions an agent loads for a task.
A skill is a named procedure the agent can load when it matches the current work. It has a name, a discovery description, and Markdown instructions. A memory records a fact; a skill records how to do a recurring job.
For example, “Mira wants reports on Monday” is a memory. “How to prepare the weekly report, verify its sources, and handle missing data” is a skill.
How a skill reaches the model
Jian places a catalog of available skill names and descriptions in the agent's context. Full instructions are loaded on demand with load_skill. This keeps every procedure from occupying every request's context window.
The description therefore needs to say when to use the skill, using words likely to appear in a request. If a skill is never used, inspect its description before making its body longer. Skill selection remains a model decision; writing a trigger description is not a deterministic event handler.
Three origins
| Origin | Ownership and updates |
|---|---|
| Built-in | Shipped with Jian; the owner can disable it for the profile, but cannot edit or delete its shipped body |
| Owner-written or imported | Managed by the owner; the agent cannot rewrite it through its skill-writing tools |
| Agent-written | Marked with writtenBy: agent; the agent may update or delete its own procedures |
Open Customize → Skills to inspect the catalog and its origins. Built-ins cover subjects such as memory keeping, context management, schedules, remote machines, and working with other agents. Some are offered only when the relevant integration is available.
Write a useful skill
Create a skill in the panel, or ask the agent to write one after you have established a repeatable process. Include:
- The situations in which it applies.
- The inputs it needs and where to find them.
- Steps and decision points, including what to do when information is missing.
- Evidence required before claiming completion.
- Approval boundaries for publishing, sending, or making external changes.
A portable document for GitHub import looks like this:
---
name: weekly-project-brief
description: Use when preparing the weekly project brief or summarizing a project's progress for its owner.
---
# Weekly project brief
Read the project's open work and the last brief before drafting.
Start with the outcome, then blockers, then the next three actions.
Link each factual status to its source. Mark unknown dates as unknown.
If a source is unavailable, say which part could not be checked.
Show the draft to the owner before sending it to anyone else.Names use lowercase letters, digits, hyphens, or underscores, up to 64 characters. Descriptions allow 300 characters; instructions allow 12,000. A profile holds at most 20 custom skills. Shipped built-ins have a separate catalog.
Import from GitHub
The importer accepts GitHub repository, folder, and SKILL.md URLs, including supported raw GitHub URLs. It can discover skill directories under a repository's skills folder. Non-GitHub hosts are rejected by this importer.
An import is a snapshot of instructions. Jian records the source URL, reference, and import time; later repository edits do not silently update the agent. Importing again replaces a custom skill with the same name and still respects the profile limit.
The parser reads name and description from frontmatter and copies the Markdown body. Other frontmatter fields do not grant permissions or install dependencies. The importer does not clone the repository, install a plugin runtime, or fetch supporting scripts and assets. A skill that depends on those files needs them made available separately in the appropriate workspace.
Review imported instructions before use. A link to a reputable repository is provenance, not a permission boundary. Network access for the import is unauthenticated GitHub fetching; it does not inherit the connected GitHub App's private repository authorization.
Learning and maintenance
Automatic learning can create a procedure after a useful correction or a task that exposed a repeatable method. The agent can maintain skills it wrote, while owner and imported skills remain owner-controlled.
Keep one skill per job. Correct an existing procedure instead of accumulating conflicting copies. If a procedure requires a tool, also configure that tool or integration: instructions alone cannot create a capability.