Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/aziontech/webkit/component-scaffoldnpx skills add aziontech/webkit --skill component-scaffoldgit clone --depth 1 https://github.com/aziontech/webkitWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00058 | $0.05233 |
| Opus 5 | $0.00029 | $0.02617 |
| Sonnet 5 | $0.00012 | $0.01047 |
| Haiku 4.5 | $0.00006 | $0.00523 |
Grade A, and why
component-scaffold scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 319 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Skill: component-scaffold
Purpose
Convert an approved .specs/<name>.md into:
packages/webkit/src/components/<category>/<name>/<name>.vue(TypeScript, JSDoc on every public prop).- (Composition only) One folder per sub-component under the root component directory —
<name>/<name>-<part>/<name>-<part>.vue. The full file name is preserved (dialog-trigger.vue, notindex.vue) so error traces and editor breadcrumbs are unambiguous. - (Composition only)
packages/webkit/src/components/<category>/<name>/injection-key.tsat the root level (shared by every sub-component). - (Composition only)
packages/webkit/src/components/<category>/<name>/index.ts— the compound API that attaches every sub-component to the root (<Root.Part>) viaObject.assign; because it is a.tsfile,vue-tscgenerates the adjacentindex.d.ts(do not hand-write it —.d.tsis gitignored). See.claude/rules/compound-api.md. - New entry/entries in
packages/webkit/package.json#exports— one per public component (root + each public sub-component). The public path keeps the short, flat form (./overlay/dialog-trigger) regardless of the folder nesting. For composition, the root export points atindex.ts(the compound), plus a standalone./<name>-rootexport pointing at the root.vuefor tree-shaking — see.claude/rules/compound-api.md.
Nothing else. The story, the Code Connect file, and the validation pass live in other skills.
Folder layout — composition pattern (canonical, one folder per part):
packages/webkit/src/components/overlay/dialog/
├── dialog.vue # root
├── index.ts # compound (Object.assign → Dialog.Trigger, ...); vue-tsc emits index.d.ts at publish
├── injection-key.ts # shared InjectionKey<DialogContext>
├── dialog-trigger/
│ └── dialog-trigger.vue
├── dialog-portal/
│ └── dialog-portal.vue
├── dialog-overlay/
│ └── dialog-overlay.vue
├── dialog-content/
│ └── dialog-content.vue
├── dialog-title/
│ └── dialog-title.vue
├── dialog-description/
│ └── dialog-description.vue
└── dialog-close/
└── dialog-close.vue
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 319 lines · 58 tokens per session scan A 6596d918efa9
component-scaffold is a skill published in the GitHub repository aziontech/webkit (2 stars, last pushed 4d ago), licensed MIT. It adds 58 tokens to every session and 5,233 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
shadcn-vue
Manages shadcn-vue components and projects — adding, searching, fixing, debugging, styling, and composing UI. Provides project context, component docs, and usage examples. Applies when working with shadcn-vue, component registries, presets, --preset codes, or any project with a components.json file. Also triggers for…
create-component
End-to-end SEED component implementation guide for React Web, Lynx, and cross-platform work. Use when adding or changing components across rootage, qvism, react/lynx packages, registry snippets, docs, examples, or when writing/refactoring docs/stories Storybook files. Story-only work follows a CSF Next fast path…
seed-design
SEED Design 통합 가이드. 공통 컴포넌트 스펙과 파운데이션을 공식 문서에서 찾고, React·Lynx 프로젝트의 구현·설치·CLI·마이그레이션을 대상 플랫폼에 맞게 안내하며, 지원되는 플랫폼의 사용 상태를 Doctor로 진단한다. SEED Design 관련 질문, 컴포넌트 사용법, 색상·타이포·스페이싱, 셋업, 스니펫, 업그레이드, "잘 쓰고 있나?", "뭘 고쳐야 하나?" 같은 요청이면 이 스킬을 사용한다.
frappe-ui
Build consistent Frappe-style user interfaces using the frappe-ui Vue 3 component library and its design tokens. Use when scaffolding pages, forms, dialogs, lists, or any UI inside a Frappe-based app, when the user mentions frappe-ui, Frappe Cloud / Gameplan / Desk / Drive / Insights styling, or asks to "use frappe-ui…
n8n:design-system
Guidelines on using Design System styles and components. Use when working on .vue files in packages/frontend. Triggers for tasks that include component architecture, styling, UI changes, or feature work.
frontend-ui
Frontend UI implementation, accessibility, and responsive checks for Django templates and Vue components.