Audit and fix accessibility issues across the portfolio to ensure WCAG 2.1 AA compliance.
日本語の概要は準備中です。原文の説明を表示しています。
Write and review component documentation (MDX) and registry descriptions. Covers doc structure, description writing, Features, Composition, Credits, and References sections. Use when creating new component docs, updating descriptions, adding Features sections, adding Composition sections, adding Credits sections, adding References sections, or reviewing component documentation quality.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Guide for writing concise, consistent component documentation for this project's registry. Covers MDX doc structure, description writing, Features sections, Composition sections, Credits sections, and References sections.
src/features/doc/content/components/{component-name}.mdxsrc/registry/components/_registry.tscomponents) is derived from the components/ subfolder, not declared in frontmatter.Component docs follow this section order. Only include sections that are relevant. Headings use sentence-case (capitalize only the first word and proper nouns); the fixed section names below already follow this, and any custom heading must too.
---
title: Component Name
description: One concise sentence about what the component does.
image: https://assets.chanhdai.com/images/blog/{component-name}.webp
createdAt: YYYY-MM-DD
updatedAt: YYYY-MM-DD
---
<ComponentPreview name="{component-name}-demo" />
## Features (optional -- skip if component is self-explanatory)
## Installation
## Usage
## Composition (optional -- only for compound/composable components)
## API reference (optional)
## Examples (optional)
## Credits (optional -- for inspiration/original sources)
## References (optional -- for technical reading and implementation details)
The description field appears in MDX frontmatter AND the registry item. Both must match.
Toggle between system, light, and dark themes in Next.js apps.
Animated text that cycles through items with a smooth flip transition.
Interactive slider inspired by the classic iPhone "slide to unlock" gesture.
Scrolling marquee to showcase user testimonials.
Display install commands with package manager switcher and copy button.
Copy text to clipboard with visual feedback and animation.
A React component for managing user consent for cookies and tracking in Next.js applications.
--> Too long, starts with "A React component for..."
Animated text component that cycles through items with a smooth flip transition built with Motion for React.
--> "component" is redundant, "built with Motion for React" is implementation detail
A sleek, interactive slider inspired by the classic iPhone OS "slide to unlock" gesture.
--> Starts with "A sleek", subjective adjective
Add ## Features when the component has non-obvious capabilities that the title, description, and preview alone cannot convey. Examples: multi-mode support, special interactions, keyboard navigation, persistence, composability.
Skip ## Features when the component is self-explanatory through its title + description + preview + usage. Examples: Theme Switcher, Shimmering Text, Apple Hello Effect.
## Features as the heading (not "About", not "Overview").## Features
- Content fades in and out smoothly as you scroll.
- Supports both vertical and horizontal scrolling.
## About
The Scroll Fade Effect component is built on top of CSS animation-timeline.
- 📱 Smooth scrolling fade effect
- 🎨 Customizable with Tailwind CSS
- ⚡️ Easy installation via shadcn CLI
Issues: wrong heading name, intro paragraph is unnecessary, emoji, "Easy installation" repeats Installation section.
Add ## Composition when the component uses a compound/composable pattern -- multiple sub-components that need to be assembled together in a specific tree structure. Examples: SlideToUnlock (track, handle, text), Testimonial (quote, author, avatar), GlowCardGrid (grid + cards).
Skip ## Composition when the component is a single element used with props alone, not composed from sub-components. Examples: CopyButton, ShimmeringText, ThemeSwitcher, TextFlip, MiddleTruncation.
## Composition as the heading.## Usage.Use the following composition to build a \{ComponentName}`.````text fenced code block for the tree.├──, └──, │.## Composition
Use the following composition to build a `SlideToUnlock`
\```text
SlideToUnlock
└── SlideToUnlockTrack
├── SlideToUnlockText
│ └── ShimmeringText
└── SlideToUnlockHandle
\```
## Composition
Use the following composition to build a `Testimonial`
\```text
Testimonial
├── TestimonialQuote
└── TestimonialAuthor
├── TestimonialAvatar
│ ├── TestimonialAvatarImg
│ └── TestimonialAvatarRing
├── TestimonialAuthorName
│ └── TestimonialVerifiedBadge
└── TestimonialAuthorTagline
\```
Use this quick intent check before placing a link:
## Credits when it answers: "Who inspired this component?" or "What original source/product is this derived from?"## References when it answers: "How does this work?" or "Where can I learn implementation details/API?"## Credits. Keep Credits minimal and place explanatory context in ## References only when needed.Add ## Credits when the component is inspired by, derived from, or adapted from an original source the reader should be able to trace. Examples: original demo/tweet, source product interaction, canonical inspiration.
Skip ## Credits when there is no meaningful inspiration or origin worth acknowledging.
## Credits as the heading (not "Attribution", not "Thanks", not "Resources").## References.Use author-centric display text with source URLs:
| Format | Use For |
|---|---|
- [@handle](source-url) | Display handle, open the exact source link. |
- [Author Name](source-url) | Display author name, open the exact source link. |
## Credits
- [@jh3yy](https://x.com/jh3yy)
- [Josh Puckett](https://joshpuckett.me/dialkit)
## Credits
- [@rds_agi](https://x.com/rds_agi)
- [Apple](https://www.figma.com/community/file/1414773009964314315/official-apple-hello-lettering)
## Credits
- [View Transition API](https://developer.mozilla.org/en-US/docs/Web/API/View_Transition_API)
Issue: this is technical implementation reading, so it belongs in ## References, not ## Credits. It is also not an author label.
## Credits
Thanks to everyone who inspired this component! ❤️
- [Original glow effect demo by @jh3yy](https://x.com/jh3yy/status/1992003440579662211)
Issues: narrative intro is unnecessary, emoji is not allowed, and item should be author-only text with the source URL (for example [@jh3yy](https://x.com/jh3yy/status/1618297458752368640)).
Add ## References for technical reading that helps readers implement, understand, or extend the component. Examples: library APIs, web platform docs, implementation articles, related primitives used by the component.
Skip ## References when there are no high-value technical links beyond obvious generic docs.
## References as the heading (not "Resources", not "See Also").Pick the format that matches the kind of link:
| Format | Use For |
|---|---|
- [Title](url) | Library docs, related component docs, web APIs. |
- [Title](url) — short context | Clarify why this reference matters for this component. |
## References
- [View Transition API](https://developer.mozilla.org/en-US/docs/Web/API/View_Transition_API)
- [Motion Layout Animations](https://motion.dev/docs/react-layout-animations) — layout transition behavior
## References
- [Radix Select](https://www.radix-ui.com/primitives/docs/components/select)
- [shadcn/ui Select](https://ui.shadcn.com/docs/components/select)
## References
- [Original glow effect demo by @jh3yy](https://x.com/jh3yy/status/1992003440579662211)
Issue: this is attribution/inspiration, so it belongs in ## Credits.
## References
- [React](https://react.dev)
- [Tailwind CSS](https://tailwindcss.com)
Issue: generic links with low signal; add only references with specific relevance.
Each component in src/registry/components/_registry.ts must have a description field matching the MDX frontmatter:
{
name: "component-name",
type: "registry:component",
description: "Same one-sentence description as MDX frontmatter.",
title: "Component Name",
author: "ncdai <dai@chanhdai.com>",
// ...
}
When creating or updating a component doc:
## Features is needed (non-obvious capabilities).## Composition is needed (compound/composable components).## Credits is needed (inspiration/original sources worth acknowledging).## References is needed (technical links that help implementation and deeper learning).まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Audit and fix accessibility issues across the portfolio to ensure WCAG 2.1 AA compliance.
日本語の概要は準備中です。原文の説明を表示しています。
Creates a new blog post document in the Sanity studio. Use when the user wants to write a blog post, publish an article, or schedule a future post.
日本語の概要は準備中です。原文の説明を表示しています。
Creates a new certification document in the Sanity studio. Use when the user wants to add a credential, certificate, or professional accreditation to the Certifications collection.
日本語の概要は準備中です。原文の説明を表示しています。
Adds a new skill MD file to the studio's skills collection. Use when the user wants to author a new step-by-step recipe for the studio's in-app Skills tool or the .agents mirror.
日本語の概要は準備中です。原文の説明を表示しています。
Creates a new project document in the Sanity studio. Use when the user wants to add a new portfolio project, a case study, or a work sample to the Projects collection.
日本語の概要は準備中です。原文の説明を表示しています。
Creates a new experience document in the Sanity studio. Use when the user wants to add a job, role, internship, or work history entry to the Experience collection.
日本語の概要は準備中です。原文の説明を表示しています。