Skip to content

About

AI-assisted toolbox for work auditing (LaTeX, Scopus validation, paper/thesis/report auditing), software design, CAD design, PCB design, local LLM with observer and tracker, built on Claude Code agents/skills/commands with mirrors to other Harness.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

14 stars

Watchers

0 watching

Forks

Latest commit

 

History

520 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ResearchTools — Manual

License: PolyForm Noncommercial 1.0.0 Python 3.x Platform: Windows Docs GitHub Repo stars Last commit Contributors Open issues

ResearchTools — find what's wrong before anyone else does

ResearchTools logo ResearchTools promo, paper-auditor example
Table of contents

ResearchTools is an AI-assisted toolbox for researcher-professors and graduate students. It finds and fixes what's wrong before a reviewer, a thesis committee, or a grant panel does:

  • Literature reviews, paper and thesis audits, BibTeX cleanup, reviewer responses, submission packages: the academic writing side.
  • Code, PCB, and 3D CAD design review, with a dashboard to watch the agents work, and log them.
  • A local-model-backed dev loop that keeps the heavy generation off your cloud bill.

Full pitch, the 2026 roadmap, and this manual's own conventions: docs/manual/00-purpose.md.

Never let an LLM do your work for you. Use it to improve your work, find your weaknesses, and help you improve yourself. Never use these tools to conduct a formal or professional assessment, and do not let the tool make decisions for you. Use at your own risk.

This file is the entry point only. The manual is split into chapters under docs/manual/, the same way Architecture.md is already split into layers instead of kept as one flat file — this keeps each topic at a readable size instead of one 1300-line page.

Why ResearchTools

Without With ResearchTools
Catch a missing reference or a broken hypothesis flow after the reviewer does An auditor scores the manuscript first, against the same ScholarEval rubric a committee uses
Re-read a cited paper's abstract/contribution/futureworks/statistics and hope the citation says what you think it says extract-contributions checks the citing sentence against the paper's own stated contribution
Receive a thesis, an article or a talk as a PDF with no LaTeX source and re-type it before it can be audited pdf2md converts it with mineru to markdown (the UQAC thesis layout, or one document for an article or a talk) and measures what the conversion lost against a second reader of the PDF
Burn cloud tokens on routine docstrings and refactors local-writer / local-coder push that generation to a local model, for free
Know whether a coding task should run on the cloud, through local-coder, through aider, or on a switched session A plan header names executor, tier and the review bounds, plan_contract.py checks it, two hooks enforce it, and the process has a flowchart (chapter 11)
Guess which local model fits your GPU opt-local-vram-llm tunes the LLM's context window for the card, and opt-local-stt-vram scores speech-to-text models beside that LLM (word error, live-caption speed, VRAM) in one table
Catch a committed secret but not a committed real name (a student, a co-author, an account path) A global git privacy guard (pre-commit/pre-push, every repository) scans the diff against both betterleaks' secret rules and a machine-local deny list of real names, extended for each new student and never leaving the machine

Not a replacement for judgment — a second pair of eyes that never gets tired of checking.

See it in action

rt-observe dashboard, Real-Time Process tab

The rt-observe dashboard watching a live session: hook flow, fan-out to the two memories (Obsidian vault, graphify graph), and a spawned subagent, all on loopback with no external service. A push-to-talk voice panel (hold P) lets you ask it a question about this toolkit's own memory out loud, answered by the local LLM through the vault daemon's ask queue and spoken back in two parts: the vault answer first, then a code-structure note from the matched project's own graphify graph when its vault folder names a repo:. Full walkthrough: docs/manual/10-rt-observe-dashboard.md.

Quickstart

git clone https://github.com/LARi-UQAC/ResearchTools.git
cd ResearchTools
.\setup.ps1 -All -Personal   # config + Claude links + all tool mirrors
.\setup.ps1 -InstallPython   # optional: .venv-skills, .venv-docs and .venv-pdf2md (in the main clone)
.\setup.ps1 -Update          # update an existing installation in one command (try -Update -Preview first); see manual chapter 01

Full install steps (junctions, other-tool mirrors, prerequisites table): docs/manual/01-installation.md.

The two memories

