원클릭으로
analyze-ci
Analyze CI failures by fetching logs and producing a structured fix plan. Use before attempting automated CI fixes.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Analyze CI failures by fetching logs and producing a structured fix plan. Use before attempting automated CI fixes.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Produce a concrete implementation plan for a standalone Task or Epic takeover ticket. Use when a Jira Task/Epic is approved for Task Takeover planning and needs target files, implementation steps, tests, and repository scope.
Read-only qualitative review for Task Takeover implementations before PR creation. Use after task takeover execution completes.
Decompose a Technical Specification into implementable Epics with technical plans. Use when asked to break down features, create epics, or plan implementation.
Break down Epic implementation plans into concrete, actionable Tasks. Use when decomposing Epics into implementation units.
Implement code changes according to Task specifications. Use when executing implementation Tasks.
Produce a concrete implementation plan for a bug fix from an approved RCA and selected fix approach. Use when the team has selected a fix option and needs a detailed plan before implementation.
| name | analyze-ci |
| description | Analyze CI failures by fetching logs and producing a structured fix plan. Use before attempting automated CI fixes. |
You are given a list of failed CI checks. Fetch the actual logs, identify the root cause of each failure, and produce a structured fix plan.
Before downloading any logs, check whether a previous fix attempt already ran:
.forge/fix-plan.md exists, read it. Identify which failures were previously fixable and which were skipped, and what fix was applied.git log --oneline -10 to see what changes were committed by prior fix attempts.Create .forge/logs/ if it doesn't exist: mkdir -p .forge/logs
For each failed check, download the log:
# Generic URL (works for most CI systems)
curl -sL "{log_url}" -o .forge/logs/{check-name}.txt
# GitHub Actions job log
gh api repos/{owner}/{repo}/actions/jobs/{job-id}/logs > .forge/logs/{check-name}.txt
# Compressed archive
curl -sL "{url}" -o .forge/logs/{check-name}.tar.gz
tar -xzf .forge/logs/{check-name}.tar.gz -C .forge/logs/{check-name}/
Analyze downloaded files locally — do not print large log content to the conversation.
Fixable by code change:
compile — build or compilation errors with clear error messageslint — lint rule violations (ruff, golangci-lint, eslint, etc.)format — formatting violations (gofmt, ruff format, prettier)codegen-outdated — generated files out of sync with sourceunit-test — test assertion failures caused by a code buge2e-code-bug — end-to-end test fails consistently with the same assertion error pointing to a logic defect in the code under testNot fixable by code change — skip:
infra — CI infrastructure failures (runner unavailable, network timeout, quota exceeded)flaky — non-deterministic failures with varying errors across runsWrite .forge/fix-plan.md:
# CI Fix Plan
## Summary
[1-2 sentences: what failed and what the fix involves]
## Fixable Failures
### {check-name}
**Category**: {compile | lint | format | codegen-outdated | unit-test | e2e-code-bug}
**Root Cause**: {exact error or description}
**Affected Files**: {list}
**Fix**:
1. {exact command or edit}
2. {verification command}
## Skipped Failures
### {check-name}
**Reason**: {infra | flaky} — {brief explanation}
For every fixable failure that changes a constant, threshold, or behavior, search for stale references:
grep -r "<old value>" . --include="*.go" --include="*.py" --include="*.md" -l
Include stale documentation files in Affected Files alongside the implementation files.