Buckets:
| import{s as Je,n as Xe,o as Ze}from"../chunks/scheduler.b8c17244.js";import{S as et,i as tt,e as a,s,c as o,h as it,a as r,d as i,b as l,f as Be,g as u,j as m,k as Ge,l as nt,m as n,n as p,t as c,o as f,p as d}from"../chunks/index.d374165a.js";import{C as st,H as h,E as lt}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.8f6ea2ad.js";import{Q as G}from"../chunks/Question.b45f7d7c.js";function at(ze){let g,J,V,X,$,Z,x,ee,v,Ie="Test your understanding of how to build, test, and use skills following the Agent Skills Specification. Answer all 5 questions.",te,y,ie,w,Me="You’re building a dataset validation skill. What should your directory structure look like according to the Agent Skills Specification?",ne,k,se,b,le,C,Ne="What are the only required frontmatter fields in a SKILL.md file according to the Agent Skills Specification?",ae,S,re,q,oe,L,Qe="After building your skill locally, what’s the best next step to validate it?",ue,T,pe,_,ce,P,Re="How should you divide content between SKILL.md instructions and helper scripts?",fe,H,de,A,me,z,Ee="When a skill doesn’t activate reliably, what should you do first?",ge,I,he,$e,xe,M,ve,N,Ue="Count your correct answers:",ye,Q,We="<li><strong>5/5</strong>: Excellent! You understand skill development and the Agent Skills Specification. You’re ready to build skills.</li> <li><strong>4/5</strong>: Good understanding. Review the question you missed before moving forward.</li> <li><strong>3/5 or less</strong>: Review the building and usage lessons before proceeding.</li>",we,R,ke,E,Ye="You’ve completed Quiz 2! You now understand:",be,U,Ke="<li>How to organize skills following the Agent Skills Specification</li> <li>Which frontmatter fields are required vs. optional</li> <li>How to validate a skill locally with a real agent</li> <li>How to divide content between instructions and executable scripts</li> <li>How to debug activation when a skill doesn’t fire</li>",Ce,W,je="These are the core skills for building and maintaining quality agent skills.",Se,Y,qe,K,Fe="You’ve completed Unit 1: Agent Skills! You can now:",Le,j,Oe="<li>Build skills following the Agent Skills Specification</li> <li>Use skills with Claude Code, Codex, and other agents</li> <li>Validate skills in a real project</li> <li>Write clear instructions and helper scripts</li>",Te,F,De="Next, we move to <strong>Unit 2: Model Context Protocol (MCP)</strong>, where you’ll learn how to integrate external tools and APIs with your code agents.",_e,O,Ve="Ready to dive into MCPs?",Pe,D,He,B,Ae;return $=new st({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),x=new h({props:{title:"Quiz 2: Building and Using Skills",local:"quiz-2-building-and-using-skills",headingTag:"h1"}}),y=new h({props:{title:"Question 1: Skill Directory Structure",local:"question-1-skill-directory-structure",headingTag:"h2"}}),k=new G({props:{choices:[{text:"Just a single SKILL.md file in your project root",explain:"While technically possible, this doesn't follow the specification. The spec defines a structured layout with optional scripts/, references/, and assets/ directories for organization and clarity.",correct:!1},{text:"SKILL.md in root, scripts/ for helper code, references/ for documentation, assets/ for templates",explain:"Correct! This follows the Agent Skills Specification exactly. SKILL.md is required at the root; scripts/, references/, and assets/ are optional but recommended for organization.",correct:!0},{text:"Everything in a scripts/ folder with SKILL.md inside it",explain:"No, SKILL.md must be at the root so agents can discover it immediately. Helper scripts go in scripts/ but the main file is at the root.",correct:!1},{text:"Organize folders by agent type (claude/, codex/, opencode/)",explain:"No, the specification is agent-agnostic. Skills use a single format that works across all supporting agents. No agent-specific organization is needed.",correct:!1}]}}),b=new h({props:{title:"Question 2: Required Frontmatter Fields",local:"question-2-required-frontmatter-fields",headingTag:"h2"}}),S=new G({props:{choices:[{text:"name, description, version, and license",explain:"While useful, version and license are optional. Only two fields are required: name and description. These ensure agents can discover and understand the skill.",correct:!1},{text:"name and description",explain:"Correct! The specification requires exactly these two fields. Name identifies the skill; description explains what it does and when to use it. All other fields are optional.",correct:!0},{text:"All metadata fields (name, version, author, etc.)",explain:"No, many metadata fields are optional. Only name and description are required by the specification.",correct:!1},{text:"At least 5 fields including metadata and compatibility",explain:"No, the spec is minimal. Only name and description are required. Other fields like license, compatibility, and metadata are optional.",correct:!1}]}}),q=new h({props:{title:"Question 3: Validating Your Skill Locally",local:"question-3-validating-your-skill-locally",headingTag:"h2"}}),T=new G({props:{choices:[{text:"Symlink it into your agent's skill directory, start the agent, and test with realistic prompts",explain:"Correct! The first thing that matters is whether the agent can discover and activate the skill in a real workflow. Local install plus realistic prompts catches trigger and usability problems early.",correct:!0},{text:"Wait until the skill is shared more broadly before you test it with an agent",explain:"No. Validate the skill locally first so you can fix activation issues, missing files, and weak instructions before anyone else depends on it.",correct:!1},{text:"Run only the helper scripts and skip agent testing",explain:"Helper scripts matter, but they are not enough. A skill can have correct scripts and still fail because the description doesn't trigger or the instructions are unclear.",correct:!1},{text:"Read the SKILL.md manually and assume the agent will behave the same way",explain:"No. Manual review helps, but the real test is whether the agent discovers and uses the skill correctly inside a live session.",correct:!1}]}}),_=new h({props:{title:"Question 4: Helper Scripts vs. Instructions",local:"question-4-helper-scripts-vs-instructions",headingTag:"h2"}}),H=new G({props:{choices:[{text:"Instructions contain all executable code; scripts are just for reference examples",explain:"No, it's the opposite. Instructions teach the strategy and steps; scripts contain actual, executable code agents run.",correct:!1},{text:"Instructions explain what to do and why; scripts contain runnable code agents can actually execute",explain:"Exactly right! Instructions provide strategy and guidance; scripts provide implementation. This separation makes skills teach and executable.",correct:!0},{text:"Everything goes in scripts; instructions are summaries of script functions",explain:"No, instructions are critical for teaching. Without clear instructions, users don't understand when, why, or how to use the scripts.",correct:!1},{text:"It depends on the skill; the specification doesn't define this",explain:"The specification and best practices do define this: instructions teach, scripts implement. This pattern is standard across skills.",correct:!1}]}}),A=new h({props:{title:"Question 5: Activation Debugging",local:"question-5-activation-debugging",headingTag:"h2"}}),I=new G({props:{choices:[{text:"Add more helper scripts immediately, even if the trigger description is vague",explain:"No. If the agent isn't activating the skill, the first problem is usually the triggering description or the examples, not missing helper code.",correct:!1},{text:"Tighten the description and retest with both obvious and vague prompts",explain:"Correct! Reliable activation comes from a clear description plus realistic prompt testing. Fix the trigger before adding more complexity.",correct:!0},{text:"Rename the skill folder without changing the description",explain:"No. Folder names matter for organization, but activation usually depends on the description and examples the agent matches against.",correct:!1},{text:"Turn the skill back into a long one-off prompt for every conversation",explain:"No. That throws away the reuse and progressive disclosure benefits skills are meant to provide.",correct:!1}]}}),M=new h({props:{title:"Scoring",local:"scoring",headingTag:"h2"}}),R=new h({props:{title:"Summary",local:"summary",headingTag:"h2"}}),Y=new h({props:{title:"Next Steps",local:"next-steps",headingTag:"h2"}}),D=new lt({props:{source:"https://github.com/huggingface/context-course/blob/main/units/en/unit1/quiz2.mdx"}}),{c(){g=a("meta"),J=s(),V=a("p"),X=s(),o($.$$.fragment),Z=s(),o(x.$$.fragment),ee=s(),v=a("p"),v.textContent=Ie,te=s(),o(y.$$.fragment),ie=s(),w=a("p"),w.textContent=Me,ne=s(),o(k.$$.fragment),se=s(),o(b.$$.fragment),le=s(),C=a("p"),C.textContent=Ne,ae=s(),o(S.$$.fragment),re=s(),o(q.$$.fragment),oe=s(),L=a("p"),L.textContent=Qe,ue=s(),o(T.$$.fragment),pe=s(),o(_.$$.fragment),ce=s(),P=a("p"),P.textContent=Re,fe=s(),o(H.$$.fragment),de=s(),o(A.$$.fragment),me=s(),z=a("p"),z.textContent=Ee,ge=s(),o(I.$$.fragment),he=s(),$e=a("hr"),xe=s(),o(M.$$.fragment),ve=s(),N=a("p"),N.textContent=Ue,ye=s(),Q=a("ul"),Q.innerHTML=We,we=s(),o(R.$$.fragment),ke=s(),E=a("p"),E.textContent=Ye,be=s(),U=a("ul"),U.innerHTML=Ke,Ce=s(),W=a("p"),W.textContent=je,Se=s(),o(Y.$$.fragment),qe=s(),K=a("p"),K.textContent=Fe,Le=s(),j=a("ul"),j.innerHTML=Oe,Te=s(),F=a("p"),F.innerHTML=De,_e=s(),O=a("p"),O.textContent=Ve,Pe=s(),o(D.$$.fragment),He=s(),B=a("p"),this.h()},l(e){const t=it("svelte-u9bgzb",document.head);g=r(t,"META",{name:!0,content:!0}),t.forEach(i),J=l(e),V=r(e,"P",{}),Be(V).forEach(i),X=l(e),u($.$$.fragment,e),Z=l(e),u(x.$$.fragment,e),ee=l(e),v=r(e,"P",{"data-svelte-h":!0}),m(v)!=="svelte-3vkmyg"&&(v.textContent=Ie),te=l(e),u(y.$$.fragment,e),ie=l(e),w=r(e,"P",{"data-svelte-h":!0}),m(w)!=="svelte-fvaum9"&&(w.textContent=Me),ne=l(e),u(k.$$.fragment,e),se=l(e),u(b.$$.fragment,e),le=l(e),C=r(e,"P",{"data-svelte-h":!0}),m(C)!=="svelte-1g7jzfm"&&(C.textContent=Ne),ae=l(e),u(S.$$.fragment,e),re=l(e),u(q.$$.fragment,e),oe=l(e),L=r(e,"P",{"data-svelte-h":!0}),m(L)!=="svelte-wuulpp"&&(L.textContent=Qe),ue=l(e),u(T.$$.fragment,e),pe=l(e),u(_.$$.fragment,e),ce=l(e),P=r(e,"P",{"data-svelte-h":!0}),m(P)!=="svelte-r1at0z"&&(P.textContent=Re),fe=l(e),u(H.$$.fragment,e),de=l(e),u(A.$$.fragment,e),me=l(e),z=r(e,"P",{"data-svelte-h":!0}),m(z)!=="svelte-1j1w8kf"&&(z.textContent=Ee),ge=l(e),u(I.$$.fragment,e),he=l(e),$e=r(e,"HR",{}),xe=l(e),u(M.$$.fragment,e),ve=l(e),N=r(e,"P",{"data-svelte-h":!0}),m(N)!=="svelte-1f1pbmf"&&(N.textContent=Ue),ye=l(e),Q=r(e,"UL",{"data-svelte-h":!0}),m(Q)!=="svelte-4ytzhs"&&(Q.innerHTML=We),we=l(e),u(R.$$.fragment,e),ke=l(e),E=r(e,"P",{"data-svelte-h":!0}),m(E)!=="svelte-nw1ced"&&(E.textContent=Ye),be=l(e),U=r(e,"UL",{"data-svelte-h":!0}),m(U)!=="svelte-kef35r"&&(U.innerHTML=Ke),Ce=l(e),W=r(e,"P",{"data-svelte-h":!0}),m(W)!=="svelte-bgliv4"&&(W.textContent=je),Se=l(e),u(Y.$$.fragment,e),qe=l(e),K=r(e,"P",{"data-svelte-h":!0}),m(K)!=="svelte-n3reow"&&(K.textContent=Fe),Le=l(e),j=r(e,"UL",{"data-svelte-h":!0}),m(j)!=="svelte-1tthac7"&&(j.innerHTML=Oe),Te=l(e),F=r(e,"P",{"data-svelte-h":!0}),m(F)!=="svelte-7eo3no"&&(F.innerHTML=De),_e=l(e),O=r(e,"P",{"data-svelte-h":!0}),m(O)!=="svelte-16eo0b2"&&(O.textContent=Ve),Pe=l(e),u(D.$$.fragment,e),He=l(e),B=r(e,"P",{}),Be(B).forEach(i),this.h()},h(){Ge(g,"name","hf:doc:metadata"),Ge(g,"content",rt)},m(e,t){nt(document.head,g),n(e,J,t),n(e,V,t),n(e,X,t),p($,e,t),n(e,Z,t),p(x,e,t),n(e,ee,t),n(e,v,t),n(e,te,t),p(y,e,t),n(e,ie,t),n(e,w,t),n(e,ne,t),p(k,e,t),n(e,se,t),p(b,e,t),n(e,le,t),n(e,C,t),n(e,ae,t),p(S,e,t),n(e,re,t),p(q,e,t),n(e,oe,t),n(e,L,t),n(e,ue,t),p(T,e,t),n(e,pe,t),p(_,e,t),n(e,ce,t),n(e,P,t),n(e,fe,t),p(H,e,t),n(e,de,t),p(A,e,t),n(e,me,t),n(e,z,t),n(e,ge,t),p(I,e,t),n(e,he,t),n(e,$e,t),n(e,xe,t),p(M,e,t),n(e,ve,t),n(e,N,t),n(e,ye,t),n(e,Q,t),n(e,we,t),p(R,e,t),n(e,ke,t),n(e,E,t),n(e,be,t),n(e,U,t),n(e,Ce,t),n(e,W,t),n(e,Se,t),p(Y,e,t),n(e,qe,t),n(e,K,t),n(e,Le,t),n(e,j,t),n(e,Te,t),n(e,F,t),n(e,_e,t),n(e,O,t),n(e,Pe,t),p(D,e,t),n(e,He,t),n(e,B,t),Ae=!0},p:Xe,i(e){Ae||(c($.$$.fragment,e),c(x.$$.fragment,e),c(y.$$.fragment,e),c(k.$$.fragment,e),c(b.$$.fragment,e),c(S.$$.fragment,e),c(q.$$.fragment,e),c(T.$$.fragment,e),c(_.$$.fragment,e),c(H.$$.fragment,e),c(A.$$.fragment,e),c(I.$$.fragment,e),c(M.$$.fragment,e),c(R.$$.fragment,e),c(Y.$$.fragment,e),c(D.$$.fragment,e),Ae=!0)},o(e){f($.$$.fragment,e),f(x.$$.fragment,e),f(y.$$.fragment,e),f(k.$$.fragment,e),f(b.$$.fragment,e),f(S.$$.fragment,e),f(q.$$.fragment,e),f(T.$$.fragment,e),f(_.$$.fragment,e),f(H.$$.fragment,e),f(A.$$.fragment,e),f(I.$$.fragment,e),f(M.$$.fragment,e),f(R.$$.fragment,e),f(Y.$$.fragment,e),f(D.$$.fragment,e),Ae=!1},d(e){e&&(i(J),i(V),i(X),i(Z),i(ee),i(v),i(te),i(ie),i(w),i(ne),i(se),i(le),i(C),i(ae),i(re),i(oe),i(L),i(ue),i(pe),i(ce),i(P),i(fe),i(de),i(me),i(z),i(ge),i(he),i($e),i(xe),i(ve),i(N),i(ye),i(Q),i(we),i(ke),i(E),i(be),i(U),i(Ce),i(W),i(Se),i(qe),i(K),i(Le),i(j),i(Te),i(F),i(_e),i(O),i(Pe),i(He),i(B)),i(g),d($,e),d(x,e),d(y,e),d(k,e),d(b,e),d(S,e),d(q,e),d(T,e),d(_,e),d(H,e),d(A,e),d(I,e),d(M,e),d(R,e),d(Y,e),d(D,e)}}}const rt='{"title":"Quiz 2: Building and Using Skills","local":"quiz-2-building-and-using-skills","sections":[{"title":"Question 1: Skill Directory Structure","local":"question-1-skill-directory-structure","sections":[],"depth":2},{"title":"Question 2: Required Frontmatter Fields","local":"question-2-required-frontmatter-fields","sections":[],"depth":2},{"title":"Question 3: Validating Your Skill Locally","local":"question-3-validating-your-skill-locally","sections":[],"depth":2},{"title":"Question 4: Helper Scripts vs. Instructions","local":"question-4-helper-scripts-vs-instructions","sections":[],"depth":2},{"title":"Question 5: Activation Debugging","local":"question-5-activation-debugging","sections":[],"depth":2},{"title":"Scoring","local":"scoring","sections":[],"depth":2},{"title":"Summary","local":"summary","sections":[],"depth":2},{"title":"Next Steps","local":"next-steps","sections":[],"depth":2}],"depth":1}';function ot(ze){return Ze(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class dt extends et{constructor(g){super(),tt(this,g,ot,at,Je,{})}}export{dt as component}; | |
Xet Storage Details
- Size:
- 14.5 kB
- Xet hash:
- b849c925ed6373faaa52103e874275f6c769935af710cfbca8cc2e43d2bc2386
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.