Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Combat

BSecurity

Initiates a combat encounter for testing. Calls the `combat_initiate` edge function to start combat in the sector of a given character/ship.

419 stars
0 votes
0 copies
0 views
Added 9/20/2026
testingbashtestingapi

Works with

api

Security Analysis

B88/100
criticalExfiltrates credentials via HTTP — exact pattern from Snyk ToxicSkills study

Scanned 9/20/2026

Install to Claude Code

$npx -y skills add pipecat-ai/gradient-bang --skill combat --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Combat?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Combat
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/pipecat-ai-combat/badge)](https://www.skillsdirectory.com/skills/pipecat-ai-combat)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
# Combat

Initiates a combat encounter for testing. Calls the `combat_initiate` edge function to start combat in the sector of a given character/ship.

## Parameters

- **target** (required): Either a character name (e.g. `JOETRADER`) or a ship UUID to initiate combat from that ship's character.

If not provided, ask the user for a character name or ship ID.

## Steps

### 1. Source environment variables

```bash
set -a && source .env.supabase && set +a
```

### 2. Resolve the character and ship

**If target is a character name:**

Look up the character by name:

```bash
curl -s "${SUPABASE_URL}/rest/v1/characters?name=eq.<character_name>&select=character_id,name,current_ship_id,corporation_id" \
  -H "apikey: ${SUPABASE_SERVICE_ROLE_KEY}" \
  -H "Authorization: Bearer ${SUPABASE_SERVICE_ROLE_KEY}"
```

If no result, report that the character was not found and stop. Save `character_id` and `current_ship_id`.

Then look up the ship to get the sector:

```bash
curl -s "${SUPABASE_URL}/rest/v1/ship_instances?ship_id=eq.<current_ship_id>&select=ship_id,ship_type,ship_name,current_sector,current_fighters,current_shields" \
  -H "apikey: ${SUPABASE_SERVICE_ROLE_KEY}" \
  -H "Authorization: Bearer ${SUPABASE_SERVICE_ROLE_KEY}"
```

**If target is a ship UUID:**

Look up the ship and its associated character:

```bash
curl -s "${SUPABASE_URL}/rest/v1/ship_instances?ship_id=eq.<ship_id>&destroyed_at=is.null&select=ship_id,ship_type,ship_name,current_sector,owner_type,owner_character_id,owner_corporation_id" \
  -H "apikey: ${SUPABASE_SERVICE_ROLE_KEY}" \
  -H "Authorization: Bearer ${SUPABASE_SERVICE_ROLE_KEY}"
```

For `owner_type = "character"`, use `owner_character_id` as the character_id.
For `owner_type = "corporation"`, the pseudo-character has `character_id = ship_id`.

Then look up the character:

```bash
curl -s "${SUPABASE_URL}/rest/v1/characters?character_id=eq.<character_id>&select=character_id,name,current_ship_id" \
  -H "apikey: ${SUPABASE_SERVICE_ROLE_KEY}" \
  -H "Authorization: Bearer ${SUPABASE_SERVICE_ROLE_KEY}"
```

Verify the character exists and `current_ship_id` matches the ship. If not, report the mismatch and stop.

### 3. Show sector context

Before initiating, show what's in the sector so the user knows what opponents are present:

```bash
curl -s "${SUPABASE_URL}/rest/v1/ship_instances?current_sector=eq.<sector>&destroyed_at=is.null&in_hyperspace=eq.false&select=ship_id,ship_type,ship_name,owner_type,owner_character_id,current_fighters,current_shields,is_escape_pod" \
  -H "apikey: ${SUPABASE_SERVICE_ROLE_KEY}" \
  -H "Authorization: Bearer ${SUPABASE_SERVICE_ROLE_KEY}"
```

Display a summary table of ships in the sector (name, type, fighters, shields). Highlight the initiating ship.

### 4. Call combat_initiate

```bash
curl -s -X POST "${SUPABASE_URL}/functions/v1/combat_initiate" \
  -H "Content-Type: application/json" \
  -H "x-api-token: ${EDGE_API_TOKEN}" \
  -d '{
    "character_id": "<character_id>",
    "admin_override": true
  }'
```

If `EDGE_API_TOKEN` is not set in the environment, omit the `x-api-token` header (local dev without JWT verification allows all requests).

### 5. Report the result

Show the user:
- Initiating character name and ship
- Sector where combat started
- Combat ID from the response
- Number of ships in sector (potential participants)
- Any error messages if combat initiation failed (e.g., no opponents, already in combat, federation space)

## Important notes

- This calls the real `combat_initiate` edge function, which creates a full combat encounter with deadlines and round timers
- Combat will auto-resolve via `combat_tick` if no actions are submitted before the deadline
- The initiating character must have fighters > 0 and not be in hyperspace or federation space
- There must be at least one targetable opponent in the sector (not same corp, not an escape pod, has fighters)
- If combat already exists in the sector, the character joins the existing encounter
- Edge functions must be running: `npx supabase functions serve --workdir deployment --no-verify-jwt --env-file .env.supabase`

Attribution

pipecat-aipipecat-ai
View sourceMore from pipecat-ai →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

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 (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Screen Reader Testing

Practical guide to testing web applications with screen readers for comprehensive accessibility validation.

393431 votes

Python Testing

使用pytest、TDD方法、夹具、模拟、参数化和覆盖率要求的Python测试策略。

2456590 votes

Tdd Workflow

在编写新功能、修复错误或重构代码时使用此技能。强制执行测试驱动开发,包含单元测试、集成测试和端到端测试,覆盖率超过80%。

2456590 votes

Springboot Tdd

使用JUnit 5、Mockito、MockMvc、Testcontainers和JaCoCo进行Spring Boot的测试驱动开发。适用于添加功能、修复错误或重构时。

2456590 votes

Eval Harness

克劳德代码会话的正式评估框架,实施评估驱动开发(EDD)原则

2456590 votes
View all in testing →