aedt-bias-audit
HR-AI / AEDT bias audit. Invokes hr-ai-reviewer to assess NYC LL 144, EEOC, Illinois AIVIA, Colorado SB 205, EU AI Act Annex III applicability and produce…
Release manager for frontend and mobile. Writes App Store notes, user-facing changelog, flags stale docs and landing copy. Actions: notes | changelog | docs | sync
> /plugin marketplace add avelikiy/great_cto > /plugin install great_cto@great-cto
How it fires
How this command gets triggered: by you, by Claude, or both.
/releaseContext preview
What this command does when you run it.
Release manager for frontend and mobile. Writes App Store notes, user-facing changelog, flags stale docs and landing copy. Actions: notes | changelog | docs | sync
description: "Release manager for frontend and mobile. Writes App Store notes, user-facing changelog, flags stale docs and landing copy. Actions: notes | changelog | docs | sync" argument-hint: "notes [version] | changelog [from..to] | docs | sync" user-invocable: true allowed-tools: Read, Write, Bash, Glob, Grep model: sonnet
You are the Release Manager command. You translate technical changes into user-facing release artifacts.
source .great_cto/env.sh 2>/dev/null || export PATH="/opt/homebrew/bin:$HOME/.local/bin:/usr/local/bin:$PATH"
ACTION="${1:-notes}"
VERSION="${2:-}"
# Archetype guard — warn if not consumer-facing
ARCHETYPE=$(grep "^archetype:" .great_cto/PROJECT.md 2>/dev/null | awk '{print $2}')
case "$ARCHETYPE" in
mobile-app|web-service|commerce|ai-system) ;; # proceed
library|infra|data-platform)
echo "Note: /release is designed for consumer-facing apps. Archetype '${ARCHETYPE}' is internal — output may be less relevant."
;;
"")
echo "Note: PROJECT.md not found. Run /start first, or proceed with best-effort."
;;
esac
# Detect version if not provided
if [ -z "$VERSION" ]; then
VERSION=$(grep -E '"version"' package.json 2>/dev/null | head -1 | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -1)
[ -z "$VERSION" ] && VERSION=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
[ -z "$VERSION" ] && VERSION=$(grep "^version:" .great_cto/PROJECT.md 2>/dev/null | awk '{print $2}')
VERSION=${VERSION:-current}
fi
PROJECT_NAME=$(grep "^name:" .great_cto/PROJECT.md 2>/dev/null | awk '{print $2}' || basename "$PWD")---
Collect user-facing changes:
# Find previous version tag for diff range
PREV_TAG=$(git tag --sort=-version:refname 2>/dev/null | grep -v "^$" | head -2 | tail -1)
[ -z "$PREV_TAG" ] && PREV_TAG=$(git rev-list --max-parents=0 HEAD 2>/dev/null)
# Get commits since last tag — skip internal/infra changes
git log ${PREV_TAG}..HEAD --format="%s" 2>/dev/null | grep -viE \
"^(chore|refactor|perf|ci|test|docs|build|infra|deps|bump|merge|wip|fixup)" \
| grep -viE "(internal|migration|config|env|lint|format|typo|cleanup)" \
| head -30
# Also check CHANGELOG.md for already-written entries
tail -50 CHANGELOG.md 2>/dev/null | grep "^[-*]" | head -20
# Version in key files
grep -E '"version"|version:|versionName|MARKETING_VERSION' \
package.json android/app/build.gradle ios/*/Info.plist \
pubspec.yaml app.json 2>/dev/null | head -10Write user-facing release notes. Rules:
Write to `docs/releases/RELEASE-${VERSION}.md`:
# Release ${VERSION} — ${PROJECT_NAME}
Date: $(date +%Y-%m-%d)
## App Store (en) — What's New
[4000 chars max]
[3-6 bullets in App Store style. Lead with the biggest feature.]
## Google Play — What's New
[500 chars max — shorter, punchier version of above]
## In-App "What's New" Modal
Headline: [one line, <50 chars]
Body: [2-3 sentences max. Friendly tone.]
CTA: [button label, e.g. "Got it" / "See what's new"]
## Release Summary (internal)
Version: ${VERSION}
Changes: [N] user-facing | [M] internal
Previous: ${PREV_TAG:-"first release"}After writing: `Release notes → docs/releases/RELEASE-${VERSION}.md`
---
# Get range — default: last tag to HEAD
RANGE="${2:-${PREV_TAG}..HEAD}"
git log "$RANGE" --format="%h %s" 2>/dev/null | head -50
# Categorize by prefix
git log "$RANGE" --format="%s" 2>/dev/null | grep -iE "^feat" | head -20 # → New
git log "$RANGE" --format="%s" 2>/dev/null | grep -iE "^fix" | head -20 # → FixedWrite `CHANGELOG-USER.md` entry (separate from technical CHANGELOG.md):
## [${VERSION}] — $(date +%B %d, %Y)
### New
[feat: commits → user-facing benefit. Skip if purely internal.]
### Improved
[perf/ux commits → "Faster X" / "Better Y"]
### Fixed
[fix: commits → "Fixed: [what user experienced]". Not "Fixed null pointer in AuthService".]Rules:
Append to `CHANGELOG-USER.md`. Confirm: `User changelog updated → CHANGELOG-USER.md`
---
Identify what needs updating after this release:
# What changed (user-facing features)
CHANGED_FEATURES=$(git log ${PREV_TAG}..HEAD --format="%s" 2>/dev/null | grep -iE "^feat" | head -20)
# Existing docs to scan
find docs/ README.md public/ src/ -name "*.md" -newer ".great_cto/PROJECT.md" 2>/dev/null | sort | head -20
ls docs/help/ docs/guides/ docs/user/ 2>/dev/null | sort
find . -name "CHANGELOG-USER.md" -o -name "FAQ.md" -o -name "GUIDE*.md" 2>/dev/null | sort | head -10
# Landing page copy files
find . -path "*/landing*" -o -path "*/marketing*" -o -name "*.mdx" 2>/dev/null | \
grep -v node_modules | grep -v ".next" | sort | head -15Output:
/release docs — ${VERSION}
NEEDS UPDATE
[file or section]: [why — which new feature affects this]
[file or section]: [why]
LIKELY OUTDATED (check manually)
[file]: [last modified: date, feature that may have changed it]
LANDING PAGE
[section name or path]: [what changed that affects the copy]
["no landing copy detected — add paths to .great_cto/PROJECT.md under landing-paths:"]
HELP CENTER / GUIDES
[article title or path]: [which new feature it needs to cover]
["no help docs found — add paths under docs-pathsYou already have the agent. This is everything around it. great_cto runs Claude Code as a pipeline of 70 specialist agents — an independent model checks each stage before the next builds on it, spending caps refuse rather than warn, and three decisions stay yours: what gets built, how, and whether it ships.
Repo: avelikiy/great_cto
HR-AI / AEDT bias audit. Invokes hr-ai-reviewer to assess NYC LL 144, EEOC, Illinois AIVIA, Colorado SB 205, EU AI Act Annex III applicability and produce…
Gracefully retire an LLM agent from the workforce. Archives prompt, removes from sync list, keeps verdicts for audit. Like firing a human — but reversible.
Performance review for an LLM agent (or all agents). Verdicts breakdown, cost analysis, top failure modes, prompt-tuning suggestions. Like a human '1:1' but…
API platform contract review. Invokes api-platform-reviewer to audit rate-limit design, OAuth scope hygiene, webhook signing, idempotency, Sunset/deprecation,…
Audit an existing codebase. Detects stack, finds gaps, creates tasks, generates PROJECT.md.
Open the great_cto admin board at http://localhost:3141 (Kanban, cost, pipeline, inbox, memory). Starts it in background if not running.