원클릭으로
astro-components
UI component library for Astro lead generation sites. Buttons, forms, cards, badges. Requires design-tokens skill.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
UI component library for Astro lead generation sites. Buttons, forms, cards, badges. Requires design-tokens skill.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Canonical lead-gen tracking for Astro.js on Cloudflare Workers (v6, Run 6 contract). Drop-in components: <Tracking/>, <TrackedForm/>, <PhoneLink/>, <CallbackButton/>. Two channels with a SHARED event_id: browser (GTM → GA4 / Meta Pixel / Google Ads) + server-side via the Soborbo event-gateway worker. Model 2: the browser OWNS on-site GA4 + Google Ads; the server sends Meta CAPI on-site (+ TikTok/LinkedIn/Microsoft click-ID forwarders, event_id-deduped) and Google Ads ONLY offline (CRM lead lifecycle, Google Data Manager API); the server sends NO GA4. Two gateway ingress paths: tokenless browser path for low-risk clicks (Origin allow-list + rate limit), authenticated server path (per-site token, service binding) for form/lead/purchase conversions dispatched by the site BACKEND. No Turnstile. Daily synthetic smoke-lead cron + digest guard. Consent Mode v2 + CookieYes, gclid/gbraid/wbraid/fbclid + full UTM capture, calculator funnel, form abandonment, phone dedup, first/last touch attribution. Bilingual / multi-
DEPRECATED (legacy, in old/) — use the `soborbo-tracking` skill instead for GA4 + Meta + Google Ads tracking on Astro. Kept for reference only.
Audit and strengthen visible E-E-A-T signals and AI-search (GEO) readiness on Astro lead-gen sites. Use when a page or site needs Experience/Expertise/Authoritativeness/Trust signals, author credibility, first-hand-experience proof, trust pages (about/contact/privacy/returns), NAP + company registration display, review/trust-mark surfacing, AI-crawler access in robots.txt, or answer-first content for ChatGPT/Gemini/Perplexity/AI Overviews. Also triggers on "EEAT", "E-E-A-T", "GEO", "AEO", "AI search visibility", "get cited by AI", "trust signals", "author bio", "local trust", or making a small/niche business outrank larger competitors. Runs a deterministic auditor with runnable tests. Delegates JSON-LD generation to schema-entity-graph and JSON-LD validation to schema-audit; delegates copy voice to humanise-copy.
Width-based responsive image patterns for Astro. Local build-time processing, per-format quality (AVIF/WebP/JPG/PNG), alpha-aware fallback, art direction, face-focus, OG generation, image SEO. Picture, ArtPicture, FixedImage components.
Per-site client tracker and Astro endpoint for the centralised soborbo-error-pipeline workers. Captures client JS errors via sendBeacon, forwards via console.error → Tail Worker. Server-side uncaught exceptions are captured automatically. ~1.5KB client bundle, no external deps. Email throttled to 1 per (site, code) per 4 hours by the notifier worker.
Form infrastructure for Astro projects. Contact forms, booking forms, quote requests. Zod validation, email delivery (Resend/Brevo), rate limiting, Google Sheets, postcode lookup, spam protection.
SOC 직업 분류 기준
| name | astro-components |
| description | UI component library for Astro lead generation sites. Buttons, forms, cards, badges. Requires design-tokens skill. |
Provides reusable UI components. Does NOT handle sections, layouts, or business logic.
| ✅ Use For | ❌ NOT For |
|---|---|
| Marketing sites | Web apps |
| Lead gen pages | Dashboards |
| Service websites | E-commerce carts |
md: for larger| Element | Use | Never |
|---|---|---|
<button> | Actions, toggles | <div onclick> |
<a> | Navigation | <span onclick> |
<input> | Form data | Contenteditable div |
Rule: If it does something → <button>. If it goes somewhere → <a>.
Fixed variants only. Claude cannot invent new variants.
| Component | Allowed Variants |
|---|---|
| Button | primary, secondary, outline, ghost |
| Card | default, elevated, outlined |
| Badge | default, success, warning, error, info |
| Alert | info, success, warning, error |
New variant needed? → Update this skill first, then use.
interface Props {
variant?: 'primary' | 'secondary'; // Explicit union, no string
size?: 'sm' | 'md' | 'lg'; // Fixed sizes only
class?: string; // Allow extension
// ... component-specific
}
const { variant = 'primary', size = 'md' } = Astro.props;
| Allowed | Forbidden |
|---|---|
client:visible islands | Inline onclick |
| Astro actions | <script> in component |
Separate .ts files | Any DOM manipulation |
Exception: None. If JS needed, use island architecture.
// If icon name not found → render nothing + console.warn
const path = icons[name];
if (!path) {
console.warn(`Icon "${name}" not found`);
return null;
}
No silent failures. Missing icon = visible warning in dev.
| Rule | Requirement |
|---|---|
| Label | Always visible, linked via for |
| Placeholder | Hint only, never replaces label |
| Error | Below input, role="alert" |
| Required | Visual indicator (*) + required attr |
Components must NOT:
Rule: Component receives props → renders UI. Nothing else.
src/components/ui/
├── Button.astro
├── Input.astro
├── Card.astro
├── Badge.astro
├── Alert.astro
├── Icon.astro
└── index.ts