Claude-skill-registry gemini-ai

Integrates Gemini AI for content generation. Use when adding AI features, generating project descriptions, implementing rate limiting, or working with geminiService.ts. Includes prompting guidelines and error handling.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/gemini-ai" ~/.claude/skills/majiayu000-claude-skill-registry-gemini-ai && rm -rf "$T"
manifest: skills/data/gemini-ai/SKILL.md
source content

Gemini AI Integration Skill

Instructions

  1. Server functions in
    src/services/geminiService.ts
  2. Use
    'use server'
    directive
  3. Return structured JSON via schema
  4. Apply rate limiting (3/draft, 10/day)
  5. Korean language with "Chef" persona

Existing Functions

  • generateProjectContent(draft)
    { shortDescription, description, tags }
  • refineDescription(rawDescription)
    → refined markdown

AI Rate Limits

  • 3 generations per draft
  • 10 generations per day per user
  • 5-second cooldown between requests

Prompting Style

  • Role: "SideDish 플랫폼의 수석 에디터"
  • Language: Korean (자연스러운 해요체)
  • Culinary metaphors: subtle, not forced
  • Banned: "최고의", "혁신적인", "획기적인"

Usage in Components

import { generateProjectContent } from '@/services/geminiService'
import { canGenerate, recordGeneration } from '@/lib/aiLimitService'

if (!canGenerate(draftId)) {
  toast.error('AI 생성 횟수를 초과했습니다.')
  return
}

const result = await generateProjectContent(draft)
recordGeneration(draftId)

For complete templates, error handling, and UI components, see reference.md.