If someone cites AI as a source to try to prove something: https://stopcitingai.com/
A large language model (LLM) is a statistical model of human language text.
Given some text, it predicts what may follow. A simple statistical model
of English might be able to predict that the next word after go back to the drawing'' is most likely board''. An LLM can contain trillions of
decision-making units (neurons or parameters), enabling it to predict,
given a prompt such as ``Summarize the following 5 pages of text in one
paragraph: \ldots'', a paragraph that is likely to be a good summary.
When closing a pull request that was generated by an external contributor, using an LLM:
Please do not open a pull request without an understanding of the code and of your changes. That is a waste of everyone's time. (Sometimes this is a result of using AI uncritically.)
Copy-edit all the files in the document.
Improve the writing in all the files in the document. Keep edits sentence-local.
Improve the writing in all the files in the document.
Comment critically on the attached text. Suggest ways that it can be improved. Write your suggestions to a file in the current directory.
For each PDF in this directory, run references-from-pdf.py to obtain the bibliography in plaintext, then run references-check.py to determine whether the bibliography entry corresponds to a real paper. (Otherwise, it may be a hallucination.) Finally, report to me, for each paper, which of its references are hallucinated. You may edit the Python scripts to improve them if appropriate.
Soften particularly harsh criticism, and add encouragement. Make minimal changes, without changing or removing any substantive comment and without restructuring the text.
Edit the paper review to fill in the empty sections "Strengths" (or "Reasons to accept the paper") and "Weaknesses" (or "Reasons to not accept the paper"), as brief bullet points (1 sentence each) that summarize text elsewhere in the review. Fill in "Questions for authors' response" as brief enumerated list items (1 sentence each).
LLM (e.g., ChatGPT) prompting for correcting voice-to-text dictation:
In April 2026, only Claude got scientific quoting right. Gemini ignored the instructions not to merge paragraphs, making its output largely useless.
Before uploading to the LLM:
- spell-check
(progn
(goto-char (point-min))
(uneducate-quotes)
(save-excursion
(replace-regexp "\\( \\|^\\)\" " "\\1\""))
(save-excursion
(replace-regexp "\\( \\|^\\)( " "\\1("))
(save-excursion
(replace-regexp "^ +" ""))
(delete-trailing-whitespace)
(save-excursion
(replace-regexp " +" " "))
)File @X contains text that was generated by speech-to-text dictation. Speech-to-text resulted in a number of errors in the document. Please correct errors in spelling, capitalization, and grammar.
Do not convert numerals to words; that is, don't convert "3" to "three". Do not paraphrase to remove details. Retain a blank line between paragraphs. Do not remove, merge, or split any paragraphs. Process the whole document. Edit the document in place.
Fix the LLM output:
(rg "[.,]\"" "everything" ".")For each class that overrides a superclass not defined in this codebase, ensure that overrides appear in the same order as they are declared in the superclass.
Keep non-override private helper methods that are closely related to an override method together with that override method -- that is, move them together.
In these files:
- src/java.base/share/classes/java/lang/String.java
- src/java.base/share/classes/java/lang/StringBuffer.java
- src/java.base/share/classes/java/lang/StringBuilder.java
write @Pure or @SideEffectFree on appropriate methods. @SideEffectFree means that the method does not have externally-visible side effects. @Pure means that the method is side-effect-free and returns the identical value if it is called twice with identical arguments.
Introduce a local variable in places where a procedure call is definitely performed more than once at run time.
claude -p "Code-review the differences between this branch and the main or master branch. Then fix the identified issues, without asking questions." > claude-review-done.mdclaude --print "Spell-check, grammar-check, and copy-edit the entire repository, including both source code and non-source-code files." > claude-review-done.mdFor holistic, whole-codebase code review by an LLM such as Claude Code:
claude --print "Perform a code review on the entire repository (not just a few commits). Do not summarize it. Number all findings sequentially and uniquely." > claude-review.md(This probably is not effective, though. It is probably better to issue N different queries, one for each file in the codebase, with each query instructing the LLM to focus on one file.)
For code review of an entire single file by an LLM such as Claude Code:
Review file XXXXX Do not summarize it. Instead, make changes that improve it.
basedir=...
branchbase=...
for $item in 1 2 3 4 5 6 7 8 9 10; do
cd $basedir
gnb $branchbase-fix-$item
cd $basedir-branch-$branchbase-fix-$item &&
pwd &&
claude -p "In this directory, fix item $item in @claude-review.md. If appropriate, add a test that fails before the fix and passes after the fix. Wait for all tests to complete -- do not return control to the user early while waiting for tests. Finally, commit the change and push the branch." > claude-output.md &&
echo "Fixed item $item."
done
basedir=...
branchbase=...
for item in 1 2 3 4 5 6 7 8 9 10; do
cd $basedir-branch-$branchbase-fix-$item &&
pwd &&
git pull ../linked-list-detector-branch-shape-analysis &&
git push &&
claude -p "/review $(pr-number)" > claude-review-$item.md &&
echo "Reviewed $(pwd)."
done
coderabbit.ai settings:
- reviews
- summary
- high level summary: off
- walkthrough:
- sequence diagrams: off
- estimate code review effort: off
- suggested labels: off
- summary
- fun
- poem: off
- in progress fortune: off
- art: off
Split the branch into independent pull requests.
Phase 1 -- plan only, no branches yet:
- Read the full diff.
- Propose a grouping into the smallest set of PRs such that each PR is a single coherent change a reviewer can evaluate on its own. Avoid stacked/dependent branches/PRs when possible. Each rename-only change should be its own branch; when there are dependencies, prefer to do renaming first, before other changes.
- For each group: title, one-line rationale, the files/hunks the group contains, and any dependency on another group.
- Write the plan to a file in this directory, show me the plan, and stop.
Phase 2 -- after I approve:
- Create one branch per group, named PREFIX- Most will be branched from the main branch; dependent ones will be based on the branch they depend on.
- Do not change behavior while splitting: the union of the PRs must be
byte-identical to the original diff. Verify this by merging all the
branches into a scratch branch and confirming
git diff <scratch> <branch>is empty. Report the result. - Build and run the tests on each branch separately and report pass/fail per branch. Do not open PRs for branches that do not build.
- Then push each branch. Do not open PRs yet. Report which branches depend on which other branches, if any.
Before running claude --print:
cp ~/.claude.json ~/.claude.json-SAVE-$(date +%Y%m%d)
jq '.projects["'$(pwd)'"].hasTrustDialogAccepted = true' ~/.claude.json | sponge ~/.claude.jsonThis installs Claude in Github Actions, using the current account:
/install-github-app
For maximum effort, run Claude as
claude --model opus --effort max
To run Claude non-interactively:
claude "PROMPT" --model opus --effort max --dangerously-skip-permissions \
--print --output-format json > claude-output.jsonThis passes a prompt to Claude and captures output, including the cost in dollars.
You can process the JSON file using https://github.com/daaain/claude-code-log .
As of 2026-06-15, Claude Agent SDK, claude -p (= claude --print), and
third-party app usage draw from your subscription's usage limits. In the
future, they may bill separately using usage-based rules.
Claude's --bare command-line avoids loading the user's own Claude settings and
thus is better for experiments. (With --bare, Anthropic authentication must
come from environment variable ANTHROPIC_API_KEY.)
File .claude/history.jsonl contains a history of all prompts provided to Claude Code.