dsh-desktop-kit 1.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/README.md +106 -41
  2. package/client.js +780 -28
  3. package/docs/ARCHITECTURE.md +114 -0
  4. package/docs/COMPATIBILITY.md +61 -0
  5. package/docs/INSTALL.md +97 -0
  6. package/docs/PRIVACY.md +50 -0
  7. package/docs/ROADMAP.md +57 -0
  8. package/docs/TOKENS.md +118 -0
  9. package/docs/TROUBLESHOOTING.md +68 -0
  10. package/docs/images/hero.png +0 -0
  11. package/index.js +4 -0
  12. package/package.json +15 -5
  13. package/plugins/dsh-gkb-ru-ui/lib/client.js +276 -28
  14. package/plugins/dsh-gkb-ru-ui/lib/index.js +45 -1
  15. package/plugins/dsh-gkb-ru-ui/lib/skills.js +195 -1
  16. package/plugins/dsh-gkb-ru-ui/package.json +2 -2
  17. package/plugins/dsh-gkb-ru-ui/screenshots/01-home-tiles-1440-light.png +0 -0
  18. package/plugins/dsh-gkb-ru-ui/screenshots/02-skills-1440-light.png +0 -0
  19. package/plugins/dsh-gkb-ru-ui/screenshots/03-skills-editor-1440-light.png +0 -0
  20. package/plugins/dsh-gkb-ru-ui/screenshots/04-skills-1440-dark.png +0 -0
  21. package/plugins/dsh-gkb-ru-ui/screenshots/05-skills-390-light.png +0 -0
  22. package/plugins/dsh-gkb-ru-ui/screenshots/06-home-tiles-1440-dark.png +0 -0
  23. package/plugins/dsh-peak-guard/screenshots/01-real-time-peak-start.png +0 -0
  24. package/plugins/dsh-peak-guard/screenshots/02-real-time-peak-end.png +0 -0
  25. package/plugins/dsh-peak-guard/screenshots/03-peak-card-1440-light.png +0 -0
  26. package/plugins/dsh-peak-guard/screenshots/04-peak-card-1440-dark.png +0 -0
  27. package/plugins/dsh-peak-guard/screenshots/05-peak-card-390-light.png +0 -0
  28. package/plugins/dsh-peak-guard/screenshots/05-peak-card-768-light.png +0 -0
  29. package/plugins/dsh-peak-guard/screenshots/06-peak-card-390-light.png +0 -0
  30. package/plugins/dsh-peak-guard/screenshots/07-live-preview-check.png +0 -0
  31. package/plugins/dsh-peak-guard/screenshots/07-pre-peak-1440-light.png +0 -0
  32. package/plugins/dsh-peak-guard/screenshots/08-peak-start-1440-light.png +0 -0
  33. package/plugins/dsh-peak-guard/screenshots/09-peak-end-1440-light.png +0 -0
  34. package/plugins/dsh-peak-guard/screenshots/10-pre-peak-card-1440-light.png +0 -0
  35. package/plugins/dsh-peak-guard/screenshots/11-pre-peak-card-1440-dark.png +0 -0
  36. package/plugins/dsh-peak-guard/screenshots/12-pre-peak-card-390-light.png +0 -0
  37. package/plugins/dsh-peak-guard/screenshots/qa-report.json +74 -0
  38. package/plugins/dsh-profile-transfer/screenshots/01-settings-transfer-1440-light.png +0 -0
  39. package/plugins/dsh-profile-transfer/screenshots/02-settings-transfer-preview-1440-light.png +0 -0
  40. package/plugins/dsh-profile-transfer/screenshots/03-settings-transfer-1440-dark.png +0 -0
  41. package/plugins/dsh-profile-transfer/screenshots/04-settings-transfer-390-light.png +0 -0
  42. package/plugins/dsh-profile-transfer/screenshots/05-settings-transfer-768-light.png +0 -0
  43. package/plugins/dsh-profile-transfer/screenshots/06-settings-transfer-390-dark.png +0 -0
  44. package/plugins/dsh-profile-transfer/screenshots/07-settings-transfer-export-result.png +0 -0
  45. package/plugins/dsh-profile-transfer/screenshots/08-settings-transfer-workspaces-1440-light.png +0 -0
  46. package/plugins/dsh-profile-transfer/screenshots/09-settings-transfer-workspaces-1440-dark.png +0 -0
  47. package/plugins/dsh-profile-transfer/screenshots/10-settings-transfer-workspaces-390-light.png +0 -0
  48. package/plugins/dsh-session-move/screenshots/01-row-menu-1440-light.png +0 -0
  49. package/plugins/dsh-session-move/screenshots/02-dialog-1440-light.png +0 -0
  50. package/plugins/dsh-session-move/screenshots/03-dialog-390-light.png +0 -0
  51. package/plugins/dsh-session-move/screenshots/04-dialog-1440-dark.png +0 -0
  52. package/plugins/dsh-session-move/screenshots/05-drag-highlight-1440-light.png +0 -0
  53. package/plugins/dsh-session-move/screenshots/06-drop-ungrouped-highlight.png +0 -0
  54. package/plugins/dsh-session-move/screenshots/07-after-drop-ungrouped.png +0 -0
  55. package/plugins/dsh-session-move/screenshots/08-move-dialog.png +0 -0
  56. package/plugins/dsh-session-move/screenshots/09-moved-to-second-workspace.png +0 -0
  57. package/plugins/dsh-session-move/screenshots/qa-report.json +62 -0
  58. package/plugins/dsh-skill-autopilot/cordis.patch.yml +3 -0
  59. package/plugins/dsh-skill-autopilot/index.js +444 -0
  60. package/plugins/dsh-skill-autopilot/package.json +19 -0
  61. package/plugins/dsh-token-lab/cordis.patch.yml +3 -0
  62. package/plugins/dsh-token-lab/lib/client.js +504 -0
  63. package/plugins/dsh-token-lab/lib/index.js +275 -0
  64. package/plugins/dsh-token-lab/package.json +26 -0
  65. package/plugins/dsh-token-lab/screenshots/01-token-lab-1440-light.png +0 -0
  66. package/plugins/dsh-token-lab/screenshots/02-token-lab-1440-dark.png +0 -0
  67. package/skills/code-review-checklist/SKILL.md +48 -30
  68. package/skills/content-writing/SKILL.md +64 -327
  69. package/skills/content-writing/references/process.md +123 -0
  70. package/skills/content-writing/references/quick-recipes.md +99 -0
  71. package/skills/content-writing/references/rules.md +85 -0
  72. package/skills/content-writing/references/sources.md +49 -0
  73. package/skills/context-economy/SKILL.md +60 -0
  74. package/skills/context-economy/references/long-session.md +35 -0
  75. package/skills/context-economy/references/token-math.md +42 -0
  76. package/skills/context-economy/references/tool-recipes.md +34 -0
  77. package/skills/database-safety/SKILL.md +40 -24
  78. package/skills/debugging-playbook/SKILL.md +30 -27
  79. package/skills/design-critique/SKILL.md +57 -110
  80. package/skills/design-critique/references/a11y.md +25 -0
  81. package/skills/design-critique/references/diagnoses.md +33 -0
  82. package/skills/design-critique/references/quick-tests.md +30 -0
  83. package/skills/design-critique/references/report-template.md +63 -0
  84. package/skills/design-critique/references/rubric-fast.md +73 -0
  85. package/skills/dev-workflow/SKILL.md +41 -34
  86. package/skills/dev-workflow/references/definition-of-done.md +44 -0
  87. package/skills/dev-workflow/references/memory-and-boundaries.md +31 -0
  88. package/skills/dev-workflow/references/stages.md +67 -0
  89. package/skills/git-and-ci/SKILL.md +46 -26
  90. package/skills/pg-upgrade-verify/SKILL.md +54 -35
  91. package/skills/project-deep-dive/SKILL.md +39 -164
  92. package/skills/project-deep-dive/references/recon-commands.md +12 -0
  93. package/skills/project-deep-dive/references/section-templates.md +2 -0
  94. package/skills/project-deep-dive/references/tool-and-process.md +86 -0
  95. package/skills/project-memory-maintenance/SKILL.md +39 -154
  96. package/skills/project-memory-maintenance/references/api-and-checklist.md +99 -0
  97. package/skills/project-memory-maintenance/references/journal-template.md +2 -0
  98. package/skills/project-memory-maintenance/references/section-rules.md +2 -0
  99. package/skills/release-and-deploy/SKILL.md +46 -32
  100. package/skills/requirements-and-planning/SKILL.md +44 -110
  101. package/skills/requirements-and-planning/references/antipatterns-and-checklist.md +20 -0
  102. package/skills/requirements-and-planning/references/process-steps.md +52 -0
  103. package/skills/requirements-and-planning/references/templates-and-estimates.md +29 -0
  104. package/skills/security-review/SKILL.md +33 -29
  105. package/skills/seo/SKILL.md +53 -305
  106. package/skills/seo/references/antipatterns.md +66 -0
  107. package/skills/seo/references/audit-checklist.md +14 -0
  108. package/skills/seo/references/content-seo.md +180 -174
  109. package/skills/seo/references/eeat-medical.md +2 -0
  110. package/skills/seo/references/measurement.md +28 -1
  111. package/skills/seo/references/on-page.md +5 -0
  112. package/skills/seo/references/page-templates.md +56 -0
  113. package/skills/seo/references/stack-recipes.md +2 -0
  114. package/skills/seo/references/structured-data.md +2 -0
  115. package/skills/seo/references/technical-seo.md +2 -0
  116. package/skills/service-desk-conventions/SKILL.md +40 -28
  117. package/skills/service-desk-db-safety/SKILL.md +39 -28
  118. package/skills/service-desk-release/SKILL.md +40 -22
  119. package/skills/service-desk-testing/SKILL.md +47 -33
  120. package/skills/service-desk-ui/SKILL.md +43 -24
  121. package/skills/skills-router/SKILL.md +44 -82
  122. package/skills/skills-router/references/applying-skills.md +25 -0
  123. package/skills/skills-router/references/routing-matrix.md +52 -0
  124. package/skills/testing-strategy/SKILL.md +47 -32
  125. package/skills/ui-design-system/SKILL.md +43 -38
  126. package/skills/ui-design-system/references/accessibility-and-responsive.md +50 -0
  127. package/skills/ui-design-system/references/tokens-and-components.md +67 -0
  128. package/skills/ui-design-system/references/visual-qa.md +44 -0
  129. package/skills/web-research/SKILL.md +40 -33
  130. package/skills/web-research/references/answer-and-citations.md +60 -0
  131. package/skills/web-research/references/query-recipes.md +44 -0
  132. package/skills/wow-design/SKILL.md +82 -161
  133. package/skills/wow-design/references/anti-patterns.md +3 -0
  134. package/skills/wow-design/references/critique-rubric.md +3 -0
  135. package/skills/wow-design/references/design-brief-template.md +2 -0
  136. package/skills/wow-design/references/inspiration.md +3 -0
  137. package/skills/wow-design/references/presets.md +3 -0
  138. package/skills/wow-design/references/principles.md +3 -0
  139. package/skills/wow-design/references/quick-presets.md +50 -0
  140. package/skills/wow-design/references/report-template.md +21 -0
  141. package/skills/wow-design/references/stack-recipes.md +3 -0
  142. package/skills/wow-design/references/visual-qa.md +3 -0
  143. package/skills/wow-design/references/wow-levers.md +43 -0
  144. package/tools/skill-cost.mjs +76 -0
