协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
issues【开发与工程】Keeps a project's to-do list and memory in GitHub issues — files each finding (from a review, an audit, or the user) as its own issue without duplicates, lists the open issues that bear on the current work, and closes an issue with a comment recording what was wrong, what was tried, what worked, and how it was fixed. Use when review findings or a lis…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Every problem worth fixing becomes an issue: a claim in the paper that misleads, a table that disagrees with the code, a bug, an improvement for later. The open issues are the to-do list. When a fix lands, the issue is closed with a comment that says what was wrong, what was tried — including what did not work — and how it was fixed. Read back months later, the closed issues are the project's memory: auditable, searchable, and the same on every machine and for every co-author, which a chat transcript or a local notes file is not.
This skill makes the habit cheap. It never posts anything without showing the draft first and getting a yes.
/review-paper, /seven-pass-review, /adjudicate-review, or findings
you list yourself — to turn each confirmed problem into its own issue.file <report|text> — turn findings into issuesThe input is a findings JSON from the review runtime, a review report, or problems described in the conversation.
gh auth status must succeed. Then gh repo view --json visibility,nameWithOwner:
on a PUBLIC repository, say plainly that every issue will be public — unpublished results,
referee-sensitive weaknesses and co-authors' drafts would be visible to anyone — suggest a
private repository for paper work, and create nothing without an explicit yes to that.scripts/file-issue.py (step 5), which runs several searches first:
the title's most distinctive words together, the top three alone in titles, every --search
term you pass (a section name, a table label, a function), and up to three file paths the
issue names — at most eight searches, and any dropped are reported. A match gets a comment on the existing issue (reopen it if the problem is back), not a
new issue.git rev-parse --short HEAD).bug, documentation or enhancement, plus an area label such as paper,
code or slides if the project uses them (create one on first use with gh label create).python3 scripts/file-issue.py --title "…" --body-file <draft> [--label …] [--search "…"].
Exit 3 means it found possible duplicates and created nothing: read each (gh issue view N),
comment on the one that is the same problem, or — if the new issue is distinct from all of
them — re-run with --checked N,M. The issue body then records which searches ran and which
candidates were judged distinct. Exit 2 means the search could not run, and nothing was
created. A raw gh issue create is denied by the issue-guard hook for the same reason.
Report the new numbers.list [topic] — what is opengh issue list --state open --limit 100 --json number,title,labels,updatedAt, filtered to the
topic, section or files at hand, oldest first. End with a suggestion of which issue to take next
and why (blocking others, oldest, smallest). Read-only.
To have every new session start with the open list, set CLAUDE_ISSUES_AT_START=1 (under env
in .claude/settings.local.json for your machine only). The open-issues hook then lists open
issues' numbers and titles — by the owner and collaborators only — at startup. It is off by
default because it calls GitHub on every startup.
close <#N> — close with a recordGather: the issue (gh issue view N --comments), the commits that mention it
(git log --oneline --grep "#N"), and what they changed.
Draft the closing comment:
A small fix (a typo, a stale sentence) gets the short form: what was wrong, the commit, how it
was checked. A defect that can move a result or a number gets the full seven sections of
issue-ledger.md.
After the user's yes: gh issue comment N --body-file <draft>, then gh issue close N. For a
problem that turned out not to be one, gh issue close N --reason "not planned", with the
evidence in the comment.
confidential-data.md).
Describe the problem abstractly; the evidence stays where the data lives. Issues are copied,
emailed and indexed; a DUA does not follow them.Refs #N, never "Closes #N" or "Fixes #N". A merge is a code event; closing
is a judgment that the problem is gone, made with the closing comment.Open an issue for each claim that misleads, each number that disagrees with its source, each figure that is hard to read, each argument a referee will push on. Work the list; close each issue with what you changed and why. Keep paper work in a private repository. Before a submission or an R&R, the closed issues are the response-to-referees raw material, and the open ones are what is left to do.
| Flag | Effect |
|---|---|
--dry-run | Print the drafts and the exact commands; post nothing (scripts/file-issue.py --dry-run still runs the duplicate search). |
gh, or not logged in: stop with the install line (brew install gh / apt install gh)
or gh auth login, and print the drafts so they can be entered by hand.For file: the numbered drafts, then Created #N, #M (or Commented on #K — already tracked).
For list: one line per issue — number, title, labels, days since update — and the suggestion.
For close: the comment as posted and Closed #N.
scripts/file-issue.py — the duplicate check every new issue goes through; issue-guard.py — the hook that keeps it the only route; open-issues.py — the opt-in startup list.issue-ledger.md — what gets an issue, the evidence standard, the closing comment.progress-reports.md — issues are the defect memory; session logs and MEMORY.md hold the rest./adjudicate-review — decides which findings are real before they are filed./review-paper and /seven-pass-review — produce findings worth filing./adjudicate-review./triage-inbox.glab, by hand.