Bra1nZ

Negative Test First — Security skill for Claude Code

Security community

Agent skill: a general testing discipline — a requirement is covered only when a test shows that violating it fails.

How to install Negative Test First

This entry records only its repository, not the path inside it, so there is no exact command to give. Open Bra1nZ/negative-test-first and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Negative Test First does

Agent skill: a general testing discipline — a requirement is covered only when a test shows that violating it fails. Business rules, data invariants, persistence, concurrency, API contracts, security.

Alternatives in Security

  • Defense In Depth — Implement multi-layered testing and security best practices 98.1k ★
  • Skills Audit Report — Date: 2026-02-15 Auditor: Automated Skill Quality Audit Scope: Recently added skills in business-growth/, fina 5.3k ★
  • Anthropic Cybersecurity Skills — 734+ structured cybersecurity skills for AI agents · MITRE ATT&CK mapped · agentskills.io open standard · Work 3.8k ★

README

negative-test-first

[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![Format: agent skill](https://img.shields.io/badge/format-SKILL.md-orange)](SKILL.md) [![Discipline: negative test first](https://img.shields.io/badge/дисциплина-негатив%20тест%20первым-2ea44f)](SKILL.md)

Скилл для агентов-программистов: общая дисциплина тестирования любого продукта, у которого есть заявления, которые обязаны выполняться. Бизнес-правила («нельзя списать больше, чем на счету»), инварианты данных («баланс равен сумме движений»), переживаемость состояния («данные не теряются при рестарте»), параллельная работа («не задвоить списание»), контракты API, разграничение доступа и аудит — всё, где «фича работает» ничего не доказывает, а доказывает только «нарушить не получилось».

Скилл вырос из реальной практики: разработки расширения разграничения доступа для PostgreSQL, где каждый механизм защиты обязан иметь негативный тест, а каждый сбежавший дефект превращается в именованный урок, который живёт в комментариях кода и в тестах. Не учебная теория — выстраданный чеклист того, что ломалось и как это стали ловить.

Чем это отличается от генерических тестовых скиллов

Большинство тестовых скиллов учат TDD или общему чеклисту: «пиши тесты первым, покрывай счастливый путь, следи за покрытием». Этот построен вокруг одного перевёрнутого вопроса — *какой тест попытался нарушить это правило?* — и механики, которая делает ответ достоверным: классификация отказа (кто именно отказал — наш код или платформа), честное ветвление, когда платформы ведут себя по-разному, проверка отсутствия побочных эффектов после отказа, два канала свидетельств, повтор негативов после миграций и A/B-базлайны вместо голых порогов. Каждый паттерн соответствует дефекту, который реально сбежал и был пойман.

Главная мысль

Требование считается покрытым, только когда тест показал: **нарушить не получится**. Тест, который проверяет только счастливый путь, не доказывает ничего о правиле. Н