원클릭으로
unop-fix-issue
Formulate and apply a fix for a confirmed Unop issue, commit and push
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Formulate and apply a fix for a confirmed Unop issue, commit and push
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Scan recent Steam comments for bug reports and open or update GitHub issues for them
Adversarially review a PR's diff against main with inline comments and a verdict, appending to the shared file if one exists
Analyze a GitHub issue, classify it, post a comment, and write findings to a file
SOC 직업 분류 기준
| name | unop-fix-issue |
| description | Formulate and apply a fix for a confirmed Unop issue, commit and push |
| argument-hint | <issue-number> |
Formulate a fix approach for a confirmed Unop issue, apply it, run tiger, commit, and push. Read full context from a shared file and append a ## Fix N section with the approach and changes.
This skill runs autonomously, without asking for approval. Any human gates belong to the calling workflow, not here. It reports a summary at the end.
ProZeratul/CrusaderKings3UnofficialPatch. Use the gh CLI for all GitHub operations.tmp/issue-<N>.md — the handover document. Other skills may create it with the ## Analysis section and append ## Review N sections. This skill reads both and appends ## Fix N.419).fixer.CLAUDE.md first.<identity>): begin each comment's first line with **<identity>:**. A comment containing @<identity> is addressed to you.## Analysis section and every prior ## Fix N and ## Review N.Findings and file-verified facts, but treat any Fix directions recorded there as one unverified hypothesis, not a spec. Re-derive the approach from the facts and choose the altitude.make tiger reports new warnings, invoke the tiger skill to fix them properly.examples.md for relevant past investigations when a situation it covers comes up.Read the shared file for the investigation findings, classification, and any prior fix/review cycles.
Re-fix due to review. If a ## Review N section is present, read the most recent one and treat its High and Medium findings as the work list for this attempt — every one must be addressed before you consider the fix ready. Low findings are optional. Earlier ## Fix N sections show what was already tried.
Re-fix due to PR feedback. If the fix has a linked PR and there is feedback after your last **<identity>:** comment (especially any addressing @<identity>), read its conversation and review comments — gh pr view <PR> --comments, plus inline comments via gh api repos/ProZeratul/CrusaderKings3UnofficialPatch/pulls/<PR>/comments. Take into account any feedback from the maintainers but vet each against the code; if you disagree, say so in the ## Fix N rather than silently complying.
Re-read the relevant Unop and vanilla files to refresh the context before formulating the fix.
Work out how to fix the bug before writing any code.
examples.md (#420).examples.md (#498).examples.md (#498).examples.md (#440, #501).is_shown / is_valid / can_create. If another guard still blocks the reporter's case, the fix doesn't work. See examples.md (#440).examples.md (#213).Fix directions in the shared file are candidates, not defaults — re-derive the approach from the verified facts. Watch for fixes that destroy state other systems still depend on. See examples.md (#213, #498)..info/log line); if it can't be confirmed, flag it for in-game testing. See examples.md (#498).Paradox Script Gotchas:
custom_description is a tooltip wrapper, not a condition. custom_description = { text = X; <trigger> } evaluates <trigger> and labels failures with X's loc — the text = line is not a separate condition.Following the project CLAUDE.md "General", "Style", and "Opening PRs" guidelines:
Be on a fix branch. If you're on the default branch (main), create one from a clean tree; otherwise you're already on the fix branch — use it.
# First attempt, only when on main. Working tree should be clean apart from .claude/; if not, stop.
git status --porcelain | grep -v '^.. \.claude/'
git checkout main && git pull --ff-only
git checkout -b <git-user>-fix-<short-slug> # from the issue title, no issue number
Apply the fix. Minimal change; #Unop comment on the first changed line; comment out rather than delete unneeded vanilla code. When enclosing existing code in a scope, indent it properly. New vanilla files should be added without modifications in a separate commit.
Validate: run make tiger and ensure no new errors or warnings.
tiger skill to handle tiger error reports.Commit fix files scoped by path. Stage explicitly (git add -- <path>, never git add -A) and commit with a pathspec: git commit -m "<summary>" -- <path...>. Before committing, run git diff --cached --name-only and confirm only the fix files are listed. Commit message: short imperative summary.
Open or update the PR:
First fix attempt: open a draft PR whose description contains a Fixes #<N> line and a concise description of the fix prefixed with **<identity>:**. The Fixes #<N> line auto-links the issue, which already contains the analysis comment and labels. This description is your first-fix comment — don't also post a separate PR comment.
gh pr create --draft --title "<title>" --body "$(cat <<'EOF'
Fixes #<N>
**<identity>:** <short description of the fix>
EOF
)"
Re-fix attempt: push to the existing branch — the PR updates automatically. Then post a concise **<identity>:** PR comment explaining what changed (gh pr comment <PR>, resolving <PR> with gh pr view --json number -q .number on the checked-out branch); if the re-fix addressed PR feedback, reply to those comments directly.
Append a ## Fix N section to the shared file (N = 1 for the first attempt, 2 for the second, etc.):
## Fix N
**Approach:** <one-sentence description>
**Addresses review:** <which Review findings this resolves; omit on the first attempt>
**Files changed:**
- `<path>` — <one-line note>
**Key assumption:** <the single behavioral assumption the fix depends on, and its corroboration — or "test in-game" if unconfirmed>
**Commit:** <commit message>
**PR:** <PR URL> | existing PR updated
When done, report to the user:
error.log for errors related to the fix.examples.md contains past investigations, one section per issue. Read the relevant section when its situation comes up.
/unop-fix-issue 419