Skill: timexicali/emotionwise (version 0.1.2)

--- name: emotionwise description: Analyze text for emotions and sarcasm using the EmotionWise API (28 labels, EN/ES). metadata: {"openclaw":{"emoji":"🧠","homepage":"https://emotionwise.ai","requires":{"env":["EMOTIONWISE_API_KEY"]},"primaryEnv":"EMOTIONWISE_API_KEY"}} user-invocable: true --- # EmotionWise Skill Use this skill when the user asks to: - detect emotions in text - detect sarcasm in text - summarize emotional trends across multiple messages ## API Endpoint: `POST https://api.emotionwise.ai/api/v1/tools/emotion-detector` Headers: - `X-[REDACTED_SECRET]` - `Content-Type: application/json` Body: ```json { "message": "<text>" } ``` ## Response (expected fields) ```json { "detected_emotions": ["joy", "admiration"], "confidence_scores": { "joy": 0.87, "admiration": 0.72 }, "sarcasm_detected": false, "sarcasm_score": 0.04 } ``` ## Output format Return: - top emotions with confidence - sarcasm flag + score - short practical interpretation for developer use ## Error handling - `401/403`: Tell the user API key is missing/invalid and suggest reconfiguration. - `429`: Tell the user quota/rate limit was hit and suggest retry later. - `5xx`: Tell the user the API is temporarily unavailable and suggest retry.

path: README.md
content: # EmotionWise OpenClaw Skill

Official OpenClaw skill for EmotionWise API.

## Features
- Emotion detection for text (28 labels)
- Sarcasm detection
- Developer-friendly summaries

## Requirements
- OpenClaw installed
- EmotionWise API key from https://emotionwise.ai

## Setup

### 1) Configure API key
In your OpenClaw config (usually `~/.openclaw/openclaw.json`):

```json
{
  "skills": {
    "entries": {
      "emotionwise": {
        "enabled": true,
        "env": {
          "EMOTIONWISE_API_KEY": "YOUR_EMOTIONWISE_API_KEY"
        }
      }
    }
  }
}
```

### 2) Install skill locally
```bash
openclaw skills install /absolute/path/to/emotionwise-openclaw-skill
```

If you cloned this repository:

```bash
git clone https://github.com/timexicali/emotionwise-openclaw-skill.git
cd emotionwise-openclaw-skill
openclaw skills install "$(pwd)"
```

## Usage examples
- "Analyze emotions in: I’m excited but a little nervous about launch day."
- "Check if this is sarcastic: Great, another bug right before deploy."
- "Summarize emotional tone from these 10 support comments."

## API endpoint used
`POST https://api.emotionwise.ai/api/v1/tools/emotion-detector`

## Notes
- Keep your API key private.
- For public distribution, publish this repo as a skill package in ClawHub.

## Publish to ClawHub

### 1) Install and login
```bash
npm i -g clawhub
clawhub login
```

### 2) Publish first public version
Run from this project directory:

```bash
cd "/path/to/emotionwise-openclaw-skill"
clawhub publish . \
  --slug emotionwise \
  --name "EmotionWise API" \
  --version 0.1.1 \
  --changelog "Initial public release" \
  --tags latest,api,nlp,sentiment
```

### 3) Publish updates
```bash
cd "/path/to/emotionwise-openclaw-skill"
clawhub publish . \
  --slug emotionwise \
  --version 0.1.2 \
  --changelog "Compatibility fixes and packaging cleanup"
```


path: changelog.md
content: # Changelog

## 0.1.2
- Normalize SKILL.md metadata for OpenClaw compatibility
- Remove unsupported inline tool block from SKILL.md
- Exclude internal files from ClawHub package via `.clawhubignore`

## 0.1.1
- Initial public release

## 0.1.0
- Initial public version
- Emotion + sarcasm analysis via EmotionWise API
- Basic error handling guidance


path: examples/basic-analysis.md
content: # Basic Analysis Example

Prompt:
"Analyze emotions in: I'm proud of the team, but worried about production risks."

Expected behavior:
- Return top emotions and confidence
- Flag sarcasm if present
- Give short interpretation


path: examples/batch-analysis.md
content: # Batch Analysis Example

Prompt:
"Analyze the emotional tone in these comments and summarize trends."

Expected behavior:
- Analyze each item
- Aggregate dominant emotions
- Provide short trend summary


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)