К основному содержанию
хук

update-search-year — хук для Claude Code: год в поисковых запросах

Хук добавляет текущий год к запросам WebSearch, если года в них нет. Пригодится, когда нужны свежие результаты, а не прошлогодние.

Установить в Claude Code · Через claude-code-templates Все способы и платформы ↓
npx claude-code-templates@latest --hook pre-tool/update-search-year
Открыть на GitHub

Что делает update-search-year

Хук перехватывает вызов инструмента WebSearch и проверяет строку запроса. Если года там нет и нет слов вроде «latest», «recent», «current», «new», «now», «today», к запросу дописывается текущий год. Дальше поиск уходит уже с ним.

Внутри — один PreToolUse-хук с matcher WebSearch, который запускает python3 -c с коротким скриптом. Скрипт читает JSON со stdin, берёт поле query, ищет в нём четырёхзначный год регуляркой и возвращает изменённый ввод через modifiedToolInput. Таймаут — 5 секунд.

Для работы нужен python3 в системе. Если запрос уже содержит год или временное слово, хук ничего не меняет — это стоит помнить, когда формулировка сама отсекает свежие страницы.

Какие задачи решает

  • дописать текущий год к поисковому запросу
  • получить свежие результаты вместо устаревших
  • не переписывать вручную каждый запрос к WebSearch
  • оставить запрос с годом или словом «latest» без изменений

Примеры запросов агенту

  • найди в интернете, что нового в React
  • поищи в вебе последние изменения в API
  • найди документацию по библиотеке

Как установить update-search-year

1Через claude-code-templates

npx claude-code-templates@latest --hook pre-tool/update-search-year

2Вручную: положить файлы

.claude/settings.json

Блок hooks: событие (PreToolUse, PostToolUse, Stop…) → команда. Личные — ~/.claude/settings.json

По шагам, с командами для каждой платформы: Хуки Claude Code: что это, где настраивать и как запретить опасную команду

Из того же набора205

Весь набор →
update-docs Слэш-команда проходит по specs/, CLAUDE.md и README.md, отмечает выполненное и обновляет проценты готовности проекта. 3 861установок supabase-schema-architect Субагент проектирует схемы PostgreSQL в Supabase, планирует миграции и пишет политики RLS. Пригодится, когда база растёт и надо навести порядок в доступе. 3 839установок smart-commit Хук Claude, который сам коммитит изменённый файл после Edit или Write. Пригодится, если не хочется вручную собирать историю git. 3 745установок architecture-review Слэш-команда для Claude, которая разбирает структуру проекта, паттерны и зависимости и выдаёт план улучшений. Пригодится перед крупным рефакторингом. 3 419установок technical-researcher Субагент изучает чужие репозитории и документацию: собирает метрики, оценивает качество кода и выдаёт отчёт с рекомендациями. 3 344установок lint-on-save Хук запускает линтер сразу после того, как агент изменил файл. ESLint, Pylint и RuboCop срабатывают сами, без ручного вызова. 3 235установок todo Ведёт задачи проекта в файле todos.md прямо из чата: добавить, закрыть, удалить, посмотреть список. Пригодится, когда не хочется уходить из Claude ради таск-трекера. 2 723установок explain-code Слэш-команда разбирает незнакомый код: что он делает, как устроен, где узкие места. Пригодится, когда открываешь чужой файл или возвращаешься к своему через полгода. 2 492установок

Похожие

documentation-update geoffjay Пересобирает файлы документации маркетплейса из данных каталога по Jinja2-шаблонам. Пригодится, когда плагин добавили, обновили или удалили. CX Codex +1 1 800установок weread-year-in-review-video-template nexu-io Создаёт вертикальное HTML-видео 9:16 для годового отчёта о чтении в стиле WeRead: статистика, заметки, ключевые слова и карточка читательского типа. CX Codex +1 2 400установок dossier Alireza Rezvani Собирает досье на конкретную компанию, человека или НКО и проверяет вашу гипотезу о ней, а не подтверждает её. 319установок daily-update Ar9av Скилл обновляет Obsidian-вики: проверяет свежесть источников, синхронизирует индекс и hot.md, а также настраивает ежедневный запуск. CX Codex +1 2 300установок tavily-dynamic-search tavily-ai Скилл для поиска в интернете через Tavily с изоляцией контекста. Сохраняет тяжёлые ответы на диск и отбирает факты локально, чтобы не засорять окно модели. CX Codex +1 13 500установок exa-search K-Dense-AI Скилл для поиска научных и технических материалов через Exa с извлечением текста из страниц и PDF-файлов. Работает с предварительной фильтрацией по категории публикаций и академическим доменам. CX Codex +1 1 700установок

Рядом в теме «Настройка агента: память, контекст, субагенты»

Все хуки по теме «Настройка агента: память, контекст, субагенты» →

Вопросы о update-search-year

Как установить update-search-year в Claude?

Выполните npx claude-code-templates@latest --hook pre-tool/update-search-year, затем проверьте .claude/settings.json.

Что делает update-search-year?

Перехватывает вызовы WebSearch и дописывает текущий год к запросу, если года в нём ещё нет.

Когда хук не трогает запрос?

Если в запросе уже есть год или одно из слов «latest», «recent», «current», «new», «now», «today».

Исходный текст

update-search-year.json · MIT
{
  "description": "Automatically adds current year to WebSearch queries when no year is specified. This hook intercepts WebSearch tool usage and appends the current year to queries that don't already contain a year, ensuring search results are current and relevant.",
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "WebSearch",
        "hooks": [
          {
            "type": "command",
            "command": "python3 -c \"import json, sys, re; from datetime import datetime; input_data = json.load(sys.stdin); tool_input = input_data.get('tool_input', {}); query = tool_input.get('query', ''); current_year = str(datetime.now().year); has_year = re.search(r'\\\\b20\\\\d{2}\\\\b', query); has_temporal = any(word in query.lower() for word in ['latest', 'recent', 'current', 'new', 'now', 'today']); should_add_year = not has_year and not has_temporal; modified_query = f'{query} {current_year}' if should_add_year else query; output = {'hookSpecificOutput': {'hookEventName': 'PreToolUse', 'modifiedToolInput': {'query': modified_query}}}; print(json.dumps(output)); sys.exit(0)\"",
            "timeout": 5
          }
        ]
      }
    ]
  }
}

© davila7 · MIT · davila7/claude-code-templates

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой