From ff31cd4a0df38607d1f28fb3eeb40b18381a70e7 Mon Sep 17 00:00:00 2001 From: gunshiz Date: Sun, 11 Oct 2026 20:28:56 +0700 Subject: [PATCH] feat : add custom skill --- .agents/skills/bun-s3-media/SKILL.md | 13 +++++++++++++ .agents/skills/catalog-ui-components/SKILL.md | 13 +++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 .agents/skills/bun-s3-media/SKILL.md create mode 100644 .agents/skills/catalog-ui-components/SKILL.md diff --git a/.agents/skills/bun-s3-media/SKILL.md b/.agents/skills/bun-s3-media/SKILL.md new file mode 100644 index 0000000..184c484 --- /dev/null +++ b/.agents/skills/bun-s3-media/SKILL.md @@ -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. diff --git a/.agents/skills/catalog-ui-components/SKILL.md b/.agents/skills/catalog-ui-components/SKILL.md new file mode 100644 index 0000000..ac2d42d --- /dev/null +++ b/.agents/skills/catalog-ui-components/SKILL.md @@ -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.