promptschat
Gives Claude Code access to the prompts.chat library, letting you search, retrieve and improve AI prompt templates, and find and install Agent Skills from its registry.
A research toolkit for Claude Code that carries a scientific question through to a compiled LaTeX manuscript, with skills for publication-quality figures, narrative structure for reports, cross-project research memory, and friction sheets for computational physics and quantum tools.
Claude Code
$ npx -y skills add Muuuun/luxas --agent claude-code
Codex
$ npx skills add Muuuun/luxas -a codex
Cursor
$ npx skills add Muuuun/luxas -a cursor
Gemini CLI
$ npx skills add Muuuun/luxas -a gemini-cli
GitHub Copilot
$ npx skills add Muuuun/luxas -a github-copilot
OpenCode
$ npx skills add Muuuun/luxas -a opencode
Windsurf
$ npx skills add Muuuun/luxas -a windsurf


An autonomous research agent: from a one-line question to a compiled, reviewed LaTeX report.
luxas.im · Gallery · Quick start · How it works · Architecture notes · Contributing
Give Luxas a research question in RESEARCH.md. It surveys the literature, designs and runs the experiments, draws the figures, writes the report, and hands all of it to reviewers that are built to disagree with it. It runs for hours unattended, survives crashes, and ends with a PDF in which every number traces back to a result file.
Luxas is a harness, not a model. Claude, DeepSeek, GLM and OpenAI models sit behind one routing layer, and the agent loop comes from pi-mono.
Nine end-to-end runs are at luxas.im/gallery. Each started from one luxas init --prompt "…"; no human wrote in the manuscripts, though a few runs needed a restart. The pages above are from Mechanical loss of neutral atoms from optical tweezers, Microwave superradiance in Rydberg arrays and Beyond the Fermi–Hubbard model.
Figures are rendered by Luxas's own renderers from the experiment's result files, linted for composition, then read back by a vision model before the report may finish:
Agents shell out to LaTeX, Python and tmux, so npm install alone is not enough:
# macOS
brew install --cask mactex # or basictex
brew install poppler tmux python@3.11 && pip3 install matplotlib numpy
# Debian / Ubuntu
sudo apt install texlive-latex-extra texlive-fonts-recommended poppler-utils tmux python3-matplotlib python3-numpy
Install and run (Node.js 22+):
git clone https://github.com/Muuuun/luxas.git && cd luxas
npm install && npm link # `luxas` on PATH; or `npx tsx src/index.ts`
export DEEPSEEK_API_KEY=… GLM_API_KEY=… # the default profile
export ANTHROPIC_API_KEY=… # for --profile claude or an Opus brain
luxas init ~/research/x --prompt "Mechanical loss of atoms from optical tweezers during imaging"
luxas run ~/research/x --max-cost 30
luxas status ~/research/x # progress, agents in flight, spend so far
luxas list # every project Luxas has touched
Every sub-agent gets its own tmux window, so you can watch a run live. You can also talk to a running project without touching it: luxas monitor ~/research/x --message "what is E2 waiting on?".
Models. --profile dual is the default: DeepSeek for text and drawing, GLM for the figure audit. --profile claude puts every agent on Anthropic. LUXAS_BRAIN_MODEL=claude-opus-5-5 luxas run … keeps the cheap producers and gives the orchestrator the strongest model; that is the configuration most of the measured runs used. The hard cost cap defaults to $250 per run, --max-cost lowers it, and the real spend of every run is in <project>/.agent/usage.log.
The diagram at the top is the whole system. Five rules hold it together:
experiment designs the tools; tool_impl writes the code and tool_review writes the tests from the same description, blind to each other. Pytest is the only judge. This closed the failure where an implementation redefined a field so that its own test passed.replicator that sees only the inputs estimates each one blind; the claim table marks rows converging or disputed, and a disputed row blocks finish() until an independent route settles it.experiment_reviewer after every experiment, a PI that returns continue / steer / stop, a one-request contradiction sweep across the report and the ledger, and a vision model that reads the compiled pages.finish() is the only clean exit and refuses until its checks pass. The cost cap, write protection and spawn scope are hooks and tool wrappers that no prompt can talk past.luxas run again resumes from them. No vector store, no in-process state.The agent roster, the safety table and the comparison with other frameworks are in docs/architecture.md. The design history is in idea.md.
project/
RESEARCH.md your question, read-only to every agent
notes/ literature.md · experiments.md · memory.md
data/experiments/E1_slug/ scripts/ · tests/ · runs/run_N/results.json
report/ report.tex · references.bib · figures/ · report.pdf
reviews/ pi_feedback.md · experiment_review_*.md
.agent/ log.jsonl · checkpoint.jsonl · usage.log
npm test # tsc + 100-odd offline gates, no API calls
npm run test:live # gates that call real models (slow, billed)
Each agent is a markdown file in src/agents/definitions/ with YAML frontmatter for its model, tools, spawn rights and write scope; adding one is a .md edit. See CONTRIBUTING.md.
Luxas runs shell commands, Python and pip install unattended inside the project directory. Tool wrappers block reads of credential files and key variables, but that is defence in depth, not a sandbox. Run it as a non-root user in a directory that holds nothing you would not hand to a script. Report security issues in a GitHub issue tagged security.
@software{luxas2026,
author = {Mu Qiao},
title = {Luxas: an autonomous research agent for end-to-end literature survey,
experiment design, and LaTeX report generation},
year = {2026},
url = {https://github.com/Muuuun/luxas}
}
Built on pi-mono by Mario Zechner. Prompt evolution via AgentSmelt; number provenance via provref.
MIT — see LICENSE.
Gives Claude Code access to the prompts.chat library, letting you search, retrieve and improve AI prompt templates, and find and install Agent Skills from its registry.
A Claude Code skill for generating editable PPTX presentations and slides from a workflow, with reusable brand, style, layout, and deck workspaces, native charts, speaker notes, and template filling.
Gives AI agents control over Word, Excel and PowerPoint files, with skills for building .docx reports, academic papers, Excel dashboards and Morph-style animated slides.
A skill that builds animation-rich HTML presentations from scratch or converts PowerPoint files to web slides. Useful for anyone turning a deck into a web presentation.
Install it with the command on its page. It includes compute-methods, figure, matplotlib-figures. Its skills do not fire on their own yet. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it