feat : add custom skill

This commit is contained in:
2026-10-11 20:28:56 +07:00 Unverified
parent 5d02d8fe50
commit ff31cd4a0d
2 changed files with 26 additions and 0 deletions
+13
View File
@@ -0,0 +1,13 @@
---
name: bun-s3-media
description: Add or maintain Buzz Sheet media uploads using the existing Bun S3-backed flows. Reuse shared upload infrastructure instead of adding feature-specific upload routes.
---
# Buzz Sheet media uploads
Use the existing media flows when adding an upload feature. Keep S3 credentials and storage writes on the server, and do not create a feature-specific route that duplicates upload handling.
- For public guide images, reuse `MediaUploader` from `components/admin/media-uploader.tsx`. It posts to `POST /api/admin/media`, which validates the file and writes it to Bun S3 through `lib/media/repository.ts`.
- For staged private media, reuse the existing presign, browser `PUT`, and completion flow in `/api/admin/media/presign` and `/api/admin/media/[id]/complete`. Preserve its authorization, metadata, validation, and visibility lifecycle.
- For server-side jobs or integrations, use `getMediaStorage()` from `lib/media/storage.ts` rather than creating another S3 client or storage configuration. Use the existing media URL helper only for objects intended to be publicly served.
- If a new feature needs behavior the shared flows do not support, extend the shared media infrastructure while preserving its validation and storage conventions.
@@ -0,0 +1,13 @@
---
name: catalog-ui-components
description: Add or change Buzz Sheet catalog UI that displays catalog item images, picks catalog items, or shows simple tooltips using the shared components.
---
# Buzz Sheet catalog UI components
Reuse the project components for catalog imagery, catalog selection, and simple tooltip content instead of building one-off equivalents.
- Render character, weapon, and artifact images with `CatalogItemImage` from `components/catalog-item-image.tsx`. Pass the item kind and catalog image data so rarity backgrounds and image behavior stay consistent.
- Use the matching picker from `components/catalog-select.tsx`: `CharacterSelect`, `WeaponSelect`, or `ArtifactSelect` for domain pickers, and `CatalogDropdown` for a generic catalog dropdown. Extend these shared components when a picker needs another presentation or option behavior.
- Use `SimpleTooltip` from `components/tooltip.tsx` for simple tooltip content. Keep the existing tooltip primitives for cases that need richer custom interaction or layout.
- Preserve the shared pickers' search, keyboard selection, and clearing behavior when extending them.