Files
Memoh/assets/getting-started_skills.md.DTJvqMSO.js
2026-04-23 13:02:42 +00:00

9 lines
10 KiB
JavaScript
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{_ as t,o as a,c as l,ag as i}from"./chunks/framework.CAXxHpAX.js";const k=JSON.parse('{"title":"Bot Skills","description":"","frontmatter":{},"headers":[],"relativePath":"getting-started/skills.md","filePath":"getting-started/skills.md","lastUpdated":1776332711000}'),s={name:"getting-started/skills.md"};function o(r,e,n,d,h,c){return a(),l("div",null,[...e[0]||(e[0]=[i(`<h1 id="bot-skills" tabindex="-1">Bot Skills <a class="header-anchor" href="#bot-skills" aria-label="Permalink to &quot;Bot Skills&quot;"></a></h1><p>Skills are reusable prompt modules that extend a bot&#39;s behavior, style, and tool-usage guidance. You manage them from the bot&#39;s <strong>Skills</strong> tab, and you can either write them yourself or install them from <strong><a href="/getting-started/supermarket.html">Supermarket</a></strong>.</p><hr><h2 id="what-a-skill-looks-like" tabindex="-1">What A Skill Looks Like <a class="header-anchor" href="#what-a-skill-looks-like" aria-label="Permalink to &quot;What A Skill Looks Like&quot;"></a></h2><p>A skill is a Markdown file named <code>SKILL.md</code> with YAML frontmatter. At minimum, give it a stable <code>name</code> and a short <code>description</code>.</p><div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">---</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">coder-skill</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">description</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">Enables advanced coding workflows and tool usage.</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">---</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Coder Skill</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">You write clear code, explain trade-offs, and use file or command tools when they help complete the task.</span></span></code></pre></div><p>Practical rules:</p><ul><li>Use a simple ASCII skill name such as <code>coder-skill</code>, <code>research</code>, or <code>docs-helper</code>.</li><li>Avoid spaces in the <code>name</code>; Memoh uses it as the skill directory name.</li><li>The Markdown body is the actual instruction content injected into the bot runtime.</li></ul><hr><h2 id="where-skills-come-from" tabindex="-1">Where Skills Come From <a class="header-anchor" href="#where-skills-come-from" aria-label="Permalink to &quot;Where Skills Come From&quot;"></a></h2><p>Memoh distinguishes between <strong>managed</strong> skills and <strong>discovered</strong> skills:</p><ul><li><strong>Managed</strong> skills are the ones you create, edit, or install through Memoh. They live under <code>/data/skills/&lt;name&gt;/SKILL.md</code>.</li><li><strong>Discovered</strong> skills are found from compatibility locations inside the bot environment, such as legacy skill directories from imported images or older setups.</li></ul><p>Memoh scans these container-internal roots in order:</p><table tabindex="0"><thead><tr><th>Type</th><th>Root</th></tr></thead><tbody><tr><td>Managed</td><td><code>/data/skills/</code></td></tr><tr><td>Legacy discovered</td><td><code>/data/.skills/</code></td></tr><tr><td>Compatibility discovered</td><td><code>/data/.agents/skills/</code></td></tr><tr><td>Compatibility discovered</td><td><code>/root/.agents/skills/</code></td></tr></tbody></table><p>Within each root, Memoh looks for <code>SKILL.md</code> either directly under the root or inside a named subdirectory such as <code>/data/skills/coder-skill/SKILL.md</code>.</p><p>This matters because the same skill name can appear from multiple sources. Memoh resolves those duplicates into states.</p><hr><h2 id="skill-states" tabindex="-1">Skill States <a class="header-anchor" href="#skill-states" aria-label="Permalink to &quot;Skill States&quot;"></a></h2><p>Each listed skill source has one of these states:</p><table tabindex="0"><thead><tr><th>State</th><th>Meaning</th></tr></thead><tbody><tr><td><code>effective</code></td><td>This is the version currently active for that skill name</td></tr><tr><td><code>shadowed</code></td><td>Another source with the same skill name takes precedence</td></tr><tr><td><code>disabled</code></td><td>This specific source has been disabled and will not be used</td></tr></tbody></table><p>The important mental model is: <strong>the skill name is the identity</strong>. If Memoh finds multiple <code>coder-skill</code> sources, only one can be <code>effective</code>.</p><h3 id="typical-examples" tabindex="-1">Typical Examples <a class="header-anchor" href="#typical-examples" aria-label="Permalink to &quot;Typical Examples&quot;"></a></h3><ul><li>A skill you just created in Memoh is usually <code>managed</code> + <code>effective</code>.</li><li>A legacy skill can show up as <code>effective</code> until you create or adopt a managed skill with the same name.</li><li>After you adopt a discovered skill into the managed directory, the managed copy becomes <code>effective</code> and the old source usually becomes <code>shadowed</code>.</li><li>If you disable the effective source, another source with the same name may become <code>effective</code> automatically.</li></ul><hr><h2 id="managing-skills-in-the-ui" tabindex="-1">Managing Skills In The UI <a class="header-anchor" href="#managing-skills-in-the-ui" aria-label="Permalink to &quot;Managing Skills In The UI&quot;"></a></h2><p>Open a bot, then go to <strong>Skills</strong>.</p><h3 id="add-skill" tabindex="-1">Add Skill <a class="header-anchor" href="#add-skill" aria-label="Permalink to &quot;Add Skill&quot;"></a></h3><ol><li>Click <strong>Add Skill</strong>.</li><li>Fill in the raw Markdown in the editor.</li><li>Save it.</li></ol><p>Memoh writes the file into its managed skills directory.</p><h3 id="edit-skill" tabindex="-1">Edit Skill <a class="header-anchor" href="#edit-skill" aria-label="Permalink to &quot;Edit Skill&quot;"></a></h3><ul><li>Use <strong>Edit</strong> on a card to update the raw <code>SKILL.md</code> content.</li><li>Editing is most useful for managed skills you own directly in Memoh.</li></ul><h3 id="delete-skill" tabindex="-1">Delete Skill <a class="header-anchor" href="#delete-skill" aria-label="Permalink to &quot;Delete Skill&quot;"></a></h3><ul><li><strong>Delete</strong> removes the managed skill directory for that skill name.</li><li>Deleting a managed skill can expose a discovered fallback source with the same name, making that fallback become <code>effective</code>.</li></ul><h3 id="disable-enable" tabindex="-1">Disable / Enable <a class="header-anchor" href="#disable-enable" aria-label="Permalink to &quot;Disable / Enable&quot;"></a></h3><ul><li><strong>Disable</strong> turns off one specific skill source without deleting it.</li><li><strong>Enable</strong> re-enables a previously disabled source.</li></ul><p>Use this when you want to test a fallback or temporarily remove a skill from the prompt without losing its content.</p><h3 id="adopt" tabindex="-1">Adopt <a class="header-anchor" href="#adopt" aria-label="Permalink to &quot;Adopt&quot;"></a></h3><p><strong>Adopt</strong> copies a discovered skill into Memoh&#39;s managed skills directory so you can own and edit it from the UI.</p><p>Use adopt when:</p><ul><li>a skill came from a legacy or compatibility source</li><li>you want that skill to become part of your Memoh-managed configuration</li><li>you want to edit it safely in the UI later</li></ul><p>Adopt is not available once a managed skill with the same name already exists.</p><hr><h2 id="effective-skills-at-runtime" tabindex="-1">Effective Skills At Runtime <a class="header-anchor" href="#effective-skills-at-runtime" aria-label="Permalink to &quot;Effective Skills At Runtime&quot;"></a></h2><p>Only <strong>effective</strong> skills are loaded into the bot runtime.</p><p>That means:</p><ul><li><code>shadowed</code> skills are visible for inspection, but not used</li><li><code>disabled</code> skills are ignored</li><li>the active prompt only sees the current effective set</li></ul><p>In active sessions, the <strong>Session Status Panel</strong> can also show which skills were used during that session.</p><hr><h2 id="supermarket-and-imported-skills" tabindex="-1">Supermarket And Imported Skills <a class="header-anchor" href="#supermarket-and-imported-skills" aria-label="Permalink to &quot;Supermarket And Imported Skills&quot;"></a></h2><p>Two common ways skills appear without being typed manually:</p><ul><li><strong>Supermarket install</strong>: Memoh downloads the selected skill into the managed skills directory, so it behaves like a normal managed skill.</li><li><strong>Imported / legacy environment</strong>: Memoh discovers existing skills from compatibility paths and shows them as discovered sources.</li></ul><p>If a discovered skill is useful but you want to fully manage it in Memoh, adopt it.</p><hr><h2 id="recommended-workflow" tabindex="-1">Recommended Workflow <a class="header-anchor" href="#recommended-workflow" aria-label="Permalink to &quot;Recommended Workflow&quot;"></a></h2><ol><li>Start with a small number of focused skills.</li><li>Prefer clear names and short descriptions.</li><li>Use <strong>Disable</strong> before <strong>Delete</strong> if you are unsure.</li><li>Use <strong>Adopt</strong> for legacy skills you plan to keep.</li><li>Install reusable skills from <strong><a href="/getting-started/supermarket.html">Supermarket</a></strong> instead of copy-pasting them repeatedly.</li></ol>`,55)])])}const p=t(s,[["render",o]]);export{k as __pageData,p as default};