Решение трудной математической задачи
Решает одну сложную математическую задачу по шагам с записью заметок и выдаёт полное самодостаточное доказательство.
- Что делает
- Решает одну сложную математическую задачу по шагам с записью заметок и выдаёт полное самодостаточное доказательство.
- Когда брать
- Когда нужно доказать или решить одну трудную математическую задачу без участия субагентов.
- Когда не брать
- Если нужна команда субагентов с несколькими раундами проверки — для этого есть /math-proof:siege.
- Пример запроса
- /math-proof:solo Докажи, что для любого простого p сравнение x^2 ≡ -1 (mod p) разрешимо при p ≡ 1 (mod 4).
- Нужно подключить
- терминал, доступ к файлам
Входит в плагин math-proof. В Cowork и Claude Code можно поставить плагин целиком.
Как включить
- Скачайте архив и распакуйте его.
- Положите папку
soloв~/.claude/skills/. - Откройте Claude Code и опишите задачу своими словами: Claude подхватит скилл по описанию.
Текст
---
name: solo
description: "Реши одну трудную математическую задачу сам, в этой сессии, без субагентов: рассуждай по этапам, записывай каждый установленный шаг в файл заметок, чтобы ничего написанного не пропало при обрыве ответа, и закончи самодостаточным файлом proof.md. Вызов: /math-proof:solo <условие задачи целиком или путь к файлу с ним>."
argument-hint: "[DIR=run-directory] <problem statement | problem-file>"
disable-model-invocation: true
disallowed-tools: WebSearch, WebFetch, AskUserQuestion
allowed-tools: Read, Write, Edit, Glob, Grep, Bash(mkdir *), Bash(cp *), Bash(cmp *)
---
math-proof: solo
Ты решаешь задачу сам, в этой сессии. Субагентов и раундов нет: только ты, файл заметок и, в конце, proof.md.
Аргументы. Сообщение, которым тебя вызвали, выглядит так: $ARGUMENTS В нём — условие задачи и, возможно, каталог запуска. Читай его так. Токен вида DIR=path в самом начале задаёт каталог запуска (путь в кавычках, если в нём есть пробелы); убери его из текста. Любой другой начальный токен вида NAME=value, где NAME — слово из двух или более заглавных букв и подчёркиваний, а value — целое число, — это настройка, которой у этого скилла нет: одним предложением скажи пользователю, что /math-proof:solo принимает перед задачей только DIR=path (настройки раундов и волн относятся к /math-proof:siege), что если этот токен — часть самой задачи, условие можно передать путём к файлу, — и остановись. Если оставшееся — одна строка, которая целиком (без пробелов по краям и одной пары окружающих кавычек, с экранированными обратной косой чертой пробелами, читаемыми как пробелы) является путём к существующему файлу (в пути могут быть пробелы; проверяй через Read или Glob, а не через оболочку), то этот файл и есть файл с задачей; если такого файла нет, а оставшееся может быть только путём к файлу — одна строка, оканчивающаяся на .md, .txt или .tex, или один токен (без пробелов после снятия кавычек), содержащий "/" или "\", — одним предложением скажи пользователю, что по абсолютному пути, который ты искал (назови его), файла нет и что условие можно передать целиком текстом после команды, — и остановись; во всех остальных случаях всё оставшееся, до конца сообщения, И ЕСТЬ условие задачи, дословно — математика, переносы строк и всё прочее («n=3», «N=pq» и «AB=AC» — это математика, а не настройки). Каталог запуска DIR по умолчанию — ./math-proof-solo в текущем каталоге; ниже везде используй абсолютный путь к DIR. Если в сообщении нет ни читаемого файла с задачей, ни текста задачи, скажи об этом одним предложением — вместе со способом вызова, /math-proof:solo <условие задачи или путь к файлу с ним>, — и остановись.
Подготовка. Файлы запуска: DIR/problem.md (задача), DIR/notes.md (твои заметки) и DIR/proof.md (итоговый материал). Создай DIR командой mkdir -p. Если DIR/notes.md уже существует, над этой задачей в DIR уже работали: проверь, что DIR/problem.md — та же задача, что тебе дали (сравни тексты, не обращая внимания на различия в пробелах и концах строк; для файла — cmp). Если она отличается, одним предложением скажи, что в DIR лежит работа над другой задачей и что DIR=<другой каталог> выбирает чистый, — и остановись; если та же — прочитай DIR/notes.md, а также DIR/proof.md, если он есть. Если в них решение записано как завершённое (proof.md написан и в заметках не осталось ничего невыполненного), значит прошлая сессия закончила: скажи, где лежит proof.md и что DIR=<другой каталог> начинает новую попытку, — и остановись. Иначе прошлая сессия оборвалась, не дойдя до конца, а всё, что она не успела записать, потеряно: продолжай с последнего зафиксированного там места, а не начинай заново. Если DIR/notes.md ещё нет, положи задачу в DIR/problem.md: если она пришла файлом, скопируй этот файл туда побайтно командой cp; если пришла текстом в вызывающем сообщении, запиши через Write ровно этот текст (ничего не добавляя, не убирая и не перефразируя). Затем прочитай DIR/problem.md целиком через Read; это авторитетный текст задачи. Оболочку используй только для mkdir, cp и cmp.
Задача. Реши задачу, изложенную в DIR/problem.md; итоговый материал — DIR/proof.md. Сначала рассуждай, потом пиши ответ. Эта работа идёт как разговор, который может растянуться на много сообщений, и у каждого сообщения ограничен объём вывода; оборванное сообщение обычно сопровождается просьбой продолжить, и в следующее сообщение гарантированно переходит только то, что ты ЗАПИСАЛ (а не незаписанные рассуждения). Поэтому записывай рабочие результаты по ходу дела в файл заметок DIR/notes.md: как только ты что-то установил — лемму и её доказательство, сведение, тупик и почему он тупик, точную формулировку, которую пытаешься доказать сейчас, — запиши это, прежде чем рассуждать дальше. Частичный ответ намного полезнее, чем никакого. Запись в заметки — это ещё не конец: после каждой записи продолжай. Важно: объём вывода каждого сообщения включает и твои скрытые рассуждения, а он гораздо меньше, чем заслуживает трудная задача, — сообщение, целиком потраченное на рассуждения без единой записи, будет оборвано, а незаписанные рассуждения считай потерянными. Поэтому не пытайся закончить за одно сообщение. Работай этапами: в НАЧАЛЕ КАЖДОГО сообщения, до любых длинных выкладок, запиши в DIR/notes.md текущий план и точную формулировку того, что ты доказываешь; затем рассуждай до следующего конкретного промежуточного результата, допиши его в заметки, как только он появился, и продолжай. Много коротких записанных шагов лучше одного длинного незаписанного. Если твоё сообщение оборвали, перечитай DIR/notes.md и продолжай с последнего записанного там; никогда не начинай заново. Доступа в интернет и выполнения кода у тебя нет; это чисто мыслительная задача. Когда задача решена или ты довёл её настолько, насколько смог, запиши полное решение в DIR/proof.md. proof.md читает отдельно рецензент, который не может открыть никакие другие файлы (в том числе твои заметки), поэтому он должен быть самодостаточным: каждое рассуждение, на которое опирается решение, расписано в нём полностью. Работай без участия человека: отвечать на вопросы некому, поэтому никогда не останавливайся, чтобы спросить.
Когда DIR/proof.md написан, коротко ответь: где лежит proof.md и решает ли он задачу полностью или, словами самого proof.md, что остаётся открытым.
Перевод: iiuniversitet. Оригинал: https://github.com/anthropics/claude-plugins-official/tree/main/plugins/math-proof/skills/solo, лицензия Apache-2.0. Изменения: перевод на русский язык.
Оригинал на английском
---
name: solo
description: "Work on one hard mathematics problem in this session yourself, with no sub-agents: reason in stages, record each settled step in a notes file so that nothing written is lost if a response is cut off, and end with a self-contained proof.md. Usage: /math-proof:solo <the problem, stated in full, or the path of a file holding it>."
argument-hint: "[DIR=run-directory] <problem statement | problem-file>"
disable-model-invocation: true
disallowed-tools: WebSearch, WebFetch, AskUserQuestion
allowed-tools: Read, Write, Edit, Glob, Grep, Bash(mkdir *), Bash(cp *), Bash(cmp *)
---
# math-proof: solo
You solve the problem yourself, in this session. There are no sub-agents and no rounds: just you, a notes
file and, at the end, proof.md.
**Arguments.** The invoking message reads: $ARGUMENTS
It gives the problem and, optionally, the run directory. Read it this way. A token of the form DIR=path at its
start sets the run directory (the path quoted if it contains spaces); remove it. Any other leading token of the
form NAME=value, where NAME is a word of two or more capital letters and underscores and value is a whole number,
is a setting this skill does not have: tell the user in one sentence that /math-proof:solo takes only DIR=path
before the problem (round and wave settings belong to /math-proof:siege), and that if the token is part of the
problem itself the problem can be given as a file path instead, and stop. If what remains is a single line
that, taken as a whole — surrounding whitespace and one pair of enclosing quotation marks removed,
backslash-escaped spaces read as spaces — is the path of an existing file (it may contain spaces; check with
Read or Glob, not the shell), that file is the problem file; if no such file exists and what remains can only
be a file path — a single line ending in .md, .txt or .tex, or a single token (no spaces once the quotes are
removed) containing "/" or "\" — tell the user in one sentence that no file exists at the absolute path you
looked for (give it) and that the problem can instead be given in full as text after the command, and stop;
otherwise everything that remains, to the end of the message, IS the problem statement, verbatim — mathematics,
line breaks and all ("n=3", "N=pq" and "AB=AC" are mathematics, not settings). The run directory DIR defaults to
./math-proof-solo under the current directory; use DIR's absolute path everywhere below. If the message holds
neither a readable problem file nor any problem text, say so in one sentence — with the usage,
`/math-proof:solo <problem statement, or the path of a file holding it>` — and stop.
**Setup.** The run's files are DIR/problem.md (the problem), DIR/notes.md (your notes) and DIR/proof.md (the
deliverable). Create DIR with `mkdir -p`. If DIR/notes.md already exists, this problem was already being
worked on in DIR: check that DIR/problem.md is the same problem you were given (compare the text, ignoring
differences in whitespace and line endings; for a file, `cmp`) — if it differs, say in one sentence that DIR
holds work on a different problem and that `DIR=<another directory>` selects a fresh one, and stop; if it is
the same, read DIR/notes.md, and DIR/proof.md if it exists. If they record the solution as complete (proof.md
written and nothing in the notes still to do), the earlier session finished: say where proof.md is and that
`DIR=<another directory>` starts a fresh attempt, and stop. Otherwise the earlier session ended before it
finished, and whatever reasoning it had not written down is lost: continue from the last point recorded there
rather than starting over. If DIR/notes.md does not exist yet, put the problem at DIR/problem.md: if it came as
a file, copy that file there byte for byte with `cp`; if it came as text in the invoking message, Write
exactly that text (nothing added, removed or reworded). Then Read DIR/problem.md in full; it is the authoritative text of the problem. Use the shell for
nothing but that `mkdir`, `cp` and `cmp`.
**The task.** Solve the problem stated in DIR/problem.md; the deliverable is DIR/proof.md. After reasoning,
write your answer. This task runs as a conversation that can span many messages, each with a bounded output
allowance; a message that is cut off is normally followed by a request to continue, and only what you have
WRITTEN (not unwritten reasoning) is guaranteed to carry into the next message. So write your work product
out as you go, in a notes file, DIR/notes.md: whenever you settle something — a lemma and its proof, a
reduction, a dead end and why it is dead, the precise statement you are now attempting — write it down before
reasoning further. A partial answer is much more useful than none. Writing to the notes is not finishing —
keep going after each write. Important: each message's output allowance also covers your private reasoning,
and it is far smaller than a hard problem deserves — a message spent entirely on reasoning, with nothing
written, gets cut off, and unwritten reasoning should be assumed lost. So do not try to finish in one
message. Work in stages: early in EVERY message, before any long derivation, write your current plan and the
precise statement you are attempting to DIR/notes.md; then reason toward the next concrete intermediate
result, append it to the notes as soon as you have it, and continue. Many short written steps beat one long
unwritten one. If a message of yours is cut off, re-read DIR/notes.md and continue from the last thing
written there; never start over. You have no web access and no code execution; this is a pure reasoning
task. When the problem is resolved, or you have taken it as far as you can, write your complete solution to
DIR/proof.md. proof.md is read on its own by a referee who cannot open any other file (not your notes
either), so it must be self-contained: every argument the solution relies on is written out in full there.
Work unattended: there is no one to answer questions, so never stop to ask.
When DIR/proof.md is written, reply briefly: where proof.md is, and whether it resolves the problem
completely or, in proof.md's own words, what it leaves open.
Источник: anthropics/claude-plugins-official / math-proof / solo ↗. Ссылка проверена 2026-10-10.