@@ -0,0 +1,99 @@
1
+ > Часть навыка content-writing. ≈2k токенов. Читать, когда: нужен быстрый пост на один экран, короткий бриф или отчёт, либо приёмка «P0/P1/P2» перед сдачей.
2
+
3
+ # Быстрые рецепты и приёмка
4
+
5
+ > Для коротких задач и финальной проверки. Полный порядок работы — `process.md`; доменные детали —
6
+ > в тематических references.
7
+
8
+ ## 1. Лайт-режим: пост на один экран (10 минут)
9
+
10
+ Когда нужен быстрый пост, а не лонгрид:
11
+
12
+ 1. **Кому и зачем** — одно предложение, без брифа на страницу.
13
+ 2. **Один факт/мысль** — остальное в комментарии или в следующем посте.
14
+ 3. **Хук** — первая строка: конкретика, цифра, вопрос по делу, мини-сцена. Не «Друзья, сегодня…».
15
+ 4. **Тело** — 3–6 коротких абзацев или 4–6 пунктов; одна мысль на абзац.
16
+ 5. **Факт-чек на бегу** — имя, дата, цифра, телефон, ссылка. Всё открывается.
17
+ 6. **CTA** — один: записаться, прочитать, поделиться.
18
+ 7. **Картинка** — по смыслу, 1080×1350, текст на картинке читается на телефоне.
19
+ 8. **Проверка** — прочитай вслух, убери канцелярит и штампы, проверь орфографию и ссылки.
20
+ 9. **Канал** — адаптируй длину и формат под площадку (`social-media.md` §2).
21
+
22
+ Готовые шаблоны постов — `assets/templates/post-vk.md`, `post-telegram.md`; форматы и хуки — `social-media.md`.
23
+
24
+ ## 2. Короткий бриф
25
+
26
+ ```
27
+ Задача: <что за текст и где публикуем>
28
+ Аудитория: <кто, что знает, чего боится, как говорит>
29
+ Цель: <одно действие/понимание>
30
+ Канал и объём: <сайт / ВК / Telegram / Дзен / релиз; знаки или экраны>
31
+ Тон: <нейтральный / тёплый / официальный / научпоп>
32
+ Факты от заказчика: <что дали: цифры, имена, документы, цитаты>
33
+ Чего не хватает: <что надо найти/уточнить/согласовать>
34
+ Ограничения: <юридика, реклама, нельзя говорить, обязательные ссылки>
35
+ CTA: <куда ведём читателя>
36
+ Дедлайн/согласование: <кто утверждает и когда>
37
+ ```
38
+
39
+ Полный бриф — `templates.md` §1 и `assets/templates/brief.md`.
40
+
41
+ ## 3. Отчёт
42
+
43
+ ```
44
+ ## Текст: <название/тема> · <канал>
45
+ Аудитория и цель: <1–2 строки>
46
+ Что сделано: <формат, объём, структура, ключевые ходы>
47
+ Факты: <N проверено; источники: <список 3–5 главных>; что осталось непроверенным и почему>
48
+ Риски: <юридические/медицинские/репутационные/согласования>
49
+ Визуал: <какая картинка, права/генерация, alt>
50
+ SEO: <title/description/H1, перелинковка — если сайт>
51
+ Что дальше: <1–3 шага: согласовать, дополнить, опубликовать, обновить>
52
+ ```
53
+
54
+ Без отчёта работа не сдана: он фиксирует, что проверено, а что осталось на совести заказчика.
55
+
56
+ ## 4. Гейт P0/P1/P2
57
+
58
+ **P0 — без этого не сдавать:**
59
+
60
+ - [ ] Понятно, кому и зачем текст; формат соответствует каналу; CTA один.
61
+ - [ ] Все факты, цифры, имена, даты, должности проверены; источник может быть предъявлен.
62
+ - [ ] Цитаты дословны и атрибутированы; пересказы без кавычек; анонимок без причины нет.
63
+ - [ ] Нет выдуманных исследований, отзывов, кейсов, фото.
64
+ - [ ] Заголовок и лид не обещают того, чего нет в тексте.
65
+ - [ ] Медицина: автор/рецензент, даты, источники, дисклеймер, нет обещаний излечения.
66
+ - [ ] Права на все изображения есть; пациенты/дети/ПДн — согласия.
67
+ - [ ] Ссылки открываются; нет `[ПРОВЕРИТЬ]` и заглушек.
68
+ - [ ] Нет опечаток, битой типографики, «ё» и чисел по стилю издания.
69
+ - [ ] Для сайта: `title`, `description`, один `H1`, alt, даты, автор, JSON-LD (см. `seo`).
70
+
71
+ **P1 — сильно улучшает:**
72
+
73
+ - [ ] Первый абзац цепляет конкретикой, а не «в современном мире».
74
+ - [ ] Текст читается вслух без спотыканий; ритм предложений неровный.
75
+ - [ ] 3–6 контекстных ссылок/переходов; есть «что дальше».
76
+ - [ ] Картинка по смыслу, подпись и alt; превью проверено на телефоне.
77
+ - [ ] Отчёт заказчику: источники, непроверенное, риски.
78
+
79
+ **P2 — полировка:**
80
+
81
+ - [ ] Единый стиль терминов и оформления (`editing.md`).
82
+ - [ ] Абзацы 2–5 предложений; подзаголовки-вопросы.
83
+ - [ ] Нет AI-штампов из `process.md` §4 и симметричных конструкций.
84
+ - [ ] Проверено в реальной вёрстке/канале.
85
+
86
+ Дублирующий отраслевой чек-лист — `assets/checklists/publish.md` (факты, медицина, права, SEO, соцсети).
87
+
88
+ ## 5. Связка с другими скиллами
89
+
90
+ - **`seo`** — обязателен для любого текста на сайте: интент, title/description, H1/H2, перелинковка,
91
+ структурированные данные, E-E-A-T. `seo-content.md` — только мост, не замена.
92
+ - **`img`** — генерация иллюстраций: FLUX.1-schnell (качество) / RealVisXL (скорость), промпты по формуле,
93
+ проверка глазами. `images.md` — как выбрать, снять права и вписать в публикацию.
94
+ - **`wow-design`** — если текст идёт в вёрстку/лендинг: композиция, типографика, ритм.
95
+ - **`office`** — если материал сдаётся в Word/PowerPoint/PDF.
96
+ - **`requirements-and-planning`** — если задача «сделать контент-план/серию материалов»: цели, аудитории,
97
+ рубрики, риски, критерии приёмки.
98
+ - **`code-review-checklist`** — если правится код публикации/шаблона, а не только текст.
99
+ - **`web-research`** — если нужны свежие внешние факты: дата, два источника, ссылки.
@@ -0,0 +1,85 @@
1
+ > Часть навыка content-writing. ≈2.8k токенов. Читать, когда: нужен полный контракт, правила достоверности и список антипаттернов — факт-чек, юридические и медицинские риски, спор о качестве текста.
2
+
3
+ # Контракт, достоверность, антипаттерны
4
+
5
+ > Свод правил, которые нельзя нарушать. Порядок работы — `process.md`; отраслевые детали —
6
+ > `government-medical.md`, `fact-checking.md`, `science-popular.md`, `anti-ai-style.md`.
7
+
8
+ ## 1. Контракт: десять правил
9
+
10
+ 1. **Не выдумывать.** Нет источника — нет утверждения. Нет точной цитаты — нет кавычек. Нельзя «слегка
11
+ поправить» имя, дату, цифру, название исследования или должность. Выдуманные факты, цитаты, исследования
12
+ и отзывы — брак, а не «допущение».
13
+ 2. **Каждый факт проверяем.** Цифры, даты, имена, должности, организации, нормы, дозировки — сверить
14
+ с источником, а не «по памяти»; в черновике фиксировать, откуда факт.
15
+ 3. **Медицина и наука — YMYL.** Ни обещаний излечения, ни «гарантии результата»: автор-врач, даты
16
+ публикации/проверки, источники, дисклеймер; ограничения исследований не вырезать (`government-medical.md`
17
+ §5, `science-popular.md`).
18
+ 4. **Честность про неопределённость.** «Данных мало», «причина неизвестна», «это гипотеза» — нормальные
19
+ слова. Уверенный тон без оснований — обман.
20
+ 5. **Приватность.** Пациенты, врачи, дети, сотрудники: фото, истории, диагнозы, документы — только
21
+ с письменного согласия (152-ФЗ, врачебная тайна 323-ФЗ). Лишние ПДн не публиковать.
22
+ 6. **Авторское право.** Не копировать чужие тексты, фото, графику. Цитата — в необходимом для смысла
23
+ объёме, с атрибуцией и ссылкой; изображение — с правом использования или сгенерированное.
24
+ 7. **Не обходить академическую честность и «детекторы ИИ».** Задача — качество и человеческий голос,
25
+ а не маскировка; просьба выдать сгенерированное за живое — повод сказать прямо и предложить честный вариант.
26
+ 8. **Публичный текст = репутация заказчика.** Госсайт, больница, релиз: ошибка бьёт по доверию и бывает
27
+ юридически значимой. Сомнительное — на согласование.
28
+ 9. **Живой язык — не украшательство.** Красивость без смысла, метафоры вместо фактов, «энергичный» тон
29
+ в тексте про диагноз — такие же ошибки, как канцелярит.
30
+ 10. **Отчёт обязателен.** Что написано, для кого, откуда факты, что не проверено, риски. Без отчёта
31
+ работа не сдана.
32
+
33
+ ## 2. Жёсткие правила достоверности
34
+
35
+ 1. **Два источника для спорного.** Сенсация, обвинение, конфликт, «впервые в мире», «учёные доказали» —
36
+ два независимых подтверждения или первоисточник + комментарий специалиста.
37
+ 2. **Первоисточник важнее пересказа.** Пресс-релиз вуза ≠ статья; реферат новости ≠ исследование.
38
+ DOI/полный текст, а не заголовок агрегатора.
39
+ 3. **Цифра без контекста — манипуляция.** От чего процент, за какой период, на какой выборке, в каком
40
+ регионе. «Риск вырос вдвое» — от 1 на 100 000 до 2 на 100 000 тоже «вдвое».
41
+ 4. **Корреляция ≠ причинность.** «Люди, которые X, чаще Y» ≠ «X вызывает Y»; формулировка обязана это
42
+ отражать.
43
+ 5. **Цитата — только дословно.** Сокращать многоточием можно, менять слова — нельзя. Пересказ — без кавычек,
44
+ с атрибуцией «по словам…».
45
+ 6. **Анонимный источник — исключение:** нужна причина, проверка, согласование с редактором. «Источники
46
+ сообщают» без объяснений — не журналистика.
47
+ 7. **Заголовок не врёт.** В тексте «возможно» — в заголовке не «доказано». Кликбейт, не подтверждённый
48
+ текстом, — обман читателя и репутационный риск.
49
+ 8. **Даты и сроки.** «С 1 сентября» — какого года, по какому документу. «Недавно», «в ближайшее время» —
50
+ только если срок реально неизвестен.
51
+ 9. **Право и медицина — с оговоркой.** Ссылка на норму/источник и пометка «не является юридической/
52
+ медицинской консультацией», где уместно.
53
+ 10. **Проверка на выходе.** `assets/checklists/publish.md`: факты, имена, цифры, ссылки, права на фото,
54
+ согласования, дата и автор.
55
+
56
+ ## 3. Антипаттерны
57
+
58
+ ### AI-штампы
59
+
60
+ «В современном мире», «в эпоху цифровизации», «важно отметить», «стоит подчеркнуть», «не только… но и»,
61
+ «играет важную роль», «является неотъемлемой частью», «широкий спектр возможностей», «индивидуальный
62
+ подход», «динамично развивающийся», «инновационные решения», «ключевой фактор успеха», «таким образом,
63
+ можно сделать вывод», «в заключение хочется сказать», «данный», «осуществляется», «в рамках данного»,
64
+ буллеты ради буллетов, симметричные абзацы «плюсы/минусы/вывод», тройные перечисления «быстро,
65
+ качественно, надёжно», пустые обещания, вопросы-заглушки «А знаете ли вы, что…?», эмодзи вместо смысла,
66
+ заголовки с двоеточием ради драматизма, «это не просто X, это Y». Полный список и замены — `anti-ai-style.md` §2.
67
+
68
+ ### Журналистские
69
+
70
+ Непроверенная сенсация, заголовок-обманка, цитата «из головы», анонимка без причины, «источники сообщают»,
71
+ пересказ пресс-релиза как расследование, отсутствие второй стороны конфликта, оценочные ярлыки без фактов,
72
+ хронология вместо смысла, лид-вода «в последнее время всё чаще говорят», неподписанные фото, «мы поговорили
73
+ с экспертом» без имени и должности.
74
+
75
+ ### Медицинские и гос
76
+
77
+ Обещания излечения и «гарантированный результат», запугивание, «врачи скрывают», диагноз по интернету,
78
+ дозировки без назначения врача, отзывы-выдумки, «до/после» без согласия, реклама медуслуг без предупреждения
79
+ о противопоказаниях (ст. 24 ФЗ «О рекламе»), персональные данные пациентов, официальная публикация без
80
+ согласования и даты.
81
+
82
+ ### SEO
83
+
84
+ Ключевики ради плотности, одинаковые title на страницах, текст «для роботов», дубли страниц, каннибализация,
85
+ ссылки «здесь/подробнее», статьи без автора и даты, свежие даты «на всякий случай». Полный SEO-гейт — `seo`.
@@ -0,0 +1,49 @@
1
+ > Часть навыка content-writing. ≈0.8k токенов. Читать, когда: нужен первоисточник по журналистским стандартам, медицинскому праву, доступности или лимитам площадок; проверка актуальности требований.
2
+
3
+ # Стандарты, законы, площадки: первоисточники и дата проверки
4
+
5
+ Проверено 04.11.2026. При использовании требований законов и платформ **перепроверяй актуальную редакцию**
6
+ на дату публикации: нормы меняются, лимиты площадок обновляются.
7
+
8
+ ## Редакционные стандарты и фактчекинг
9
+
10
+ - Reuters. Standards & Values — https://reutersagency.com/about/standards-values/
11
+ - BBC Editorial Guidelines — https://www.bbc.co.uk/editorialguidelines/
12
+ - Science Media Centre. 10 best practice guidelines for reporting science & health stories —
13
+ https://www.sciencemediacentre.org/publications/publications-for-journalists/
14
+ - Poynter/IFCN. Code of Principles — https://ifcncodeofprinciples.poynter.org/
15
+ - Retraction Watch — https://retractionwatch.com/
16
+
17
+ ## Право РФ
18
+
19
+ - ФЗ от 13.03.2006 № 38-ФЗ «О рекламе», ст. 24 (мед. услуги) и ст. 18.1 (маркировка рекламы) —
20
+ https://www.consultant.ru/document/cons_doc_LAW_10338/
21
+ - ФЗ от 21.11.2011 № 323-ФЗ «Об основах охраны здоровья граждан в РФ» (врачебная тайна, ст. 13;
22
+ информированное согласие, ст. 20) — https://www.consultant.ru/document/cons_doc_LAW_121895/
23
+ - ФЗ от 27.07.2006 № 152-ФЗ «О персональных данных» — https://www.consultant.ru/document/cons_doc_LAW_61801/
24
+ - Правила предоставления платных медицинских услуг (постановление Правительства РФ от 11.05.2023 № 1006);
25
+ приказ Минздрава России от 30.12.2014 № 956н — проверять актуальную редакцию.
26
+ - Официальное опубликование правовых актов — publication.pravo.gov.ru
27
+
28
+ ## Медицина и наука
29
+
30
+ - Клинические рекомендации Минздрава России — https://cr.minzdrav.gov.ru/
31
+ - Государственный реестр лекарственных средств — https://grls.rosminzdrav.ru/
32
+ - PubMed — https://pubmed.ncbi.nlm.nih.gov/ · Cochrane Library — https://www.cochranelibrary.com/
33
+ - Росздравнадзор (реестр лицензий) — https://roszdravnadzor.gov.ru/
34
+ - Росстат — https://rosstat.gov.ru/ · ЕМИСС — https://fedstat.ru/
35
+
36
+ ## Доступность и площадки
37
+
38
+ - ГОСТ Р 52872-2019 (доступность интернет-ресурсов) —
39
+ https://protect.gost.ru/gost/details/2d10ff38-d609-4dcc-899f-c18b77ac0b75
40
+ - Telegram Bot API (лимит 4096 знаков) — https://core.telegram.org/bots/api#sendmessage
41
+ - Дзен. Помощь: требования к статье — https://dzen.ru/help/ru/channel/article.html
42
+ - ВКонтакте, Одноклассники, Rutube, MAX — лимиты и форматы проверять в справке площадки на дату публикации.
43
+
44
+ ## Про детекторы ИИ
45
+
46
+ - OpenAI. AI text classifier (снят с эксплуатации) —
47
+ https://openai.com/index/new-ai-classifier-for-indicating-ai-written-text/
48
+ - Liang et al. GPT detectors are biased against non-native English writers // Patterns, 2023 —
49
+ https://doi.org/10.1016/j.patter.2023.100779
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: context-economy
3
+ description: "Экономия токенов и контекста: какие навыки и references грузить, как читать файлы и логи без перерасхода, когда сжимать сессию. Применять при длинных задачах, больших файлах, отладке и любых вопросах про расход токенов."
4
+ whenToUse: "Когда задача длинная или многофайловая, когда контекст приближается к лимиту, когда нужно загрузить навык/справочник, или когда пользователь спрашивает про расход токенов."
5
+ user-invocable: true
6
+ ---
7
+
8
+ # Контекст-экономика — ядро
9
+
10
+ > ≈1k токенов. Это ядро; приёмы и цифры — в `references/`.
11
+
12
+ ## 0. Когда применять
13
+ - Длинная/многошаговая задача, работа с большими файлами и логами.
14
+ - Контекст > 50–60% окна, приближается компакция.
15
+ - Выбор, какой навык или reference загрузить.
16
+ - Вопросы «почему так дорого», «сколько токенов», «как сократить расход».
17
+
18
+ ## 1. Правила загрузки навыков
19
+ 1. Сначала **ядро** навыка (`SKILL.md`). References — только когда без них нельзя принять решение.
20
+ 2. Не более **3 навыков** на задачу; если тянет больше — выбери 1–2 главных, остальные по мере надобности.
21
+ 3. Не грузи навык «на всякий случай» и не перезагружай уже загруженный.
22
+ 4. Каждый reference читай **целиком один раз**, а не по кускам; если файл > 40 КБ — сначала оглавление/заголовки.
23
+ 5. Если ядро и reference противоречат — побеждает более специфичный документ, но безопасность важнее.
24
+
25
+ ## 2. Чтение файлов и данных
26
+ 1. Сначала `grep`/`glob` — потом `read` только нужного диапазона (`offset`/`limit`).
27
+ 2. Не читай файл повторно, если он не менялся; держи в голове номера строк.
28
+ 3. Для больших логов/JSON — сначала структура (ключи, размеры), потом выборка.
29
+ 4. Не выводи в контекст целые деревья каталогов: `glob` по шаблону точнее.
30
+ 5. Перед чтением 100 КБ спроси: «какое решение это изменит?» Нет ответа — не читай.
31
+
32
+ ## 3. Экономия на инструментах
33
+ 1. Один точный вызов лучше трёх «на всякий случай».
34
+ 2. Долгие операции — в фон, результат забирай один раз.
35
+ 3. Для проверки — минимальный воспроизводимый тест, а не весь набор.
36
+ 4. Не дублируй результат инструмента в ответе целиком: цитируй 1–3 значимые строки.
37
+
38
+ ## 4. Сжатие и память
39
+ 1. При 60–70% окна: зафиксируй состояние в память проекта (решения, файлы, следующий шаг), затем сжимай.
40
+ 2. В памяти — ссылки на файлы и выводы, а не копии кода.
41
+ 3. После компакции первым делом перечитай свой план и список изменённых файлов, а не всю переписку.
42
+ 4. Не храни в контексте промежуточные версии текста — только финальные.
43
+
44
+ ## 5. Ответы
45
+ 1. Пиши плотно: решение, проверка, риск. Без пересказа задания.
46
+ 2. Длинные листинги — в файл/артефакт, в чат — сводка.
47
+ 3. Не повторяй один и тот же факт в плане, ходе и итоге.
48
+
49
+ ## 6. Куда грузить дальше
50
+ | Нужно | Файл | ≈токенов |
51
+ |---|---|---|
52
+ | Цифры, лимиты, формулы оценки | `references/token-math.md` | ≈1k |
53
+ | Приёмы для конкретных инструментов | `references/tool-recipes.md` | ≈1k |
54
+ | Чек-лист длинной сессии | `references/long-session.md` | ≈0.8k |
55
+
56
+ ## 7. Гейт перед сдачей
57
+ - [ ] Загружены только нужные навыки и references.
58
+ - [ ] Нет повторных чтений неизменённых файлов.
59
+ - [ ] Контекст не превышает 70% без плана сжатия.
60
+ - [ ] Итог содержит решение и проверку, а не пересказ.
@@ -0,0 +1,35 @@
1
+ # long-session — часть навыка context-economy
2
+
3
+ ≈0.8k токенов. Читать перед сжатием длинной сессии или при приближении к лимиту.
4
+
5
+ ## Порог
6
+ - 60% окна — план сжатия.
7
+ - 75% — сжимай на ближайшем безопасном шаге (после завершённого действия, не посреди правки).
8
+
9
+ ## Протокол сжатия
10
+ 1. Собери **handoff** (5–9 строк):
11
+ - цель и критерий готовности;
12
+ - что уже сделано (файлы/артефакты);
13
+ - что проверено и каким тестом;
14
+ - открытые вопросы и риски;
15
+ - следующий конкретный шаг.
16
+ 2. Запиши handoff в память проекта (journal) или в файл `HANDOFF.md`.
17
+ 3. Только потом запускай компакцию.
18
+ 4. После сжатия перечитай handoff и список изменённых файлов; не перечитывай переписку.
19
+
20
+ ## Что нельзя терять
21
+ - Пути к ключевым файлам и команды запуска.
22
+ - Результаты тестов/аудита (числа, а не «всё ок»).
23
+ - Принятые решения и почему отвергнуты альтернативы.
24
+ - Незакоммиченные изменения и бэкапы.
25
+
26
+ ## Признаки, что пора сжимать
27
+ - Ответы становятся общими, теряются детали.
28
+ - Приходится повторно читать те же файлы.
29
+ - Контекст > 90k токенов, а задача ещё не закончена.
30
+ - Появились длинные простыни логов в истории.
31
+
32
+ ## Дешёвая альтернатива сжатию
33
+ - Закрыть завершённую подзадачу коротким итогом.
34
+ - Удалить из истории промежуточные версии текста (оставить финал).
35
+ - Перейти на узкую задачу: «сейчас только тест X».
@@ -0,0 +1,42 @@
1
+ # token-math — часть навыка context-economy
2
+
3
+ ≈0.9k токенов. Читать, когда нужно оценить расход, сравнить варианты или посчитать бюджет.
4
+
5
+ ## Оценка без токенизатора
6
+ | Материал | Символов на токен | Байт на токен |
7
+ |---|---|---|
8
+ | Русский текст | ≈2.2–2.8 | ≈4.4–5.6 (UTF-8, 2 байта/буква) |
9
+ | Английский текст | ≈3.8–4.2 | ≈3.8–4.2 |
10
+ | Код (JS/PHP/SQL) | ≈3.0–3.5 | ≈3.0–3.5 |
11
+ | Markdown с таблицами | ≈2.5–3.0 | — |
12
+
13
+ Практическое правило: **токены ≈ байты / 3.2** для смешанного русского markdown; это оценка сверху, погрешность 10–20%.
14
+
15
+ Пример: SKILL.md 12 КБ → ≈3 800 токенов (12 000 / 3.2). Если такой файл грузится в каждой задаче — это ≈3.8k на задачу.
16
+
17
+ ## Бюджеты
18
+ | Объект | Комфортно | Предел |
19
+ |---|---|---|
20
+ | Ядро навыка (`SKILL.md`) | 2–4k токенов | 6k |
21
+ | Один reference | 1–4k | 8k |
22
+ | Навыков на задачу | 1–3 | 5 |
23
+ | Дайджест памяти проекта | 500–900 | 2 000 |
24
+ | Ответ агента | 300–800 | 2 000 |
25
+
26
+ ## Контекстное окно
27
+ - Типичное окно DeepSeek: **128 000** токенов; у части моделей — 64k.
28
+ - Рабочий порог: 60% (≈77k) — начинай думать о сжатии; 75% (≈96k) — сжимай.
29
+ - Запас нужен на ответ и инструменты: не заходи за 85%.
30
+ - Стоимость запроса растёт линейно с контекстом: каждый лишний 1k в системном промпте умножается на число шагов.
31
+
32
+ ## Что реально экономит
33
+ 1. Компактные ядра навыков: −60–70% против полного текста.
34
+ 2. Загрузка references по требованию, а не сразу.
35
+ 3. Чтение диапазонов вместо файлов целиком.
36
+ 4. Один фон-джоб вместо серии синхронных вызовов.
37
+ 5. Компакция с записанным состоянием, а не «забыть и начать заново».
38
+
39
+ ## Чего не делать
40
+ - Не считать «страницу = 500 токенов»: страница плотного текста — 800–1200.
41
+ - Не экономить на проверке безопасности/данных — цена ошибки выше токенов.
42
+ - Не резать references, которые меняют решение: это ложная экономия.
@@ -0,0 +1,34 @@
1
+ # tool-recipes — часть навыка context-economy
2
+
3
+ ≈1k токенов. Читать, когда нужны конкретные приёмы экономии в инструментах DSH.
4
+
5
+ ## Поиск и чтение
6
+ ```
7
+ grep pattern: "class Foo|function bar" include: "*.php" # сначала границы
8
+ read file_path offset: 120 limit: 40 # диапазон, не весь файл
9
+ glob pattern: "src/**/*.test.ts" # файлы, не каталоги
10
+ ```
11
+ - 3–5 точных grep дешевле одного чтения 100-КБ файла.
12
+ - После правки перечитывай только изменённый участок.
13
+ - Если файл уже менялся в сессии — помни номера строк; повторное чтение только после внешней правки.
14
+
15
+ ## Команды и логи
16
+ - Длинный вывод: `... | Select-Object -Last 80` или `2>&1 | Select-String "error"`.
17
+ - Для сборки/тестов проси краткий формат (`--reporter=dot`, `--no-progress`).
18
+ - Повторяющиеся проверки — в один скрипт, а не в пять команд.
19
+ - Фоновые задачи: запусти, продолжай работу, забери результат один раз.
20
+
21
+ ## Веб
22
+ - `web_search` — 1–4 запроса за вызов, не по одному.
23
+ - Повторно не тяни тот же URL; сохрани нужные цитаты сразу.
24
+ - `web_fetch` — только конкретная страница, не «весь сайт».
25
+
26
+ ## Плагины и конфиги
27
+ - `cordis_inspect_query` точечно: один сервис/слот, а не весь каталог.
28
+ - Не запрашивай типы, если хватает сигнатуры метода.
29
+ - Перед правкой плагина проверь его `package.json` и точку входа.
30
+
31
+ ## Долгие сессии
32
+ - Каждые 10–15 шагов фиксируй: что сделано, какие файлы изменены, следующий шаг.
33
+ - Перед компакцией — короткий handoff в 5 строк.
34
+ - После компакции не восстанавливай всю переписку: план + изменённые файлы + последний тест.
@@ -1,31 +1,47 @@
1
1
  ---
