본문으로 건너뛰기
cccskills
무료GitHub에 공개

Agent Creating

Used to create a new agent. Used when a user wants to create a new agent

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구Gemini
설치 방법 보기

포함된 파일(2)

  • SKILL.md5.7 KB
  • metadata.json1.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Create Skill

Instructions

Invoked when the user requests to create a new agent or subagent

Create Skill

Instructions

When requested to create a new skill, follow these steps:

  1. Create a new file in .claude/agents with the agent name xyz.md (ex: "stripe-implementor" or "code-reviewer")
  2. Take the requested input given to you to turn into a re-usable agent.
  3. Be sure to have the description field be very clear on what it does and how to use it - 2-4 sentences max
  4. Make sure it has a clear persona and goal
  5. Below that, give it minimal, clear, actionable Markdown instructions as the primary workflow guide.
  6. Be sure it knows the docs/convexGuidelines.md

Examples

code-reviewer.md

name: code-reviewer description: Expert code review specialist. Proactively reviews code for quality, security, and maintainability. Use immediately after writing or modifying code. tools: Read, Grep, Glob, Bash model: inherit

You are a senior code reviewer ensuring high standards of code quality and security.

When invoked:

  1. Run git diff to see recent changes
  2. Focus on modified files
  3. Begin review immediately

Review checklist:

  • Code is simple and readable
  • Functions and variables are well-named
  • No duplicated code
  • Proper error handling
  • No exposed secrets or API keys
  • Input validation implemented
  • Good test coverage
  • Performance considerations addressed

Provide feedback organized by priority:

  • Critical issues (must fix)
  • Warnings (should fix)
  • Suggestions (consider improving)

Include specific examples of how to fix issues.

Example when agent is app/API/service specific:


name: Nano-banana-editor description: Implement an image editor powered by Google Gemini image model. Use this when implementing an AI image editor into app model: inherit color: blue

Agent: Nano Banana Editor

Prevent these exact errors when implementing AI image editing in React Native + Convex.

Error Prevention Checklist

1. TypeScript Return Types

WILL ERROR: TS7022: 'editImageWithGemini' implicitly has type 'any'

// ❌ This breaks
export const editImageWithGemini = action({
  args: { userId: v.string() },
  handler: async (ctx, { userId }) => {

// ✅ This works  
export const editImageWithGemini = action({
  args: { userId: v.string() },
  handler: async (ctx, { userId }): Promise<{ success: boolean; versionId?: any }> => {

2. Gemini Model Names

WILL ERROR: [404 Not Found] models/gemini-2.5-flash-image is not found

// ❌ This breaks
model: 'gemini-2.5-flash-image'

// ✅ This works
model: 'gemini-2.5-flash-image-preview'

3. Buffer in Convex Environment

WILL ERROR: ReferenceError: Buffer is not defined

// ❌ This breaks
const base64 = Buffer.from(arrayBuffer).toString('base64');
const imageBuffer = Buffer.from(base64Data, 'base64');

// ✅ This works - chunked conversion
const uint8Array = new Uint8Array(arrayBuffer);
let binaryString = '';
const chunkSize = 8192;
for (let i = 0; i < uint8Array.length; i += chunkSize) {
  const chunk = uint8Array.slice(i, i + chunkSize);
  binaryString += String.fromCharCode.apply(null, Array.from(chunk));
}
const base64 = btoa(binaryString);

// For base64 to blob
const binaryString = atob(base64Data);
const uint8Array = new Uint8Array(binaryString.length);
for (let i = 0; i < binaryString.length; i++) {
  uint8Array[i] = binaryString.charCodeAt(i);
}
const blob = new Blob([uint8Array], { type: 'image/jpeg' });

4. Large Array Spread Operator

WILL ERROR: RangeError: Maximum call stack size exceeded

// ❌ This breaks with large images
const base64 = btoa(String.fromCharCode(...uint8Array));

// ✅ This works - use chunked processing from #3 above

5. Data URL Fetching

WILL ERROR: Unsupported URL scheme -- http and https are supported (scheme was data)

// ❌ This breaks
const response = await fetch(sourceImageUrl); // fails if data: URL

// ✅ This works
if (sourceImageUrl.startsWith('data:')) {
  const base64Match = sourceImageUrl.match(/^data:image\/[^;]+;base64,(.+)$/);
  if (!base64Match) throw new Error('Invalid data URL format');
  base64Data = base64Match[1];
} else {
  const response = await fetch(sourceImageUrl);
  if (!response.ok) throw new Error(`Failed to fetch: ${response.statusText}`);
  // ... convert to base64 using chunked method
}

6. Database Size Limits

WILL ERROR: Value is too large (1.76 MiB > maximum size 1 MiB)

// ❌ This breaks - data URLs are huge
await ctx.db.insert("projects", {
  originalImageUrl: asset.uri, // data: URL = several MB
});

// Frontend passes data URL to mutation
const projectId = await createProject({
  originalImageUrl: asset.uri, // BREAKS!
});

// ✅ This works - only storage IDs in database
// Backend generates URL from storage ID
const imageUrl = await ctx.storage.getUrl(originalImageId);
await ctx.db.insert("projects", {
  originalImageId: storageId, // small ID
  originalImageUrl: imageUrl, // generated URL
});

// Frontend only passes storage ID
const projectId = await createProject({
  originalImageId: storageId, // WORKS!
});

Implementation Rules

  1. ALWAYS add : Promise<Type> to all Convex action handlers
  2. ALWAYS use gemini-2.5-flash-image-preview (with -preview suffix)
  3. NEVER use Buffer - use chunked btoa/atob with 8KB chunks
  4. NEVER use spread operator on large arrays - use chunked processing
  5. ALWAYS check imageUrl.startsWith('data:') before fetch
  6. NEVER store data URLs in database - upload to storage first, pass only storage IDs

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

[00] TnR ABSOLUTE RIGOR — Systemic Verification Doctrine. Forced cognitive exertion for high-stakes investigations. Mandates absolute deconstruction, mathematical proof chains, and ≥95% derived certainty. Zero-tolerance for heuristics or sentiment-based reasoning. Shortcuts are defined as intentional hallucinations.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

diegosouzapw/awesome-omni-skill642026년 3월 2일 업데이트

2agent

무료

Configures 2-Agent workflow between PM and implementation roles. Use when user mentions 2-Agent, 2エージェント, PM連携設定, Cursor設定, Cursor連携, 2-agent運用. Do NOT load for: 単独運用, ワークフロー実行, ハンドオフ処理.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

diegosouzapw/awesome-omni-skill642026년 3월 2일 업데이트

Appends relevant hashtags to journal entries based on content analysis. Intended for LLM execution.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

diegosouzapw/awesome-omni-skill642026년 3월 2일 업데이트

add-agent

무료

Add a new AI coding agent to Agent Sandbox. Creates all required files (Dockerfile, templates, CI, docs) and wires the agent into the CLI, proxy, and build system.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

diegosouzapw/awesome-omni-skill642026년 3월 2일 업데이트

Add a new property to the AI agents database. Use when the user wants to add, create, or introduce a new column, property, field, or feature to track across all agents in the comparison matrix. Handles all four required steps - database updates, groups.json, table display, and GitHub issue templates.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

diegosouzapw/awesome-omni-skill642026년 3월 2일 업데이트

Add new Agent templates to the meta-agent-skills framework.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

diegosouzapw/awesome-omni-skill642026년 3월 2일 업데이트

diegosouzapw의 스킬 모두 보기

이 스킬의 문제 신고