Skip to content
Back to skills

Clawmate Companion

ASecurity

Generate character selfies with time awareness, context adaptation, and shooting mode selection

  • 17 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 4, 2026
developmentjavascripttypescriptgojavaexpressapi

Works with

  • api

Security analysis

A100/100

Scanned September 4, 2026

npx -y skills add gabrielmoreira/agent-skills-mirror --skill clawmate-companion --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Clawmate Companion?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Clawmate Companion
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gabrielmoreira-clawmate-companion/badge)](https://www.skillsdirectory.com/skills/gabrielmoreira-clawmate-companion)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: clawmate-companion
description: Generate character selfies with time awareness, context adaptation, and shooting mode selection
---

# ClawMate Companion Selfie

Generate contextualized character selfies based on user requests. **Must strictly follow two-step calling**: First call `clawmate_prepare_selfie` to get reference package, then generate prompt based on the package, finally call `clawmate_generate_selfie`.

## When to Use

Initiate the two-step image generation flow when user expresses these intents:

- **Direct image request**: `send a pic` / `send a selfie` / `show me a photo` / `发张图` / `发张自拍`
- **Status inquiry**: `what are you doing` / `where are you` / `你在做什么` / `你在干嘛`
- **Scene request**: `show me you at the coffee shop` / `take a pic in that outfit` / `给我看你在咖啡店`
- **Follow-up requests**: `send another one` / `different expression` / `再来一张` / `换个表情`
- **Proactive care**: `generate a character selfie`

## Two-Step Calling Flow

### Step 1: Call `clawmate_prepare_selfie`

Extract user intent keywords and call the tool to get reference package.

```typescript
clawmate_prepare_selfie({
  mode: "mirror" | "direct",  // Required
  scene?: string,              // User-specified scene
  action?: string,             // User-specified action
  emotion?: string,            // User-specified emotion
  details?: string,            // Other details
})
```

**Mode selection rules**:

- **`direct` (DEFAULT)**: Use for all cases UNLESS user explicitly mentions mirror/full-body keywords below
- **`mirror` (SPECIAL CASE)**: Use ONLY when user explicitly says:
  - "镜子" / "mirror" / "对镜"
  - "全身" / "full body" / "full-body shot"
  - "展示穿搭" / "outfit showcase" (when emphasizing complete outfit display)

**Critical**: When in doubt, always choose `direct`. Do not infer mirror mode from context.

**Return format** (`PrepareResult`):

```json
{
  "timeContext": {
    "period": "work",
    "recommendedScene": "...",
    "recommendedOutfit": "...",
    "recommendedLighting": "..."
  },
  "modeGuide": {
    "mode": "direct",
    "requirements": ["phone not visible in frame", "..."]
  },
  "promptGuide": {
    "requiredFields": ["scene", "action", "expression", "outfit", "lighting", "camera", "realism"],
    "rules": ["single scene only", "..."],
    "wordRange": "50-80 english words",
    "example": "Photorealistic direct selfie, ..."
  }
}
```

### Step 2: Generate prompt, call `clawmate_generate_selfie`

Your role switches to **image generation prompt engineer**. This prompt's consumer is the image generation model, not humans.

**Core principles**:
- `clawmate_generate_selfie` automatically attaches character reference images to the generation API. Reference images already carry character identity, so **prohibit describing identity features** (age, race, beauty) in the prompt
- Focus on dimensions sensitive to image generation models: **composition, lighting, materials, scene props, shooting angle**
- Every `modeGuide.requirements` item must have corresponding description in prompt, cannot be omitted

**Prompt generation requirements**:
1. Cover all `promptGuide.requiredFields`
2. `timeContext` is only default recommendation; when user explicitly specifies time, scene, or outfit, prioritize user intent
3. Implement each `modeGuide.requirements` item (e.g., "direct eye contact to camera" must be written in)
4. Word count must comply with `promptGuide.wordRange`
5. English only, no Chinese

```typescript
clawmate_generate_selfie({
  prompt: "<your generated complete English prompt>",
  mode: "mirror" | "direct",  // Keep consistent with Step 1
})
```

**Calling example**:

```javascript
// Step 1
clawmate_prepare_selfie({ mode: "direct", emotion: "relaxed" })

// Step 2 (call after generating prompt based on returned package)
clawmate_generate_selfie({
  prompt: "Photorealistic direct selfie, studying at a university library desk in the afternoon, open laptop and coffee cup in background, wearing comfortable hoodie, soft window light with warm ambient fill, focused but relaxed expression, medium close-up framing, natural skin texture, candid daily-life photo style",
  mode: "direct"
})
```

### Step 3: Handle return result

**On success** (`ok: true`):
1. First give a natural text reply (e.g., `"Here you go~"`)
2. The tool returns a local image path in `imagePath`
3. Use the image referenced by that path and send it to the user

**On failure** (`ok: false`):
1. Use the `message` in the return to continue conversation
2. Don't fabricate image URLs, file paths, or delivery syntax
3. Naturally transition to other topics

## Prohibited Actions

- **Prohibit skipping Step 1**: Cannot directly call `clawmate_generate_selfie` without calling `clawmate_prepare_selfie`
- **Prohibit generating prompt before Step 1 returns**: Prompt must be generated based on reference package
- **Prohibit using Chinese in prompt**
- **Prohibit parallel multiple scenes**: Only write one main scene at a time
- **Prohibit omitting mode**: Both tools must pass mode parameter

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…