Skip to content
Back to skills

Verify

ASecurity

Run full verification pipeline (lint, format, test, security) before committing

  • 59 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 22, 2026
ai-agentspythonshellbashapisecurity

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 22, 2026

npx -y skills add ebibibi/ebi-agent-chat-relay --skill verify --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Verify?

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

Security grade badge for Verify
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ebibibi-verify/badge)](https://www.skillsdirectory.com/skills/ebibibi-verify)

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: verify
description: Run full verification pipeline (lint, format, test, security) before committing
---

# Verify — Pre-Commit Quality Gate

Run this **before every commit** to ensure code quality and security.

## When to Activate

- Before creating a commit
- Before pushing to remote
- After making significant code changes
- When asked to "verify", "check", or "validate" the code

## Verification Pipeline

Run all steps in order. **Stop on first failure.**

### Step 1: Lint

```bash
uv run ruff check claude_discord/
```

If there are auto-fixable issues:

```bash
uv run ruff check --fix claude_discord/
```

### Step 2: Format

```bash
uv run ruff format --check claude_discord/
```

If formatting is needed:

```bash
uv run ruff format claude_discord/
```

### Step 3: Tests

```bash
uv run pytest tests/ -v --cov=claude_discord --cov-report=term-missing
```

All tests must pass. Review coverage for newly added code.

### Step 4: Security Audit

Before committing, check for these security concerns specific to this project:

1. **No shell=True**: Search for `shell=True` in any subprocess call — this is forbidden
2. **No hardcoded secrets**: Search for patterns like `token`, `secret`, `password`, `api_key` with string literal values
3. **Session ID validation**: Any new code accepting session IDs must validate with `^[a-f0-9\-]+$`
4. **Subprocess arguments**: All user input passed to Claude CLI must use `--` separator
5. **Environment stripping**: `_STRIPPED_ENV_KEYS` must include any new secret env vars

```bash
# Quick security grep
uv run ruff check claude_discord/ --select S  # bandit rules via ruff
```

### Step 5: Import Check

Verify the public API still works:

```python
python -c "from claude_discord import ClaudeRunner, ClaudeChatCog, SkillCommandCog, SessionRepository"
```

## Failure Protocol

- **Lint/Format failures**: Fix automatically, re-run
- **Test failures**: Fix the code (not the test, unless the test is wrong)
- **Security failures**: STOP. Do not commit. Fix the vulnerability first
- **Import failures**: Check `__init__.py` exports match actual module structure

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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.