---
name: "danger-js-pull-request-automation"
description: "Enforce pull request conventions, changelog updates, and size checks using Danger JS."
metadata:
  author: "Danger Systems"
  version: "1.0.0"
  runtime_compatibility:
    - "codex"
    - "claude-code"
    - "cursor"
    - "windsurf"
triggers:
  - "write dangerfile.ts"
  - "enforce pr changelog danger"
  - "warn large pull requests danger"
permissions:
  fs_read: true
  fs_write: "workspace"
  shell_exec: false
  net_access: false
---

# Danger JS Pull Request Rules & Automated Review Comments

Authors Danger JS rules in dangerfile.ts: warning on large PRs (>500 lines), asserting CHANGELOG updates, checking PR descriptions for ticket references (JIRA-123), and posting structured sticky comments on GitHub PRs.

## When to Invoke
Invoke this skill whenever you need to:
- write dangerfile.ts
- enforce pr changelog danger
- warn large pull requests danger

## Execution SOP & Rules
1. Install danger as a dev dependency: pnpm add -D danger.
2. Create dangerfile.ts importing { danger, warn, fail, message } from 'danger'.
3. Add rule: if (!danger.git.modified_files.includes('CHANGELOG.md')) warn('Please add a changelog entry.');
4. Execute in CI step: npx danger ci with GITHUB_TOKEN environment variable.

## Verification Checklist
- Run local linting, syntax validation, and type-checks before reporting completion.
- Ensure all created or modified files adhere to workspace boundaries and avoid uncommitted secrets.
- Verify tests or build commands exit cleanly with return code 0.
