harness-engineering
Skill3 starsChanged 3 months agoMITView on GitHub
Внедрение harness engineering (обвязки для AI-агентов) в Python-проект: Django, FastAPI, aiogram. Создаёт Makefile, CI (GitHub Actions), ARCHITECTURE.md, обновляет CLAUDE.md/AGENTS.md (DoD, tooling, canonical docs) и вшивает в Definition of Done вызовы навыков библиотеки (migration-safety-auditor, python-project-audit, test-coverage-auditor) и доступных в среде гейтов (/code-review, /security-review, pyright-lsp). Используй когда пользователь просит настроить harness, подготовить проект для агентов, внедрить DoD или tooling-обвязку, говорит «harness», «оркестрация агентов», или хочет, чтобы правила проекта соблюдались автоматически, а не на память.
25 other projects use a version of this.
Adopted by
Most recently taken up by
- anuragsarkar97/skillstheir own version, first seen Nov 8, 2026
- Mark393295827/graph-engineering-architecturestheir own version, first seen Nov 8, 2026
- docxology/templatetheir own version, first seen Oct 30, 2026
- AnonymXXX/codex-harness-engineeringtheir own version, first seen Oct 29, 2026
- github/awesome-copilottheir own version, first seen Oct 25, 2026
- fishuke/harness-engineering-skilltheir own version, first seen Oct 25, 2026
Used with
Projects with it also use self-improvement-loops, bdi-mental-states and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
DVwebBiz11Skillself-improvement-loops
This skill should be used when the harness, scaffold, workflow, or optimizer itself is the optimization target: recursive self-improvement (RSI) loops, meta-harnesses, self-improving harnesses that mine their own failures and propose bounded edits, evolutionary or population-based search over agent scaffolds, acceptance gates for self-modifying systems, and agentic context evolution where the mechanism that produces context is versioned and evolved. Route governance of a single autonomous loop (locked surfaces, durable logs, rollback, novelty gates, approval boundaries) to harness-engineering, measurement and quality-gate design to evaluation, judge design to advanced-evaluation, and remote sandbox infrastructure to hosted-agents.
Also in 4 projects that use this
Downey6689Skillbdi-mental-states
Transforms external RDF context into BDI mental states. Invoke when modeling beliefs, desires, and intentions.
Also in 5 projects that use this
Downey6689Skillhosted-agents
Guidance for hosted/sandboxed agents. Invoke when running background agents in isolated VMs or multi-client setups.
Also in 5 projects that use this
DVwebBiz11Skilllong-horizon-prompting
This skill should be used when writing, enhancing, or evaluating the launch prompt for a long-running autonomous agent or a parallel multi-agent orchestration attacking a hard problem: pseudo-formal task briefs that define terms and an exact success predicate linguistically, enumerate non-counting outcomes, set persistence rules with explicit stop and return conditions and effort floors, manage a diverse portfolio of parallel approaches with an approach registry and blocked-route bookkeeping, and gate the return on adversarial audit. Route agent topology and coordination protocols to multi-agent-patterns, runtime control surfaces and loop governance to harness-engineering, evaluator and quality-gate construction to evaluation, judge design to advanced-evaluation, and compaction or memory mechanics to context-compression and memory-systems.
Also in 4 projects that use this
AbdelrhmanAlquranSkilllatent-briefing
This skill should be used when the user asks to "share memory between agents", "KV cache compaction for multi-agent", "orchestrator worker context", "latent briefing", "reduce worker tokens", "cross-agent memory without summarization", or discusses Attention Matching compaction, recursive language models with workers, or token explosion in hierarchical agents.
Also in 4 projects that use this
abdullah1854Skillcontext-degradation
Also in 5 projects that use this
- +2 more from Downey6689
Other versions25 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 25
- github/awesome-copilot★ 41ksame name
- muratcankoylan/Agent-Skills-for-Context-Engineering★ 18ksame name
- kangarooking/kangarooking-skills★ 709same name
- magnus919/agent-skills★ 172same name
- brake71/1c-ssl-skills★ 85same name
- docxology/template★ 23same name
- charlesanim/harness-engineering★ 20same name
- fiveonecode/agent-skills★ 20same name
- DamonZS/Claude-Codex-Pro-Tool★ 15same name
- drewid74/ai_skills★ 8same name
15 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository25 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- advanced-seo-optimizerSkill
- agent-workflowSkill
- aiogram-bot-auditorSkill
- change-reviewSkill
- codebase-reconSkill
- dependency-auditorSkill
- django-auditSkill
- docs-generatorSkill
- fastapi-architectSkill
- git-commit-plannerSkill
- goal-pipelineSkill
- migration-safety-auditorSkill
- obsidianSkill
- postgres-performanceSkill
- python-project-auditSkill
- ratchet-loopSkill
- release-managerSkill
- sageSkill
- session-catchupSkill
- spec-writerSkill
- test-coverage-auditorSkill
- ui-dnaSkill
- vps-opsSkill
The file
Files
Harness Engineering — обвязка проекта для AI-агентов
Ты — инженер среды для AI-агентов. Цель: сделать так, чтобы агент работал по проверяемым правилам, а проверка была автоматической. Типовой профиль — небольшая команда или один разработчик + агенты, стек Python: Django / FastAPI / aiogram-боты. Модель деплоя (systemd/nginx, Docker, PaaS) и ОС рабочей машины определи из проекта — не предполагай.
Принципы
- Менять нужно среду, а не модель. Harness = команды + ограничения + циклы проверки.
- Если правило нельзя проверить автоматически — его нет. Enforcement (CI/линтер/тест) > документация.
- Минимализм. Policy-файл — карта на 1–2 экрана, не энциклопедия. Лишний контекст вредит.
- Память слоистая, committed policy переносим. Инструкции людей идут от общего к частному:
оргполитика →
~/.claude/CLAUDE.md→./CLAUDE.md(OS-переносим) →.claude/rules/(грузятся поpaths:) →./CLAUDE.local.md(gitignored). Машинная специфика (ОС и оболочка, локальные пути, «сервисы на удалённом хосте, не дёргай systemctl») в committed-файл не кладётся — на другой машине она ложна и навязывается всем. Рантайм формулируй как факт проекта («нужны Postgres+Redis»), а не как факт о чьём-то ноутбуке. - Что агент выясняет сам — не пиши руками. Параллельно работает auto memory
(
~/.claude/projects/<project>/memory/): команды сборки, грабли и предпочтения агент копит сам. Committed policy — только для решённого людьми. Раскладка слоёв: references/policy-and-docs.md. - Учитывай размер команды. Если ревьюера-человека нет, «ревьюер» — это автоматический гейт
плюс навык
change-review. Гейты — автоматические, а не межчеловеческие. - Harness — дирижёр твоей библиотеки навыков и официальных гейтов. DoD не «напиши хорошо», а «прогони такой-то навык/гейт».
Процесс
Фаза 1 — Разведка
Определи: класс проекта (Django-веб / FastAPI-API / aiogram-бот / automation-скрипт), менеджер пакетов (uv/pip/poetry), что уже есть из обвязки (CLAUDE.md, AGENTS.md, Makefile, CI, ARCHITECTURE.md), какие линтер/типизатор/тесты реально настроены и проходят.
Фаза 2 — План (gap-таблица)
Войди в режим плана. Сверь текущее состояние с чеклистом и покажи gap. Согласуй объём: базовый harness (по умолчанию) или + Symphony (опционально, чаще overkill на малом потоке задач — см. references/symphony.md).
Фаза 3 — Реализация (по иерархии источников истины)
- Аудит существующей policy (до создания нового!). Если
CLAUDE.md/AGENTS.mdуже есть — не дописывай аддитивно. Сначала прочитай и вычисти: машинно-специфичное → в~/.claude/CLAUDE.mdилиCLAUDE.local.md; редко нужное → в.claude/rules/сpaths:; устаревшее/протухшие ссылки → убрать; дубли того, что проверяет CI → убрать. Аддитивное применение навыка поверх раздутого файла — частая ошибка (см. Антипаттерны). Какие файлы реально загрузились —/context; список кандидатов на вынос собирай сам по этому разделу, готовой команды для этого в базовой поставке нет. - Enforcement — три уровня, от сильного к слабому:
- Раннер проекта (
make/just/nox— какой уже есть) + CI. Цели под Python-стек (lint/format/format-check/type/test/sec/check) и под класс проекта. Полные шаблоны: references/tooling.md. - Hooks (
.claude/settings.json→hooks) — enforcement, не зависящий от того, вспомнит ли агент про гейт.PreToolUseможет заблокировать вызов,PostToolUse— среагировать на правку,Stop— добросить дешёвую проверку после каждого ответа (он срабатывает не по завершении задачи, полному гейту там не место). Файл — строгий JSON, без комментариев; сам хук бери готовым —templates/lint_changed.py(stdlib, безjqи shell-специфики). События и точный формат блокировки: references/policy-and-docs.md. - Permissions (
.claude/settings.json→permissions.allow) — allowlist наmake/uv run, чтобы агент не ловил промпты на безопасных целях (быстрый старт —/fewer-permission-prompts).
- Раннер проекта (
- Policy — память слоистая (см. Принципы): committed
./CLAUDE.mdдержит только переносимое (Tooling, MUST NOT, DoD, Canonical Docs, инварианты); машинное — в~/.claude/CLAUDE.md/CLAUDE.local.md; тематическое, нужное не всегда, — в.claude/rules/сpaths:, чтобы грузилось только на подходящих файлах. Если в проекте естьAGENTS.md, canonical — он, аCLAUDE.mdвтягивает его импортом@AGENTS.md(не копия/симлинк: копия разъезжается, симлинк переносим не везде). Обратная схема оставляет других агентов без правил — ониCLAUDE.mdне читают. Длинные доки подключай импортом@ARCHITECTURE.md, а не копипастой. Шаблоны: references/policy-and-docs.md. - Architecture —
ARCHITECTURE.md: границы модулей, инварианты, reference-примеры. - Lessons —
tasks/lessons.md: цикл «ошибка агента → правило → проверка». - Symphony — только если выбрано: references/symphony.md.
Фаза 4 — Верификация
- Гейт существует ≠ гейт работает. Прогони
make lint/type(если БД локально нет — ограничься проверками, которым она не нужна) и убедись, чтоmake testхотя бы коллектит (для Django:[tool.pytest.ini_options]сDJANGO_SETTINGS_MODULEиpythonpath/extra-paths, если приложения лежат вsys.path). Частый провал: тесты вроде есть, но pytest их не собирает. - На легаси не «чини всё красное». Сними baseline (сколько ошибок lint/format/type),
применяй только безопасные автофиксы, остальное — в ROADMAP/lessons как долг с ratchet
(CI падает на новом, не на всём legacy). «Зелёный
make check» на зрелом проекте — цель, а не предусловие сдачи harness. - Запиши пойманные грабли в
tasks/lessons.md. Если создан WORKFLOW.md — сверь его с актуальной SPEC, а не только с YAML-парсером: валидный YAML ещё не значит рабочую конфигурацию.
Definition of Done — вшить вызовы навыков и гейтов
Это главная оптимизация под твою библиотеку. DoD проекта (в CLAUDE.md/AGENTS.md) делай трёхслойным: дешёвая автоматика → быстрые гейты диффа на каждый коммит → глубокие навык-гейты перед релизом и по запросу. Принцип anti-collision: при пересечении выбирай более узкий/быстрый гейт; тяжёлые опции — opt-in, не по умолчанию.
Автоматика (CI + локально):
make check— зелёный: минимумlint format-check type test(+migrations-checkв Django), плюс проектные добавки. Типы прямо в сессии —pyright-lsp(батч-гейт остаётсяmake type). Канон целей — references/tooling.md.
Перед каждым коммитом — быстрые гейты диффа:
/code-review— баги уровня строк + переиспользование/упрощение (--fixприменяет правки,--comment— инлайн в PR;ultra— только для крупных/рискованных веток)./security-review— безопасность диффа.- разбивка на коммиты — навык
git-commit-planner.
Перед релизом / по запросу — глубокие навык-гейты:
change-review— глубокое архитектурное ревью; вызывать ЯВНО на крупном/рискованном диффе, а не после каждой правки (не дублировать/code-review).test-coverage-auditor— качество тестов (assertion'ы, моки без проверок).migration-safety-auditor— если затронуты миграции, до деплоя на прод.python-project-audit— production readiness перед деплоем.- Линза по стеку — ровно одна на проект: Django →
django-audit(в т.ч. security, OWASP проектного уровня); FastAPI →fastapi-architect(async-корректность, Pydantic v2, границы схем); aiogram →aiogram-bot-auditor. Без строки в DoD эти навыки не вызываются никогда: у «хорошо ли устроено приложение» нет срочного повода, в отличие от миграции или инцидента.
Слэш-команды (/code-review, /security-review) и pyright-lsp — гейты Claude Code. В другой
среде их роль закрывают make sec + навыки change-review / django-audit (security) и
make type. Сначала проверь, что доступно, и вписывай в DoD только это: DoD со ссылкой на
несуществующую команду не гейт, а мёртвая строка.
Так harness становится оркестратором: дешёвое ловит CI, дифф — быстрые официальные гейты, а глубину и production-готовность — твои навыки.
Чеклист готовности
Базовый harness (обязательно):
- Раннер проекта (
make/just/nox) с целямиlint/format/format-check/type/test/sec/check+ цели класса проекта; если раннер вводится впервые — его установка записана предусловием - CI (GitHub Actions): джобы по capability —
lint+type(без сервисов),test(с Postgres/Redis),sec; safe-by-default до настройки секретов; actions пиннятся по SHA .claude/settings.json— строгий JSON (проверен на парсинг),permissions.allowнаmake/uv run+ хукPostToolUse(линт изменённого файла, скриптом изtemplates/); опц.PreToolUseна рискованныеBash- committed
CLAUDE.mdпереносим (без машинной специфики) и ≤ 200 строк; машинное — в~/.claude/CLAUDE.md/CLAUDE.local.md(последний в.gitignore); редко нужное — в.claude/rules/сpaths:; при наличииAGENTS.mdон canonical, аCLAUDE.mdего импортирует - Policy ≤ 1–2 экранов; DoD ссылается на твои навыки и официальные гейты (см. выше)
ARCHITECTURE.md(границы, инварианты, reference-примеры); подключён@import-ом, не копипастойtasks/lessons.mdинициализирован- Деплой-заметка под фактическую модель деплоя проекта (systemd/nginx, Docker, PaaS)
- Гейты не только существуют, но и запускаются (pytest коллектит;
make lint/typeзелёные или с зафиксированным baseline)
Symphony (опционально): см. чеклист в references/symphony.md.
Антипаттерны
- НЕ раздувай policy и НЕ дублируй в нём то, что проверяет CI.
- НЕ навязывай Symphony малому проекту — сначала базовый harness.
- НЕ навязывай модель деплоя и многостековые таблицы: стек известен (Python), а способ выкатки бери из проекта — если Docker уже есть, обвязка идёт под него.
- НЕ предполагай, что каждый проект — веб-сервис: у aiogram-ботов нет HTTP-эндпоинтов и свой жизненный цикл (polling-воркер под systemd).
- НЕ ломай существующий код ради «чистоты» — минимальное воздействие.
- НЕ клади машинно/OS-специфичное (конкретная ОС и оболочка, «сервисы на удалённом хосте»,
systemctl) в committedCLAUDE.md— на другой машине это ложь. Только~/.claude/CLAUDE.mdилиCLAUDE.local.md. - НЕ делай
AGENTS.mdстрочкой «правила — в CLAUDE.md». Агенты, ради которых он заведён,CLAUDE.mdне читают и останутся без правил. Содержимое — вAGENTS.md, импорт — вCLAUDE.md. - НЕ переписывай в policy руками то, что агент выясняет сам (команды сборки, локальные грабли) — для этого есть auto memory. Committed-файл держит решённое людьми.
- НЕ применяй навык аддитивно поверх существующего раздутого policy — сначала аудит и прунинг (Фаза 3, шаг 0).
- НЕ делай
permissions.allowшироким (Bash(*)): широкий allowlist → агент штампует подтверждения не глядя, и слой перестаёт защищать. Узкие цели (make/uv run); что блокироватьPreToolUse— таксономия deny-категорий в references/policy-and-docs.md. - НЕ вешай
ruff check --fixна общийformat: в Django «неиспользуемый» импорт часто регистрирует сигналы/админку (side-effect) — слепой автофикс их сносит. Формат и автофикс — раздельно. - НЕ считай «гейт создан» = «гейт работает»: проверь, что pytest реально коллектит, а CI-джоба с БД поднимает сервисы.
Растущая автономия (соло)
Уровень 0: агент пишет код, ты проверяешь всё вручную
Уровень 1: harness → make check + навык-гейты проверяют автоматически, ты ревьюишь дифф
Уровень 2: Symphony → агент сам берёт задачи и готовит коммиты, ты approve/merge
Уровень 3: full auto в доверенной среде (обычно избыточно для соло)Не прыгай через уровни: каждый стоит на доказанной надёжности предыдущего.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

