Borrowing it
Nothing to install: this file belongs to Salah-XD/appCN. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/Salah-XD/appCN/main/.claude/skills/document-component/SKILL.mdgit clone --depth 1 https://github.com/Salah-XD/appCNWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/salah-xd/appcn/document-component)<a href="https://agentmods.dev/skills/salah-xd/appcn/document-component"><img src="https://agentmods.dev/badge/skills/salah-xd/appcn/document-component/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/salah-xd/appcn/document-component"><img src="https://agentmods.dev/badge/skills/salah-xd/appcn/document-component.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What 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.1 | $0.00069 | $0.00917 |
| Opus 5.5 | $0.00028 | $0.00367 |
| Sonnet 5.5 | $0.00014 | $0.00183 |
| Haiku 4.5 | $0.00007 | $0.00092 |
Grade A, and why
document-component 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 2mo 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 — 103 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/document-component
This skill writes (or rewrites) a <slug>.meta.ts for a component that
already exists in packages/ui/src/. Component code must not change — only
the meta file.
Step 0 — Confirm target
Ask which component if not given. Verify:
packages/ui/src/{components,ai}/<slug>.tsxexists.- Note whether
<slug>.meta.tsalready exists (you may be rewriting).
Step 1 — Read the source
Read the full component .tsx. Note:
- Header doc comment (often names the delight detail).
- The exported
<Name>Propsinterface — every public prop, in order, with its TSDoc. - Defaults (look for
prop = valuein the destructured signature). - Animations +
useReducedMotion()branches (drives the delight bullet and the a11y bullet about reduced motion). accessibilityRole,accessibilityLabel,accessibilityState,hitSlop— these drive the a11y section.
If ../lib/motion / ../lib/haptics are used, those are themselves shipped
as registry deps and worth mentioning in anatomy / a11y where relevant.
Step 2 — Compose the meta
Use the existing metas in packages/ui/src/{components,ai}/*.meta.ts as
reference for voice and depth.
import type { ComponentMeta } from "../lib/meta";
export const meta: ComponentMeta = {
slug: "...",
title: "...",
category: "base" | "ai",
description: "<one line — match the component's header doc comment if it has one>",
anatomy: "<2–4 sentences: what's it made of, when to reach for it>",
delight: "<the one non-obvious motion / haptic / behavior>",
props: [
/* every public prop, in interface order, with TSDoc mirrored into description */
],
examples: [
{ title: "Basic", description: "...", code: `...` }, // canonical demo
{ title: "<feature>", description: "...", code: `...` },
// more if the component has clearly distinct modes
],
a11y: [
/* one bullet per relevant accessibility behavior:
roles, labels, state, hit slop, reduced-motion, focus/press feedback */
],
};
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.
- 2mo ago First seen · 103 lines · 69 tokens per session scan A eb5a8dde5545
document-component is a skill published in the GitHub repository Salah-XD/appCN (3 stars, last pushed 5mo ago), licensed MIT. It adds 69 tokens to every session and 917 once invoked, about $0.0003 per session on Opus 5.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.
document-component compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| document-componentSalah-XD/appCN | Skill | 3 | 5mo ago | MIT | A | 69 | Claude Code |
| shadcn-vueunovue/shadcn-vue | Skill | 11k | 3d ago | MIT | A | 97 | Claude Code |
| shadcn-ui-flutternank1ro/flutter-shadcn-ui | Skill | 2.8k | 3d ago | MIT | A | 58 | Claude Code, Codex |
| ui-componentsyonatangross/orchestkit | Skill | 299 | yesterday | MIT | A | 44 | Claude Code |
| maquina-ui-standardsmaquina-app/maquina_components | Skill | 140 | 9d ago | MIT | A | 61 | Claude Code, Codex |
| creative-tim-uicreativetimofficial/ui | Skill | 12k | 7mo ago | MIT | A | 91 | Claude Code, Codex |
| spark-uicodeweb-dev/spark-ui | Skill | 99 | 3mo ago | MIT | A | 73 | Claude Code, Codex |