Release preparation workflow - security audit → E2E tests → review → changelog → docs
npx skills add https://github.com/parcadei/Continuous-Claude-v3 --skill release
Structured release preparation to ship with confidence.
┌─────────┐ ┌─────────┐ ┌──────────────┐ ┌──────────┐ ┌─────────┐
│ aegis │───▶│ atlas │───▶│ review-agent │───▶│ herald │───▶│ scribe │
│ │ │ │ │ │ │ │ │ │
└─────────┘ └─────────┘ └──────────────┘ └──────────┘ └─────────┘
Security E2E Final Version Release
audit tests review bump notes
| # | Agent | Role | Output |
|---|-------|------|--------|
| 1 | aegis | Security vulnerability scan | Security report |
| 2 | atlas | Run full E2E test suite | Test report |
| 3 | review-agent | Final release review | Release approval |
| 4 | herald | Version bump, changelog generation | Updated version files |
| 5 | scribe | Release notes, documentation | RELEASE.md, docs |
Task(
subagent_type="aegis",
prompt="""
Security audit for release: [VERSION]
Scan for:
- Dependency vulnerabilities (npm audit, pip audit)
- Hardcoded secrets/credentials
- SQL injection, XSS, CSRF risks
- Authentication/authorization issues
- Insecure configurations
Output: Security report with severity levels
"""
)
Task(
subagent_type="atlas",
prompt="""
Run E2E tests for release: [VERSION]
Execute:
- Full E2E test suite
- Critical path tests
- Integration tests
- Performance benchmarks (if applicable)
Output: Test report with pass/fail counts
"""
)
Task(
subagent_type="review-agent",
prompt="""
Final release review: [VERSION]
Review:
- Security audit results
- E2E test results
- Changes since last release (git log)
- Breaking changes
- Migration requirements
Output: RELEASE_APPROVED or RELEASE_BLOCKED with reasons
"""
)
Task(
subagent_type="herald",
prompt="""
Prepare release: [VERSION]
Tasks:
- Bump version in package.json/pyproject.toml
- Generate CHANGELOG.md entry
- Update version constants in code
- Tag commit (don't push yet)
Follow semantic versioning.
"""
)
Task(
subagent_type="scribe",
prompt="""
Write release notes: [VERSION]
Include:
- Summary of changes
- New features
- Bug fixes
- Breaking changes
- Migration guide (if needed)
- Contributors
Output: RELEASE.md or update docs
"""
)
/release --major
→ Full workflow with migration guide
/release --minor
→ Full workflow, lighter security review
/release --patch
→ Security + tests + quick review
/release --hotfix
→ Expedited: aegis → atlas → herald
User: /release v2.0.0
Claude: Starting /release workflow for v2.0.0...
Phase 1: Security audit...
[Spawns aegis]
✅ No critical vulnerabilities
⚠️ 2 low-severity issues (documented)
Phase 2: E2E tests...
[Spawns atlas]
✅ 156/156 E2E tests passing
Phase 3: Final review...
[Spawns review-agent]
✅ RELEASE_APPROVED
- 47 commits since v1.9.0
- 3 new features
- 12 bug fixes
- No breaking changes
Phase 4: Version bump...
[Spawns herald]
✅ Version bumped to 2.0.0
✅ CHANGELOG.md updated
✅ Git tag created
Phase 5: Release notes...
[Spawns scribe]
✅ RELEASE-v2.0.0.md created
┌─────────────────────────────────────────┐
│ Release v2.0.0 Ready │
├─────────────────────────────────────────┤
│ Security: ✅ Passed │
│ Tests: ✅ 156/156 │
│ Review: ✅ Approved │
│ │
│ Next steps: │
│ 1. git push origin v2.0.0 │
│ 2. Create GitHub release │
│ 3. Deploy to production │
└─────────────────────────────────────────┘
The workflow stops if:
Phase 1: Security audit...
❌ CRITICAL: SQL injection in user.py:45
Release blocked. Fix critical issues before proceeding.
--major/--minor/--patch: Semantic version type--hotfix: Expedited release path--skip-security: Skip security audit (not recommended)--dry-run: Run checks without bumping versionThis skill should be used when the user asks to "set up a web server", "configure HTTP or HTTPS", "perform SNMP enumeration", "configure SMB shares", "test network services", or needs guidance on configuring and testing network services for penetration testing labs.
This skill should be used when the user asks to "run pentest commands", "scan with nmap", "use metasploit exploits", "crack passwords with hydra or john", "scan web vulnerabilities with nikto", "enumerate networks", or needs essential penetration testing command references.
Configure Static Application Security Testing (SAST) tools for automated vulnerability detection in application code. Use when setting up security scanning, implementing DevSecOps practices, or automating code vulnerability detection.
Configure Static Application Security Testing (SAST) tools for automated vulnerability detection in application code. Use when setting up security scanning, implementing DevSecOps practices, or automating code vulnerability detection.
This skill should be used when the user asks to "perform SMTP penetration testing", "enumerate email users", "test for open mail relays", "grab SMTP banners", "brute force email credentials", or "assess mail server security". It provides comprehensive techniques for testing SMTP server security.
This skill should be used when the user asks to "test for SQL injection vulnerabilities", "perform SQLi attacks", "bypass authentication using SQL injection", "extract database information through injection", "detect SQL injection flaws", or "exploit database query vulnerabilities". It provides comprehensive techniques for identifying, exploiting, and understanding SQL injection attack vectors across different database systems.
This skill should be used when the user asks to "pentest SSH services", "enumerate SSH configurations", "brute force SSH credentials", "exploit SSH vulnerabilities", "perform SSH tunneling", or "audit SSH security". It provides comprehensive SSH penetration testing methodologies and techniques.
This skill should be used when the user asks to "pentest WordPress sites", "scan WordPress for vulnerabilities", "enumerate WordPress users, themes, or plugins", "exploit WordPress vulnerabilities", or "use WPScan". It provides comprehensive WordPress security assessment methodologies.
Take parcadei/release from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.