# Skills Studio (https://openknowledge.ai/docs/features/skills)

Reusable instructions for the way you work.

A **skill** tells an AI tool when and how to do a task. Write one beside your notes, then choose the tools that use it.

```html preview
<section class="skill-flow" aria-label="How one skill works across your AI tools">
  <div class="flow-heading"><span>ONE SKILL, SHARED INSTRUCTIONS</span><span class="example-label">Try an example</span></div>
  <div class="examples" role="group" aria-label="Example skill">
    <button type="button" aria-pressed="true" data-example="meeting">Meeting notes</button>
    <button type="button" aria-pressed="false" data-example="writing">Writing feedback</button>
  </div>
  <div class="flow">
    <article class="recipe" aria-live="polite">
      <div class="recipe-label">YOUR SKILL</div>
      <h3 id="skill-name">meeting-notes</h3>
      <p id="skill-when">When I share a meeting transcript…</p>
      <ol id="skill-steps"><li>Capture decisions.</li><li>Assign action items.</li><li>Link the people involved.</li></ol>
    </article>
    <div class="connector" aria-hidden="true"><span></span><b>→</b></div>
    <div class="tools">
      <div class="recipe-label">YOUR CHOSEN TOOLS</div>
      <div class="tool"><span>Claude Code</span><span class="status">Reads <b>meeting-notes</b></span></div>
      <div class="tool"><span>Cursor</span><span class="status">Reads <b>meeting-notes</b></span></div>
      <div class="tool"><span>Codex</span><span class="status">Reads <b>meeting-notes</b></span></div>
      <p class="more">And the other tools you install it in.</p>
    </div>
  </div>
  <p class="caption">Change the skill once. The tools you selected read the updated instructions.</p>
</section>
<style>
.skill-flow{padding:24px;background:linear-gradient(135deg,var(--accent-soft),transparent 65%)}
.flow-heading{display:flex;justify-content:space-between;gap:12px;color:var(--muted-foreground);font-size:10px;letter-spacing:.1em;font-weight:650}
.example-label{letter-spacing:0;font-weight:400;font-size:12px}
.examples{display:flex;gap:6px;margin:12px 0 20px;flex-wrap:wrap}
.examples button{font:inherit;font-size:13px;cursor:pointer;padding:6px 12px;color:var(--muted-foreground);background:var(--card);border:1px solid var(--border);border-radius:999px}
.examples button[aria-pressed=true]{color:var(--accent-ink);border-color:var(--primary);background:var(--accent-soft)}
.examples button:hover{border-color:var(--primary)}
.examples button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.flow{display:grid;grid-template-columns:1.15fr 38px 1fr;align-items:center;gap:12px}
.recipe{background:var(--card);padding:18px 20px;border:1px solid var(--border);border-radius:14px;box-shadow:0 5px 20px rgba(0,0,0,.03)}
.recipe-label{font-size:10px;color:var(--muted-foreground);letter-spacing:.08em;font-weight:650}
.recipe h3{font-family:ui-monospace,monospace;font-size:17px;margin:8px 0 5px;letter-spacing:-.03em}
.recipe p{font-size:13px;color:var(--muted-foreground);margin:0 0 12px;min-height:39px}
.recipe ol{font-size:14px;margin:0;padding-left:18px;line-height:1.8}
.connector{display:flex;align-items:center;color:var(--primary)}
.connector span{height:1px;background:var(--primary);flex:1;opacity:.45}
.connector b{font-size:24px;font-weight:400}
.tools{min-width:0}
.tools>.recipe-label{margin-bottom:8px}
.tool{border:1px solid var(--border);background:var(--card);border-radius:10px;padding:10px 12px;margin:7px 0;display:flex;flex-direction:column;gap:2px;font-weight:600;font-size:14px;transition:border-color .25s,transform .25s}
.status{font-size:11px;font-weight:400;color:var(--muted-foreground)}
.status b{color:var(--primary);margin-left:4px;font-family:ui-monospace,monospace}
.more,.caption{color:var(--muted-foreground);font-size:12px}
.more{margin:8px 0 0}
.caption{margin:18px 0 0}
.updating .tool{border-color:var(--primary);transform:translateX(3px)}
@media(max-width:540px){.skill-flow{padding:18px}.flow{grid-template-columns:1fr;gap:12px}.connector{display:none}.recipe p{min-height:0}.tool{flex-direction:row;justify-content:space-between;align-items:center}.example-label{display:none}}
@media(prefers-reduced-motion:reduce){.tool{transition:none}.updating .tool{transform:none}}
</style>
<script>
var examples={meeting:{name:"meeting-notes",when:"When I share a meeting transcript…",steps:["Capture decisions.","Assign action items.","Link the people involved."]},writing:{name:"review-my-writing",when:"When I ask for feedback on a draft…",steps:["Lead with the main point.","Replace vague wording.","Keep the writer’s voice."]}};
var buttons=document.querySelectorAll("[data-example]"),root=document.querySelector(".skill-flow"),steps=document.getElementById("skill-steps"),timer;
buttons.forEach(function(button){button.addEventListener("click",function(){
  var item=examples[button.dataset.example];
  buttons.forEach(function(other){other.setAttribute("aria-pressed",String(other===button));});
  document.getElementById("skill-name").textContent=item.name;
  document.getElementById("skill-when").textContent=item.when;
  steps.replaceChildren(...item.steps.map(function(text){var li=document.createElement("li");li.textContent=text;return li;}));
  document.querySelectorAll(".tool .status b").forEach(function(el){el.textContent=item.name;});
  clearTimeout(timer);
  if(!matchMedia("(prefers-reduced-motion:reduce)").matches){root.classList.add("updating");timer=setTimeout(function(){root.classList.remove("updating");},650);}
});});
</script>
```