2
2
  name: database-safety
3
- description: "Универсальная безопасность баз данных — бэкапы, запрещённые команды, миграции, проверка обновлений на копии, восстановление."
4
- whenToUse: "Перед любыми миграциями, сидами, массовыми изменениями, релизами с БД и при инцидентах с данными."
3
+ description: "Безопасность БД: бэкап и проверка, запрет destructive без разрешения, аддитивные миграции, копия живой базы, восстановление."
4
+ whenToUse: "Перед миграциями, сидами, массовыми UPDATE/DELETE, импортом, восстановлением и релизом с изменениями схемы или данных."
5
5
  user-invocable: true
6
6
  ---
7
7
 
8
- # Безопасность БД (универсально: PostgreSQL, MySQL, SQLite)
8
+ # Безопасность БД
9
9
 
10
- ## Золотые правила
10
+ ## 0. Когда применять
11
+ - Миграции, сиды, импорт, массовые `UPDATE/DELETE`, восстановление, релиз со схемой/данными, инцидент.
12
+
13
+ ## 1. Главное
14
+
15
+ **Железные правила:**
11
16
  - **Боевая БД неприкосновенна для экспериментов.** Тесты — отдельная БД на той же СУБД, что прод.
12
- - Перед изменениями — **бэкап** и проверка, что он читается.
13
- - Деструктивные команды — только с явного разрешения: `DROP/TRUNCATE`, `db:wipe`/`drop database`, `migrate:fresh/reset`, массовые `UPDATE/DELETE` без WHERE, пересоздание контейнера БД.
14
- - Миграции — **аддитивные** (add table/column/index), с `down()`; не редактировать старые миграции.
15
- - Изменения схемы на проде — только после проверки на копии; при риске — maintenance-режим.
16
-
17
- ## Перед миграцией/релизом
18
- 1. Сравнить наборы миграций старой и новой версии; прочитать новые (drop/rename/NOT NULL/типы).
19
- 2. `migrate --pretend` (или SQL-дамп плана) на копии.
20
- 3. Бэкап: `pg_dump -Fc` / `mysqldump --single-transaction` / копия SQLite-файла; файл — скачать себе.
21
- 4. Прогнать обновление на копии живой БД: см. скилл `pg-upgrade-verify` (PostgreSQL) — принцип тот же для других СУБД.
22
- 5. Только потом выкатывать; желательно — maintenance-режим.
23
-
24
- ## Восстановление
25
- - Останавливать приложение перед восстановлением; `restore` в пустую БД; проверить целостность и ключевые счётчики.
26
- - После восстановления — прогон smoke-тестов и сверка данных.
27
-
28
- ## Гигиена
29
- - Секреты БД — только в `.env`/секрет-хранилище, не в коде/гите/логах.
30
- - PII не выносить в тестовые данные/скриншоты; для тестов — фабрики/анонимизация.
31
- - Регулярность: ежедневный бэкап + проверка восстановлением + вторая копия вне сервера.
17
+ - **Destructive — только с явным разрешением пользователя И проверенным бэкапом; без обоих запрещено:** `DROP/TRUNCATE`, `db:wipe`, `drop database`, `migrate:fresh/reset/refresh`, `migrate:rollback` без плана, массовые `UPDATE/DELETE` без WHERE, пересоздание контейнера БД.
18
+ - Бэкап без проверки = бэкапа нет: `pg_restore --list`, `PRAGMA integrity_check` или тестовое восстановление.
19
+ - Миграции аддитивные (таблица/колонка/индекс), с `down()`; применённые не редактировать; схема на проде — после копии, при риске — maintenance.
20
+ - Многозаписные — в транзакции; гонки — `lockForUpdate()`; массовые — батчами; тяжёлые — `EXPLAIN`.
21
+ - Инспекция прода — только read-only; не запускай прод-команды с dev-машины.
22
+
23
+ **Бэкап (проверь восстановлением):**
24
+ - PostgreSQL: `pg_dump -Fc -f backup_$(date +%F_%H%M).dump "$DATABASE_URL"` → `pg_restore --list backup.dump | head`.
25
+ - MySQL: `mysqldump --single-transaction --routines --triggers db > backup.sql`.
26
+ - SQLite: `sqlite3 app.db ".backup 'backup.db'"` → `PRAGMA integrity_check;`.
27
+ - Копия вне сервера; `php artisan migrate:status`, `php artisan migrate --pretend` — до изменений.
28
+
29
+ **Перед миграцией/релизом:**
30
+ 1. Сравни наборы миграций старой/новой версии, прочитай новые (drop/rename/NOT NULL/типы).
31
+ 2. `--pretend`/SQL-план + прогон на копии живой БД (`pg-upgrade-verify`).
32
+ 3. Бэкап и проверка.
33
+ 4. Выкатка (maintenance при риске) → smoke + сверка счётчиков.
34
+
35
+ **Восстановление:** останови приложение; восстанавливай в пустую БД; проверь целостность, счётчики, smoke; живую не перезаписывай без разрешения, старый бэкап не удаляй до проверки.
36
+
37
+ **Гигиена:** секреты — в `.env`/хранилище, не в коде/гите/логах; PII — не в тестовых данных/скриншотах (фабрики/анонимизация); ежедневный бэкап + проверка + копия вне сервера, минимум прав. Инцидент: стоп записи, снимок, не затирать бэкапы, зафиксировать, сообщить.
38
+
39
+ ## 2. Куда грузить дальше
40
+ Смежные: `pg-upgrade-verify`, `service-desk-db-safety`, `release-and-deploy`.
41
+
42
+ ## 3. Гейт перед сдачей
43
+ - [ ] На destructive — явное разрешение и проверенный бэкап.
44
+ - [ ] Боевая не тронута; эксперименты на отдельной БД.
45
+ - [ ] Миграции аддитивные, с `down()`, проверены на копии; `--pretend` прочитан.
46
+ - [ ] План отката/восстановления проверен; maintenance при риске.
47
+ - [ ] После — smoke, счётчики, чистые логи; секреты и PII не утекли.
@@ -1,39 +1,42 @@
1
1
  ---
