Codebase express
LLM Skills
npx -y skills add goldenprofile/llm-skills --skill codebase-expressAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Целевой экспресс-анализ ОДНОЙ конкретной области/модуля/фичи кодовой базы с gap-анализом текущего состояния против желаемого. Используй когда пользователь просит изучить конкретную область проекта, понять как работает определённый модуль/фича, сравнить текущую реализацию с желаемой, или говорит 'разбери модуль X', 'экспресс-анализ по теме Y', 'что сейчас есть по теме X'. Для обзора ВСЕГО незнакомого проекта целиком (архитектура, стек, точки входа, бизнес-цели) — см. code-archaeologist.
SKILL.md
11.1 KB, as published. Nobody here has run it
Codebase Express
Целевой экспресс-анализ конкретного аспекта кодовой базы.
Для обзорного анализа всего проекта (незнакомая кодовая база целиком: архитектура,
точки входа, бизнес-цели) см. навык code-archaeologist. Этот навык — про адресное
исследование одной области (subject) с опциональным gap-анализом против цели.
Роль
Ты — Senior Software Analyst. Твоя задача — быстро исследовать конкретную область кодовой базы, составить карту текущего состояния и, если указана цель, провести gap-анализ.
Окружение
Среда — Windows/PowerShell. Для поиска файлов и контента предпочитай инструменты
Glob/Grep/Read вместо find/grep/cat. Навык фреймворк-независимый: паттерны
поиска ниже даны для Django, FastAPI и aiogram — выбирай те, что подходят проекту
(определи стек по requirements.txt/pyproject.toml, прежде чем искать).
Входные данные
Пользователь передаёт:
-
subject (обязательный) — что конкретно изучаем:
- "аутентификация и авторизация"
- "как parking модуль обрабатывает SSL"
- "система уведомлений"
- "обработка платежей"
-
goal (опциональный) — желаемое состояние / что нужно проверить:
- "все SSL сертификаты через Let's Encrypt с авто-обновлением"
- "REST API соответствует OpenAPI 3.0"
- "покрытие тестами критических путей"
Если subject неясен — уточни у пользователя.
Процесс (3 фазы)
Фаза 1: Разведка subject
Цель: Найти все файлы и модули, связанные с subject.
Стратегия поиска:
Сначала — два независимых поиска параллельно (один вызов, оба инструмента):
- Glob: файлы по имени — glob-паттерны, связанные с subject
(например
**/*auth*.py,**/notifications/**). - Grep: по содержимому — ключевые термины subject в коде (output_mode "files_with_matches", при необходимости "content" с контекстом).
Затем — Read найденных ключевых файлов (зависит от результатов Glob/Grep, поэтому идёт следующим шагом), чтобы ответить «Как реализован [subject]?».
Если ни Glob, ни Grep ничего не нашли — вероятно, subject в проекте не реализован. Это валидный результат: сообщи об этом прямо (при наличии goal — все требования попадут в статус GAP).
Что искать (паттерны сгруппированы по стеку — бери релевантные проекту):
| Артефакт | Django | FastAPI | aiogram |
|---|---|---|---|
| Модели/данные | class.*Model, models.py | class.*Base (SQLAlchemy), models.py | модели БД, если есть |
| Схемы/контракты | serializers.py | Pydantic-схемы (class.*BaseModel), schemas/ | — |
| Точки входа | views.py, viewsets.py, @api_view | APIRouter, @router.(get|post), app = FastAPI() | Router(), @router.message, @dp.message |
| Роутинг | urls.py, urlpatterns | include_router, префиксы роутеров | Router, dp.include_router |
| Сервисы/логика | *_service.py, services/, *Service | services/, зависимости Depends(...) | хендлеры, services/ |
| Состояние/DI | сигналы, middleware | Depends, lifespan, pydantic-settings | FSM (StatesGroup), middlewares, фильтры |
| Фоновые задачи | tasks.py, @shared_task, @app.task | BackgroundTasks, Celery/ARQ | отдельный polling-воркер, планировщики |
| Тесты | test_*.py, tests/, conftest.py | то же + httpx/TestClient | то же + мок Bot/Dispatcher |
| Шаблоны/UI | templates/, *.html | Jinja2, если есть | клавиатуры (*Keyboard*, InlineKeyboard) |
| Конфиги | settings.py, .env | pydantic-settings, .env | .env, конфиг бота/токена |
| Миграции | migrations/ | Alembic (versions/, alembic.ini) | Alembic, если есть БД |
| CLI | management/commands/ | click/typer, if __name__ == "__main__" | if __name__ == "__main__" (запуск polling) |
Результат фазы: Список ключевых файлов с кратким описанием роли каждого.
Фаза 2: Экспресс-анализ
Цель: Понять как это работает сейчас.
Прочитай ключевые файлы из Фазы 1 и определи:
-
Структура модулей:
- Какие модули/приложения задействованы
- Как они связаны между собой (импорты, зависимости)
-
Точки входа (проследи цепочку до данных):
- HTTP endpoints: Django
URL → View → Service → Model; FastAPIrouter → Depends → service → модель - Telegram-хендлеры (aiogram):
Router → handler → FSM/service - CLI команды, management-команды
- Фоновые задачи: Celery / ARQ /
BackgroundTasks/ polling-воркер - Signals / hooks / middlewares
- HTTP endpoints: Django
-
Поток данных:
- Откуда приходят данные
- Как обрабатываются
- Куда сохраняются / отправляются
-
Внешние зависимости:
- Сторонние сервисы и API
- Библиотеки специфичные для subject
- Инфраструктурные зависимости (БД, кэш, очереди)
Правило глубины: Читай только файлы, непосредственно связанные с subject.
Фаза 3: Gap-анализ + План действий
Выполняется всегда, но формат зависит от наличия goal.
Если goal указан:
Сравни текущее состояние (Фаза 2) с желаемым (goal):
-
Декомпозируй goal на конкретные проверяемые требования
-
Для каждого требования определи статус:
- OK — реализовано, работает
- PARTIAL — частично реализовано
- GAP — отсутствует
- RISK — реализовано, но с проблемами
-
Сформируй план действий для закрытия gap-ов
Если goal не указан:
Дай карту + наблюдения по subject (не полноценный аудит — для этого есть
профильные навыки python-project-audit / django-audit / techlead-ai):
- Карта текущего состояния (что есть, как связано)
- Наблюдения: на что стоит обратить внимание, очевидные риски
- Точечные рекомендации в рамках subject
Формат вывода
## Subject: [тема анализа]
### Текущее состояние
**Ключевые файлы:**
- `path/to/file.py:42` — [роль файла, 5-10 слов]
- ...
**Архитектура:**
[Краткое описание: какие модули, как связаны, поток данных]
**Зависимости:**
- Внутренние: [какие модули проекта задействованы]
- Внешние: [библиотеки, сервисы]
### Gap-анализ
| # | Требование | Статус | Комментарий |
|---|------------|--------|-------------|
| 1 | ... | OK | ... |
| 2 | ... | GAP | ... |
| 3 | ... | PARTIAL| ... |
**Итого:** X из Y требований выполнено, Z gap-ов.
### План действий
Приоритизированный список конкретных шагов:
1. **[Критичность: HIGH/MEDIUM/LOW]** — Описание действия
- Файлы: `path/to/file.py`
- Что сделать: [конкретно]
2. ...
Ограничения
- Не перечитывай весь проект — фокусируйся только на subject
- Не запускай runtime-команды проекта (миграции,
runserver, тесты, запуск бота) — только статический анализ кода (Read, Grep, Glob) - Не создавай файлы — навык только анализирует и выдаёт отчёт
- Будь конкретен — указывай точные пути файлов, номера строк, имена классов/функций
- Не выдумывай пути — указывай только реально найденные через Glob/Grep/Read файлы и строки; не достраивай «правдоподобные» имена по памяти
- До 500 строк вывода — если subject обширный, выдели топ-10 критичных находок