ask — команда для Claude Code: что делает и как установить
Отвечает на вопросы по репозиторию только на базе реального исходного кода с точными ссылками на строки и Mermaid-схемами.
.claude/commands/ask.mdЧто делает ask
Команда исследует кодовую базу и даёт ответ на том языке, на котором задан вопрос. Она ищет нужные файлы, считывает контекст и оформляет разбор со структурированным описанием, таблицей ключевых файлов и примерами кода. Если в ответе затрагиваются связи компонентов или потоки данных, команда строит Mermaid-диаграмму.
Сначала запускается обязательная проверка окружения: команда вызывает git remote get-url origin и git rev-parse --abbrev-ref HEAD. Без подтверждения адреса удалённого репозитория или локального статуса она не пойдёт дальше.
Для удалённых проектов ссылки оформляются в виде прямых ссылок на ветку и строку на GitHub, а для локальных — формата (file_path:line_number). Команда запрещает агенту додумывать детали: если данных в файлах не хватает, она прямо скажет об этом и укажет, куда смотреть дальше.
Какие задачи решает
- разобраться в архитектуре незнакомого репозитория
- найти места объявления функций со ссылками на строки
- построить Mermaid-диаграмму связей компонентов в проекте
- получить архитектурный разбор без выдуманных фактов
Примеры запросов агенту
- /ask как устроен пайплайн обработки входящих вебхуков?
- /ask в каком файле объявляется подключение к базе данных?
Как установить ask
Вручную: положить файлы
.claude/commands/ask.mdВызов — /ask. Для всех проектов — ~/.claude/commands/
Вручную: положить файлы
~/.codex/prompts/ask.mdВызов — /prompts:ask. В Codex этот формат помечен устаревшим, замена — скиллы
Вручную: положить файлы
.github/prompts/ask.prompt.mdВручную: положить файлы
.gemini/commands/ask.tomlGemini хранит команды в TOML: текст запроса — в поле prompt
Вопросы о ask
Как установить ask в Claude Code?
Сохраните файл команды по пути .claude/commands/ask.md в корне вашего проекта. Для GitHub Copilot конфигурационный файл размещается в .github/prompts/ask.prompt.md.
Что делает команда ask?
Она сканирует файлы в кодовой базе, находит релевантный код и выдаёт структурированный ответ с цитатами, таблицей файлов и схемами связей. Внешние предположения и догадки исключены правилами промпта.
Как ask оформляет ссылки на код?
При наличии удалённого репозитория команда формирует markdown-ссылки вида [file:line](REPO_URL/blob/BRANCH/file#Lline). Для локальных папок выводится относительный путь вида (file_path:line_number).
Исходный текст
ask.md · MIT
--- description: Ask a question about the repository using wiki context and source file references --- # Deep Wiki: Repository Q&A Answer a question about this repository grounded in actual source code. ## Source Repository Resolution (MUST DO FIRST) Before answering, resolve the source repository context: 1. **Check for git remote**: Run `git remote get-url origin` 2. **Ask the user**: _"Is this a local-only repository, or do you have a source repository URL?"_ - Remote URL → store as `REPO_URL`, use linked citations: `[file:line](REPO_URL/blob/BRANCH/file#Lline)` - Local → use `(file_path:line_number)` 3. **Determine default branch**: Run `git rev-parse --abbrev-ref HEAD` 4. **Do NOT proceed** until resolved ## Question $ARGUMENTS ## Process 1. **Detect language** of the question and respond in the **same language** 2. **Search** the codebase for files relevant to the question 3. **Read** those files to gather evidence 4. **Synthesize** an answer grounded entirely in actual code — never invent or guess ## Response Format ```markdown ## [Concise Answer Title] [1-2 paragraph direct answer] ### How It Works [Detailed explanation with inline code citations and at least 1 Mermaid diagram when the answer involves architecture, flow, or relationships] ### Key Files | File | Purpose | Source | |------|---------|--------| | `src/path/file.ts` | [Role in the system] | [linked citation] | ### Code Example <!-- Source: file_path:line_number --> [Relevant snippet from actual source, if helpful] ### Related - [Related concepts or files to explore] ``` ## Rules - ONLY use information from actual source files in this repository - NEVER invent, guess, or use external knowledge - ALWAYS cite source files inline using the resolved citation format: - **Remote**: `[src/path/file.ts:42](REPO_URL/blob/BRANCH/src/path/file.ts#L42)` - **Local**: `(src/path/file.ts:42)` - Think step by step through complex questions - If information is insufficient, say so explicitly and suggest which files to examine
© microsoft · MIT · microsoft/skills