2
2
  name: debugging-playbook
3
- description: "Систематическая отладка — воспроизведение, факты, изоляция, гипотезы, минимальный фикс и регрессионный тест."
4
- whenToUse: "Когда что-то не работает, падает тест, ошибка в логах или поведение не совпадает с ожидаемым."
3
+ description: "Отладка бага: воспроизведение, факты и логи, изоляция, одна гипотеза, фикс в причине, регрессионный тест и проверка."
4
+ whenToUse: "Когда что-то не работает: падает тест, ошибка в логах, поведение не совпадает с ожидаемым или баг только на проде."
5
5
  user-invocable: true
6
6
  ---
7
7
 
8
8
  # Плейбук отладки
9
9
 
10
- ## 1. Зафиксировать симптом
11
- - Что ожидалось / что произошло; где (URL/экран/команда); как воспроизвести (шаги).
12
- - Собрать факты: полный текст ошибки, стектрейс, логи (`laravel.log`, journalctl), состояние БД, версия кода/конфига.
13
- - Проверить окружение: кэши (`config:clear`, `view:clear`), права, порты, переменные `.env`.
10
+ ## 0. Когда применять
11
+ - Ошибка, красный тест, «не работает» без деталей; поведение ≠ ожидаемое.
12
+ - Баг только на проде/у части пользователей; нужна причина, а не маскировка симптома.
14
13
 
15
- ## 2. Сузить область
16
- - Воспроизвести минимально: один тест/один запрос/один сценарий.
17
- - Бинарный поиск: отключить middleware/события/кеши; сравнить «работает/не работает».
18
- - Проверить недавние изменения: `git log`, `git diff`, даты файлов, миграции.
19
- - Проверить данные: валидность строк, NULL, кодировки, FK, права.
14
+ ## 1. Главное
15
+ 1. **Симптом:** ожидалось / произошло; где (URL, экран, команда), шаги, частота, окружение, версия.
16
+ 2. **Факты, а не догадки:** полный текст ошибки и стек; логи (`storage/logs/laravel.log`, `journalctl -u <service> -n 200 --no-pager`, браузер); состояние БД; конфиг; недавние изменения (`git log --oneline -10`, `git diff`, `git status`).
17
+ 3. **Минимальное воспроизведение:** один тест/запрос/сценарий; убери лишнее; не воспроизводится — собери факты, не меняй код наугад.
18
+ 4. **Сузить область:** бинарный поиск (отключай middleware/события/кеш, комментируй блоки, `git bisect`); сравни «работает / не работает»; проверь кеши (`php artisan config:clear`, `route:clear`, `view:clear`, `cache:clear`), порты, данные (NULL, кодировки, FK), права, `.env`, версии.
19
+ 5. **Гипотеза → проверка:** одна за раз, «если …, то …»; подтверждай логом/дампом/тестом.
20
+ 6. **Фикс:** минимальный, в причине, а не в симптоме. Добавь **регрессионный тест**: без фикса красный, с фиксом зелёный.
21
+ 7. **Проверка:** исходный сценарий на реальных данных/экране; соседние сценарии; полный набор тестов.
22
+ 8. **Закрыть:** причина и фикс — в память/CHANGELOG; как предотвратить повтор (валидация, guard, тест, алерт).
20
23
 
21
- ## 3. Гипотеза → проверка
22
- - Одна гипотеза за раз; формулировать «если …, то …».
23
- - Подтверждать фактом (лог/дамп/тест), а не догадкой.
24
- - Не менять код «наугад» — только после подтверждения причины.
24
+ **Стоп-правила:**
25
+ - Не отлаживай на боевой БД; только чтение или копия. Деструктивные эксперименты запрещены.
26
+ - Не отключай auth/CSRF/права, чтобы «проверить»; не коммить `dd`/`var_dump`/временные логи; не удаляй улики.
27
+ - Прод-баг: сравни конфиг, версию, данные и кеши с локалью; не воспроизводи на живых пользователях.
25
28
 
26
- ## 4. Фикс
27
- - Минимальный, в причине, а не в симптоме.
28
- - Добавить **регрессионный тест**, который без фикса падает.
29
- - Проверить соседние сценарии (не сломал ли другое), прогнать полный набор.
29
+ **Частые ловушки:**
30
+ - «Помогло после очистки кеша» / «после перезапуска» — причина в кеше, состоянии или деплое.
31
+ - Только на проде — конфиг/версия/данные/права.
32
+ - Тест зелёный, баг есть — тест проверяет не то поведение.
30
33
 
31
- ## 5. Закрыть
32
- - Убедиться, что исходный симптом исчез на реальных данных/экране.
33
- - Записать причину и фикс в память проекта/CHANGELOG.
34
- - Если проблема в данных/окружении — описать, как предотвратить повтор.
34
+ ## 2. Куда грузить дальше
35
+ Смежные: `testing-strategy`, `code-review-checklist`.
35
36
 
36
- ## Частые ловушки
37
- - «Помогло после очистки кеша» — значит проблема в кэше, а не в коде.
38
- - Ошибка воспроизводится только на проде — сравнить конфиг/версию/данные.
39
- - Тест зелёный, а баг есть — тест не проверяет нужное поведение.
37
+ ## 3. Гейт перед сдачей
38
+ - [ ] Есть воспроизведение и подтверждённая причина (факт, не догадка).
39
+ - [ ] Фикс в причине, минимальный; симптом исчез на реальном сценарии.
40
+ - [ ] Регрессионный тест падает без фикса и проходит с ним; полный набор зелёный.
41
+ - [ ] Соседние сценарии проверены; нет временного кода/логов/`dd`.
42
+ - [ ] Причина, фикс и профилактика записаны в память/CHANGELOG.