Diligence
eriknyquist/diligenceСкилл для Claude.ai и Claude Code, который активирует два режима: верификацию технических утверждений через веб-поиск с указанием источников и запрос уточнений при неоднозначных вопросах вместо угадывания.
Установка
git clone https://github.com/eriknyquist/diligence.gitREADME
Скилл для Claude.ai и Claude Code, который после активации принудительно включает два поведения на всю сессию:
- Верификация источников — каждое проверяемое техническое утверждение проверяется через веб-поиск и сопровождается ссылкой с URL и путём навигации до его публикации.
- Педантичное уточнение — неоднозначные вопросы никогда не получают ответа наугад. Claude сначала спрашивает.
Активация
Введите /diligence в любом диалоге. Скилл остаётся активным до конца сессии.
Что делает
Позволяет снизить влияние двух типичных проблем при отладке с помощью Claude:
-
Claude даёт некорректную информацию → пользователь просит указать источник → Claude находит источник и понимает, что ошибся, исправляет ответ. Почему нельзя сделать это сразу?
-
Пользователь задаёт неоднозначный вопрос, и вместо уточнения намерения Claude выдаёт длинный ответ, пытаясь охватить все варианты. Потеря времени.
Верификация источников
Каждое техническое утверждение — сигнатуры API, характеристики оборудования, значения из даташитов, поведение библиотек, детали протоколов, флаги CLI — проверяется по первичному публичному источнику (официальная документация, GitHub, даташиты, RFC) до того, как будет озвучено. Если верификация не удалась после 3–5 поисков, Claude всё равно отвечает, но помечает непроверенные утверждения с указанием проверенных источников.
Формат цитирования:
[Source: <название> — <URL> → <путь навигации>]
Уточняющие вопросы
Claude спрашивает перед ответом, если вопрос неоднозначен в одном из трёх случаев:
- Отсутствуют технические детали — не указаны платформа, сценарий использования, окружение или ограничения
- Неоднозначная формулировка — вопрос допускает несколько корректных интерпретаций (например, «что заставляет FreeRTOS тикать?» может означать как механизм тика, так и типичные подводные камни)
- Референциально неоднозначные уточнения — короткие реплики вроде «почему», «как» или «подробнее» без явной привязки к конкретному пункту после многопунктового ответа
Claude склоняется к тому, чтобы спрашивать, а не угадывать.
Совместимость с Caveman
Если также активен caveman mode, весь текст после генерации сжимается по правилам caveman. Цитаты являются исключением и всегда выводятся полностью.
Пример
Один и тот же вопрос — без режима diligence и с ним.
Пользователь: как читать регистр по I2C на STM32?
😢Без /diligence
Для чтения регистра по I2C можно использовать
HAL_I2C_Mem_Read(). Пример:cuint8_t value; HAL_I2C_Mem_Read(&hi2c1, 0x68 << 1, 0x00, I2C_MEMADD_SIZE_8BIT, &value, 1, HAL_MAX_DELAY);Второй аргумент — адрес устройства (сдвинутый влево на 1 для STM32 HAL), третий — адрес регистра, четвёртый указывает, является ли адрес регистра 8- или 16-битным.
🔎С /diligence
Claude: Несколько вопросов перед ответом:
- Какая серия STM32? (F4, H7, другая — поведение HAL может отличаться)
- Блокирующий (polling) или неблокирующий (interrupt/DMA) режим?
- Адрес регистра 8-битный или 16-битный?
Пользователь: STM32F4, блокирующий, 8-битный адрес регистра
Claude: Для блокирующего чтения регистра используйте
HAL_I2C_Mem_Read(). Функция выполняет последовательность запись-чтение (отправка адреса регистра, затем чтение данных) в одном вызове.cuint8_t value; HAL_StatusTypeDef status = HAL_I2C_Mem_Read( &hi2c1, // дескриптор I2C 0x68 << 1, // 7-битный адрес устройства, сдвинутый влево на 1 0x00, // адрес регистра I2C_MEMADD_SIZE_8BIT, // ширина адреса регистра — 8 бит &value, // буфер приёма 1, // количество байт для чтения HAL_MAX_DELAY // таймаут );Адрес устройства необходимо сдвинуть влево на 1 — STM32 HAL использует 8-битный формат (7-битный адрес + бит R/W) внутри. [Source: ST UM1725 HAL driver manual — https://www.st.com/resource/en/user_manual/um1725-description-of-stm32f4-hal-and-lowlayer-drivers-stmicroelectronics.pdf → Section 33.2.4, HAL_I2C_Mem_Read]
Всегда проверяйте возвращаемое значение:
HAL_OKпри успехе,HAL_TIMEOUTилиHAL_ERRORпри ошибке. [Source: STM32F4 HAL source — https://github.com/STMicroelectronics/stm32f4xx_hal_driver/blob/master/Src/stm32f4xx_hal_i2c.c → HAL_I2C_Mem_Read return values]
Установка
Claude.ai
- Скачайте
diligence.skillсо страницы Releases - В Claude.ai перейдите в Settings → Skills и загрузите файл
.skill - Введите
/diligenceв любом диалоге для активации
Claude Code
Добавьте этот репозиторий как marketplace, затем установите плагин:
claude plugin marketplace add eriknyquist/diligence
claude plugin install diligence@diligenceЗатем введите /diligence в диалоге для активации.