## Two ways people use Skills Studio

Both start in the same place and use the same skills. They differ in who the skill is for.

### You are teaching your own AI tools

You explain the same thing to your AI every week: how you like meeting notes written, which folder research goes in. A skill is that explanation, written once and read by every AI tool you use.

You edit it in the same editor as your docs. There is no publish step.

- [Write a skill](https://openknowledge.ai/docs/features/skills/write-a-skill): Turn a task you repeat into instructions your AI can follow, by hand or with an agent.
- [Find and install skills](https://openknowledge.ai/docs/features/skills/find-and-install): Browse the catalog, preview a skill, and choose the tools that get it.
- [Symlink skills](https://openknowledge.ai/docs/features/skills/symlink-skills): Point one tool's skills folder at another so both read the same skills.
- [Skills OpenKnowledge ships](https://openknowledge.ai/docs/features/skills/built-in-skills): What each built-in skill does, and how to install or remove it.

### You are setting your team's skills up

Someone has been asked how the team should manage skills: where they live, how a person gets them, how a fix reaches everyone. The answer is a Git repository your team already knows how to review, plus a per-person install that takes a minute.

Nothing is pushed onto anyone. Each person picks the skills they want and how updates arrive. A skill someone adapts stays adapted.

- [Share skills with your team](https://openknowledge.ai/docs/features/skills/for-teams): Set up the repository your team installs from, and decide what goes in it.
- [Install your team's skills](https://openknowledge.ai/docs/features/skills/install-team-skills): The page to send a teammate. Add the repository, pick skills, done.
- [Keep team skills current](https://openknowledge.ai/docs/features/skills/team-updates): How a fix reaches everyone, and what happens to a skill someone changed.
- [Distribute as a plugin](https://openknowledge.ai/docs/features/skills/team-plugins): When a plugin is the better shape, and what you give up by choosing it.

## Project or global?

Every skill lives in one of two scopes. You pick when you create or import it, and its menu can move it later.

| Choose      | When you want                                                                                                                        |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| **Project** | Instructions tied to this knowledge base, such as how to write its meeting notes. Commit the skill's folder to share it through git. |
| **Global**  | Personal instructions available across projects on this machine, such as your writing style. These are not shared through git.       |

Moving between scopes starts a new history.

## Where to find Skills Studio

**Skills Studio** sits at the bottom of the file sidebar. **Settings → Skills Studio** holds the built-in skills and shared folders.

![The Skills Studio dock in the file sidebar, listing project skills above global ones.](https://openknowledge.ai/images/skills-studio/skills-dock.png)

Skills already in your AI tools appear there on their own, read and versioned where they live.

## See also

- [Developer reference](https://openknowledge.ai/docs/features/skills/reference): file layout, CLI, MCP tools, configuration.
- [Agentic search](https://openknowledge.ai/docs/reference/agentic-search): how the agent reads your base.
- [LLM wiki](https://openknowledge.ai/docs/workflows/karpathy-llm-wiki): build a source-grounded knowledge base an agent curates, end to end.