Dev
npc-live/clawfirm
Software development workflow dispatcher. An agent skill from npc-live/clawfirm.
Structured coding workflow for non-trivial code work: debug, build features, refactor, optimize, migrate and review code through 7 steps with evidence-based quality gates.
$ npx skills add HoangTheQuyen/think-better --skill code-solving -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install HoangTheQuyen/think-better code-solving --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/HoangTheQuyen/think-better.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/code-solving .claude/skills/code-solving && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "code-solving" agent skill from https://github.com/HoangTheQuyen/think-better/tree/main/.agents/skills/code-solving into .claude/skills/code-solving/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-solving", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/HoangTheQuyen/think-better/tree/main/.agents/skills/code-solvingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add HoangTheQuyen/think-better --skill code-solving -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install HoangTheQuyen/think-better code-solving --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HoangTheQuyen/think-better.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/code-solving .agents/skills/code-solving && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "code-solving" agent skill from https://github.com/HoangTheQuyen/think-better/tree/main/.agents/skills/code-solving into .agents/skills/code-solving/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-solving", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add HoangTheQuyen/think-better --skill code-solving -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install HoangTheQuyen/think-better code-solving --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HoangTheQuyen/think-better.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/code-solving .cursor/skills/code-solving && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "code-solving" agent skill from https://github.com/HoangTheQuyen/think-better/tree/main/.agents/skills/code-solving into .cursor/skills/code-solving/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-solving", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/HoangTheQuyen/think-better.git --path .agents/skills/code-solving--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add HoangTheQuyen/think-better --skill code-solving -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install HoangTheQuyen/think-better code-solving --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HoangTheQuyen/think-better.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/code-solving .gemini/skills/code-solving && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "code-solving" agent skill from https://github.com/HoangTheQuyen/think-better/tree/main/.agents/skills/code-solving into .gemini/skills/code-solving/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-solving", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install HoangTheQuyen/think-better code-solvingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add HoangTheQuyen/think-better --skill code-solving -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/HoangTheQuyen/think-better.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/code-solving .github/skills/code-solving && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "code-solving" agent skill from https://github.com/HoangTheQuyen/think-better/tree/main/.agents/skills/code-solving into .github/skills/code-solving/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-solving", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add HoangTheQuyen/think-better --skill code-solving -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install HoangTheQuyen/think-better code-solving --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HoangTheQuyen/think-better.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/code-solving .opencode/skills/code-solving && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "code-solving" agent skill from https://github.com/HoangTheQuyen/think-better/tree/main/.agents/skills/code-solving into .opencode/skills/code-solving/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-solving", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
code-solvingStructured coding workflow for non-trivial code work: debug, build features, refactor, optimize, migrate and review code through 7 steps with evidence-based quality gates.
Code Solving is an agent skill from HoangTheQuyen/think-better. Structured coding workflow for non-trivial code work: debug, build features, refactor, optimize, migrate and review code through 7 steps with evidence-based quality gates. Use when user says "fix this bug", "debug this", "exception", "stack trace", "crash", "the code is not working", "add a feature", "refactor", "clean up this code", "the code is slow", "memory leak", "flaky test", "CI is failing", "production is down", "upgrade the dependency", "migrate", "review my code", "write tests", "fix the error", "add a…
Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 18 other files, including scripts (for example `PROMPT.md`, `scripts/advisor.py` and `scripts/context.py`).
It sits in Testing & QA, covering Debugging, Failing and flaky tests and Code review. It works with Python. The repository describes itself as: The Operating System for Clear Thinking & Better Decisions. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit dd112f4. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 5 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3pythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Code Solving loads about 3.7k tokens when it runs. Until then it costs about 222 tokens; SKILL.md has 1,874 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from HoangTheQuyen/think-better at commit dd112f4, republished under its MIT licence (© HoangTheQuyen). 1,874 words, ~3,710 tokens.
.claude/skills/code-solving/SKILL.md (or your agent's skills folder). This skill also uses 16 other files; get the full folder from GitHub.Make code changes the way a careful senior engineer does: define done before coding, map the change, work in small verified steps, and prove the result with evidence instead of claiming it.
A 7-step method (Define → Decompose → Prioritize → Plan → Execute → Verify → Communicate) applied to 12 task types: debug, feature, refactor, performance, flaky-test, incident, migration, review, test, explain, security and quick-fix. Every step has a gate: a concrete piece of evidence that must exist before moving on. The knowledge base has 149 records: debugging techniques, change techniques (feature flags, expand-contract, strangler fig…), testing strategies, design principles, engineering biases, a review checklist, hand-off templates and 44 common error messages across languages with their likely causes. The script also detects the project's own test, lint and build commands.
Detect the Python command first: python3 --version 2>/dev/null || python --version. Use whichever works (python on most Windows machines) in every command below. The scripts use only the standard library. If neither works, tell the user that Python 3.9+ is needed and ask before installing anything; do not install it yourself.
Run every command from the project root with the path shown, e.g.
python3 .agents/skills/code-solving/scripts/search.py ... (the installer adjusts this path for
your AI tool). Saved plans are written to the project, never inside the skill folder.
Saving again never overwrites files that already exist (they hold your notes); add --force
to replace them.
When the query is the user's own words (a request, an error message, a pasted log), pass it on
stdin with --stdin instead of quoting it, so quotes, backticks and $ never reach the shell.
Every example below does this.
Use exactly this delimiter, THINK_BETTER_EOF_7f3a, quoted as shown:
python3 .agents/skills/code-solving/scripts/search.py --stdin --plan <<'THINK_BETTER_EOF_7f3a'
<the user's text, unchanged>
THINK_BETTER_EOF_7f3aCheck the text first. The heredoc ends at the first line that is exactly THINK_BETTER_EOF_7f3a;
anything after it would run as shell commands. If a line of the user's text is exactly that
delimiter, do not use the heredoc: write the text unchanged to a temporary file with your
file-editing tool (not the shell), run python3 .agents/skills/code-solving/scripts/search.py --stdin --plan < <file>, then delete the file.
In PowerShell (keep '@ at the start of its line):
$OutputEncoding = [Text.UTF8Encoding]::new()
@'
<the user's text, unchanged>
'@ | python .agents/skills/code-solving/scripts/search.py --stdin --planThe here-string ends at a line that starts with '@. If a line of the user's text starts with
'@, write the text to a file instead and run
Get-Content -Raw -Encoding UTF8 <file> | python .agents/skills/code-solving/scripts/search.py --stdin --plan.
Language: Respond in English. The scripts' output is in English: show it as it is, and keep commands, flags, file names and option names exactly as written.
If the user has not said what they want done, ask before running anything. Trivial edits (a typo, a rename, a one-line change with an obvious result) do not need the plan: make the change and show the check that proves it.
Pick the type yourself; you understand the request better than keyword matching.
| Type | Use when |
|---|---|
debug | Wrong result, error, exception or crash with an unknown cause |
feature | Adding behavior that does not exist yet |
refactor | Changing structure without changing behavior |
performance | Too slow, too much memory, does not scale |
flaky-test | A test or CI job fails sometimes or only in CI |
incident | Production is broken and users are affected now |
migration | Upgrading a dependency or moving code/data to another system or version |
review | Assessing a change for defects and risks |
test | Writing tests for existing code or raising coverage |
explain | Understanding how existing code works, without changing it |
security | Fixing a vulnerability, an injection, a leaked secret or a vulnerable dependency |
quick-fix | A few-line change with an obvious result (typo, text, config value); the plan keeps only Define, Execute, Verify and Communicate |
python3 .agents/skills/code-solving/scripts/search.py --stdin --plan --type <type> -f markdown <<'THINK_BETTER_EOF_7f3a'
<the user's request, unchanged>
THINK_BETTER_EOF_7f3aIf the user asked to save the work ("save", "step-by-step", "workspace"), run the Step 5 command instead of this one: it prints the same plan.
Omit --type to auto-detect (the plan says when it is unsure). The plan contains the 7 steps with task-specific guidance and gates, the project's own check commands, techniques, testing strategy, design principles, bias warnings, a review checklist and the hand-off template.
The plan opens with Context from the project: facts the script found in the code and git, so Step 2 starts from them instead of a blank search. Pass the user's full error output and stack trace in the request; the script reads it.
| Context | Found from |
|---|---|
| Where the error points | Stack-trace and compiler-error frames (Python, JS/TS, Go, Java/Kotlin, C#, Rust, …) resolved to project files, with the source line; library frames are dropped |
| Files and symbols | File names and identifiers in the request: where each symbol is defined and how many files mention it |
| Recent commits | The last commits touching those files (regressions usually start there) |
| Working tree | Branch and uncommitted changes |
| Diff (reviews) | Changed files with line counts, and the review areas they touch (security, data safety, API compatibility, concurrency, error handling, performance, observability, missing tests); those areas go first in the review checklist |
Reviews include the diff automatically: uncommitted changes if there are any, else the branch against the default branch, else the last commit. Name a base with --diff <base> (a branch, tag or commit). Skip all lookups with --no-context. To see only the context, run --stdin --context with the user's text in the same heredoc.
Treat the context as leads to verify, not conclusions: read the code at each location before relying on it.
When the request contains a known error message (for example Cannot read properties of undefined, nil pointer dereference, ModuleNotFoundError), the plan adds a Known error section with its meaning, likely causes, what to check first and the root-cause fix. The likely causes pre-fill the hypothesis log of a saved workspace.
Depth: --depth quick (Define, Execute, Verify only), standard (default), deep (pitfalls per step, extra techniques, full review checklist), executive (deep plus a stakeholder summary).
To see only the project's commands: python3 .agents/skills/code-solving/scripts/search.py --detect
Go through the steps in order and keep the user informed in short updates. For each step:
| Step | Gate (evidence required) |
|---|---|
| 1. Define | A check that fails today: failing test, repro command, benchmark baseline or acceptance criteria |
| 2. Decompose | Change map: files and functions involved and their callers |
| 3. Prioritize | Ordered work list; the first slice can be finished and verified alone |
| 4. Plan | Each task has a proving test or check and a rollback |
| 5. Execute | Small steps, each ending green; a log of hypotheses or progress |
| 6. Verify | The Step 1 check passes; the project's checks are green; review checklist done |
| 7. Communicate | Hand-off artifact (PR description, postmortem, design doc or review report) |
Never claim a gate is met without having produced its evidence in this session. If a command cannot run (missing tool, no network, no test suite), say so plainly and say what you did instead.
For small tasks, keep the steps light, but do not drop Define and Verify.
python3 .agents/skills/code-solving/scripts/search.py --stdin --domain <domain> <<'THINK_BETTER_EOF_7f3a'
<keywords>
THINK_BETTER_EOF_7f3a| Domain | Contents |
|---|---|
debugging | Read the error, minimal repro, recent changes, git bisect, divide and conquer, hypothesis log, tracing, differential diagnosis, stress and repeat, profiling, read the tests… |
changes | Thin vertical slice, spike, feature flag, preparatory refactoring, Mikado, seams, expand-contract, strangler fig, branch by abstraction, codemods, dependency upgrade for a vulnerability |
testing | Regression test first, TDD, acceptance tests, characterization, property-based, contract, snapshot, benchmark, hermetic tests, test pyramid, mutation testing, coverage gap analysis |
principles | KISS, YAGNI, DRY (rule of three), SRP, separation of concerns, dependency direction, fail fast, validate at the boundary, least privilege… |
biases | Anchoring, confirmation bias, streetlight effect, works on my machine, premature optimization, rewrite fallacy, coverage theater, illusion of understanding… |
review | Correctness, edge cases, error handling, security, concurrency, performance, data safety, API compatibility, tests, readability, observability |
artifacts | PR description, commit message, ADR, postmortem, design doc, bug report, review report, status update, code explanation, security fix note |
errors | 44 common error messages (JS/TS, Python, Go, Java, C#, Rust, SQL, infrastructure): meaning, likely causes, first checks, fix |
steps, task-types | The method itself |
When the user asks to save or work step by step ("save", "step-by-step", "workspace"), run this instead of the Step 2 command, not after it:
python3 .agents/skills/code-solving/scripts/search.py --stdin --plan --type <type> --persist --step-docs -p "<short-name>" -f markdown <<'THINK_BETTER_EOF_7f3a'
<the user's request, unchanged>
THINK_BETTER_EOF_7f3aThis creates coding-plans/<short-name>/ with 00-OVERVIEW.md, 01-DEFINE.md, 02-CHANGE-MAP.md, 03-PLAN.md, 04-LOG.md, 05-VERIFY.md and the hand-off file. Fill them in as you work, and tick each gate once its evidence is in the file:
python3 .agents/skills/code-solving/scripts/search.py --done <step> -p "<short-name>" # 1-7 or define, decompose, ...A saved workspace is how work continues in a new session (/code.resume):
python3 .agents/skills/code-solving/scripts/search.py --stdin --status [-p "<short-name>"] <<'THINK_BETTER_EOF_7f3a'
<the user's text, or nothing>
THINK_BETTER_EOF_7f3aIt shows each step's file, whether it was filled in and whether its gate is ticked, then the next step with its guidance and gate. Without -p, it picks the workspace whose name or request matches the text given on stdin, else the most recently changed one. Read the files of finished steps before continuing, re-run the Step 1 check, and never tick a gate whose evidence you did not produce. --undone <step> reopens a gate.
/decide) and record the choice as an ADR./solve).--plan) before starting work on a non-trivial task; trivial edits (typo, rename, one-line change) skip it.If a command fails (an Error: or usage: message, or a non-zero exit), show the error to the
user. If it names an input you chose (a flag value, scores, a workspace name), fix that and
re-run; otherwise stop. Never present a plan the script did not produce.
If Python is missing and the user does not want to install it, you may apply the method manually, saying clearly that the script did not run: classify the task with the table above, walk the 7 steps with the gates from the Step 3 table, find the project's test command (README, CI config, package.json, Makefile), and finish with a PR description that leads with the outcome and lists the checks you ran. The knowledge base is in English; translate the user's key terms before searching.
© HoangTheQuyen, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 16 other files (scripts) in .agents/skills/code-solving of HoangTheQuyen/think-better.
Open the folder on GitHubat commit dd112f4
Code Solving next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Code Solving this skillHoangTheQuyen/think-better | 122 | — | ~3.7k | Automated safety check: Pass | MIT | |
| Devnpc-live/clawfirm | 156 | — | ~642 | Automated safety check: Pass | None | |
| RustPython Test Failure InvestigationRustPython/RustPython | 22k | — | ~467 | Automated safety check: Pass | MIT | |
| Test BlindspotsNeeeophytee/finding-unknowns-skills | 343 | — | ~676 | Automated safety check: Pass | MIT | |
| Crap Analyzerswingerman/engineer | 154 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Offloadimbue-ai/offload | 125 | — | ~3.1k | Automated safety check: Pass | MIT |
npc-live/clawfirm
Software development workflow dispatcher. An agent skill from npc-live/clawfirm.
RustPython/RustPython
Investigates a failing RustPython test by comparing it with CPython, then either fixes it or gathers the details for an incompatibility report.
Neeeophytee/finding-unknowns-skills
Find consequential behavior that a passing test suite does not establish, using focused exploratory checks.
swingerman/engineer
A skill your agent uses to produce a risk-based refactor + test plan for recently-changed code on a diff/branch/PR by computing CRAP (complexity × untested) on changed methods.
imbue-ai/offload
Activate when you see offload.toml in a repo, offload referenced in build targets (justfile, Makefile, scripts), or when you need to run a large test suite in parallel.
joetawil7/first-pass
Bug-fix routine that fixes the whole class of bug, not just the reported instance.
HoangTheQuyen/think-better
AI-powered decision-making framework: 10+ methodologies, cognitive bias detection, weighted scoring with sensitivity analysis, career, personal & business decisions.
HoangTheQuyen/think-better
Systematic problem-solving toolkit for business, product, process and personal problems: root cause analysis, hypothesis testing, critical thinking frameworks.
Works with
Categories
Structured coding workflow for non-trivial code work: debug, build features, refactor, optimize, migrate and review code through 7 steps with evidence-based quality gates. Code Solving is an agent skill from HoangTheQuyen/think-better. Structured coding workflow for non-trivial code work: debug, build features, refactor, optimize, migrate and review code through 7 steps with evidence-based quality gates.
Code Solving fits situations like: user says fix this bug; the code is not working; clean up this code; the code is slow.
Run `npx skills add HoangTheQuyen/think-better --skill code-solving -a claude-code`. Or copy the skill folder (.agents/skills/code-solving in HoangTheQuyen/think-better) into .claude/skills/code-solving in your project. Claude Code loads it when a task matches its description.
Run `npx skills add HoangTheQuyen/think-better --skill code-solving -a codex`. Or copy the skill folder (.agents/skills/code-solving in HoangTheQuyen/think-better) into .agents/skills/code-solving in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add HoangTheQuyen/think-better --skill code-solving -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/code-solving, .gemini/skills/code-solving, .github/skills/code-solving and .opencode/skills/code-solving in your project.
Going by SKILL.md and its folder, Code Solving needs Python for the scripts in its folder and the command-line tools its instructions call (python3 and python). Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Code Solving is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Code Solving: Dev (npc-live/clawfirm, 156 stars), RustPython Test Failure Investigation (RustPython/RustPython, 22k stars), Test Blindspots (Neeeophytee/finding-unknowns-skills, 343 stars) and Crap Analyzer (swingerman/engineer, 154 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
HoangTheQuyen (a GitHub user) maintains it in HoangTheQuyen/think-better, which has 122 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 9, 2026.
Source: HoangTheQuyen/think-better on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.