edvardgrishin27/nativeprompt

★ 126⑂ 12

Переписывает промпт под правила той модели, где вы работаете: GPT-6 Astra, Claude Fable 5.1, Opus 5, Codex. Каждая правка со ссылкой на офиц. док.

About edvardgrishin27/nativeprompt

edvardgrishin27/nativeprompt is an open-source project on GitHub, mainly written in Python. Переписывает промпт под правила той модели, где вы работаете: GPT-6 Astra, Claude Fable 5.1, Opus 5, Codex. Каждая правка со ссылкой на офиц. док. It currently holds 126 stars and 12 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).

Project Overview

AI Homed tracks it on the AI Prompt Engineering board.

GitHub Repository Details

Repository edvardgrishin27/nativeprompt · default branch - · size 0 KB · watchers 0 · source: GitHub REST API and repository README

README

🇷🇺 Русский · 🇬🇧 English

nativeprompt: одна фраза, два вердикта. Claude Code оставляет, Codex убирает

nativeprompt

Один и тот же промпт Claude Code и Codex читают по-разному. nativeprompt переписывает его под ту модель, за которой вы сидите прямо сейчас, по официальным правилам вендора, и на каждую правку дает ссылку на первоисточник.

лицензия python зависимости тесты API-ключи свежие модели

Claude Code · Codex · 2459 теста · ноль зависимостей · ноль API-ключей · работает офлайн

Свежее. Правила под GPT-6 Astra добавлены 7 сентября 2026, через шесть дней
после выхода модели: разобраны все четыре отличия, которые видны прямо в тексте
промпта. Под Claude Fable 5.1 правила были готовы 2 сентября, на следующий день
после релиза. Список поддержанных моделей ниже.

Одна фраза, две судьбы

«Думай пошагово». Совет, который повторяют все и везде.

На Claude он безобиден. На reasoning-моделях GPT-5.x он делает ответ хуже, и написано это не у меня в блоге, а в документации самой OpenAI: модель уже рассуждает внутри, навязанные шаги ей мешают.

Вы пишете один и тот же текст в двух окнах и думаете, что просите одно и то же. А просите разное. Вот несколько мест, где грамматики расходятся:

| Что в промпте | Claude Code (Opus 5) | Codex / GPT-5.x | |---|---|---| | «думай пошагово» | допустимо | удалить, модель рассуждает сама (reasoning guide) | | «перепроверь себя» | предупреждение, Opus 5 верифицирует сам (prompting Opus 5) | нейтрально | | «покажи только самое важное» | переформулировать, Opus 5 поймет буквально и правда скроет остальное | нейтрально | | КАПС и «ОБЯЗАТЕЛЬНО!!!» | убрать, вызывает пере-срабатывание | убрать, скаффолдинг эпохи GPT-4.1 не помогает | | Одна инструкция дважды | терпимо | убрать, лаконичный промпт выигрывает (prompt guidance) |

Это не мои наблюдения и не народные приметы. Каждая строка тут ведет на страницу вендора, и эти страницы инструмент сам проверяет на свежесть.

Что он делает

Три шага, никакой магии.

Смотрит, на чем вы работаете. Явный --model, потом маркеры живой сессии CLI, потом переменные окружения, потом каскад .claude/settings.json и ~/.codex/config.toml. Ключ это семейство плюс поколение, поэтому незнакомый идентификатор вроде будущего claude-opus-6 все равно получит правила семейства Claude, а не «модель не определена».

Проверяет промпт по правилам именно этого вендора. У Claude их 18, у OpenAI 8, каждое с обязательной ссылкой на официальный док. Народные хаки в шпаргалку не принимаются, это условие вклада.

Показывает, что и почему. Каждая находка идет с объяснением, с оговоркой «когда этот совет не подходит» и с адресом правила. Плюс подсказывает, какой командой запускать задачу: /goal, /loop, plan mode, dynamic workflow у Claude Code, /plan, /goal, делегирование в облако у Codex.

Текст ваш при этом цел. Инструмент понижает КАПС, снимает вежливую обертку и дописывает недостающие секции плейсхолдерами ‹…›. Он не додумывает за вас задачу и ничего не удаляет молча: маркер [!] означает «вендор советует это убрать, решать вам».

Какие модели поддержаны

Правила разобраны по поколениям, а не по вендору целиком: у каждой модели свои отличия, и валить их в одну кучу значит советовать наугад.

| Модель | Правил | Когда добавлены | Гайд вендора | |---|:--:|---|---| | GPT-6 Astra | 4 + семейные | 07.09.2026, через 6 дней после релиза | latest-model | | GPT-5.6 (sol / terra / luna) | семейные | 29.07.2026 | prompt-guidance | | Claude Fable 5.1 | 4 + семейные | 02.09.2026, на следующий день после релиза | prompting-fable-5-1 | | Claude Opus 5 | 4 + семейные | 29.07.2026 | prompting-opus-5 | | Claude Sonnet 5, Opus 4.8 | семейные | 29.07.2026 | общая страница практик | | Gemini CLI, Grok Build, Qwen Code, Kimi CLI | по одному | 04.08.2026 | вендоры правил промптинга не публикуют |

Что нового в Astra и почему это важно для счета. Модель охотнее задает уточняющий вопрос вместо того, чтобы делать: там, где вы ждали работу, она останавливается и спрашивает. Лечится строкой в промпте. Второе: у Astra есть опубликованный вендором блоклист оборотов, по которым текст опознают как машинный, и в нем, кстати, стоит конструкция «X, not Y». Третье: правила проекта из AGENTS.md она может поставить выше вашей просьбы. Четвертое: пишет тесты даже на мелкие обратимые правки.

Отдельно, к тексту промпта отношения не имеет, но ломает старые интеграции: Astra больше не принимает temperature, top_p и top_logprobs, а уровень усилий none не поддерживается.

Почему это работает на вашей подписке

Внутри инструмента нет модели. Совсем.

Разбор считается локально: регулярные выражения плюс версионированная шпаргалка правил. Ни API-ключа, ни счета за токены, ни отправки вашего промпта кому бы то ни было. Выдерните сеть, он продолжит работать, кроме команды update, которая ходит за доками вендоров.

А «умную» литературную переписку делает ваша же модель, по мета-промпту, который инструмент для нее готовит. То есть внутри подписки Claude Code или Codex, за которую вы уже заплатили. Второго счета не появляется.

Ноль рантайм-зависимостей, только стандартная библиотека Python.

Чем он отличается от других улучшателей

У Anthropic и OpenAI есть свои prompt improver'ы. Каждый умеет ровно одну вещь: свою модель. Мульти-вендорные вроде Rosetta требуют, чтобы вы сами выбрали целевую модель, а правила внутри со временем протухают, и вы об этом не узнаете.

| | Anthropic improver | OpenAI optimizer | Rosetta и похожие | nativeprompt | |---|:--:|:--:|:--:|:--:| | Сам определяет вашу модель (семейство + поколение) | нет | нет | нет | да | | Только официальные правила вендора | да | да | частично | да | | Дает ссылку на док под каждой правкой | нет | нет | нет | да | | Следит за свежестью доков и сигналит | нет | нет | нет | да | | Работает офлайн, без ключа и без счета за токены | нет | нет | нет | да | | Знает и Claude, и Codex одновременно | нет | нет | да | да |

Последняя строка и есть причина, по которой инструмент вообще появился. Если вы работаете только в Claude, вам хватит родного improver'а от Anthropic. Больно становится, когда окон два.

Кому это надо

Тем, у кого открыты оба окна. Claude Code для одного, Codex для другого. Держать в голове две грамматики руками тяжело, а разница реальная и стоит качества ответа.

Тем, кто платит за подписку и не хочет второй счет. Разбор ничего не стоит: он считается у вас на машине.

Тем, кто учит промптингу. Каждый совет со ссылкой на официальную страницу, спорить не с чем. Это сильно короче, чем объяснять своими словами.

Командам с общими правилами. Шпаргалка лежит в JSON, правится через PR, версионируется. Свои правила добавляются рядом с вендорскими.

Тем, кто ведет проект долго. Вендоры меняют рекомендации, и вы об этом обычно узнаете последним. nativeprompt update следит за 25 страницами доков и говорит, когда первоисточник поехал.

Область применения это агентные CLI: Claude Code, Codex, а также Gemini CLI, Grok Build, Qwen Code и Kimi CLI. Не API, не веб-чат.

Про последние четыре скажу честно и сразу. Google, xAI, Alibaba и Moonshot правил промптинга под свои модели не публикуют. Значит там остается только половина про запуск, а половина про текст промпта пустует. Выдумать правила и подписать их именем вендора я не могу: тогда рухнет вся конструкция, ради которой все затевалось.

Установка

pipx install nativeprompt   # или: pip install nativeprompt

Ноль внешних зависимостей, только стандартная библиотека. Работает офлайн и без API-ключа.

Из исходников, если хотите править правила под себя:

git clone https://github.com/edvardgrishin27/nativeprompt
cd nativeprompt
pip install -e .          # даст команду nativeprompt в PATH

Можно вообще без установки, пакет запускается как модуль из папки репозитория:

python3 -m nativeprompt improve "..."

Требования: Python 3.9 и выше. Больше ничего.

Быстрый старт

Шесть команд: improve, detect, rules, coverage, install, update.

# переписать промпт под автоматически определённую модель + объяснить
nativeprompt improve "почини баг в логине, думай пошагово, перепроверь себя"

задать целевую модель явно

nativeprompt improve "..." --model claude-opus-5 nativeprompt improve "..." --model gpt-5.6 # или просто: codex

какая модель определилась?

nativeprompt detect

показать все правила и их источники

nativeprompt rules claude nativeprompt rules codex

самопроверка: не изменились ли официальные доки вендоров

nativeprompt update

Флаги improve: --model M, --json (весь отчет машиночитаемо), --no-metaprompt (без блока мета-промпта), --verify (самопроверка: те же детекторы по собственному результату, закрыто / оставлено вам / внесено инструментом). Флаги detect: --model M, --json. Флаги update: --write (записать снапшот хэшей после ревью), --diff (показать, ЧТО именно изменилось в доке вендора), --timeout N (по умолчанию 20 с), --json.

Каждый отчет несет карточку воспроизводимости: строкой в шапке и полным объектом meta в --json. Там версия пакета, семейство, версия правил, дата сверки с доками, поколение и признак, по которому оно определилось, форма задачи, id сработавших и примененных правил и первые 12 символов sha256 промпта. Нужна она вот зачем: два отчета от разных версий инструмента и разных версий шпаргалки внешне неразличимы, и спор «у меня выдавало другое» иначе не решить.

воспроизводимость: nativeprompt 0.7.0 · правила claude 2026-09-02 · доки
  сверены 2026-07-29 · поколение opus-5 (model-id) · форма normal ·
  сработало 8, применено 6 · промпт sha256 4da13855e134

Хэш тут метка для сверки «тот ли промпт», не доказательство: полный текст по 48 битам не восстановить. Поэтому карточку можно приложить к issue, не вклеивая туда пути и куски логов.

Промпт подается и через stdin, для текста с кавычками так безопаснее:

printf '%s' "$PROMPT" | nativeprompt improve --model claude-opus-5 --json

Как выглядит вывод

Возьмем типичный «как привыкли» промпт:

Не мог бы ты пожалуйста ОБЯЗАТЕЛЬНО починить баг в логине, думай пошагово и обязательно перепроверь себя. Покажи только самое важное.

На Claude Opus 5 (--model claude-opus-5), 7 находок:

МОДЕЛЬ: Claude Code (claude-opus-5) · opus-5
определено: явно (--model)

ЧТО УЛУЧШИТЬ (7, сначала важное): 1. [+] Заскоупить задачу: файл, сценарий, что значит «готово» неприменимо: Если файл, модуль или экран уже назван выше в этом же диалоге… правило: https://code.claude.com/docs/en/best-practices 2. [+] Дать проверку, которую Claude прогонит сам неприменимо: Если проверку задаёт окружение (хук на тесты, CI на каждый коммит)… правило: https://code.claude.com/docs/en/best-practices 3. [~] Симптом + где искать + что значит «починено» (лечить причину) неприменимо: Если причина уже найдена выше в диалоге… правило: https://code.claude.com/docs/en/best-practices 4. [!] «Только важное» сужает выдачу — просите всё, фильтруйте отдельно неприменимо: Если сузить выдачу — и есть цель («только упавшие тесты»)… правило: https://platform.claude.com/docs/en/.../prompting-claude-opus-5 5. [~] Просить действие прямо, а не намёком неприменимо: Если вы и правда просите мнение, а не работу… правило: https://platform.claude.com/docs/en/.../be-clear-and-direct 6. [-] Убрать давящие КАПС / «CRITICAL» / «ОБЯЗАТЕЛЬНО!!!» неприменимо: Если КАПС — это имя, флаг или цитата из лога (ERROR, TODO, DEBUG=1)… 7. [!] Лишняя просьба «перепроверь себя» (Opus 5 верифицирует сам) неприменимо: Если «проверь» — часть самого задания… правило: https://platform.claude.com/docs/en/.../prompting-claude-opus-5

УЛУЧШЕННЫЙ ПРОМПТ (детерминированная правка): Обязательно починить баг в логине, думай пошагово и обязательно перепроверь себя. Покажи только самое важное.

Контекст: ‹назовите файл/путь через @ (напр. @src/...), сценарий и что значит «готово»›

Симптом: ‹что именно ломается, где искать (файл/модуль) и что значит «починено»; лечить причину, не симптом›

Проверка: ‹тест/сборка/команда, которую нужно прогнать после правки, и чинить, пока не пройдёт›

(Краткость: Ответь кратко.)

Тот же промпт на GPT-5.6 (--model gpt-5.6), находки уже другие:

МОДЕЛЬ: Codex (gpt-5.6) · gpt-5.6

ЧТО УЛУЧШИТЬ (3, сначала важное): 1. [!] «думай пошагово» лишнее — GPT-5.x рассуждает сам неприменимо: Если «пошагово» относится к ФОРМАТУ ответа… правило: https://developers.openai.com/api/docs/guides/reasoning 2. [~] Просить действие прямо 3. [-] Убрать лишние подпорки и КАПС-приказы

УЛУЧШЕННЫЙ ПРОМПТ (детерминированная правка): Обязательно починить баг в логине, думай пошагово и обязательно перепроверь себя. Покажи только самое важное.

Смотрите: у Codex «думай пошагово» это находка, а у Claude такого правила нет вовсе. Вот они, две разные официальные грамматики, ради которых все и написано.

И обратите внимание, что текст промпта в обоих случаях цел. Меняется форма, дописываются секции-плейсхолдеры. Маркер считается по факту, а не по тому, что правило о себе объявляет: знак действия получает только та находка, которая правда изменила текст. Поэтому [!] стоит и там, где совет ушел только в мета-промпт.

Находки идут от важного к косметике: priority 1 это контракт результата и границы задачи, 2 режим запуска и структура, 3 косметика. Под каждой стоит строка неприменимо:, конкретная ситуация, где совет мимо («файл уже назван выше в этом же диалоге»). Детекторы тут регулярки, истории диалога они не видят, и часть находок ложные. Ложное срабатывание, которое видно и которое можно пропустить, ничего не стоит. Детектор, который никогда не ошибается, обошелся бы дороже.

Если правила молчат, или все сработавшее инструмент закрыл сам, improve так и скажет, а мета-промпт печатать не станет: «Промпт соответствует правилам, которые инструмент умеет проверять, переписывать нечего». Плейсхолдер ‹…› закрытием не считается, он передает правило вам, и --verify смотрит на это так же. Почему так устроено, разобрано в CLAIMS.ru.md, раздел «Почему инструмент не переписывает текст сам».

Увидеть оба варианта рядом одной командой:

python3 examples/contrast_demo.py

Сырые промпты для экспериментов лежат в examples/prompts.md.

Сколько правил он реально закрывает

Команда coverage считает это на ваших же промптах, без всякой модели внутри:

nativeprompt coverage мои-промпты.json --models claude-opus-5,gpt-5.6

На моем тестовом корпусе цифра такая: 227 находок, инструмент закрывает 87 из них, это 38 %, оставляет вам 140 и вносит своих ноль. Последнее и есть главное свойство: инструмент не имеет права добавить нарушение, которого в промпте не было.

Что эта цифра НЕ означает: она не про качество ответа модели. Модель тут не запускается вовсе. Померить качество ответа офлайн честно нельзя, для этого нужен датасет и два прогона. Померить соответствие официальным правилам можно, и результат воспроизводится побайтово.

Использование в VS Code

Расширение Claude Code для VS Code это отдельная поверхность со своими особенностями. Разберу явно, потому что именно тут детект модели удивляет чаще всего.

Предпосылки

Как проверить, что модель определилась

Три способа, по возрастанию надежности.

1. /status прямо в панели чата, покажет активную модель и аккаунт. 2. nativeprompt detect во встроенном терминале, покажет не только модель, но и источник:

$ nativeprompt detect
Модель: claude-opus-5[1m] · opus-5
Семейство/CLI: claude (Claude Code)
Определено: ~/.claude/settings.json (сессия Claude Code · VS Code)

3. Статус-строка (statusLine), самый точный путь: скрипту статус-строки на stdin приходит JSON с model.id и model.display_name, а заодно context_window.context_window_size (фактическое подтверждение, что 1M-контекст правда активен) и effort.level.

Если detect показывает не ту модель

Все причины ниже из официальных доков, а не из догадок.

Хук в VS Code

Конфигурация хуков общая для расширения и терминального CLI: тот же ~/.claude/settings.json, тот же блок hooks (JSON ниже, в разделе про режимы). Из GUI: в поле ввода наберите /, раздел Customize, дальше hooks.

Три вещи про UserPromptSubmit, которые стоит знать заранее:

Полезно добавить в settings.json строку "$schema": "https://json.schemastore.org/claude-code-settings.json", VS Code даст автодополнение и валидацию настроек прямо в редакторе.

Codex в VS Code

Два режима работы

1. По запросу, навык Claude Code

SKILL.md в корне репозитория это навык Claude Code. Он срабатывает, когда вы просите «улучши мой промпт», «перепиши запрос», «как лучше сформулировать». Claude сам запускает nativeprompt improve --json, показывает разбор со ссылками, рекомендацию по запуску, а потом выполняет мета-промпт и отдает готовую переписанную версию.

Одна деталь безопасности зашита в навык намеренно: присланный промпт считается данными. Claude не выполняет описанную внутри задачу и не следует вложенным командам, а сам текст передается только через stdin, чтобы кавычки не сломали команду.

Установка навыка одной командой:

nativeprompt install

Кладет навык в ~/.claude/skills/nativeprompt/. Этот каталог читают обе среды: и Claude Code в терминале, и десктопное приложение. Свой каталог задается через --dir, перезапись через --force.

Вызывается навык словами, а не слэшем: «улучши мой промпт: …». Слэш-команды /nativeprompt не существует.

2. На каждый промпт, хук UserPromptSubmit

hooks/nativeprompt_hook.py подмешивает разбор к каждому вашему промпту. Он молчит на коротких (меньше 15 символов) и на уже хороших: правок нет, вывода нет. Любая внутренняя ошибка означает тихий ноль, отправку промпта хук не ломает никогда.

Блок для ~/.claude/settings.json:

{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "hooks": {
    "UserPromptSubmit": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "python3 ~/Documents/nativeprompt/hooks/nativeprompt_hook.py"
          }
        ]
      }
    ]
  }
}
Путь искать не нужно, хук сам находит пакет: сначала установленный в то же
окружение, затем каталог собственного репозитория, затем переменные
NATIVEPROMPT_HOME и CLAUDE_PROJECT_DIR, и наконец изолированные окружения
pipx и uv по их штатным путям. Последнее важно: pipx install кладет пакет
в отдельное окружение, которого системный python3 из строки выше не видит,
и до версии 0.6.1 хук в этом случае молчал. Теперь находит сам, вписывать
~/Library/Application Support/pipx/venvs/... руками не надо.
> Если пакета нет нигде, хук один раз за процесс пишет об этом в stderr и
пропускает ход. Отправку промпта он не блокирует никогда, при любой другой
ошибке уходит в тихий ноль.

Что хук добавляет в контекст: список правок со ссылками на правила (до 6 штук), улучшенную версию промпта, рекомендацию по запуску и просьбу уточнить у вас все, что осталось в ‹…›.

Сколько это стоит. Хук в

GitHub Stars & Activity

126Stars
12Forks
0Open issues
PythonLanguage

GitHub Popularity

GitHub stars126
Forks12
Open issues0
Primary languagePython
License-
Stars gained today0
Created-
Last pushed-

Trending History

Trending statusnot on today's boards

Related AI Projects

1

microsoft / promptflow

Python★ 11,244⑂ 1,123
2

promptslab / Promptify

Python★ 4,635⑂ 364
3
4

hegelai / prompttools

Python★ 3,055⑂ 256
5

Eladlev / AutoPrompt

Python★ 3,019⑂ 264
6

microsoftarchive / promptbench

Python★ 2,821⑂ 222
7

yaojingang / yao-open-prompts

Python★ 2,817⑂ 461
8

YiVal / YiVal

Python★ 2,134⑂ 328

More AI Rankings