mirror of
https://github.com/memohai/Memoh.git
synced 2026-04-25 07:00:48 +09:00
9 lines
10 KiB
JavaScript
9 lines
10 KiB
JavaScript
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 "Bot Skills""></a></h1><p>Skills are reusable prompt modules that extend a bot's behavior, style, and tool-usage guidance. You manage them from the bot'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 "What A Skill Looks Like""></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 "Where Skills Come From""></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/<name>/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 "Skill States""></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 "Typical Examples""></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 "Managing Skills In The UI""></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 "Add Skill""></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 "Edit Skill""></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 "Delete Skill""></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 "Disable / Enable""></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 "Adopt""></a></h3><p><strong>Adopt</strong> copies a discovered skill into Memoh'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 "Effective Skills At Runtime""></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 "Supermarket And Imported Skills""></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 "Recommended Workflow""></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};
|