Two memories back this toolkit, and neither is read or written directly: the Obsidian vault (what was learned, across every project) and the graphify code graph in graphify-out/ (what this repository's code IS right now). Both are reached only by dispatching the local-writer agent. The graph's own state is read-only via scripts/audit/check-graph-health.ps1. Full design: docs/manual/06-skills.md.

Manual chapters

At a glance — commands drive agents, agents draw on skills, and both memories are reached only through local-writer (detail: 06-skills.md):

graph LR
  U["You"] -->|"/command"| CC["Your Harness"]
  CC --> AG["Agents"]
  AG --> SK["Skills"]
  SK --> EXT[("Scopus / Gemini /<br/>Copilot APIs, etc.")]
  AG -->|"dispatch local-writer"| VAULT[("Obsidian vault<br/>what was learned")]
  AG -->|"dispatch local-writer"| GRAPH[("graphify graph<br/>what the code is")]
Loading
# Chapter Covers
00 Purpose & overview Mission, 2026 roadmap, manual conventions
01 Installation setup.ps1 / install.ps1 / install-junctions.ps1, prerequisites, the install steps, updating a machine
02 Profiles & environment Domain profiles, API keys, and every Python library of .venv-skills, .venv-docs and .venv-pdf2md (generated tables)
03 Token management Output modes, /slim /concis /focus /ctx, switching the session identity
04 Commands All slash commands
05 Agents All agents, local delegation, loop engineering
06 Skills All 25 skills, the two memories
07 Hooks and guards Every hook the toolkit declares: guards before a tool call, scanners, session hooks, git hooks
08 Rules and conventions The rules R0 to R38 and the five files that hold them
09 Harnesses and mirrors Claude Code, Copilot, OpenCode, Continue, Aider and Codex: what each receives, mirror-policy.json, session adapters
10 rt-observe & dashboard Mirror matrix, /rt-dashboard, the voice panel
11 Local coding and the cloud Which executor runs a coding task (cloud, local-coder, aider, a switched session), the plan header, review bounds, size ceilings, the flowchart
12 PCB design, mixed signals Placeholder, to be written
13 3D CAD design, CNC, 3D printing Placeholder, to be written
14 Aider nightly pipeline aider-setup, the student aider-kit.zip, vs. local-coder
15 Security audit and guards SkillSpector scan of all 25 skills, the global git privacy guard (deny list of real names + secret rules, every repo), the optional billed pull-request review workflow
16 Maintenance, checks and CI The green stamp, run-all-checks, finish-branch, the verifiers, the workflows, publishing this site
17 ThesisTracker integration The sibling repository, NEW_ARCHITECTURE.md, the form-service boundary
18 File locations Directory tree summary, machine-local files

Relationship diagrams and the 7-layer execution architecture for this repository: Architecture.md. The architecture shared with the sibling repository ThesisTracker (form catalogue, twenty-two-unit delivery plan) is a separate file, NEW_ARCHITECTURE.md — see chapter 17 above; do not confuse the two.

Supported harnesses

One canonical .claude/ source, mirrored everywhere below (detail: 05-agents.md):

Claude Code GitHub Copilot OpenCode Continue Aider Codex AGENTS.md readers

License

ResearchTools is source-available under PolyForm Noncommercial 1.0.0: free to use, copy, and modify for any noncommercial purpose, including academic and research use. It is not an OSI-approved "open source" licence (OSI requires permitting commercial use), so it is described here as source-available rather than open source.

Commercial use — any use intended for or directed toward commercial advantage or monetary compensation — needs a separate written licensing agreement with the copyright holder before use begins. Contact martin_otis@uqac.ca to discuss terms.

v0.1.0 and earlier were released under the MIT License; that release is unaffected and keeps its original terms. The cut-over to PolyForm Noncommercial took effect in the commit that introduced this LICENSE file.

Support this project

If this toolkit is useful to you, a star helps others find it. Ask for my book (French version): Vibe Design. 30$ contribution via:

ko-fi PayPal

About

AI-assisted toolbox for work auditing (LaTeX, Scopus validation, paper/thesis/report auditing), software design, CAD design, PCB design, local LLM with observer and tracker, built on Claude Code agents/skills/commands with mirrors to other Harness.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

14 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages