# Skill /role и агент briefing: frontmatter и обязательные шаги (спека 5, 6.1). S="$ROOT/skills/role/SKILL.md"; A="$ROOT/agents/briefing.md" assert_file "SKILL.md существует" "$S" assert_eq "skill: первая строка ---" "$(sed -n '1p' "$S")" "---" assert_grep "skill: name: role" '^name: role$' "$S" assert_grep "skill: argument-hint" '^argument-hint: dev[|]admin[|]analyst[|]qa$' "$S" assert_grep "skill: user-invocable" '^user-invocable: true$' "$S" assert_grep "skill: читает общий слой" '~/.claude/roles/' "$S" assert_grep "skill: читает проектный слой" '\.claude/roles/' "$S" assert_grep "skill: собирает brief:" 'brief:' "$S" assert_grep "skill: запускает briefing в фоне" 'subagent_type: briefing' "$S" assert_grep "skill: без аргумента — список ролей" '[Бб]ез аргумента' "$S" assert_grep "skill: использует \$0" '\$0' "$S" assert_file "briefing.md существует" "$A" assert_grep "agent: name" '^name: briefing$' "$A" assert_grep "agent: model sonnet" '^model: sonnet$' "$A" assert_grep "agent: tools" '^tools: Read, Glob, Grep, Bash$' "$A" assert_eq "agent: без memory" "$(grep -c '^memory:' "$A")" "0" for h in 'Активные задачи' 'Решения за последние дни' 'Открытые вопросы' 'Ловушки'; do assert_grep "agent: раздел $h" "$h" "$A"; done assert_grep "agent: до 60 строк" '60 строк' "$A"