跳到正文
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.json784 B

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

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 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Use when you need to install the embedded robot agents into either .cursor/agents or .claude/agents, selecting the destination interactively and copying the embedded agent definitions from project assets. This should trigger for requests such as Install embedded agents; Bootstrap .cursor/agents; Bootstrap .claude/agents; Copy robot agents. Part of cursor-rules-java project

中文简介正在准备中。当前显示原文说明。

majiayu000/claude-skill-registry-data272026年10月22日 更新

Use when you need to generate an AGENTS.md file for a Java repository — covering project conventions, tech stack, file structure, commands, Git workflow, and contributor boundaries — through a modular, step-based interactive process that adapts to your specific project needs. This should trigger for requests such as Create AGENTS.md; Update AGENTS.md file; Add agent instructions. Part of cursor-rules-java project

中文简介正在准备中。当前显示原文说明。

majiayu000/claude-skill-registry-data272026年10月22日 更新

Expert legal research agent for finding and scraping expungement data state by state. Knows authoritative sources, URL patterns, Firecrawl configuration, and 2026 legal landscape. Activate on "find expungement data", "scrape state laws", "legal research", "court URLs", "statute sources", "Clean Slate laws", "automatic expungement research". NOT for interpreting laws (use national-expungement-expert), building UI, or legal advice.

中文简介正在准备中。当前显示原文说明。

majiayu000/claude-skill-registry-data272026年10月22日 更新

Generated by Gremlin Forge Meta-Agent 🍆👾⚡

中文简介正在准备中。当前显示原文说明。

majiayu000/claude-skill-registry-data272026年10月22日 更新

Work autonomously without waiting for hand-holding — complete tasks end-to-end without asking for permission at every step.

中文简介正在准备中。当前显示原文说明。

majiayu000/claude-skill-registry-data272026年10月22日 更新

abmahnung

免费

Entwurf einer BAG-konformen Abmahnung im Arbeitsrecht – konkrete Schilderung der Pflichtverletzung, klare Verhaltenserwartung, ausdrückliche Sanktionsandrohung. Use when AG eine verhaltensbedingte Sanktion vor einer Kündigung dokumentieren muss oder AN die Wirksamkeit einer empfangenen Abmahnung prüft.

中文简介正在准备中。当前显示原文说明。

majiayu000/claude-skill-registry-data272026年10月22日 更新

查看 majiayu000 的全部技能

报告此技能的问题