원클릭으로
bip-issue-check
Review an issue markdown file for completeness, then submit via /bip-issue-file
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Review an issue markdown file for completeness, then submit via /bip-issue-file
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Check remote server CPU, memory, and GPU availability via SSH
Cold-start into a worktree/clone from a fresh conversation — read the PR, issue, and any status files, figure out where things stand, then STOP and ask the user what to do next. Use for a fresh conversation dropped into a bip-spawn or bip-epic-spawn worktree/clone that already has history (a PR, an in-progress phase, or a stalled worker).
Quick poll of tracked EPICs and code repos for new manuscript-relevant results
Persist manuscript session state before context reset
Cold-start for a manuscript session — the paper is the source of truth and shared context; discuss results, orchestrate research through issues/PRs, and update the paper as threads complete
Spawn a Claude session in a clone for an EPIC issue
| name | bip-issue-check |
| description | Review an issue markdown file for completeness, then submit via /bip-issue-file |
| allowed-tools | Agent, Bash, Read, Edit, Skill |
Review a GitHub issue markdown file for implementation-readiness, fix
gaps, then submit via /bip-issue-file.
/bip-issue-check ISSUE-feature-name.md
$ARGUMENTS is provided, use that as the file pathSearch for CONSTITUTION.md and DESIGN.md in the repository root.
If found, load them. The constitution contains process/workflow
principles (MUST/SHOULD rules). The design doc contains technical
architecture decisions. Both will be checked against the issue in
Step 3.
Use the Agent tool to launch a general-purpose subagent that reads the
issue file and checks for the following. The subagent should also read
any referenced files (data files, config files, source code) to verify
claims. Pass the contents of CONSTITUTION.md and DESIGN.md to the
subagent if they exist.
If a CONSTITUTION.md exists, check every MUST/SHOULD principle against
the issue. Flag violations as CRITICAL. Common things to catch:
If a DESIGN.md exists, check technical proposals against architecture
decisions. Flag conflicts as HIGH. Common things to catch:
Data paths: Are all file paths concrete and verifiable? Can someone find every referenced file without asking questions? Check that paths exist on disk or that remote paths have copy instructions.
Git-tracked status (reproducibility): For every in-repo path the
issue references — notes files, scripts, configs, notebooks — check
that the path is tracked in the remote branch that readers will have.
Flag as HIGH if a path is untracked, uncommitted, or committed
only to a local branch that hasn't been pushed. Other contributors
cannot open a file that lives only on the author's machine, and
ad-hoc shell snippets "not committed anywhere" are the same problem.
Checks (run against the branch the issue lives on, or main):
git ls-files --error-unmatch <path> # tracked?
git log -1 --oneline -- <path> # has a commit?
git status --porcelain <path> # uncommitted changes?
Fix: default to inlining the needed content directly into the issue body — reproducer snippets, tables of numbers, key paragraphs from a notes file. Do this as part of the normal fix pass; read the uncommitted file and lift the load-bearing parts. "Ad-hoc shell snippets" cited as the source of quoted numbers are a red flag — inline the actual commands. Only if inlining would be unreasonable (many pages of content, binary artifacts, or relevance is ambiguous) surface to the user and ask whether to inline a subset or drop the reference.
Column names / API contracts: If the issue references specific data formats (CSV columns, API fields, config keys), verify them against the actual source (read the relevant code or data files).
Algorithm specification: Is the core algorithm described with enough detail to implement? Check for:
Prerequisites: Are all needed packages, tools, and data listed? Are version constraints noted where they matter?
Directory structure: Does the proposed structure follow project conventions? (Check CLAUDE.md or experiments/CLAUDE.md for patterns.)
Code organization — library vs scripts: If the repo has a Python
package (look for __init__.py under a top-level directory, or
pyproject.toml with [project]), and the issue proposes new .py
files in scripts/, workflow/scripts/, or bin/, check whether
the core logic should instead live in the library package as a
reusable module, with only a thin CLI wrapper in the scripts
directory. Flag as HIGH if:
main() callTest config: If the project requires fast test configs (e.g., < 1 minute), is one specified with concrete parameters?
Existing infrastructure reuse: Before accepting that the issue should build new infrastructure (Snakefiles, pipelines, experiment directories, scripts, configs), search for existing work that could be extended. This is one of the most common and costly mistakes in issue design — building from scratch when 80% of the pipeline already exists.
How to check:
gh pr list --repo <org/repo> --state merged --search "<keywords>" --limit 20
find <repo_path> -name "Snakefile" -o -name "*.smk" -o -name "config.yml" | head -20
Flag as HIGH if:
Recommend: Extend the existing infrastructure (add rules to the existing Snakefile, add config entries, add new targets) rather than duplicating it. Name the specific existing file/directory and explain what can be reused.
8b. Existing code pattern conformance: Read the source files most relevant to the proposed work (the directory where new code would land, plus 2-3 sibling modules) and check that the issue's design fits the patterns already established in the codebase. This catches drift that DESIGN.md and CONSTITUTION.md cannot — emergent conventions that live only in the code.
How to check:
Flag as HIGH if:
NewFooClient() when siblings use OpenFoo())internal/)Recommend: Name the specific existing files that set the pattern and show what the issue should match.
8c. Duplicate or overlapping issues: Search open GitHub issues to check whether the proposed work duplicates or substantially overlaps with an existing issue. This prevents wasted effort and conflicting implementations.
How to check:
gh issue list --repo <org/repo> --state open --search "<keywords>" --limit 15
gh issue view <number> --repo <org/repo>
Flag as HIGH if:
Flag as MEDIUM if:
Recommend: Link to the overlapping issue and suggest one of: consolidate into the existing issue, explicitly scope-split with cross-references, or close the duplicate.
9b. Defined terms for computed quantities: Every named metric, rate, ratio, slope, statistic, or other computed quantity must be anchored to an explicit formula or to code that computes it. Interpretive or evaluative names ("quality", "fit", "accuracy", "performance", "signal") are worse than neutral ones — they carry connotations the computation may not support, and reviewers can't check claims built on a term they can't pin down.
Common failure modes:
How to check: For every named quantity, find a formula, code snippet, or pointer to the exact function. If a pointer is given, read the code and confirm the name matches what the code computes — denominators, filters, and weightings are where names most often drift from reality.
Flag as HIGH when the quantity drives a conclusion (prediction, success criterion, hypothesis). Flag as MEDIUM when it only appears in motivating context and the surrounding discussion doesn't depend on its exact value.
Recommend: replace evaluative labels with mechanical ones, and give the formula or code inline the first time a quantity appears. Spell out denominator, population, and weighting explicitly — these are the details reviewers most often have to reconstruct on their own.
TODO, TKTK, TBD, ???,
<placeholder>, [NEEDS CLARIFICATION], XXX, or similar markers
that indicate unfinished thinking. Every placeholder must be resolved
with concrete content before the issue is submitted.10c. Apply PROSE-DISCIPLINE.md (bipartite repo root). Read the file and check the issue against its rules and reviewer flags. Flag violations as MEDIUM, or HIGH when they materially obscure the deliverable. Name the offending location and propose the trimmed version; for paragraph-form enumerations, write the bullet-list rewrite.
10b. Cross-section agreement: An issue is a specification. When two sections disagree, the worker has to guess which is authoritative, and whichever they pick will be wrong for someone.
Common failure modes:
How to check: For each prescriptive section (tables, rules, lists, counts), find the other sections that reference or verify it and confirm they agree. Count things that state a count. Run each verification command mentally against the prescribed content.
Flag as HIGH if the worker would have to choose between two sections of the issue to proceed.
Recommend: Name the conflicting locations and propose which side should change — usually the prescriptive section reflects author intent and the verification should match it, but the author confirms.
1 nat per lineage on average").
Null model / baseline: Is there a clearly specified baseline for comparison? Is the baseline computation described in enough detail to reproduce (formula, software, parameters)?
Evaluation metric: Is the primary metric well-defined? Is it clear how to compute it (what software, what formula, what data)?
Cross-validation / held-out evaluation: If the issue involves model fitting, is the train/test split strategy specified? Are leakage risks addressed?
Benchmarks: Are runtime expectations stated? Are absolute numbers reported (not just relative improvements) so future work can compare?
Diagnostics: Are there diagnostic outputs that help debug problems (e.g., coverage histograms, convergence plots, sanity checks)?
This is one of the most important parts of the review. Scientific code must be validated beyond basic smoke tests. The subagent MUST actively brainstorm additional validations that would be convincing evidence the math and implementation are correct, then check whether the issue already includes them. If not, flag as HIGH.
Think creatively about what tests would actually catch bugs in the mathematical or algorithmic core. Common categories:
Known-answer tests: Are there cases where the correct answer is known analytically or from a trusted reference implementation? For example: degenerate inputs where the formula simplifies, textbook examples with published answers, or toy cases small enough to verify by hand. Every non-trivial algorithm should have at least one known-answer test specified in the issue.
Symmetry and invariance checks: Does the algorithm have mathematical properties that can be tested? Examples: commutativity (swapping inputs gives the same result), idempotency (applying twice gives the same result as once), conservation laws (quantities that should sum to a constant), invariance under permutation or relabeling. Each such property is a free correctness check.
Limit and boundary behavior: What happens at extremes? Does the algorithm degrade gracefully or produce known results at boundaries? Examples: uniform input, all-zeros, single-element input, very large/small values, identity transformations. These often expose off-by-one errors and numerical issues.
Comparison to reference implementation: If a reference implementation exists (in R, Python, another language, or a published software package), is there a test that runs both and compares outputs on realistic data? Matching a trusted implementation on non-trivial inputs is strong evidence of correctness.
Stochastic / statistical tests: For randomized algorithms, are there distribution-level tests? Examples: checking that samples have the correct mean/variance, that a sampler passes a goodness-of-fit test, that Monte Carlo estimates converge to known values as sample size increases.
Gradient / sensitivity checks: For optimization or differentiable code, are there finite-difference gradient checks? For any continuous function, is the output tested for reasonable sensitivity to input perturbations?
Round-trip and self-consistency: Can the computation be checked by inverting it or by verifying an internal consistency relation? Examples: encode then decode should recover the original, likelihood of the MAP estimate should be >= likelihood of perturbed values, forward and reverse computations should agree.
The subagent should propose at least 2-3 concrete, specific validations tailored to the particular algorithm or method in the issue. Generic suggestions like "add more tests" are not acceptable — each suggestion must name the specific test, what inputs to use, and what the expected output or property is.
Determine whether the agent authored this issue file in the current session. This controls whether edits require approval:
Present the subagent's findings as a concise summary:
If the findings are substantial (more than 3-4 items, or any CRITICAL/HIGH), write them to a temporary file and open for review:
cat > /tmp/bip-issue-check-findings.md <<'EOF'
... findings ...
EOF
if [ -n "$TMUX" ]; then
tmux display-popup -w 80% -h 80% -E -- less /tmp/bip-issue-check-findings.md
elif [ "$TERM_PROGRAM" = "zed" ]; then
zed /tmp/bip-issue-check-findings.md
fi
Then stop and wait for the user to confirm which edits to apply. Do not proceed until the user says to go ahead.
Whether auto-applying (agent-authored) or after approval (user-authored), fix gaps by adding concrete details (exact column names, formulas, file paths) over vague placeholders.
Fix hard-wrapping. If the file contains hard-wrapped paragraphs (newlines inserted mid-sentence at ~70-80 characters), unwrap them so each paragraph is a single long line. Only newlines for actual structural breaks (between paragraphs, list items, headings). GitHub renders markdown with soft wrapping.
Invoke the /bip-issue-file skill with the same file path. It will open
the file for the user to review after submitting:
/bip-issue-file <file_path>
Summarize: