Skip to the text
Et Al.
Vol. 1 · No. 1 · November 2026 Agent skill p. 5.3

Agent skill

QED and Sic as a skill for coding agents. The agent installs it, and you approve the sign-in with one click.

ForClaude Code, and other coding agents that load Agent Skills
ContentsSKILL.md and one Python script, scripts/etal.py (standard library only)
Sign-inOne approval in the browser. No key to copy.
LimitsThe same allowance and rate limits as the API, on the same account

1Install

Give your agent this prompt:

Read https://etal-labs.com/docs/skill.md and follow it to install the Et Al. skill for me.

For Claude Code and other coding agents. The agent installs the skill, and you approve the sign-in in your browser.

The agent downloads the two files into its skills directory, starts the sign-in and opens a page in your browser. Check that the page shows the code the agent gave you, and approve. From then on, ask for what you want: a section drafted from your notes, a paragraph revoiced, a LaTeX file polished, a text checked.

Or install it by hand (the paths are for Claude Code):

Listing 1. shell
mkdir -p ~/.claude/skills/etal/scripts && cd ~/.claude/skills/etal
curl -fsSL https://etal-labs.com/skill/SKILL.md -o SKILL.md
curl -fsSL https://etal-labs.com/skill/scripts/etal.py -o scripts/etal.py
python3 scripts/etal.py login

Other agents read skills from ~/.agents/skills/etal/ or their own skills directory. For one project only, use .claude/skills/etal/ inside it. The skill is also available as one archive.

2Skill or MCP server

Both give an agent the same models on the same account. Which one fits depends on where the agent runs.

SkillFor agents with a shell, such as Claude Code. The agent sets it up itself. It works on your files directly: a LaTeX file is rewritten into a copy next to the original, and long documents do not pass through the conversation.
MCP serverFor Claude on the web and desktop, Cursor, and clients without a shell. Nothing is installed; you add a connector and sign in.

3Commands

The agent runs these for you. They also work from a terminal.

login, logout, statusSign in through the browser, remove the stored key, show the allowance used and the models.
draftQED writes a passage from a file of notes, optionally in the voice of passages you supply and as a section of a longer document.
rewriteQED polishes or revoices a passage. Markdown in, Markdown out.
paragraphsNumbers the prose paragraphs of a LaTeX or Markdown file and lists what will be left alone.
rewrite-docRewrites chosen paragraphs of a LaTeX or Markdown file into a copy, with a report for each paragraph. The original is never changed.
checkCompares an output with its source: numbers, citations, formulas, hedging, and claims added, dropped or changed. draft and rewrite run it on their own output.
detectSic lists the sentences above its thresholds, with the rate at which each threshold flags human text.
disclosureDrafts an AI-use disclosure from your recent calls, in a journal's house form.
Listing 2. shell
etal.py draft notes.md --voice voice.md --out intro.md
etal.py rewrite-doc paper.tex --paragraphs 3-9 --mode revoice --voice voice.md
etal.py detect manuscript.md

4What the skill tells the agent

  1. Ask the author for two or three passages of their own writing, and use them as the voice.
  2. Draft section by section, with every fact, number and citation in the notes.
  3. Fix everything the check marks as an error; read what it marks for review.
  4. Use Sic to see which passages read as machine-written, and revise those for substance. Never rephrase text to lower a score.
  5. Show the author the changes before anything replaces their file, and offer the disclosure statement at the end.

5Sign-in and privacy

  • login shows a short code and opens the console. When you approve, the script receives a new API key and stores it in ~/.config/etal/credentials.json, readable only by you. The key is listed under API keys, where you can revoke it.
  • Approve a code only if you or your agent started the sign-in a moment ago. Codes last fifteen minutes and work once.
  • If ETAL_API_KEY is set, the script uses that key and skips the sign-in.
  • The script talks to api.etal-labs.com and to nothing else. The text it sends is processed and not stored.