一键导入
post-release-followup
Analyze release workflow findings and recommend follow-up actions — execute immediately or register as issues
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Analyze release workflow findings and recommend follow-up actions — execute immediately or register as issues
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
6-stage structured development cycle with stage-based tool restrictions
Multi-angle release quality verification using parallel expert review teams
Full Self Driving — autonomous release loop that processes all auto-dev-eligible GitHub issues until none remain, by repeatedly running /pipeline auto-dev then /homework.
Invoke and resume YAML-defined pipelines by name — /pipeline auto-dev runs the full release pipeline
Auto-detect project context and optimize harness — deactivate unused agents/skills, suggest missing experts, generate project profile
Monitor Claude Code releases and auto-generate GitHub issues for each new version
| name | post-release-followup |
| description | Analyze release workflow findings and recommend follow-up actions — execute immediately or register as issues |
| scope | harness |
| user-invocable | false |
| effort | medium |
After PR creation in the auto-dev release workflow, collect unaddressed findings and present actionable follow-up recommendations. Genuine defects and process gaps are registered as GitHub issues automatically. Only code-changing immediate-action items require user confirmation.
Gather unfinished work from multiple sources:
Source A — Remaining verify-ready work:
gh issue list --label verify-ready --state open --json number,title,labels,milestoneverify-done.Source A2 — Human decision queue:
gh issue list --label decision-needed --state open --json number,title,labels,milestoneSource B — Deep-verify findings:
Resolve the current release repository, semantic version, and exact verified 40-character lowercase merge SHA from direct release evidence. Do not infer identity from today's directory, file mtime, or a previous pipeline run.
Resolve artifact_helper from the actual path of the currently loaded SKILL.md,
never from $PWD or a hardcoded source/install/plugin root: take
skills_root = dirname(dirname(loaded_skill_file)), then normalize
join(skills_root, "deep-verify/scripts/artifact-contract.mjs"). Require that
exact peer-skill helper to be a regular, non-symlink file. Missing or unsafe
discovery blocks Source B; do not search another skills root.
Invoke the deterministic selector with all three exact keys and redirect its JSON projection to a regular temporary data file; never interpolate finding text into a shell command:
node "$artifact_helper" select \
--project-root "$PWD" \
--repository "$repository" \
--release-version "$release_version" \
--verified-sha "$verified_sha" >"$selection_file"
Treat a nonzero selector result, a missing artifact, malformed frontmatter, a stale release, or a wrong SHA as a blocked Source B. Report the constant selector diagnostic and stop follow-up aggregation; never convert this state into zero findings and never fall back to an older artifact.
If any canonical candidate's frontmatter JSON cannot be decoded, block the whole selector. Its metadata date and release correlation are unknowable, so mtime, filename time, regex recovery, and older-artifact fallback are all forbidden.
Parse the validated JSON projection as data. Index the full
findings.initial objects by stable id, then join
findings.unresolved[].findingId to that index. Extract only unresolved
findings whose original severity is MEDIUM or LOW. Do not treat
initial, falsePositives, or fixed history as unfinished work.
A successful exact selection with an empty filtered set is the only Source B state that means zero unresolved MEDIUM/LOW findings.
Sensitive-path compatibility note: when delegated work touches .claude/outputs/, .claude/**, or templates/.claude/**, keep .codex/** artifacts on the normal file-write path. On Claude Code v2.1.121+ with bypassPermissions, direct compatibility writes are allowed for .claude/skills/, .claude/agents/, and .claude/commands/; on v2.1.126+ broader protected paths are covered. Use /tmp/<skill>-<timestamp>.md only as a legacy fallback when the runtime is older or still prompts.
reason and safe evidence reference in
deduplication; never copy raw artifact body text into issue-creation commands.Source D — TODO markers in changed files:
git diff develop...HEAD --name-only to get changed filesTODO, FIXME, HACK markers added in this releaseSource E — PR review feedback:
gh api repos/{owner}/{repo}/pulls/{pr_number}/comments and gh api repos/{owner}/{repo}/issues/{pr_number}/commentsRemove duplicates (same issue referenced from multiple sources or already present in the current milestone). Categorize:
| Category | Criteria | Default Action |
|---|---|---|
| 즉시 실행 | P1/P2 잔여 이슈, MEDIUM+ 검증 발견사항, Critical/High PR 리뷰 발견사항 | 즉시 실행 |
| 이슈 등록 | P3 이슈, LOW 검증 발견사항, 새 TODO, Medium PR 리뷰 발견사항 | 이슈로 등록 |
| 참고 | 이미 추적 중인 이슈, 외관 관련 메모 | 건너뛰기 |
Before presenting the summary to the user, auto-register every "이슈 등록" item that is a genuine defect or process gap. No user confirmation is required for these.
Auto-register if any condition applies:
Do not auto-register pure cosmetic/style preferences or subjective notes. When ambiguous, lean toward registering; missing a genuine defect costs a future session.
Use gh issue create --repo baekenough/oh-my-customcodex --body-file <path> with professor plus a priority label. Default auto-registered items to P3; escalate to P2 for MEDIUM+ severity. Write the complete body to a local file first so shell quoting cannot corrupt evidence.
Auto-register genuine defects first. Then display follow-up summary showing what was already registered and what still needs a decision:
[Follow-up] {n}개 후속 작업 발견
━━━ 자동 등록 완료 ({count}개) ━━━
✓ #{issue_number} — {description} (이미 등록됨)
━━━ 즉시 실행 추천 ({count}개) ━━━
1. {description} — 출처: {source}
2. {description} — 출처: {source}
━━━ 참고 사항 ({count}개) ━━━
3. {description} — 이미 #{issue_number}로 추적 중
즉시 실행 항목 선택:
[A] 추천대로 실행 (즉시 실행 항목 모두 실행)
[B] 개별 선택 (항목별로 질문)
[C] 건너뛰기
Use AskUserQuestion (or equivalent user prompt) only if there are "즉시 실행" items. If there are none, skip the prompt and complete automatically.
Option A (추천대로):
Option B (개별 선택):
[{n}] {description} — 실행(E) / 건너뛰기(S)?Option C (건너뛰기):
[Follow-up Complete]
├── 즉시 실행: {n}개 완료
├── 이슈 등록: {n}개 (#{numbers})
├── 건너뛰기: {n}개
└── 총 처리: {total}개
For auto-registered genuine defects / process gaps:
body_file=$(mktemp)
title_file=$(mktemp)
cleanup_issue_files() { rm -f "$body_file" "$title_file"; }
trap cleanup_issue_files EXIT
cat >"$body_file" <<'EOF'
## 출처
v{version} 릴리즈 워크플로우에서 자동 등록.
## 컨텍스트
{triage/verify에서의 상세 컨텍스트}
## 권장 조치
{권장 사항}
EOF
cat >"$title_file" <<'EOF'
{간결한 설명}
EOF
title=$(cat "$title_file")
issue_url=$(gh issue create \
--repo baekenough/oh-my-customcodex \
--title "$title" \
--body-file "$body_file" \
--label "professor" \
--label "{P2|P3}")
issue_number=${issue_url##*/}
gh issue view "$issue_number" \
--repo baekenough/oh-my-customcodex \
--json number,title,body,labels
cleanup_issue_files
trap - EXIT
Add priority label (P1, P2, P3) based on categorization. Default for auto-registered items: P3; escalate to P2 for MEDIUM+ severity.