[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DFR9Y2QNWMN2C8RG78TCNH":3,"skill-same:01M6DFR9Y2QNWMN2C8RG78TCNH":92},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":31,"publishedAt":51,"linkOnly":52,"markdownContent":53,"markdownBody":54,"frontMatter":55,"refName":70,"commitSha":71,"skillDirectory":72,"forksCount":73,"repositoryHtmlUrl":74,"repositoryHomepageUrl":6,"ownerHtmlUrl":75,"ownerBlogUrl":6,"ownerDescription":76,"updatedAt":77,"install":78,"resources":91},"01M6DFR9Y2QNWMN2C8RG78TCNH","auteur",null,"Design and build cinematic, award-level web pages.","zapabob\u002FSkills","zapabob","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F130830376?v=4","01M6DBMYZAGRTFQDSQYW3W764P","峯岸 亮","01M6DBMZ3GKDSJ01NZ9XTZD7JD",2,"MIT","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002F51\u002F51988bc97cf00b15fcde05294f71c71402a4ef3dd469325711523517d13e98a8\u002FSKILL.md",[18,23,26],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[5,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],"hermes agent","pages","scroll","upstream","anti-slop","build","creative","p5js","design-system","frontend","hermes","system","Animation","https","windows","web","linux","github","design","2026-11-10 10:12:30",false,"---\nname: auteur\ndescription: Design and build cinematic, award-level web pages.\nversion: 1.3.1\nauthor: agiwhitelist (https:\u002F\u002Fgithub.com\u002Fagiwhitelist, upstream agiwhitelist\u002Fauteur), ported by Hermes Agent\nlicense: MIT\nplatforms: [linux, macos, windows]\nmetadata:\n  hermes:\n    tags: [web-design, cinematic, scroll-animation, design-system, anti-slop, frontend]\n    category: creative\n    related_skills: [popular-web-designs, design-md, p5js]\n    upstream: https:\u002F\u002Fgithub.com\u002Fagiwhitelist\u002Fauteur (pinned 9bca227d)\n---\n\n# Auteur Skill\n\n> Ported from [agiwhitelist\u002Fauteur](https:\u002F\u002Fgithub.com\u002Fagiwhitelist\u002Fauteur) (MIT), snapshot\n> commit [`9bca227d`](https:\u002F\u002Fgithub.com\u002Fagiwhitelist\u002Fauteur\u002Fcommit\u002F9bca227df9877e60dc45d49783c8cbd885eccd9b)\n> — see `LICENSE`. Scripts, templates and references are the upstream files (CRLF→LF), with\n> Hermes adaptation notes and `references\u002F` path fixes as the only edits.\n\nAuteur designs and builds web experiences the way a film director makes a film: script first, then assets, then the shoot, then the cut. It has three registers — **build** (an excellent conventional site), **direct** (a cinematic scroll-directed site) and **system** (a multi-screen product as one design system) — on one shared core of taste. Nothing ships until the page passes an executable anti-slop gate and the skill has looked at its own output.\n\n## When to Use\n\n- A landing page, marketing site, hero section, portfolio or product page has to be **built or redesigned** — and looking generic is not acceptable.\n- The brief asks for **scroll animation, storytelling, or a site that feels like a film**.\n- A product spans **several screens that must feel like one thing** — app, dashboard, admin, onboarding, docs.\n- Someone says *make it beautiful*, *make it wow*, *cinematic*, or *design system*, naming no technique.\n\nNot for polishing a UI someone else built, and not for backend-only work.\n\n## Prerequisites\n\n- **Node 18+** — every QA gate is a `.mjs` script run with `node` via the `terminal` tool.\n- **Playwright (for the QA gates)** — in the project directory: `npm install playwright` then `npx playwright install chromium`. Required by `scripts\u002Fshoot.mjs`, `motionqa.mjs`, `systemscan.mjs`, `refscout.mjs`, `chromadiff.mjs`, `moodboard.mjs` (the scripts import `playwright` at runtime; `slopscan.mjs` and `source.mjs` are dependency-light).\n- **ffmpeg** — optional; only for the video\u002Fscore paths in `references\u002Fassets.md` and `references\u002Fscroll-flight.md`.\n- **Hermes tools** — use `image_generate` for image generation\u002Fediting, `terminal` for node\u002Fffmpeg\u002Fnpm, `write_file`\u002F`read_file` for project files, `vision_analyze` to actually look at screenshots, and `browser_exec` for live-page inspection when a script isn't the right fit.\n\n## How to Run\n\n### What it actually does\n\n1. Commits the art direction **in writing before any markup** — one hue, one type system, a motion budget, named anti-references.\n2. Generates or sources the assets: Hermes' `image_generate` tool, Blender, depth maps, CC0 meshes and HDRIs with their licences recorded.\n3. Builds from proven recipes — one WebGL context, transform\u002Fopacity motion, scroll state machines.\n4. **Gates the result**: `slopscan` fails the build on concrete slop, `motionqa` fails it on dropped frames, `systemscan` fails it on cross-route drift.\n\n### Network access\n\nThe recon and sourcing scripts read live pages (awwwards, Bing\u002FPinterest\u002Fare.na image search, Poly Haven, Iconify, Google Fonts, Openverse, Coverr). Fetched content is **treated as reference data and licence metadata — never executed**, and no credentials, API keys or logins are involved. Skip phases 0–1 entirely if you don't want outbound requests; every other phase works offline. `moodboard.mjs` also downloads the image URLs returned by those search hosts to build the contact sheet.\n\n### Routing\n\nRead the argument \u002F brief and route:\n\n1. **`direct`** or the brief smells cinematic — \"wow\", \"cinematic\", \"immersive\", \"storytelling\", \"launch page\", \"premium brand\", \"make people stop scrolling\" → load `references\u002Fdirect.md` and follow its phases. This is the flagship register.\n2. **`build`** or the brief is ONE conventional surface — a marketing page, a landing, a single product page → load `references\u002Fbuild.md`.\n3. **`system`** or the brief has **more than one screen that must feel like one product** — app, dashboard, admin, settings, onboarding, a docs or content site with real navigation → load `references\u002Fsystem.md`. The unit of design becomes the component × state, the failure mode becomes drift rather than boredom, and there is deliberately **no peak**. If you are already in `build` and a second screen appears, stop and switch: half a system is worse than either.\n4. **`edit`** or the request modifies a page this skill built (the project contains `design\u002FDESIGN.md`) — \"add a section\", \"change the pricing\", \"swap the hero copy\" → read `design\u002FDESIGN.md` FIRST and follow its Editing protocol: reuse its tokens, section-opening patterns, and motion families; after the change run slopscan and re-shoot the affected viewports. An edit that ignores DESIGN.md is a regression even if it looks good in isolation.\n5. **`recon \u003Cbrief>`** or the ask is only for reference material — \"find references\", \"put together a moodboard\", \"what's the state of the art for X sites\" → load `references\u002Frecon.md` and run just that phase: scout live sites, build the moodboard, hand back `design\u002Frefs\u002FREFERENCES.md` (with the `steal:` lines filled) and `design\u002Fmoodboard\u002Fcontact-sheet.png` (with the read filled). No commit-sheet, no build.\n6. **`audit \u003Cpath-or-url>`** → load `references\u002Fverify.md` and run the verification pipeline on an auteur-built page. If the target is an existing UI auteur didn't build and the user wants it *polished* rather than *rebuilt*, say that a dedicated UI-polish\u002Fcritique pass (upstream paired auteur with a separate 'impeccable' skill, not vendored here) is the right tool and offer to continue only if they want a rebuild.\n7. **Ambiguous** (e.g. plain \"make a landing page\") → ask exactly one question: \"A great conventional landing page, or cinema mode with scroll direction and generated assets?\" (upstream phrased these example briefs in Russian; translated here.) Then route. (Multi-screen briefs are not ambiguous — they are `system`.) Don't ask anything else yet — each register runs its own intake.\n\nAll three registers share phase zero, and its centre of gravity is the commit-sheet. Order differs: **build** runs recon → commit-sheet → mockup; **direct** runs recon → storyboard → commit-sheet → mockup, because the film's scenes are what the six decisions get made *about*; **system** runs recon → system-sheet (route map + component inventory) → commit-sheet → mockup, because the six decisions get made about a product, not a page. Either way nothing is coded before the sheet is full.\n\n### Working relationship with other skills\n\nAuteur *builds*; it does not re-polish foreign UI. If the user has an existing interface that needs refinement, run a separate UI-critique pass (e.g. `vision_analyze` on screenshots plus the sibling design skills). Upstream paired auteur with an 'impeccable' critique skill (not vendored here); auteur's verify gate and an outside critique measure different things and coexist happily.\n\n## Quick Reference\n\nThe non-negotiables and the phase table. They apply to every register, every phase, always — even if no reference file has been loaded. Match-and-refuse: if you are about to produce one of these, stop and restructure the element.\n\n### Banned (rewrite, don't tweak)\n\n| # | Ban | Instead |\n|---|-----|---------|\n| 1 | `border-left`\u002F`border-right` >1px as a colored accent on cards, callouts, alerts | full border, background tint, leading icon, or nothing |\n| 2 | Gradient text (`background-clip: text` + gradient) | one solid color; emphasis via weight or size |\n| 3 | Glassmorphism as default (decorative `backdrop-filter` cards) | rare and purposeful, or solid surfaces |\n| 4 | The hero-metric template (big number, small label, stat row, gradient accent) | evidence in prose, one committed visual |\n| 5 | Identical card grids (same-size icon+heading+text, repeated) | vary size, structure, or drop the cards entirely |\n| 6 | Eyebrow kickers (tiny uppercase tracked label) above every section | one deliberate kicker max as a brand system; vary section openings |\n| 7 | Numbered section scaffolding (01 \u002F 02 \u002F 03) when order carries no meaning | numbers only for a real sequence |\n| 8 | `Inter` or `Space Grotesk` as the *first* font choice | pick from a contrast-axis pair (see taste.md); these two are the AI default of 2024–2026 |\n| 9 | Purple→blue gradients (both stops hue 250–290) | committed brand hue, or no gradient |\n| 10 | Cream\u002Fwarm-beige body background as a \"warmth\" reflex (OKLCH L 0.84–0.97, C \u003C0.06, hue 40–100) | saturated brand surface, true off-white at chroma ~0, or a darker tinted mid-tone; warmth lives in accent + type + imagery |\n| 11 | The same fade-in\u002Fslide-up entrance on every section | each reveal fits what it reveals; vary easing, distance, direction |\n| 12 | `transition: all` | list the animated properties |\n| 13 | `window.addEventListener('scroll', ...)` | IntersectionObserver, GSAP ScrollTrigger, or CSS `animation-timeline` |\n| 14 | `scale(0)` entrances | start at `scale(0.95)` + opacity |\n| 15 | Bento grids of near-identical or empty cells; white-card-on-white bento | bento only with real visual variation per cell, else a different layout |\n| 16 | Copy tells: \"Revolutionize\", \"Seamless\", \"Effortless\", \"Unleash\", \"Elevate\", em-dash–heavy sentences, decoration strips like \"BRAND. MOTION. SPATIAL.\" | concrete claims in plain words |\n| 17 | More than one marquee per page | one, or none |\n| 18 | Instrument Serif \u002F Playfair Display as the reflex \"elegant serif\" | serifs chosen for the brand, not from the AI shortlist |\n\nA ban may be overridden only through a written `auteur-allow` (see Verification) with a real reason — a deliberate, argued choice is voice; a default is slop.\n\n### Critical numbers (memorize; full context in reference files)\n\n- Body text contrast ≥ 4.5:1 (large text ≥ 3:1). Placeholders too. Muted-gray-on-tinted-white is the #1 AI readability failure.\n- Body line length 65–75ch. Display heading ceiling: clamp max ≤ 6rem *for headings in prose flow* — a wordmark or a deliberately type-led hero is exempt and the commit-sheet must say so. Display letter-spacing ≥ −0.04em.\n- Durations: button 100–160ms · tooltip 125–200ms · dropdown 150–250ms · modal\u002Fdrawer 200–500ms · any UI >300ms needs a written reason.\n- Enter\u002Fexit easing = ease-out. `ease-in` is banned on UI.\n- Animate only `transform` and `opacity`. Stagger 30–80ms.\n- Motion budget: ≤ 3 scroll-triggered pattern families per page; **one** primary wow peak, supporting scenes at lower intensity.\n- Scrub smoothing 0.3–0.8. Hero video ≤ 2MB. LCP \u003C 2.5s. CLS \u003C 0.1.\n- Fullscreen passes (bloom, grain, DoF, any full-frame shader) are priced **per pixel, not per object** — they, not geometry, are what blows the frame budget. A perf number counts only when measured at **DPR 2 on a production build**: DPR 1 quarters the cost of every such pass, and a dev server roughly doubles the frame.\n- `prefers-reduced-motion` = an alternative art direction (gentler, not zero), never an afterthought.\n- Content must be readable with JS disabled: reveals enhance an already-visible default, never gate visibility.\n\n### Phases at a glance\n\n| Phase | build register | direct register | system register | Reference to load |\n|---|---|---|---|---|\n| 0 | recon → commit-sheet → hero mockup gate | recon → screenplay (STORYBOARD.md) → commit-sheet → hero mockup gate | recon → SYSTEM-SHEET.md (routes + component inventory + states) → commit-sheet → mockup gate | `recon.md`, then `build.md` \u002F `direct.md` \u002F `system.md` |\n| 1 | — | asset production (generate → edit → optimize) | — (source icons\u002Ffonts via `source.mjs`) | `assets.md` |\n| 2 | build the page | assemble the film (smooth scroll first, hero, scenes top-down) | tokens → the shell → screens in traffic order → every state | `build.md` \u002F `scroll-cinema.md` \u002F `system.md` + `taste.md` + `motion.md` |\n| 3 | verify | verify + CINEMA-QA.md | verify + **systemscan across every route** | `verify.md` |\n| 4 | lock the style: fill `design\u002FDESIGN.md` | same | same, but DESIGN.md is the **component contract** | `templates\u002FDESIGN.md` |\n\nThe hero mockup gate (one static throwaway screen, screenshotted and approved before anything else is built) is the cheapest moment to change art direction — details in each register's reference. `design\u002FDESIGN.md` is the style contract that makes every later edit stay in style (the `edit` route reads it first).\n\nNever skip a gate because the intermediate result \"looks done\". The gates exist because a page that merely looks done is exactly what every other AI ships.\n\n## Procedure\n\n### The commit-sheet (before any code, both registers)\n\nSlop is what happens when defaults make the decisions. The commit-sheet forces seven real decisions onto paper before the first line of code. Copy `templates\u002FCOMMIT-SHEET.md` into the project (e.g. `design\u002FCOMMIT-SHEET.md`) and fill all seven fields with non-defaults:\n\n1. **Peak** — the ONE primary wow moment (direct) or signature element (build). One sentence. If you can't name it, you're not ready to build.\n2. **Color** — primary as OKLCH + commitment tier (restrained \u002F committed \u002F full-palette \u002F drenched) + one line: *why this is not lavender, not cream, and not the category reflex* + **the background lightness as a number** (target mean L), because \"dark feels premium\" is where this skill drifts, and a number can be checked afterwards where a mood cannot.\n3. **Type** — display + text pairing on a contrast axis (serif+sans, geometric+humanist, mono+serif...) + one line: *why not Inter*.\n4. **Grid break** — the one concrete thing that breaks the symmetric-grid default: an overlap, an asymmetric split, a diagonal flow, a full-bleed interruption. Name it specifically.\n5. **Motion budget** — how many scroll-pattern families (≤3) and what they are.\n6. **Reflex check** — write down: (a) what a generic AI would do for this category (first-order reflex), (b) what a generic AI avoiding (a) would do (second-order reflex — e.g. fintech → \"terminal dark mode\" is *also* saturated now), (c) your chosen deviation from both. If recon ran, (a) is not a guess: whatever `design\u002Frefs\u002FREFERENCES.md` showed five times *is* the reflex, dated and with receipts.\n7. **House tells broken** — name the **two (minimum)** items from `taste.md` §2.5 you are deliberately not doing this time, and what replaces each. Fields 6a\u002F6b are the reflexes of the *category*; these are the reflexes of *this skill*, which recur across unrelated projects and are invisible from inside any one of them: near-black backgrounds, mono service labels, the logo\u002Fstatus\u002Faction header, the scroll-instruction footer, amber-or-acid accents, the wordmark-as-hero, glow standing in for lighting. Measured across nine showcase builds, eight were dark and three landed within 0.002 of the same lightness. A tell that genuinely belongs here can stay — say why, as with an `auteur-allow`.\n\nGate: every field filled with a specific, non-default answer. An empty or generic field (\"modern, clean look\") means stop and decide. This artifact is checked again at verification.\n\n### Reference files\n\n- `references\u002Frecon.md` — **phase 0 scouting**, two executable legs: `scripts\u002Frefscout.mjs` profiles live award-level sites (real stack, pinned scenes, scroll budget, fonts, painted palette, screenshots — mechanics, not skins) and `scripts\u002Fmoodboard.mjs` builds a numbered contact sheet from Bing \u002F Pinterest \u002F are.na so the art direction is decided from live material instead of memory. Also: query craft, the steal rule, how recon feeds the commit-sheet, and the \"reference images are not assets\" line. Load at the top of phase 0.\n- `references\u002Ftaste.md` — the full anti-slop system: extended bans with replacements, second-order category reflex table, color strategy tiers, typography pairing, copy rules. Load for any visual decision-making.\n- `references\u002Fmotion.md` — the motion school: when to animate, easing\u002Fduration\u002Fspring numbers, performance rules, motion budget, sound policy. Load before writing any animation.\n- `references\u002Fbuild.md` — the standard register process. Load when routed to build.\n- `references\u002Fsystem.md` — the **multi-screen register**: route map, the component inventory as a gate, the state matrix (empty\u002Floading\u002Ferror are not edge cases), density rules, the no-peak rule, and `scripts\u002Fsystemscan.mjs` — which crawls every route, reads what the browser actually painted, fails a control type over its declared variant budget — counting *states* (disabled, current, inside a `data-state` row) separately, so implementing the state matrix never reads as drift — presses Tab to catch controls with no visible focus state, and renders one tile per rendered variant so drift is visible as well as counted. Load when routed to system.\n- `references\u002Fdirect.md` — the cinematic register: screenplay contract, scene-sheets, dramaturgy, assembly order. Load when routed to direct.\n- `references\u002Fassets.md` — the media crew and routing (in Hermes: `image_generate` for all image generation and edits, `terminal` for ffmpeg\u002Fnode; video via whatever image→video backend the user has), **§0.5 source-vs-generate** (`scripts\u002Fsource.mjs`: CC0 glTF meshes, HDRIs and PBR materials from Poly Haven, icons, fonts, CC images, stock video — with a licence ledger, because generation cannot make geometry or an IBL and stock video must never be the peak), the consistency trick (edit frame A into frame B), local video via the first→last-frame chain, generated elements\u002Fmockups, the ambient score, the degradation ladder, and asset caching. Load during direct phase 1.\n- `references\u002Fscroll-cinema.md` — working code recipes: scroll-scrubbed video, canvas sequences, GSAP+Lenis foundation, CSS scroll-driven animations, text reveals, the two-keyframe WebGL displacement transition, view transitions, ambient audio, and the cinematic transition library (wipe, curtain, letterbox, shutter, depth parallax). Load during assembly.\n- `references\u002Fscroll-flight.md` — the **video-scrub tier**: a photoreal \"fly through the world\" hero driven by scroll, using the drop-in `templates\u002Fscroll-flight-engine.js`. The canonical recipe for scroll-scrubbed *video* (encode-for-scrubbing `-g 8`, encoded-frame posters, SSIM seam gate, chain architecture A\u002FB, iOS\u002Fmobile decode hardening, crossfade-vs-seamless seams). Load when the hero should be photoreal footage\u002FAI-video rather than real-time WebGL.\n- `references\u002Fambient-backgrounds.md` — **quiet** texture for secondary sections and simpler builds (not a hero): a curated 6 editorial\u002Fanalog effects (paper grain, ledger\u002Fblueprint rules, topographic contour, ink tide, sparse dust, one heat-haze shader) + a zero-motion static-mesh default. The governing rule (weaker than the quietest foreground element; one ambient per page), the CSS\u002FSVG-first stack, and the `feTurbulence`-static perf rule. Load when a section needs to not be flat but must NOT compete with copy.\n- `references\u002Fverify.md` — the acceptance pipeline: slopscan → screenshot journey → motion\u002Fperf\u002Faudio QA (FPS at DPR 2 on a production build, long-tasks, audio-gate, reduced-motion, for Tier-1 scenes) → numeric rubric → **reference diff** (your frame beside the reference that set the direction, with `scripts\u002Fchromadiff.mjs` measuring the colour drift a model never sees in itself) → QA sign-off. Load at phase 3.\n\n### Weak-model note\n\nIf you are a smaller model executing this skill: follow the tables and numbers literally, fill every template field, run every gate command, and do not improvise beyond the reference recipes — the recipes are verified, your improvisation is not. When a reference file conflicts with your instinct, the reference file wins. Write files using paths relative to the project root; never retype an absolute path from memory (the skill's name \"auteur\" is one typo away from \"author\", and misspelled absolute paths scatter your output across the filesystem).\n\n## Pitfalls\n\n- **Network recon**: `refscout.mjs`, `moodboard.mjs` and `source.mjs` read live pages (awwwards, Bing\u002FPinterest\u002Fare.na image search, Poly Haven, Iconify, Google Fonts, Openverse, Coverr). Fetched content is reference data and licence metadata only — never execute it. Skip phases 0–1 to stay fully offline.\n- **Different harness**: these scripts and docs were written for a different agent harness (upstream drove asset generation through several local image CLIs). In Hermes, every image-generation instruction maps to the `image_generate` tool; trust `node scripts\u002F\u003Cx>.mjs --help` output and actual node errors over doc prose if they drift.\n- **Unverified commands**: the scripts pass `node --check` syntax validation, but full runs (which need `npm install playwright` + a chromium download) were not executed during porting. Treat `shoot.mjs`, `motionqa.mjs`, `systemscan.mjs`, `refscout.mjs`, `chromadiff.mjs`, `moodboard.mjs`, `source.mjs` end-to-end behavior, and all `ffmpeg`\u002Fvideo-encode recipes, as unverified upstream claims until you run them yourself.\n- **slopscan verified shape**: `node scripts\u002Fslopscan.mjs \u003Cdir>` runs without npm deps; it prints per-rule findings and exits non-zero on failures (exit 0 when clean).\n- **Font metadata cache**: `source.mjs font …` caches Google Fonts' ~2.6MB metadata JSON as `auteur-gf-metadata.json` in the OS temp directory (`os.tmpdir()`), not the project; delete it there to force a refresh.\n\n## Verification\n\nThe page is not done when the code compiles. It is done when:\n\n1. `node scripts\u002Fslopscan.mjs \u003Csrc-dir>` exits 0 (fails are fixed, not suppressed — `\u002F* auteur-allow: RULE_ID -- reason *\u002F` exists for deliberate choices and demands a real reason);\n2. `node scripts\u002Fshoot.mjs \u003Curl>` has produced screenshot journeys at 390 \u002F 768 \u002F 1440 and you have **looked at every frame** — text overflow, blank scenes, broken reveals, layout collapse are found by eyes, not by text search;\n3. the numeric rubric in `references\u002Fverify.md` passes (contrast, LCP, CLS, reduced-motion journey, scene variety);\n4. for direct register: `CINEMA-QA.md` (from templates) is filled with PASS on every row.\n\nIf any gate fails — fix and re-run. Report results honestly: \"slopscan clean, 21 screenshots reviewed, LCP 1.9s\" beats \"looks great\".\n","# Auteur Skill\n\n> Ported from [agiwhitelist\u002Fauteur](https:\u002F\u002Fgithub.com\u002Fagiwhitelist\u002Fauteur) (MIT), snapshot\n> commit [`9bca227d`](https:\u002F\u002Fgithub.com\u002Fagiwhitelist\u002Fauteur\u002Fcommit\u002F9bca227df9877e60dc45d49783c8cbd885eccd9b)\n> — see `LICENSE`. Scripts, templates and references are the upstream files (CRLF→LF), with\n> Hermes adaptation notes and `references\u002F` path fixes as the only edits.\n\nAuteur designs and builds web experiences the way a film director makes a film: script first, then assets, then the shoot, then the cut. It has three registers — **build** (an excellent conventional site), **direct** (a cinematic scroll-directed site) and **system** (a multi-screen product as one design system) — on one shared core of taste. Nothing ships until the page passes an executable anti-slop gate and the skill has looked at its own output.\n\n## When to Use\n\n- A landing page, marketing site, hero section, portfolio or product page has to be **built or redesigned** — and looking generic is not acceptable.\n- The brief asks for **scroll animation, storytelling, or a site that feels like a film**.\n- A product spans **several screens that must feel like one thing** — app, dashboard, admin, onboarding, docs.\n- Someone says *make it beautiful*, *make it wow*, *cinematic*, or *design system*, naming no technique.\n\nNot for polishing a UI someone else built, and not for backend-only work.\n\n## Prerequisites\n\n- **Node 18+** — every QA gate is a `.mjs` script run with `node` via the `terminal` tool.\n- **Playwright (for the QA gates)** — in the project directory: `npm install playwright` then `npx playwright install chromium`. Required by `scripts\u002Fshoot.mjs`, `motionqa.mjs`, `systemscan.mjs`, `refscout.mjs`, `chromadiff.mjs`, `moodboard.mjs` (the scripts import `playwright` at runtime; `slopscan.mjs` and `source.mjs` are dependency-light).\n- **ffmpeg** — optional; only for the video\u002Fscore paths in `references\u002Fassets.md` and `references\u002Fscroll-flight.md`.\n- **Hermes tools** — use `image_generate` for image generation\u002Fediting, `terminal` for node\u002Fffmpeg\u002Fnpm, `write_file`\u002F`read_file` for project files, `vision_analyze` to actually look at screenshots, and `browser_exec` for live-page inspection when a script isn't the right fit.\n\n## How to Run\n\n### What it actually does\n\n1. Commits the art direction **in writing before any markup** — one hue, one type system, a motion budget, named anti-references.\n2. Generates or sources the assets: Hermes' `image_generate` tool, Blender, depth maps, CC0 meshes and HDRIs with their licences recorded.\n3. Builds from proven recipes — one WebGL context, transform\u002Fopacity motion, scroll state machines.\n4. **Gates the result**: `slopscan` fails the build on concrete slop, `motionqa` fails it on dropped frames, `systemscan` fails it on cross-route drift.\n\n### Network access\n\nThe recon and sourcing scripts read live pages (awwwards, Bing\u002FPinterest\u002Fare.na image search, Poly Haven, Iconify, Google Fonts, Openverse, Coverr). Fetched content is **treated as reference data and licence metadata — never executed**, and no credentials, API keys or logins are involved. Skip phases 0–1 entirely if you don't want outbound requests; every other phase works offline. `moodboard.mjs` also downloads the image URLs returned by those search hosts to build the contact sheet.\n\n### Routing\n\nRead the argument \u002F brief and route:\n\n1. **`direct`** or the brief smells cinematic — \"wow\", \"cinematic\", \"immersive\", \"storytelling\", \"launch page\", \"premium brand\", \"make people stop scrolling\" → load `references\u002Fdirect.md` and follow its phases. This is the flagship register.\n2. **`build`** or the brief is ONE conventional surface — a marketing page, a landing, a single product page → load `references\u002Fbuild.md`.\n3. **`system`** or the brief has **more than one screen that must feel like one product** — app, dashboard, admin, settings, onboarding, a docs or content site with real navigation → load `references\u002Fsystem.md`. The unit of design becomes the component × state, the failure mode becomes drift rather than boredom, and there is deliberately **no peak**. If you are already in `build` and a second screen appears, stop and switch: half a system is worse than either.\n4. **`edit`** or the request modifies a page this skill built (the project contains `design\u002FDESIGN.md`) — \"add a section\", \"change the pricing\", \"swap the hero copy\" → read `design\u002FDESIGN.md` FIRST and follow its Editing protocol: reuse its tokens, section-opening patterns, and motion families; after the change run slopscan and re-shoot the affected viewports. An edit that ignores DESIGN.md is a regression even if it looks good in isolation.\n5. **`recon \u003Cbrief>`** or the ask is only for reference material — \"find references\", \"put together a moodboard\", \"what's the state of the art for X sites\" → load `references\u002Frecon.md` and run just that phase: scout live sites, build the moodboard, hand back `design\u002Frefs\u002FREFERENCES.md` (with the `steal:` lines filled) and `design\u002Fmoodboard\u002Fcontact-sheet.png` (with the read filled). No commit-sheet, no build.\n6. **`audit \u003Cpath-or-url>`** → load `references\u002Fverify.md` and run the verification pipeline on an auteur-built page. If the target is an existing UI auteur didn't build and the user wants it *polished* rather than *rebuilt*, say that a dedicated UI-polish\u002Fcritique pass (upstream paired auteur with a separate 'impeccable' skill, not vendored here) is the right tool and offer to continue only if they want a rebuild.\n7. **Ambiguous** (e.g. plain \"make a landing page\") → ask exactly one question: \"A great conventional landing page, or cinema mode with scroll direction and generated assets?\" (upstream phrased these example briefs in Russian; translated here.) Then route. (Multi-screen briefs are not ambiguous — they are `system`.) Don't ask anything else yet — each register runs its own intake.\n\nAll three registers share phase zero, and its centre of gravity is the commit-sheet. Order differs: **build** runs recon → commit-sheet → mockup; **direct** runs recon → storyboard → commit-sheet → mockup, because the film's scenes are what the six decisions get made *about*; **system** runs recon → system-sheet (route map + component inventory) → commit-sheet → mockup, because the six decisions get made about a product, not a page. Either way nothing is coded before the sheet is full.\n\n### Working relationship with other skills\n\nAuteur *builds*; it does not re-polish foreign UI. If the user has an existing interface that needs refinement, run a separate UI-critique pass (e.g. `vision_analyze` on screenshots plus the sibling design skills). Upstream paired auteur with an 'impeccable' critique skill (not vendored here); auteur's verify gate and an outside critique measure different things and coexist happily.\n\n## Quick Reference\n\nThe non-negotiables and the phase table. They apply to every register, every phase, always — even if no reference file has been loaded. Match-and-refuse: if you are about to produce one of these, stop and restructure the element.\n\n### Banned (rewrite, don't tweak)\n\n| # | Ban | Instead |\n|---|-----|---------|\n| 1 | `border-left`\u002F`border-right` >1px as a colored accent on cards, callouts, alerts | full border, background tint, leading icon, or nothing |\n| 2 | Gradient text (`background-clip: text` + gradient) | one solid color; emphasis via weight or size |\n| 3 | Glassmorphism as default (decorative `backdrop-filter` cards) | rare and purposeful, or solid surfaces |\n| 4 | The hero-metric template (big number, small label, stat row, gradient accent) | evidence in prose, one committed visual |\n| 5 | Identical card grids (same-size icon+heading+text, repeated) | vary size, structure, or drop the cards entirely |\n| 6 | Eyebrow kickers (tiny uppercase tracked label) above every section | one deliberate kicker max as a brand system; vary section openings |\n| 7 | Numbered section scaffolding (01 \u002F 02 \u002F 03) when order carries no meaning | numbers only for a real sequence |\n| 8 | `Inter` or `Space Grotesk` as the *first* font choice | pick from a contrast-axis pair (see taste.md); these two are the AI default of 2024–2026 |\n| 9 | Purple→blue gradients (both stops hue 250–290) | committed brand hue, or no gradient |\n| 10 | Cream\u002Fwarm-beige body background as a \"warmth\" reflex (OKLCH L 0.84–0.97, C \u003C0.06, hue 40–100) | saturated brand surface, true off-white at chroma ~0, or a darker tinted mid-tone; warmth lives in accent + type + imagery |\n| 11 | The same fade-in\u002Fslide-up entrance on every section | each reveal fits what it reveals; vary easing, distance, direction |\n| 12 | `transition: all` | list the animated properties |\n| 13 | `window.addEventListener('scroll', ...)` | IntersectionObserver, GSAP ScrollTrigger, or CSS `animation-timeline` |\n| 14 | `scale(0)` entrances | start at `scale(0.95)` + opacity |\n| 15 | Bento grids of near-identical or empty cells; white-card-on-white bento | bento only with real visual variation per cell, else a different layout |\n| 16 | Copy tells: \"Revolutionize\", \"Seamless\", \"Effortless\", \"Unleash\", \"Elevate\", em-dash–heavy sentences, decoration strips like \"BRAND. MOTION. SPATIAL.\" | concrete claims in plain words |\n| 17 | More than one marquee per page | one, or none |\n| 18 | Instrument Serif \u002F Playfair Display as the reflex \"elegant serif\" | serifs chosen for the brand, not from the AI shortlist |\n\nA ban may be overridden only through a written `auteur-allow` (see Verification) with a real reason — a deliberate, argued choice is voice; a default is slop.\n\n### Critical numbers (memorize; full context in reference files)\n\n- Body text contrast ≥ 4.5:1 (large text ≥ 3:1). Placeholders too. Muted-gray-on-tinted-white is the #1 AI readability failure.\n- Body line length 65–75ch. Display heading ceiling: clamp max ≤ 6rem *for headings in prose flow* — a wordmark or a deliberately type-led hero is exempt and the commit-sheet must say so. Display letter-spacing ≥ −0.04em.\n- Durations: button 100–160ms · tooltip 125–200ms · dropdown 150–250ms · modal\u002Fdrawer 200–500ms · any UI >300ms needs a written reason.\n- Enter\u002Fexit easing = ease-out. `ease-in` is banned on UI.\n- Animate only `transform` and `opacity`. Stagger 30–80ms.\n- Motion budget: ≤ 3 scroll-triggered pattern families per page; **one** primary wow peak, supporting scenes at lower intensity.\n- Scrub smoothing 0.3–0.8. Hero video ≤ 2MB. LCP \u003C 2.5s. CLS \u003C 0.1.\n- Fullscreen passes (bloom, grain, DoF, any full-frame shader) are priced **per pixel, not per object** — they, not geometry, are what blows the frame budget. A perf number counts only when measured at **DPR 2 on a production build**: DPR 1 quarters the cost of every such pass, and a dev server roughly doubles the frame.\n- `prefers-reduced-motion` = an alternative art direction (gentler, not zero), never an afterthought.\n- Content must be readable with JS disabled: reveals enhance an already-visible default, never gate visibility.\n\n### Phases at a glance\n\n| Phase | build register | direct register | system register | Reference to load |\n|---|---|---|---|---|\n| 0 | recon → commit-sheet → hero mockup gate | recon → screenplay (STORYBOARD.md) → commit-sheet → hero mockup gate | recon → SYSTEM-SHEET.md (routes + component inventory + states) → commit-sheet → mockup gate | `recon.md`, then `build.md` \u002F `direct.md` \u002F `system.md` |\n| 1 | — | asset production (generate → edit → optimize) | — (source icons\u002Ffonts via `source.mjs`) | `assets.md` |\n| 2 | build the page | assemble the film (smooth scroll first, hero, scenes top-down) | tokens → the shell → screens in traffic order → every state | `build.md` \u002F `scroll-cinema.md` \u002F `system.md` + `taste.md` + `motion.md` |\n| 3 | verify | verify + CINEMA-QA.md | verify + **systemscan across every route** | `verify.md` |\n| 4 | lock the style: fill `design\u002FDESIGN.md` | same | same, but DESIGN.md is the **component contract** | `templates\u002FDESIGN.md` |\n\nThe hero mockup gate (one static throwaway screen, screenshotted and approved before anything else is built) is the cheapest moment to change art direction — details in each register's reference. `design\u002FDESIGN.md` is the style contract that makes every later edit stay in style (the `edit` route reads it first).\n\nNever skip a gate because the intermediate result \"looks done\". The gates exist because a page that merely looks done is exactly what every other AI ships.\n\n## Procedure\n\n### The commit-sheet (before any code, both registers)\n\nSlop is what happens when defaults make the decisions. The commit-sheet forces seven real decisions onto paper before the first line of code. Copy `templates\u002FCOMMIT-SHEET.md` into the project (e.g. `design\u002FCOMMIT-SHEET.md`) and fill all seven fields with non-defaults:\n\n1. **Peak** — the ONE primary wow moment (direct) or signature element (build). One sentence. If you can't name it, you're not ready to build.\n2. **Color** — primary as OKLCH + commitment tier (restrained \u002F committed \u002F full-palette \u002F drenched) + one line: *why this is not lavender, not cream, and not the category reflex* + **the background lightness as a number** (target mean L), because \"dark feels premium\" is where this skill drifts, and a number can be checked afterwards where a mood cannot.\n3. **Type** — display + text pairing on a contrast axis (serif+sans, geometric+humanist, mono+serif...) + one line: *why not Inter*.\n4. **Grid break** — the one concrete thing that breaks the symmetric-grid default: an overlap, an asymmetric split, a diagonal flow, a full-bleed interruption. Name it specifically.\n5. **Motion budget** — how many scroll-pattern families (≤3) and what they are.\n6. **Reflex check** — write down: (a) what a generic AI would do for this category (first-order reflex), (b) what a generic AI avoiding (a) would do (second-order reflex — e.g. fintech → \"terminal dark mode\" is *also* saturated now), (c) your chosen deviation from both. If recon ran, (a) is not a guess: whatever `design\u002Frefs\u002FREFERENCES.md` showed five times *is* the reflex, dated and with receipts.\n7. **House tells broken** — name the **two (minimum)** items from `taste.md` §2.5 you are deliberately not doing this time, and what replaces each. Fields 6a\u002F6b are the reflexes of the *category*; these are the reflexes of *this skill*, which recur across unrelated projects and are invisible from inside any one of them: near-black backgrounds, mono service labels, the logo\u002Fstatus\u002Faction header, the scroll-instruction footer, amber-or-acid accents, the wordmark-as-hero, glow standing in for lighting. Measured across nine showcase builds, eight were dark and three landed within 0.002 of the same lightness. A tell that genuinely belongs here can stay — say why, as with an `auteur-allow`.\n\nGate: every field filled with a specific, non-default answer. An empty or generic field (\"modern, clean look\") means stop and decide. This artifact is checked again at verification.\n\n### Reference files\n\n- `references\u002Frecon.md` — **phase 0 scouting**, two executable legs: `scripts\u002Frefscout.mjs` profiles live award-level sites (real stack, pinned scenes, scroll budget, fonts, painted palette, screenshots — mechanics, not skins) and `scripts\u002Fmoodboard.mjs` builds a numbered contact sheet from Bing \u002F Pinterest \u002F are.na so the art direction is decided from live material instead of memory. Also: query craft, the steal rule, how recon feeds the commit-sheet, and the \"reference images are not assets\" line. Load at the top of phase 0.\n- `references\u002Ftaste.md` — the full anti-slop system: extended bans with replacements, second-order category reflex table, color strategy tiers, typography pairing, copy rules. Load for any visual decision-making.\n- `references\u002Fmotion.md` — the motion school: when to animate, easing\u002Fduration\u002Fspring numbers, performance rules, motion budget, sound policy. Load before writing any animation.\n- `references\u002Fbuild.md` — the standard register process. Load when routed to build.\n- `references\u002Fsystem.md` — the **multi-screen register**: route map, the component inventory as a gate, the state matrix (empty\u002Floading\u002Ferror are not edge cases), density rules, the no-peak rule, and `scripts\u002Fsystemscan.mjs` — which crawls every route, reads what the browser actually painted, fails a control type over its declared variant budget — counting *states* (disabled, current, inside a `data-state` row) separately, so implementing the state matrix never reads as drift — presses Tab to catch controls with no visible focus state, and renders one tile per rendered variant so drift is visible as well as counted. Load when routed to system.\n- `references\u002Fdirect.md` — the cinematic register: screenplay contract, scene-sheets, dramaturgy, assembly order. Load when routed to direct.\n- `references\u002Fassets.md` — the media crew and routing (in Hermes: `image_generate` for all image generation and edits, `terminal` for ffmpeg\u002Fnode; video via whatever image→video backend the user has), **§0.5 source-vs-generate** (`scripts\u002Fsource.mjs`: CC0 glTF meshes, HDRIs and PBR materials from Poly Haven, icons, fonts, CC images, stock video — with a licence ledger, because generation cannot make geometry or an IBL and stock video must never be the peak), the consistency trick (edit frame A into frame B), local video via the first→last-frame chain, generated elements\u002Fmockups, the ambient score, the degradation ladder, and asset caching. Load during direct phase 1.\n- `references\u002Fscroll-cinema.md` — working code recipes: scroll-scrubbed video, canvas sequences, GSAP+Lenis foundation, CSS scroll-driven animations, text reveals, the two-keyframe WebGL displacement transition, view transitions, ambient audio, and the cinematic transition library (wipe, curtain, letterbox, shutter, depth parallax). Load during assembly.\n- `references\u002Fscroll-flight.md` — the **video-scrub tier**: a photoreal \"fly through the world\" hero driven by scroll, using the drop-in `templates\u002Fscroll-flight-engine.js`. The canonical recipe for scroll-scrubbed *video* (encode-for-scrubbing `-g 8`, encoded-frame posters, SSIM seam gate, chain architecture A\u002FB, iOS\u002Fmobile decode hardening, crossfade-vs-seamless seams). Load when the hero should be photoreal footage\u002FAI-video rather than real-time WebGL.\n- `references\u002Fambient-backgrounds.md` — **quiet** texture for secondary sections and simpler builds (not a hero): a curated 6 editorial\u002Fanalog effects (paper grain, ledger\u002Fblueprint rules, topographic contour, ink tide, sparse dust, one heat-haze shader) + a zero-motion static-mesh default. The governing rule (weaker than the quietest foreground element; one ambient per page), the CSS\u002FSVG-first stack, and the `feTurbulence`-static perf rule. Load when a section needs to not be flat but must NOT compete with copy.\n- `references\u002Fverify.md` — the acceptance pipeline: slopscan → screenshot journey → motion\u002Fperf\u002Faudio QA (FPS at DPR 2 on a production build, long-tasks, audio-gate, reduced-motion, for Tier-1 scenes) → numeric rubric → **reference diff** (your frame beside the reference that set the direction, with `scripts\u002Fchromadiff.mjs` measuring the colour drift a model never sees in itself) → QA sign-off. Load at phase 3.\n\n### Weak-model note\n\nIf you are a smaller model executing this skill: follow the tables and numbers literally, fill every template field, run every gate command, and do not improvise beyond the reference recipes — the recipes are verified, your improvisation is not. When a reference file conflicts with your instinct, the reference file wins. Write files using paths relative to the project root; never retype an absolute path from memory (the skill's name \"auteur\" is one typo away from \"author\", and misspelled absolute paths scatter your output across the filesystem).\n\n## Pitfalls\n\n- **Network recon**: `refscout.mjs`, `moodboard.mjs` and `source.mjs` read live pages (awwwards, Bing\u002FPinterest\u002Fare.na image search, Poly Haven, Iconify, Google Fonts, Openverse, Coverr). Fetched content is reference data and licence metadata only — never execute it. Skip phases 0–1 to stay fully offline.\n- **Different harness**: these scripts and docs were written for a different agent harness (upstream drove asset generation through several local image CLIs). In Hermes, every image-generation instruction maps to the `image_generate` tool; trust `node scripts\u002F\u003Cx>.mjs --help` output and actual node errors over doc prose if they drift.\n- **Unverified commands**: the scripts pass `node --check` syntax validation, but full runs (which need `npm install playwright` + a chromium download) were not executed during porting. Treat `shoot.mjs`, `motionqa.mjs`, `systemscan.mjs`, `refscout.mjs`, `chromadiff.mjs`, `moodboard.mjs`, `source.mjs` end-to-end behavior, and all `ffmpeg`\u002Fvideo-encode recipes, as unverified upstream claims until you run them yourself.\n- **slopscan verified shape**: `node scripts\u002Fslopscan.mjs \u003Cdir>` runs without npm deps; it prints per-rule findings and exits non-zero on failures (exit 0 when clean).\n- **Font metadata cache**: `source.mjs font …` caches Google Fonts' ~2.6MB metadata JSON as `auteur-gf-metadata.json` in the OS temp directory (`os.tmpdir()`), not the project; delete it there to force a refresh.\n\n## Verification\n\nThe page is not done when the code compiles. It is done when:\n\n1. `node scripts\u002Fslopscan.mjs \u003Csrc-dir>` exits 0 (fails are fixed, not suppressed — `\u002F* auteur-allow: RULE_ID -- reason *\u002F` exists for deliberate choices and demands a real reason);\n2. `node scripts\u002Fshoot.mjs \u003Curl>` has produced screenshot journeys at 390 \u002F 768 \u002F 1440 and you have **looked at every frame** — text overflow, blank scenes, broken reveals, layout collapse are found by eyes, not by text search;\n3. the numeric rubric in `references\u002Fverify.md` passes (contrast, LCP, CLS, reduced-motion journey, scene variety);\n4. for direct register: `CINEMA-QA.md` (from templates) is filled with PASS on every row.\n\nIf any gate fails — fix and re-run. Report results honestly: \"slopscan clean, 21 screenshots reviewed, LCP 1.9s\" beats \"looks great\".\n",{"name":5,"author":56,"license":15,"version":57,"metadata":58,"platforms":68,"description":7},"agiwhitelist (https:\u002F\u002Fgithub.com\u002Fagiwhitelist, upstream agiwhitelist\u002Fauteur), ported by Hermes Agent","1.3.1",{"hermes":59},{"tags":60,"category":38,"upstream":64,"related_skills":65},[61,62,63,40,36,41],"web-design","cinematic","scroll-animation","https:\u002F\u002Fgithub.com\u002Fagiwhitelist\u002Fauteur (pinned 9bca227d)",[66,67,39],"popular-web-designs","design-md",[48,69,46],"macos","main","0d1434f89f4bc6b07e9d272accd8c1013768820f","archive\u002Fskill-md-reviewed\u002Fsha256\u002F51\u002F51988bc97cf00b15fcde05294f71c71402a4ef3dd469325711523517d13e98a8",0,"https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills","https:\u002F\u002Fgithub.com\u002Fzapabob","The Open University of JAPAN　2019-now\r\n\r\nTokyo University of Science　2007-2010","2026-10-26 16:29:01",{"source":8,"skillName":5,"commands":79,"prompt":89,"zipAvailable":90},[80,83,86],{"tool":81,"command":82},"npx","npx skills add zapabob\u002FSkills --skill auteur",{"tool":84,"command":85},"bunx","bunx skills add zapabob\u002FSkills --skill auteur",{"tool":87,"command":88},"pnpm","pnpm dlx skills add zapabob\u002FSkills --skill auteur","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002F51\u002F51988bc97cf00b15fcde05294f71c71402a4ef3dd469325711523517d13e98a8\u002FSKILL.md",true,[],[93,120,152,179,206,223],{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":108,"publishedAt":51},"01M6GJTE1GESGGF9K028Y7753E","xurl","X\u002FTwitter via xurl CLI: post, search, DM, media, v2 API.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fxurl\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[99,102,105],{"categoryNo":100,"categoryName":101,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":103,"categoryName":104,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":106,"categoryName":107,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000030","开发工程师",[95,109,69,110,49,48,46,111,112,45,113,114,115,42,32,116,70,117,118,119],"openclaw","cli","official","search","social-media","api","Media","twitter","social","via","post",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":135,"publishedAt":51},"01M6GJT8S1PXQ8WPXT1HSNBWH2","writing-plans","Write implementation plans: bite-sized tasks, paths, code.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwriting-plans\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[126,127,130,131,132],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":128,"categoryName":129,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":103,"categoryName":104,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":106,"categoryName":107,"taxonomyType":29,"taxonomyTypeDesc":30},{"categoryNo":133,"categoryName":134,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000036","内容创作者",[136,137,138,50,69,139,48,140,46,141,142,143,144,145,146,147,148,149,150,151],"writing","writing plans","plans","review","workflow","documentation","tasks","development","code","planning","code-review","subagent","write","superpowers","paths","test-driven-development",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":161,"publishedAt":51},"01M6GJST0H5X7WHBJ3BZK0DVKH","whisper","OpenAI's general-purpose speech recognition model. Supports 99 languages, transcription, translation to English, and language identification. Six model sizes from tiny (39M params) to large (1550M params). Use for speech-to-text, podcast transcription, or multilingual audio processing. Best for robust, multilingual ASR.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwhisper\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[158],{"categoryNo":159,"categoryName":160,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[154,69,48,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178],"openai","speech","multimodal","Transformers","ASR","Audio","text","model","speech recognition","use","general","multilingual","translation","english","identification","processing","Audio Processing",{"skillNo":180,"name":181,"nameZh":6,"description":182,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":188,"publishedAt":51},"01M6GJSMRQ8EETZTYMG72P70EA","weights-and-biases","W&B: log ML experiments, sweeps, model registry, dashboards.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fweights-and-biases\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[185],{"categoryNo":186,"categoryName":187,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000013","分析与可视化",[189,69,190,191,46,192,193,194,195,196,197,169,198,199,200,201,202,203,204,205],"weights and biases","tensorflow","experiments","pytorch","visualization","registry","real-time","tuning","dashboards","experiment","log","time","Experiment Tracking","Model Registry","Hyperparameter Tuning","WandB","Real-Time Visualization",{"skillNo":207,"name":208,"nameZh":6,"description":209,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":210,"categories":211,"keywords":213,"publishedAt":51},"01M6GJS19KDPRY112JTR326S06","watchers","Poll RSS, JSON APIs, and GitHub with watermark dedup.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwatchers\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[212],{"categoryNo":103,"categoryName":104,"taxonomyType":21,"taxonomyTypeDesc":22},[208,69,214,49,48,215,216,217,218,219,220,42,32,221,222],"terminal","automation","http","monitoring","cron","json","rss","devops","with",{"skillNo":224,"name":225,"nameZh":6,"description":226,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":227,"categories":228,"keywords":231,"publishedAt":51},"01M6GJRHJD2A6Q830SWF9W48BC","serving-llms-vllm","vLLM: high-throughput LLM serving, OpenAI API, quantization.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fvllm\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[229,230],{"categoryNo":100,"categoryName":101,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":106,"categoryName":107,"taxonomyType":29,"taxonomyTypeDesc":30},[232,233,234,48,235,162,236,237,238,165,239,114,240,241,242,243,244,245,246,247],"llms","vLLM","serving llms vllm","research","openai api","tensor","Inference Serving","Production","llm serving","High Throughput","PagedAttention","Continuous Batching","Quantization","Tensor Parallelism","high-throughput","throughput"]