chore: publish 79920c9

Built from main 79920c9e6c
feat: give the chapters motion, diagrams, and retrieval practice
This commit is contained in:
Marcos Paulo
2026-09-06 16:26:38 -03:00
parent 7ec41b8cf5
commit 2cda37b553
25 changed files with 72 additions and 28 deletions
+25 -4
View File
@@ -1,13 +1,29 @@
<!DOCTYPE html><html lang="en"> <head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>AI For Dummies — Skills</title><meta name="description" content="A skill changes behavior. Keep the trigger precise, put the workflow in SKILL.md, and move conditional facts, scripts, and examples into focused files."><link rel="stylesheet" href="/ai-for-dummies/_astro/tokens.CVOStimI.css"><link rel="stylesheet" href="/ai-for-dummies/fonts/fonts.css"><link rel="stylesheet" href="/ai-for-dummies/_astro/base.Dfo_cwQJ.css"><link rel="stylesheet" href="/ai-for-dummies/_astro/chapters.Bvwgp4pJ.css"><style>.package-workbench[data-astro-cid-xk5n4466]{display:grid;grid-template-columns:minmax(190px,.85fr) minmax(0,1.3fr);min-width:0;background:var(--ink);border:1px solid var(--ink);box-shadow:10px 10px color-mix(in srgb,var(--gold) 55%,transparent)}.package-tree[data-astro-cid-xk5n4466]{padding:22px 16px;border-right:1px solid var(--muted);min-width:0}.package-tree[data-astro-cid-xk5n4466]>p[data-astro-cid-xk5n4466],.package-preview[data-astro-cid-xk5n4466]>span[data-astro-cid-xk5n4466]{margin:0 0 14px;color:var(--gold);font:700 var(--step-0) / 1.35 var(--font-mono);letter-spacing:.1em}.package-tree[data-astro-cid-xk5n4466] button[data-astro-cid-xk5n4466]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;padding:12px 8px;border:0;border-left:2px solid transparent;background:transparent;color:var(--line);text-align:left;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.package-tree[data-astro-cid-xk5n4466] button[data-astro-cid-xk5n4466]:hover,.package-tree[data-astro-cid-xk5n4466] button[data-astro-cid-xk5n4466]:focus-visible,.package-tree[data-astro-cid-xk5n4466] button[data-astro-cid-xk5n4466].active{border-left-color:var(--gold);background:var(--blue);outline:0}.package-tree[data-astro-cid-xk5n4466] button[data-astro-cid-xk5n4466]:hover{transform:translate(3px)}.package-tree[data-astro-cid-xk5n4466] code[data-astro-cid-xk5n4466]{min-width:0;overflow-wrap:anywhere;font:700 var(--step-13) / 1.4 var(--font-mono)}.package-tree[data-astro-cid-xk5n4466] small[data-astro-cid-xk5n4466]{color:var(--muted);font:var(--step-0) / 1.25 var(--font-sans);text-align:right}.package-preview[data-astro-cid-xk5n4466]{min-width:0;padding:26px;background:var(--ink);color:var(--paper)}.package-preview[data-astro-cid-xk5n4466] h3[data-astro-cid-xk5n4466]{margin:0 0 8px;font-size:clamp(24px,3vw,38px);line-height:1.02;letter-spacing:-.045em}.package-preview[data-astro-cid-xk5n4466] p[data-astro-cid-xk5n4466]{max-width:52ch;margin:0;color:var(--line)}.package-preview[data-astro-cid-xk5n4466] pre[data-astro-cid-xk5n4466]{max-width:100%;margin:20px 0 0;padding:15px;overflow:auto;border:1px solid var(--muted);background:var(--deep);color:var(--line);font:var(--step-12) / 1.55 var(--font-mono)}.package-preview[data-astro-cid-xk5n4466].is-swapping{animation:package-preview-in .2s cubic-bezier(.2,0,0,1) both}@keyframes package-preview-in{0%{opacity:.25;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(max-width:800px){.package-workbench[data-astro-cid-xk5n4466]{grid-template-columns:1fr}.package-tree[data-astro-cid-xk5n4466]{border-right:0;border-bottom:1px solid var(--muted)}.package-preview[data-astro-cid-xk5n4466]{padding:22px}}@media(max-width:560px){.package-tree[data-astro-cid-xk5n4466]{padding:18px 10px}.package-tree[data-astro-cid-xk5n4466] button[data-astro-cid-xk5n4466]{padding:12px 6px}.package-tree[data-astro-cid-xk5n4466] small[data-astro-cid-xk5n4466]{display:none}.package-preview[data-astro-cid-xk5n4466]{padding:18px}.package-preview[data-astro-cid-xk5n4466] pre[data-astro-cid-xk5n4466]{font-size:var(--step-0)}}@media(prefers-reduced-motion:reduce){[data-astro-cid-xk5n4466],[data-astro-cid-xk5n4466]:before,[data-astro-cid-xk5n4466]:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.top[data-astro-cid-xattfbdu]{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:24px 0;border-bottom:1px solid var(--line);font:700 var(--step-0) var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.top[data-astro-cid-xattfbdu] a{color:var(--ink);text-decoration:none}.top[data-astro-cid-xattfbdu] a:focus-visible{outline:3px solid var(--red);outline-offset:2px}@media(max-width:560px){.cell[data-astro-cid-xattfbdu]:nth-child(2){display:none}}.footer[data-astro-cid-bmvnf73n]{padding:30px 0 70px;color:var(--muted);font-size:clamp(13px,13px,13px)}.links[data-astro-cid-bmvnf73n]{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 70px}.links[data-astro-cid-bmvnf73n] a{padding:10px 13px;color:var(--ink);border:1px solid var(--ink);text-decoration:none;font:var(--step-0) var(--font-mono);text-transform:uppercase}.links[data-astro-cid-bmvnf73n] a:hover{color:var(--paper);background:var(--ink)}.links[data-astro-cid-bmvnf73n] a:focus-visible{outline:3px solid var(--red);outline-offset:2px}.eyebrow[data-astro-cid-4yr5atew]{margin:0;font:600 var(--step-0) "DM Mono",monospace;letter-spacing:.1em;text-transform:uppercase}.tone-accent[data-astro-cid-4yr5atew]{color:var(--accent)}.tone-gold[data-astro-cid-4yr5atew]{color:var(--gold)}.tone-red[data-astro-cid-4yr5atew]{color:var(--red)}.hero[data-astro-cid-7xzskqga]{padding:100px 0 70px;max-width:950px}h1[data-astro-cid-7xzskqga]{margin:16px 0;font-size:clamp(52px,9vw,126px);line-height:.9;letter-spacing:-.07em}h1[data-astro-cid-7xzskqga] em{font:400 .9em Georgia,serif;color:var(--red)}.intro[data-astro-cid-7xzskqga] p{max-width:680px;margin:0;color:var(--muted);font-size:clamp(20px,20px,20px)}@media(max-width:800px){.hero[data-astro-cid-7xzskqga]{padding:65px 0 45px}}@media(max-width:560px){h1[data-astro-cid-7xzskqga]{font-size:clamp(56px,56px,56px)}.intro[data-astro-cid-7xzskqga] p{font-size:clamp(17px,17px,17px)}}
</style></head> <body> <header class="top" id="top" data-astro-cid-xattfbdu> <div class="cell" data-astro-cid-xattfbdu><a href="/ai-for-dummies/summary/">← ROUTE MAP</a></div> <div class="cell" data-astro-cid-xattfbdu><span>03 / SKILLS</span></div> <div class="cell" data-astro-cid-xattfbdu><a href="/ai-for-dummies/skills-review/">review desk ↗</a></div> </header> <main> <section class="hero" data-astro-cid-7xzskqga> <p data-astro-cid-4yr5atew="true" class="eyebrow tone-red">Reusable judgment</p> <h1 data-astro-cid-7xzskqga><span>Teach the<br><em>decision.</em></span></h1> <div class="intro" data-astro-cid-7xzskqga> <p>A skill changes behavior. Keep the trigger precise, put the workflow in <code>SKILL.md</code>, and move conditional facts, scripts, and examples into focused files.</p> </div> </section> <section class="pipeline package-anatomy"> <div> <p class="eyebrow">Package anatomy</p> <h2>One job.<br>More than<br>one <em>file.</em></h2> <p class="package-hint">Choose a file to see why it belongs in the package.</p> </div> <div class="package-workbench" data-package-workbench data-astro-cid-xk5n4466> <div class="package-tree" role="tablist" aria-label="Files in the review-ui skill package" data-astro-cid-xk5n4466> <p data-astro-cid-xk5n4466>REVIEW-UI / SKILL PACKAGE</p> <button class="active" data-skill-file="skill" role="tab" aria-selected="true" data-astro-cid-xk5n4466> <code data-astro-cid-xk5n4466>├── SKILL.md</code> <small data-astro-cid-xk5n4466>trigger + workflow</small> </button><button data-skill-file="references" role="tab" aria-selected="false" data-astro-cid-xk5n4466> <code data-astro-cid-xk5n4466>├── references/</code> <small data-astro-cid-xk5n4466>conditional facts</small> </button><button data-skill-file="scripts" role="tab" aria-selected="false" data-astro-cid-xk5n4466> <code data-astro-cid-xk5n4466>├── scripts/</code> <small data-astro-cid-xk5n4466>deterministic checks</small> </button><button data-skill-file="assets" role="tab" aria-selected="false" data-astro-cid-xk5n4466> <code data-astro-cid-xk5n4466>└── assets/</code> <small data-astro-cid-xk5n4466>templates + examples</small> </button> </div> <article class="package-preview" id="package-preview" aria-live="polite" data-astro-cid-xk5n4466></article> </div> <script type="application/json" data-skill-files>[{"id":"skill","prefix":"├── ","label":"SKILL.md","caption":"trigger + workflow","title":"The operating contract","body":"The one file that should always be loaded. Define the exact trigger, the ordered workflow, safety limits, and the evidence the agent returns.","code":"---\nname: review-ui\ndescription: Review a changed UI for focus, reflow, and motion.\n---\n\n1. Inspect the changed interaction.\n2. Run the UI checks.\n3. Return findings with evidence."},{"id":"references","prefix":"├── ","label":"references/","caption":"conditional facts","title":"Facts, only when needed","body":"Keep conditional detail out of the main instruction. A dialog pattern, framework caveat, or accessibility checklist belongs here when it is not needed for every review.","code":"references/\n└── accessibility.md\n ├── keyboard interaction patterns\n └── focus and reflow checklist"},{"id":"scripts","prefix":"├── ","label":"scripts/","caption":"deterministic checks","title":"Mechanics that should not depend on memory","body":"Turn deterministic checks into runnable tools. The agent still judges the result, but it should not have to recreate a viewport test or filename rule by hand.","code":"scripts/\n└── check-reflow.mjs\n └── checks 320px, 1280px, and 4K widths"},{"id":"assets","prefix":"└── ","label":"assets/","caption":"templates + examples","title":"Starting material, not hidden instructions","body":"Use assets for templates and examples a person or agent can copy. Keep them clearly named so package readers can choose the right starting point.","code":"assets/\n├── review-report.md\n└── focus-test-fixture.html"}]</script> <script>
<!DOCTYPE html><html lang="en"> <head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>AI For Dummies — Skills</title><meta name="description" content="A skill changes behavior. Keep the trigger precise, put the workflow in SKILL.md, and move conditional facts, scripts, and examples into focused files."><link rel="stylesheet" href="/ai-for-dummies/_astro/tokens.BxNFvepo.css"><link rel="stylesheet" href="/ai-for-dummies/fonts/fonts.css"><link rel="stylesheet" href="/ai-for-dummies/_astro/base.BX9jSTkZ.css"><link rel="stylesheet" href="/ai-for-dummies/_astro/chapters.BPlnnXOa.css"><link rel="stylesheet" href="/ai-for-dummies/_astro/motion.DuPi8tKA.css"><link rel="stylesheet" href="/ai-for-dummies/_astro/skills.CRdDXdLp.css">
<link rel="stylesheet" href="/ai-for-dummies/_astro/ChapterHero.DU6N_2z3.css">
<link rel="stylesheet" href="/ai-for-dummies/_astro/skills.ISd55bu-.css">
<link rel="stylesheet" href="/ai-for-dummies/_astro/StepFlow.D8D5Or_Q.css"></head> <body> <header class="top" id="top" data-astro-cid-xattfbdu> <div class="cell" data-astro-cid-xattfbdu><a href="/ai-for-dummies/summary/" data-astro-cid-xahix5fp>← ROUTE MAP</a></div> <div class="cell" data-astro-cid-xattfbdu><span data-astro-cid-xahix5fp>03 / SKILLS</span></div> <div class="cell" data-astro-cid-xattfbdu><a href="/ai-for-dummies/skills-review/" data-astro-cid-xahix5fp>review desk ↗</a></div> </header> <main> <section class="hero rise-in" data-astro-cid-7xzskqga> <p data-astro-cid-4yr5atew="true" class="eyebrow tone-red">Reusable judgment</p> <h1 class="parallax-near" data-astro-cid-7xzskqga><span data-astro-cid-xahix5fp>Teach the<br><em>decision.</em></span></h1> <div class="intro parallax-far" data-astro-cid-7xzskqga> <p data-astro-cid-xahix5fp>A skill changes behavior. Keep the trigger precise, put the workflow in <code>SKILL.md</code>, and move conditional facts, scripts, and examples into focused files.</p> </div> </section> <section class="pipeline package-anatomy reveal" data-astro-cid-xahix5fp> <div class="depth-slow" data-astro-cid-xahix5fp> <p class="eyebrow" data-astro-cid-xahix5fp>Package anatomy</p> <h2 data-astro-cid-xahix5fp>One job.<br>More than<br>one <em>file.</em></h2> <p class="package-hint" data-astro-cid-xahix5fp>Choose a file to see why it belongs in the package.</p> <svg class="draw-line" viewBox="0 0 150 150" aria-hidden="true" focusable="false" style="--draw-height: 150px" data-astro-cid-n6ozym62> <path d="M 0.5 0 V 117.5 Q 0.5 149.5 33 149.5 H 150" pathLength="100" data-astro-cid-n6ozym62></path> </svg> </div> <div class="depth-fast" data-astro-cid-xahix5fp> <div class="package-workbench" data-package-workbench data-astro-cid-xk5n4466> <div class="package-tree" role="tablist" aria-label="Files in the review-ui skill package" data-astro-cid-xk5n4466> <p data-astro-cid-xk5n4466>REVIEW-UI / SKILL PACKAGE</p> <button class="active" data-skill-file="skill" role="tab" aria-selected="true" data-astro-cid-xk5n4466> <code data-astro-cid-xk5n4466>├── SKILL.md</code> <small data-astro-cid-xk5n4466>trigger + workflow</small> </button><button data-skill-file="references" role="tab" aria-selected="false" data-astro-cid-xk5n4466> <code data-astro-cid-xk5n4466>├── references/</code> <small data-astro-cid-xk5n4466>conditional facts</small> </button><button data-skill-file="scripts" role="tab" aria-selected="false" data-astro-cid-xk5n4466> <code data-astro-cid-xk5n4466>├── scripts/</code> <small data-astro-cid-xk5n4466>deterministic checks</small> </button><button data-skill-file="assets" role="tab" aria-selected="false" data-astro-cid-xk5n4466> <code data-astro-cid-xk5n4466>└── assets/</code> <small data-astro-cid-xk5n4466>templates + examples</small> </button> </div> <article class="package-preview" id="package-preview" aria-live="polite" data-astro-cid-xk5n4466></article> </div> <script type="application/json" data-skill-files>[{"id":"skill","prefix":"├── ","label":"SKILL.md","caption":"trigger + workflow","title":"The operating contract","body":"The one file that should always be loaded. Define the exact trigger, the ordered workflow, safety limits, and the evidence the agent returns.","code":"---\nname: review-ui\ndescription: Review a changed UI for focus, reflow, and motion.\n---\n\n1. Inspect the changed interaction.\n2. Run the UI checks.\n3. Return findings with evidence."},{"id":"references","prefix":"├── ","label":"references/","caption":"conditional facts","title":"Facts, only when needed","body":"Keep conditional detail out of the main instruction. A dialog pattern, framework caveat, or accessibility checklist belongs here when it is not needed for every review.","code":"references/\n└── accessibility.md\n ├── keyboard interaction patterns\n └── focus and reflow checklist"},{"id":"scripts","prefix":"├── ","label":"scripts/","caption":"deterministic checks","title":"Mechanics that should not depend on memory","body":"Turn deterministic checks into runnable tools. The agent still judges the result, but it should not have to recreate a viewport test or filename rule by hand.","code":"scripts/\n└── check-reflow.mjs\n └── checks 320px, 1280px, and 4K widths"},{"id":"assets","prefix":"└── ","label":"assets/","caption":"templates + examples","title":"Starting material, not hidden instructions","body":"Use assets for templates and examples a person or agent can copy. Keep them clearly named so package readers can choose the right starting point.","code":"assets/\n├── review-report.md\n└── focus-test-fixture.html"}]</script> <script>
(function () {
const preview = document.querySelector('#package-preview');
const buttons = document.querySelectorAll('[data-skill-file]');
const dataNode = document.querySelector('[data-skill-files]');
const tree = document.querySelector('[data-package-workbench] .package-tree');
if (!preview || !dataNode) return;
const files = JSON.parse(dataNode.textContent || '[]');
// Position the gold selection bar over the active button. The bar is a
// 1px-tall pseudo-element on the tree, moved and stretched by transform
// alone, so the slide composites — animating its `top`/`height` would
// force layout on every frame. Measured rather than computed from the
// index: the buttons are not all the same height once a long filename
// wraps.
function placeIndicator() {
const active = tree && tree.querySelector('.active');
if (!active) return;
tree.style.setProperty('--tab-x', active.offsetLeft + 'px');
tree.style.setProperty('--tab-y', active.offsetTop + 'px');
tree.style.setProperty('--tab-h', String(active.offsetHeight));
}
function renderPackage(id) {
const item = files.find((entry) => entry.id === id);
if (!item) return;
@@ -32,6 +48,7 @@
button.classList.toggle('active', active);
button.setAttribute('aria-selected', String(active));
});
placeIndicator();
}
buttons.forEach(function (button) {
@@ -40,6 +57,10 @@
});
});
// Button heights change at the two breakpoints below (the caption is
// dropped, the padding shrinks), which moves every offset under the bar.
window.addEventListener('resize', placeIndicator);
renderPackage('skill');
})();
</script> </section> <section class="practice"> <div> <p class="eyebrow">Create a skill</p> <h2>Observe →<br>trigger →<br>validate</h2> </div> <div class="steps"> <article> <b>01</b> <div> <strong>Observe friction</strong> <span>Find a repeated decision or failure.</span> </div> </article><article> <b>02</b> <div> <strong>Define the trigger</strong> <span>Say when it should load and when it should stay out.</span> </div> </article><article> <b>03</b> <div> <strong>Choose anatomy</strong> <span>Use references for facts and scripts for deterministic mechanics.</span> </div> </article><article> <b>04</b> <div> <strong>Evaluate behavior</strong> <span>Test realistic prompts, edge cases, safety, and evidence.</span> </div> </article> </div> </section> </main> <section class="footer" data-astro-cid-bmvnf73n> <nav class="links" aria-label="Chapter navigation" data-astro-cid-bmvnf73n> <nav class="links" aria-label="Chapter navigation"> <a href="/ai-for-dummies/agents/">Agents & trees →</a> <a href="/ai-for-dummies/rules/">Rules case study →</a> <a href="/ai-for-dummies/skills-review/">Review submitted skills →</a> <a href="/ai-for-dummies/full-guide/#create-skill">Full guide: skill forge →</a> </nav> </nav> <div class="text" data-astro-cid-bmvnf73n> </div> </section> </body></html>
</script> </div> </section> <section class="practice reveal" data-astro-cid-xahix5fp> <div class="depth-slow" data-astro-cid-xahix5fp> <p class="eyebrow" data-astro-cid-xahix5fp>Create a skill</p> <h2 data-astro-cid-xahix5fp>Observe →<br>trigger →<br>validate</h2> <svg class="draw-line" viewBox="0 0 4 110" aria-hidden="true" focusable="false" style="--draw-height: 110px" data-astro-cid-n6ozym62> <path d="M 0.5 0 V 110" pathLength="100" data-astro-cid-n6ozym62></path> </svg> </div> <ol class="flow depth-fast" data-astro-cid-ld3fmquo> <li data-astro-cid-ld3fmquo> <article data-astro-cid-ld3fmquo> <b data-astro-cid-ld3fmquo>01</b> <div data-astro-cid-ld3fmquo> <strong data-astro-cid-ld3fmquo>Observe friction</strong> <span data-astro-cid-ld3fmquo>Find a repeated decision or failure.</span> </div> </article> </li><li data-astro-cid-ld3fmquo> <article data-astro-cid-ld3fmquo> <b data-astro-cid-ld3fmquo>02</b> <div data-astro-cid-ld3fmquo> <strong data-astro-cid-ld3fmquo>Define the trigger</strong> <span data-astro-cid-ld3fmquo>Say when it should load and when it should stay out.</span> </div> </article> </li><li data-astro-cid-ld3fmquo> <article data-astro-cid-ld3fmquo> <b data-astro-cid-ld3fmquo>03</b> <div data-astro-cid-ld3fmquo> <strong data-astro-cid-ld3fmquo>Choose anatomy</strong> <span data-astro-cid-ld3fmquo>Use references for facts and scripts for deterministic mechanics.</span> </div> </article> </li><li data-astro-cid-ld3fmquo> <article data-astro-cid-ld3fmquo> <b data-astro-cid-ld3fmquo>04</b> <div data-astro-cid-ld3fmquo> <strong data-astro-cid-ld3fmquo>Evaluate behavior</strong> <span data-astro-cid-ld3fmquo>Test realistic prompts, edge cases, safety, and evidence.</span> </div> </article> </li> </ol> </section> <section class="practice recall reveal" id="recall" data-astro-cid-xahix5fp> <div class="depth-slow" data-astro-cid-xahix5fp> <p class="eyebrow" data-astro-cid-xahix5fp>Check yourself</p> <h2 data-astro-cid-xahix5fp>Recall it before<br>you <em>ship it.</em></h2> <p class="recall-note" data-astro-cid-xahix5fp>Answer from memory first — the reveal is the feedback.</p> <div class="recall-links" data-astro-cid-xahix5fp> <a href="https://agentskills.io/specification" target="_blank" rel="noreferrer" data-astro-cid-xahix5fp> Format specification ↗ </a><a href="/ai-for-dummies/hands-on/starter/" data-astro-cid-xahix5fp> Try it on the Tiny Tasks lab → </a> </div> </div> <div class="recall-list depth-fast" data-astro-cid-xahix5fp> <details data-astro-cid-xahix5fp> <summary data-astro-cid-xahix5fp> <span data-astro-cid-xahix5fp>The skill never loads. What is the first suspect?</span> <b aria-hidden="true" data-astro-cid-xahix5fp>+</b> </summary> <p data-astro-cid-xahix5fp>The trigger. A precise description says when to load the skill — and when to leave it out. A vague one never fires.</p> </details><details data-astro-cid-xahix5fp> <summary data-astro-cid-xahix5fp> <span data-astro-cid-xahix5fp>Where do the workflow, the facts, and the repeated mechanics each go?</span> <b aria-hidden="true" data-astro-cid-xahix5fp>+</b> </summary> <p data-astro-cid-xahix5fp>The workflow stays in SKILL.md, conditional facts move to references/, and deterministic repeated mechanics become scripts/.</p> </details><details data-astro-cid-xahix5fp> <summary data-astro-cid-xahix5fp> <span data-astro-cid-xahix5fp>What proves a skill works?</span> <b aria-hidden="true" data-astro-cid-xahix5fp>+</b> </summary> <p data-astro-cid-xahix5fp>Behavior, not headings: realistic prompts, edge cases, and safety checks with observable evidence — the same bar the review desk applies.</p> </details> </div> </section> </main> <section class="footer" data-astro-cid-bmvnf73n> <nav class="links" aria-label="Chapter navigation" data-astro-cid-bmvnf73n> <nav class="links" aria-label="Chapter navigation" data-astro-cid-xahix5fp> <a href="/ai-for-dummies/agents/" data-astro-cid-xahix5fp>Agents & trees →</a> <a href="/ai-for-dummies/rules/" data-astro-cid-xahix5fp>Rules case study →</a> <a href="/ai-for-dummies/skills-review/" data-astro-cid-xahix5fp>Review submitted skills →</a> <a href="/ai-for-dummies/full-guide/#create-skill" data-astro-cid-xahix5fp>Full guide: skill forge →</a> </nav> </nav> <div class="text" data-astro-cid-bmvnf73n> </div> </section> </body></html>