Buckets:

HuggingFaceDocBuilder's picture
download
raw
27.5 kB
import{s as de,o as ce,n as N}from"../chunks/scheduler.b8c17244.js";import{S as ge,i as he,e as v,s as m,c as M,h as Me,a as b,d as s,b as d,f as ue,g as C,j as y,k as me,l as Ce,m as i,n as k,t as w,o as T,p as U}from"../chunks/index.d374165a.js";import{C as ke,H as F,E as we}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.200f62db.js";import{C as G}from"../chunks/CodeBlock.1a49eeaf.js";import{H as Ot,a as H}from"../chunks/HfOption.f3c7356c.js";function Te(J){let l,r="<thead><tr><th>Scope</th> <th>Path</th> <th>Applies to</th></tr></thead> <tbody><tr><td>Personal</td> <td><code>~/.claude/skills/&lt;name&gt;/SKILL.md</code></td> <td>All your projects</td></tr> <tr><td>Project</td> <td><code>.claude/skills/&lt;name&gt;/SKILL.md</code></td> <td>This project only</td></tr></tbody>",n,p,$="Claude Code also watches for changes — adding, editing, or removing a skill takes effect within the current session without restarting.";return{c(){l=v("table"),l.innerHTML=r,n=m(),p=v("p"),p.textContent=$},l(f){l=b(f,"TABLE",{"data-svelte-h":!0}),y(l)!=="svelte-1md3uap"&&(l.innerHTML=r),n=d(f),p=b(f,"P",{"data-svelte-h":!0}),y(p)!=="svelte-15cisux"&&(p.textContent=$)},m(f,e){i(f,l,e),i(f,n,e),i(f,p,e)},p:N,d(f){f&&(s(l),s(n),s(p))}}}function Ue(J){let l,r="<thead><tr><th>Scope</th> <th>Path</th></tr></thead> <tbody><tr><td>Repository</td> <td><code>.agents/skills/&lt;name&gt;/SKILL.md</code></td></tr> <tr><td>User</td> <td><code>~/.agents/skills/&lt;name&gt;/SKILL.md</code></td></tr> <tr><td>Admin</td> <td><code>/etc/codex/skills/&lt;name&gt;/SKILL.md</code></td></tr></tbody>",n,p,$="Codex discovers skills from all three locations; when the same skill name appears in more than one, the repository copy is used first, then the user copy, then the admin copy.";return{c(){l=v("table"),l.innerHTML=r,n=m(),p=v("p"),p.textContent=$},l(f){l=b(f,"TABLE",{"data-svelte-h":!0}),y(l)!=="svelte-18nll9t"&&(l.innerHTML=r),n=d(f),p=b(f,"P",{"data-svelte-h":!0}),y(p)!=="svelte-yrlhuc"&&(p.textContent=$)},m(f,e){i(f,l,e),i(f,n,e),i(f,p,e)},p:N,d(f){f&&(s(l),s(n),s(p))}}}function ve(J){let l,r="<strong>Project-local paths:</strong>",n,p,$="<li><code>.opencode/skills/&lt;name&gt;/SKILL.md</code></li> <li><code>.claude/skills/&lt;name&gt;/SKILL.md</code></li> <li><code>.agents/skills/&lt;name&gt;/SKILL.md</code></li>",f,e,a="<strong>Global paths:</strong>",u,x,L="<li><code>~/.config/opencode/skills/&lt;name&gt;/SKILL.md</code></li> <li><code>~/.claude/skills/&lt;name&gt;/SKILL.md</code></li> <li><code>~/.agents/skills/&lt;name&gt;/SKILL.md</code></li>",_,j,c="OpenCode walks up from the current working directory to the git root, checking each level.";return{c(){l=v("p"),l.innerHTML=r,n=m(),p=v("ul"),p.innerHTML=$,f=m(),e=v("p"),e.innerHTML=a,u=m(),x=v("ul"),x.innerHTML=L,_=m(),j=v("p"),j.textContent=c},l(g){l=b(g,"P",{"data-svelte-h":!0}),y(l)!=="svelte-5tx8hc"&&(l.innerHTML=r),n=d(g),p=b(g,"UL",{"data-svelte-h":!0}),y(p)!=="svelte-1mfq0eo"&&(p.innerHTML=$),f=d(g),e=b(g,"P",{"data-svelte-h":!0}),y(e)!=="svelte-12p7ggq"&&(e.innerHTML=a),u=d(g),x=b(g,"UL",{"data-svelte-h":!0}),y(x)!=="svelte-1bcqgso"&&(x.innerHTML=L),_=d(g),j=b(g,"P",{"data-svelte-h":!0}),y(j)!=="svelte-6g7hdd"&&(j.textContent=c)},m(g,I){i(g,l,I),i(g,n,I),i(g,p,I),i(g,f,I),i(g,e,I),i(g,u,I),i(g,x,I),i(g,_,I),i(g,j,I)},p:N,d(g){g&&(s(l),s(n),s(p),s(f),s(e),s(u),s(x),s(_),s(j))}}}function be(J){let l,r,n,p,$,f;return l=new H({props:{id:"tool",option:"Claude Code",$$slots:{default:[Te]},$$scope:{ctx:J}}}),n=new H({props:{id:"tool",option:"Codex",$$slots:{default:[Ue]},$$scope:{ctx:J}}}),$=new H({props:{id:"tool",option:"OpenCode",$$slots:{default:[ve]},$$scope:{ctx:J}}}),{c(){M(l.$$.fragment),r=m(),M(n.$$.fragment),p=m(),M($.$$.fragment)},l(e){C(l.$$.fragment,e),r=d(e),C(n.$$.fragment,e),p=d(e),C($.$$.fragment,e)},m(e,a){k(l,e,a),i(e,r,a),k(n,e,a),i(e,p,a),k($,e,a),f=!0},p(e,a){const u={};a&2&&(u.$$scope={dirty:a,ctx:e}),l.$set(u);const x={};a&2&&(x.$$scope={dirty:a,ctx:e}),n.$set(x);const L={};a&2&&(L.$$scope={dirty:a,ctx:e}),$.$set(L)},i(e){f||(w(l.$$.fragment,e),w(n.$$.fragment,e),w($.$$.fragment,e),f=!0)},o(e){T(l.$$.fragment,e),T(n.$$.fragment,e),T($.$$.fragment,e),f=!1},d(e){e&&(s(r),s(p)),U(l,e),U(n,e),U($,e)}}}function ye(J){let l,r="Skills are distributed as plugins via marketplaces. Inside a Claude Code session, add a marketplace, then install the plugin that contains the skill:",n,p,$,f,e="Use <code>/plugin</code> to browse, enable, and disable installed plugins. Plugin skills are namespaced as <code>/&lt;plugin-name&gt;:&lt;skill-name&gt;</code> (for example, <code>/hf-cli:download-model</code>) to prevent conflicts.",a;return p=new G({props:{code:"JTJGcGx1Z2luJTIwbWFya2V0cGxhY2UlMjBhZGQlMjBodWdnaW5nZmFjZSUyRnNraWxscyUwQSUyRnBsdWdpbiUyMGluc3RhbGwlMjBoZi1jbGklNDBodWdnaW5nZmFjZS1za2lsbHM=",highlighted:`/plugin marketplace add huggingface/skills
/plugin install hf-cli@huggingface-skills`,wrap:!1}}),{c(){l=v("p"),l.textContent=r,n=m(),M(p.$$.fragment),$=m(),f=v("p"),f.innerHTML=e},l(u){l=b(u,"P",{"data-svelte-h":!0}),y(l)!=="svelte-1jzdzfi"&&(l.textContent=r),n=d(u),C(p.$$.fragment,u),$=d(u),f=b(u,"P",{"data-svelte-h":!0}),y(f)!=="svelte-1wqw58o"&&(f.innerHTML=e)},m(u,x){i(u,l,x),i(u,n,x),k(p,u,x),i(u,$,x),i(u,f,x),a=!0},p:N,i(u){a||(w(p.$$.fragment,u),a=!0)},o(u){T(p.$$.fragment,u),a=!1},d(u){u&&(s(l),s(n),s($),s(f)),U(p,u)}}}function xe(J){let l,r="Use the built-in skill installer for curated skills:",n,p,$,f,e="Or, you can install the entire Hugging Face plugin:",a,u,x,L,_="Then select ‘Hugging Face’ and click ‘Install’.",j;return p=new G({props:{code:"JTI0c2tpbGwtaW5zdGFsbGVyJTIwaGYtY2xp",highlighted:"$skill-installer hf-cli",wrap:!1}}),u=new G({props:{code:"JTJGcGx1Z2lucw==",highlighted:"/plugins",wrap:!1}}),{c(){l=v("p"),l.textContent=r,n=m(),M(p.$$.fragment),$=m(),f=v("p"),f.textContent=e,a=m(),M(u.$$.fragment),x=m(),L=v("p"),L.textContent=_},l(c){l=b(c,"P",{"data-svelte-h":!0}),y(l)!=="svelte-dlumj0"&&(l.textContent=r),n=d(c),C(p.$$.fragment,c),$=d(c),f=b(c,"P",{"data-svelte-h":!0}),y(f)!=="svelte-1wn2tpu"&&(f.textContent=e),a=d(c),C(u.$$.fragment,c),x=d(c),L=b(c,"P",{"data-svelte-h":!0}),y(L)!=="svelte-30rb4r"&&(L.textContent=_)},m(c,g){i(c,l,g),i(c,n,g),k(p,c,g),i(c,$,g),i(c,f,g),i(c,a,g),k(u,c,g),i(c,x,g),i(c,L,g),j=!0},p:N,i(c){j||(w(p.$$.fragment,c),w(u.$$.fragment,c),j=!0)},o(c){T(p.$$.fragment,c),T(u.$$.fragment,c),j=!1},d(c){c&&(s(l),s(n),s($),s(f),s(a),s(x),s(L)),U(p,c),U(u,c)}}}function Je(J){let l,r="Create the skill directory in any supported location and add a <code>SKILL.md</code> file:",n,p,$,f,e="This will create the skill directory and add the <code>SKILL.md</code> file in <code>.agents/skills/hf-cli/SKILL.md</code>.",a,u,x="OpenCode discovers it automatically.",L,_,j="You can control which skills agents may use via <code>opencode.json</code>:",c,g,I;return p=new G({props:{code:"aGYlMjBza2lsbHMlMjBhZGQ=",highlighted:"hf skills add",wrap:!1}}),g=new G({props:{code:"JTdCJTBBJTIwJTIwJTIycGVybWlzc2lvbiUyMiUzQSUyMCU3QiUwQSUyMCUyMCUyMCUyMCUyMnNraWxsJTIyJTNBJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIyKiUyMiUzQSUyMCUyMmFsbG93JTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIyZXhwZXJpbWVudGFsLSolMjIlM0ElMjAlMjJhc2slMjIlMEElMjAlMjAlMjAlMjAlN0QlMEElMjAlMjAlN0QlMEElN0Q=",highlighted:`<span class="hljs-punctuation">{</span>
<span class="hljs-attr">&quot;permission&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span>
<span class="hljs-attr">&quot;skill&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span>
<span class="hljs-attr">&quot;*&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;allow&quot;</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">&quot;experimental-*&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;ask&quot;</span>
<span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">}</span>`,wrap:!1}}),{c(){l=v("p"),l.innerHTML=r,n=m(),M(p.$$.fragment),$=m(),f=v("p"),f.innerHTML=e,a=m(),u=v("p"),u.textContent=x,L=m(),_=v("p"),_.innerHTML=j,c=m(),M(g.$$.fragment)},l(h){l=b(h,"P",{"data-svelte-h":!0}),y(l)!=="svelte-3g0y7p"&&(l.innerHTML=r),n=d(h),C(p.$$.fragment,h),$=d(h),f=b(h,"P",{"data-svelte-h":!0}),y(f)!=="svelte-1ay48n7"&&(f.innerHTML=e),a=d(h),u=b(h,"P",{"data-svelte-h":!0}),y(u)!=="svelte-22q5l1"&&(u.textContent=x),L=d(h),_=b(h,"P",{"data-svelte-h":!0}),y(_)!=="svelte-ylw6vv"&&(_.innerHTML=j),c=d(h),C(g.$$.fragment,h)},m(h,S){i(h,l,S),i(h,n,S),k(p,h,S),i(h,$,S),i(h,f,S),i(h,a,S),i(h,u,S),i(h,L,S),i(h,_,S),i(h,c,S),k(g,h,S),I=!0},p:N,i(h){I||(w(p.$$.fragment,h),w(g.$$.fragment,h),I=!0)},o(h){T(p.$$.fragment,h),T(g.$$.fragment,h),I=!1},d(h){h&&(s(l),s(n),s($),s(f),s(a),s(u),s(L),s(_),s(c)),U(p,h),U(g,h)}}}function Le(J){let l,r,n,p,$,f;return l=new H({props:{id:"tool",option:"Claude Code",$$slots:{default:[ye]},$$scope:{ctx:J}}}),n=new H({props:{id:"tool",option:"Codex",$$slots:{default:[xe]},$$scope:{ctx:J}}}),$=new H({props:{id:"tool",option:"OpenCode",$$slots:{default:[Je]},$$scope:{ctx:J}}}),{c(){M(l.$$.fragment),r=m(),M(n.$$.fragment),p=m(),M($.$$.fragment)},l(e){C(l.$$.fragment,e),r=d(e),C(n.$$.fragment,e),p=d(e),C($.$$.fragment,e)},m(e,a){k(l,e,a),i(e,r,a),k(n,e,a),i(e,p,a),k($,e,a),f=!0},p(e,a){const u={};a&2&&(u.$$scope={dirty:a,ctx:e}),l.$set(u);const x={};a&2&&(x.$$scope={dirty:a,ctx:e}),n.$set(x);const L={};a&2&&(L.$$scope={dirty:a,ctx:e}),$.$set(L)},i(e){f||(w(l.$$.fragment,e),w(n.$$.fragment,e),w($.$$.fragment,e),f=!0)},o(e){T(l.$$.fragment,e),T(n.$$.fragment,e),T($.$$.fragment,e),f=!1},d(e){e&&(s(r),s(p)),U(l,e),U(n,e),U($,e)}}}function _e(J){let l,r;return l=new G({props:{code:"JTIzJTIwSW1wbGljaXQlMjAlRTIlODAlOTQlMjBDbGF1ZGUlMjBtYXRjaGVzJTIweW91ciUyMHJlcXVlc3QlMjB0byUyMHRoZSUyMHNraWxsJTIwZGVzY3JpcHRpb24lMEFEb3dubG9hZCUyMHRoZSUyMGxhdGVzdCUyMHZlcnNpb24lMjBvZiUyMG1ldGEtbGxhbWElMkZMbGFtYS00LVNjb3V0LTE3Qi0xNkUlMEElMEElMjMlMjBFeHBsaWNpdCUyMCVFMiU4MCU5NCUyMGludm9rZSUyMGElMjBwbHVnaW4lMjBza2lsbCUyMGJ5JTIwaXRzJTIwbmFtZXNwYWNlZCUyMG5hbWUlMEElMkZoZi1jbGklM0Fkb3dubG9hZC1tb2RlbA==",highlighted:`# Implicit — Claude matches your request to the skill description
Download the latest version of meta-llama/Llama-4-Scout-17B-16E
# Explicit — invoke a plugin skill by its namespaced name
/hf-cli:download-model`,wrap:!1}}),{c(){M(l.$$.fragment)},l(n){C(l.$$.fragment,n)},m(n,p){k(l,n,p),r=!0},p:N,i(n){r||(w(l.$$.fragment,n),r=!0)},o(n){T(l.$$.fragment,n),r=!1},d(n){U(l,n)}}}function je(J){let l,r;return l=new G({props:{code:"JTIzJTIwSW1wbGljaXQlMjAlRTIlODAlOTQlMjBDb2RleCUyMHNlbGVjdHMlMjBiYXNlZCUyMG9uJTIwdGFzayUyMG1hdGNoaW5nJTBBY29kZXglMjAlMjJVcGxvYWQlMjBteSUyMG1vZGVsJTIwdG8lMjB0aGUlMjBIdWIlMjIlMEElMEElMjMlMjBFeHBsaWNpdCUyMCVFMiU4MCU5NCUyMG1lbnRpb24lMjBieSUyMG5hbWUlMEElMjRoZi1jbGk=",highlighted:`<span class="hljs-comment"># Implicit — Codex selects based on task matching</span>
codex <span class="hljs-string">&quot;Upload my model to the Hub&quot;</span>
<span class="hljs-comment"># Explicit — mention by name</span>
<span class="hljs-variable">$hf</span>-cli`,wrap:!1}}),{c(){M(l.$$.fragment)},l(n){C(l.$$.fragment,n)},m(n,p){k(l,n,p),r=!0},p:N,i(n){r||(w(l.$$.fragment,n),r=!0)},o(n){T(l.$$.fragment,n),r=!1},d(n){U(l,n)}}}function Ie(J){let l,r="Agents invoke skills via the native <code>skill</code> tool by passing the skill name. OpenCode matches tasks to skills automatically based on the description in frontmatter.";return{c(){l=v("p"),l.innerHTML=r},l(n){l=b(n,"P",{"data-svelte-h":!0}),y(l)!=="svelte-1g65d7z"&&(l.innerHTML=r)},m(n,p){i(n,l,p)},p:N,d(n){n&&s(l)}}}function Se(J){let l,r,n,p,$,f;return l=new H({props:{id:"tool",option:"Claude Code",$$slots:{default:[_e]},$$scope:{ctx:J}}}),n=new H({props:{id:"tool",option:"Codex",$$slots:{default:[je]},$$scope:{ctx:J}}}),$=new H({props:{id:"tool",option:"OpenCode",$$slots:{default:[Ie]},$$scope:{ctx:J}}}),{c(){M(l.$$.fragment),r=m(),M(n.$$.fragment),p=m(),M($.$$.fragment)},l(e){C(l.$$.fragment,e),r=d(e),C(n.$$.fragment,e),p=d(e),C($.$$.fragment,e)},m(e,a){k(l,e,a),i(e,r,a),k(n,e,a),i(e,p,a),k($,e,a),f=!0},p(e,a){const u={};a&2&&(u.$$scope={dirty:a,ctx:e}),l.$set(u);const x={};a&2&&(x.$$scope={dirty:a,ctx:e}),n.$set(x);const L={};a&2&&(L.$$scope={dirty:a,ctx:e}),$.$set(L)},i(e){f||(w(l.$$.fragment,e),w(n.$$.fragment,e),w($.$$.fragment,e),f=!0)},o(e){T(l.$$.fragment,e),T(n.$$.fragment,e),T($.$$.fragment,e),f=!1},d(e){e&&(s(r),s(p)),U(l,e),U(n,e),U($,e)}}}function Ge(J){let l,r,n,p="Or check installed plugins inside a Claude Code session with:",$,f,e;return l=new G({props:{code:"bHMlMjAuY2xhdWRlJTJGc2tpbGxzJTJGaGYtY2xpJTJGU0tJTEwubWQ=",highlighted:'<span class="hljs-built_in">ls</span> .claude/skills/hf-cli/SKILL.md',wrap:!1}}),f=new G({props:{code:"JTJGcGx1Z2lu",highlighted:"/plugin",wrap:!1}}),{c(){M(l.$$.fragment),r=m(),n=v("p"),n.textContent=p,$=m(),M(f.$$.fragment)},l(a){C(l.$$.fragment,a),r=d(a),n=b(a,"P",{"data-svelte-h":!0}),y(n)!=="svelte-7xhear"&&(n.textContent=p),$=d(a),C(f.$$.fragment,a)},m(a,u){k(l,a,u),i(a,r,u),i(a,n,u),i(a,$,u),k(f,a,u),e=!0},p:N,i(a){e||(w(l.$$.fragment,a),w(f.$$.fragment,a),e=!0)},o(a){T(l.$$.fragment,a),T(f.$$.fragment,a),e=!1},d(a){a&&(s(r),s(n),s($)),U(l,a),U(f,a)}}}function He(J){let l,r;return l=new G({props:{code:"bHMlMjAuYWdlbnRzJTJGc2tpbGxzJTJGaGYtY2xpJTJGU0tJTEwubWQ=",highlighted:'<span class="hljs-built_in">ls</span> .agents/skills/hf-cli/SKILL.md',wrap:!1}}),{c(){M(l.$$.fragment)},l(n){C(l.$$.fragment,n)},m(n,p){k(l,n,p),r=!0},p:N,i(n){r||(w(l.$$.fragment,n),r=!0)},o(n){T(l.$$.fragment,n),r=!1},d(n){U(l,n)}}}function Ne(J){let l,r;return l=new G({props:{code:"bHMlMjAub3BlbmNvZGUlMkZza2lsbHMlMkZoZi1jbGklMkZTS0lMTC5tZA==",highlighted:'<span class="hljs-built_in">ls</span> .opencode/skills/hf-cli/SKILL.md',wrap:!1}}),{c(){M(l.$$.fragment)},l(n){C(l.$$.fragment,n)},m(n,p){k(l,n,p),r=!0},p:N,i(n){r||(w(l.$$.fragment,n),r=!0)},o(n){T(l.$$.fragment,n),r=!1},d(n){U(l,n)}}}function Fe(J){let l,r,n,p,$,f;return l=new H({props:{id:"tool",option:"Claude Code",$$slots:{default:[Ge]},$$scope:{ctx:J}}}),n=new H({props:{id:"tool",option:"Codex",$$slots:{default:[He]},$$scope:{ctx:J}}}),$=new H({props:{id:"tool",option:"OpenCode",$$slots:{default:[Ne]},$$scope:{ctx:J}}}),{c(){M(l.$$.fragment),r=m(),M(n.$$.fragment),p=m(),M($.$$.fragment)},l(e){C(l.$$.fragment,e),r=d(e),C(n.$$.fragment,e),p=d(e),C($.$$.fragment,e)},m(e,a){k(l,e,a),i(e,r,a),k(n,e,a),i(e,p,a),k($,e,a),f=!0},p(e,a){const u={};a&2&&(u.$$scope={dirty:a,ctx:e}),l.$set(u);const x={};a&2&&(x.$$scope={dirty:a,ctx:e}),n.$set(x);const L={};a&2&&(L.$$scope={dirty:a,ctx:e}),$.$set(L)},i(e){f||(w(l.$$.fragment,e),w(n.$$.fragment,e),w($.$$.fragment,e),f=!0)},o(e){T(l.$$.fragment,e),T(n.$$.fragment,e),T($.$$.fragment,e),f=!1},d(e){e&&(s(r),s(p)),U(l,e),U(n,e),U($,e)}}}function Ze(J){let l,r,n,p,$,f,e,a,u,x="The Agent Skills Specification keeps the SKILL.md format consistent across agents. What differs is where each agent looks for skills on disk and how you install them.",L,_,j,c,g="Each agent discovers skills from known directories. You create a skill by placing a <code>SKILL.md</code> file in a named subdirectory at one of these paths:",I,h,S,W,ct,E,Rt='We’ll use the <a href="https://github.com/huggingface/skills" rel="nofollow">hf-cli</a> skill as a real-world example. It gives agents access to the Hugging Face Hub CLI for downloading, uploading, and managing repositories.',gt,A,Yt="The Hugging Face CLI also provides a cross-agent skill installer. Use it when you want the same skill in more than one agent or want a shared install flow:",ht,V,Mt,Z,Ct,Q,kt,O,qt="Once installed, skills activate in two ways: implicitly (the agent matches your request to a skill’s description) or explicitly (you invoke a skill by name).",wt,B,Tt,R,Ut,Y,vt,q,zt="<strong>Problem</strong>: Skill is installed but the agent doesn’t use it.",bt,z,Kt="Check that the <code>description</code> field includes keywords matching your request, use terms that align with the skill’s stated purpose, or invoke the skill explicitly by name. A description like “Hugging Face Hub CLI for downloading, uploading, and managing repositories” activates on requests mentioning “upload,” “download,” or “Hugging Face,” but a vague request like “push my files somewhere” may not match.",yt,K,xt,D,Dt="The fastest way to debug a new skill is to test activation pressure directly:",Jt,X,Xt="<li>Ask for the skill with an obvious prompt that should match its description.</li> <li>Ask again with a vaguer prompt that a real user might write.</li> <li>If only the first prompt works, tighten the <code>description</code> until both prompts reliably activate the skill.</li>",Lt,tt,te="For Codex, this is exactly where <code>$skill-creator</code> helps. Feed it the skill, the prompt that failed to activate, and the behavior you wanted so it can sharpen the description without rewriting the whole skill.",_t,et,jt,lt,ee="<strong>Problem</strong>: Agent can’t locate the skill.",It,nt,le="Verify the skill is in the correct directory for your agent:",St,P,Gt,st,Ht,it,ne="<strong>Problem</strong>: Multiple skills have overlapping functionality.",Nt,at,se="Make each skill’s <code>description</code> field specific enough that the agent can distinguish between them. If two skills cover related tasks (e.g., validation and publishing), give each a clear scope in its description.",Ft,ot,Zt,pt,ie="Organize skills by domain — keep related skills together so agents can discover related functionality easily:",Bt,ft,Pt,$t,ae="Keep each skill focused on one task. If a SKILL.md exceeds 500 lines, split it into multiple skills or move reference material to supporting files in the same directory.",Wt,rt,Et,ut,oe="Next, we’ll build a skill from scratch.",At,mt,Vt,dt,Qt;return $=new ke({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),e=new F({props:{title:"Using Skills with Code Agents",local:"using-skills-with-code-agents",headingTag:"h1"}}),_=new F({props:{title:"Where Skills Live",local:"where-skills-live",headingTag:"h2"}}),h=new Ot({props:{id:"tool",options:["Claude Code","Codex","OpenCode"],$$slots:{default:[be]},$$scope:{ctx:J}}}),W=new F({props:{title:"Installing a Skill",local:"installing-a-skill",headingTag:"h2"}}),V=new G({props:{code:"JTIzJTIwUHJvamVjdC1sb2NhbCUyMGluc3RhbGwlMEFoZiUyMHNraWxscyUyMGFkZCUwQSUwQSUyMyUyMEFnZW50LXNwZWNpZmljJTIwc3ltbGlua3MlMEFoZiUyMHNraWxscyUyMGFkZCUyMC0tY2xhdWRlJTBBaGYlMjBza2lsbHMlMjBhZGQlMjAtLWNvZGV4JTIwLS1vcGVuY29kZSUyMC0tZ2xvYmFs",highlighted:`<span class="hljs-comment"># Project-local install</span>
hf skills add
<span class="hljs-comment"># Agent-specific symlinks</span>
hf skills add --claude
hf skills add --codex --opencode --global`,wrap:!1}}),Z=new Ot({props:{id:"tool",options:["Claude Code","Codex","OpenCode"],$$slots:{default:[Le]},$$scope:{ctx:J}}}),Q=new F({props:{title:"Invoking Skills",local:"invoking-skills",headingTag:"h2"}}),B=new Ot({props:{id:"tool",options:["Claude Code","Codex","OpenCode"],$$slots:{default:[Se]},$$scope:{ctx:J}}}),R=new F({props:{title:"Troubleshooting Skills",local:"troubleshooting-skills",headingTag:"h2"}}),Y=new F({props:{title:"Skill Doesn’t Activate",local:"skill-doesnt-activate",headingTag:"h3"}}),K=new F({props:{title:"Did Your Skill Fire?",local:"did-your-skill-fire",headingTag:"h2"}}),et=new F({props:{title:"Skill Not Found",local:"skill-not-found",headingTag:"h3"}}),P=new Ot({props:{id:"tool",options:["Claude Code","Codex","OpenCode"],$$slots:{default:[Fe]},$$scope:{ctx:J}}}),st=new F({props:{title:"Skill Conflicts",local:"skill-conflicts",headingTag:"h3"}}),ot=new F({props:{title:"Best Practices",local:"best-practices",headingTag:"h2"}}),ft=new G({props:{code:"LmNsYXVkZSUyRnNraWxscyUyRiUwQSVFMiU5NCU5QyVFMiU5NCU4MCVFMiU5NCU4MCUyMGhmLWNsaSUyRiUwQSVFMiU5NCU4MiUyMCUyMCUyMCVFMiU5NCU5NCVFMiU5NCU4MCVFMiU5NCU4MCUyMFNLSUxMLm1kJTBBJUUyJTk0JTlDJUUyJTk0JTgwJUUyJTk0JTgwJTIwZGF0YXNldC12YWxpZGF0aW9uJTJGJTBBJUUyJTk0JTgyJTIwJTIwJTIwJUUyJTk0JTk0JUUyJTk0JTgwJUUyJTk0JTgwJTIwU0tJTEwubWQlMEElRTIlOTQlOUMlRTIlOTQlODAlRTIlOTQlODAlMjBtb2RlbC10cmFpbmluZyUyRiUwQSVFMiU5NCU4MiUyMCUyMCUyMCVFMiU5NCU5NCVFMiU5NCU4MCVFMiU5NCU4MCUyMFNLSUxMLm1kJTBBJUUyJTk0JTk0JUUyJTk0JTgwJUUyJTk0JTgwJTIwbW9kZWwtZXZhbHVhdGlvbiUyRiUwQSUyMCUyMCUyMCUyMCVFMiU5NCU5NCVFMiU5NCU4MCVFMiU5NCU4MCUyMFNLSUxMLm1k",highlighted:`.claude/skills/
├── hf-cli/
│ └── SKILL.md
├── dataset-validation/
│ └── SKILL.md
├── model-training/
│ └── SKILL.md
└── model-evaluation/
└── SKILL.md`,wrap:!1}}),rt=new F({props:{title:"Next Steps",local:"next-steps",headingTag:"h2"}}),mt=new we({props:{source:"https://github.com/huggingface/context-course/blob/main/units/en/unit1/using-skills.mdx"}}),{c(){l=v("meta"),r=m(),n=v("p"),p=m(),M($.$$.fragment),f=m(),M(e.$$.fragment),a=m(),u=v("p"),u.textContent=x,L=m(),M(_.$$.fragment),j=m(),c=v("p"),c.innerHTML=g,I=m(),M(h.$$.fragment),S=m(),M(W.$$.fragment),ct=m(),E=v("p"),E.innerHTML=Rt,gt=m(),A=v("p"),A.textContent=Yt,ht=m(),M(V.$$.fragment),Mt=m(),M(Z.$$.fragment),Ct=m(),M(Q.$$.fragment),kt=m(),O=v("p"),O.textContent=qt,wt=m(),M(B.$$.fragment),Tt=m(),M(R.$$.fragment),Ut=m(),M(Y.$$.fragment),vt=m(),q=v("p"),q.innerHTML=zt,bt=m(),z=v("p"),z.innerHTML=Kt,yt=m(),M(K.$$.fragment),xt=m(),D=v("p"),D.textContent=Dt,Jt=m(),X=v("ol"),X.innerHTML=Xt,Lt=m(),tt=v("p"),tt.innerHTML=te,_t=m(),M(et.$$.fragment),jt=m(),lt=v("p"),lt.innerHTML=ee,It=m(),nt=v("p"),nt.textContent=le,St=m(),M(P.$$.fragment),Gt=m(),M(st.$$.fragment),Ht=m(),it=v("p"),it.innerHTML=ne,Nt=m(),at=v("p"),at.innerHTML=se,Ft=m(),M(ot.$$.fragment),Zt=m(),pt=v("p"),pt.textContent=ie,Bt=m(),M(ft.$$.fragment),Pt=m(),$t=v("p"),$t.textContent=ae,Wt=m(),M(rt.$$.fragment),Et=m(),ut=v("p"),ut.textContent=oe,At=m(),M(mt.$$.fragment),Vt=m(),dt=v("p"),this.h()},l(t){const o=Me("svelte-u9bgzb",document.head);l=b(o,"META",{name:!0,content:!0}),o.forEach(s),r=d(t),n=b(t,"P",{}),ue(n).forEach(s),p=d(t),C($.$$.fragment,t),f=d(t),C(e.$$.fragment,t),a=d(t),u=b(t,"P",{"data-svelte-h":!0}),y(u)!=="svelte-1ekh7ju"&&(u.textContent=x),L=d(t),C(_.$$.fragment,t),j=d(t),c=b(t,"P",{"data-svelte-h":!0}),y(c)!=="svelte-16taqtn"&&(c.innerHTML=g),I=d(t),C(h.$$.fragment,t),S=d(t),C(W.$$.fragment,t),ct=d(t),E=b(t,"P",{"data-svelte-h":!0}),y(E)!=="svelte-fsowt0"&&(E.innerHTML=Rt),gt=d(t),A=b(t,"P",{"data-svelte-h":!0}),y(A)!=="svelte-fv00f3"&&(A.textContent=Yt),ht=d(t),C(V.$$.fragment,t),Mt=d(t),C(Z.$$.fragment,t),Ct=d(t),C(Q.$$.fragment,t),kt=d(t),O=b(t,"P",{"data-svelte-h":!0}),y(O)!=="svelte-1alhwdw"&&(O.textContent=qt),wt=d(t),C(B.$$.fragment,t),Tt=d(t),C(R.$$.fragment,t),Ut=d(t),C(Y.$$.fragment,t),vt=d(t),q=b(t,"P",{"data-svelte-h":!0}),y(q)!=="svelte-pyclsq"&&(q.innerHTML=zt),bt=d(t),z=b(t,"P",{"data-svelte-h":!0}),y(z)!=="svelte-1wkei5n"&&(z.innerHTML=Kt),yt=d(t),C(K.$$.fragment,t),xt=d(t),D=b(t,"P",{"data-svelte-h":!0}),y(D)!=="svelte-1g6j854"&&(D.textContent=Dt),Jt=d(t),X=b(t,"OL",{"data-svelte-h":!0}),y(X)!=="svelte-1e0v61b"&&(X.innerHTML=Xt),Lt=d(t),tt=b(t,"P",{"data-svelte-h":!0}),y(tt)!=="svelte-3l9mm3"&&(tt.innerHTML=te),_t=d(t),C(et.$$.fragment,t),jt=d(t),lt=b(t,"P",{"data-svelte-h":!0}),y(lt)!=="svelte-1vo0vc0"&&(lt.innerHTML=ee),It=d(t),nt=b(t,"P",{"data-svelte-h":!0}),y(nt)!=="svelte-1jfghtn"&&(nt.textContent=le),St=d(t),C(P.$$.fragment,t),Gt=d(t),C(st.$$.fragment,t),Ht=d(t),it=b(t,"P",{"data-svelte-h":!0}),y(it)!=="svelte-ad51m6"&&(it.innerHTML=ne),Nt=d(t),at=b(t,"P",{"data-svelte-h":!0}),y(at)!=="svelte-ija8sj"&&(at.innerHTML=se),Ft=d(t),C(ot.$$.fragment,t),Zt=d(t),pt=b(t,"P",{"data-svelte-h":!0}),y(pt)!=="svelte-xtsj5k"&&(pt.textContent=ie),Bt=d(t),C(ft.$$.fragment,t),Pt=d(t),$t=b(t,"P",{"data-svelte-h":!0}),y($t)!=="svelte-1dbx64s"&&($t.textContent=ae),Wt=d(t),C(rt.$$.fragment,t),Et=d(t),ut=b(t,"P",{"data-svelte-h":!0}),y(ut)!=="svelte-z1irxy"&&(ut.textContent=oe),At=d(t),C(mt.$$.fragment,t),Vt=d(t),dt=b(t,"P",{}),ue(dt).forEach(s),this.h()},h(){me(l,"name","hf:doc:metadata"),me(l,"content",Be)},m(t,o){Ce(document.head,l),i(t,r,o),i(t,n,o),i(t,p,o),k($,t,o),i(t,f,o),k(e,t,o),i(t,a,o),i(t,u,o),i(t,L,o),k(_,t,o),i(t,j,o),i(t,c,o),i(t,I,o),k(h,t,o),i(t,S,o),k(W,t,o),i(t,ct,o),i(t,E,o),i(t,gt,o),i(t,A,o),i(t,ht,o),k(V,t,o),i(t,Mt,o),k(Z,t,o),i(t,Ct,o),k(Q,t,o),i(t,kt,o),i(t,O,o),i(t,wt,o),k(B,t,o),i(t,Tt,o),k(R,t,o),i(t,Ut,o),k(Y,t,o),i(t,vt,o),i(t,q,o),i(t,bt,o),i(t,z,o),i(t,yt,o),k(K,t,o),i(t,xt,o),i(t,D,o),i(t,Jt,o),i(t,X,o),i(t,Lt,o),i(t,tt,o),i(t,_t,o),k(et,t,o),i(t,jt,o),i(t,lt,o),i(t,It,o),i(t,nt,o),i(t,St,o),k(P,t,o),i(t,Gt,o),k(st,t,o),i(t,Ht,o),i(t,it,o),i(t,Nt,o),i(t,at,o),i(t,Ft,o),k(ot,t,o),i(t,Zt,o),i(t,pt,o),i(t,Bt,o),k(ft,t,o),i(t,Pt,o),i(t,$t,o),i(t,Wt,o),k(rt,t,o),i(t,Et,o),i(t,ut,o),i(t,At,o),k(mt,t,o),i(t,Vt,o),i(t,dt,o),Qt=!0},p(t,[o]){const pe={};o&2&&(pe.$$scope={dirty:o,ctx:t}),h.$set(pe);const fe={};o&2&&(fe.$$scope={dirty:o,ctx:t}),Z.$set(fe);const $e={};o&2&&($e.$$scope={dirty:o,ctx:t}),B.$set($e);const re={};o&2&&(re.$$scope={dirty:o,ctx:t}),P.$set(re)},i(t){Qt||(w($.$$.fragment,t),w(e.$$.fragment,t),w(_.$$.fragment,t),w(h.$$.fragment,t),w(W.$$.fragment,t),w(V.$$.fragment,t),w(Z.$$.fragment,t),w(Q.$$.fragment,t),w(B.$$.fragment,t),w(R.$$.fragment,t),w(Y.$$.fragment,t),w(K.$$.fragment,t),w(et.$$.fragment,t),w(P.$$.fragment,t),w(st.$$.fragment,t),w(ot.$$.fragment,t),w(ft.$$.fragment,t),w(rt.$$.fragment,t),w(mt.$$.fragment,t),Qt=!0)},o(t){T($.$$.fragment,t),T(e.$$.fragment,t),T(_.$$.fragment,t),T(h.$$.fragment,t),T(W.$$.fragment,t),T(V.$$.fragment,t),T(Z.$$.fragment,t),T(Q.$$.fragment,t),T(B.$$.fragment,t),T(R.$$.fragment,t),T(Y.$$.fragment,t),T(K.$$.fragment,t),T(et.$$.fragment,t),T(P.$$.fragment,t),T(st.$$.fragment,t),T(ot.$$.fragment,t),T(ft.$$.fragment,t),T(rt.$$.fragment,t),T(mt.$$.fragment,t),Qt=!1},d(t){t&&(s(r),s(n),s(p),s(f),s(a),s(u),s(L),s(j),s(c),s(I),s(S),s(ct),s(E),s(gt),s(A),s(ht),s(Mt),s(Ct),s(kt),s(O),s(wt),s(Tt),s(Ut),s(vt),s(q),s(bt),s(z),s(yt),s(xt),s(D),s(Jt),s(X),s(Lt),s(tt),s(_t),s(jt),s(lt),s(It),s(nt),s(St),s(Gt),s(Ht),s(it),s(Nt),s(at),s(Ft),s(Zt),s(pt),s(Bt),s(Pt),s($t),s(Wt),s(Et),s(ut),s(At),s(Vt),s(dt)),s(l),U($,t),U(e,t),U(_,t),U(h,t),U(W,t),U(V,t),U(Z,t),U(Q,t),U(B,t),U(R,t),U(Y,t),U(K,t),U(et,t),U(P,t),U(st,t),U(ot,t),U(ft,t),U(rt,t),U(mt,t)}}}const Be='{"title":"Using Skills with Code Agents","local":"using-skills-with-code-agents","sections":[{"title":"Where Skills Live","local":"where-skills-live","sections":[],"depth":2},{"title":"Installing a Skill","local":"installing-a-skill","sections":[],"depth":2},{"title":"Invoking Skills","local":"invoking-skills","sections":[],"depth":2},{"title":"Troubleshooting Skills","local":"troubleshooting-skills","sections":[{"title":"Skill Doesn’t Activate","local":"skill-doesnt-activate","sections":[],"depth":3}],"depth":2},{"title":"Did Your Skill Fire?","local":"did-your-skill-fire","sections":[{"title":"Skill Not Found","local":"skill-not-found","sections":[],"depth":3},{"title":"Skill Conflicts","local":"skill-conflicts","sections":[],"depth":3}],"depth":2},{"title":"Best Practices","local":"best-practices","sections":[],"depth":2},{"title":"Next Steps","local":"next-steps","sections":[],"depth":2}],"depth":1}';function Pe(J){return ce(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Oe extends ge{constructor(l){super(),he(this,l,Pe,Ze,de,{})}}export{Oe as component};

Xet Storage Details

Size:
27.5 kB
·
Xet hash:
592c5cd88e277cca529178375836aaa129cab0a7b549b345fbd3c8696fe22e7b

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.