Install
npx skillscat add obarbadev/openclaw-multiagent-system/block-detection Install via the SkillsCat registry.
SKILL.md
SKILL: BLOCK_DETECTION
Responsável: Developer (auto-reporte) | Reviewer (detecção em review) | Lead (monitoramento)
Trigger: heartbeat ou detecção manual
Detecção Automática (Lead / Heartbeat)
1. Issues com label blocked
gh issue list --repo {repo} --state open --label "blocked" \
--json number,title,assignees,updatedAt,labels2. Issues sem atualização há mais de 24h (in_progress)
# Verificar no state.json
cat $HOME/.openclaw/workspace/projects/{project}/state.json | jq '
.issues | to_entries
| map(select(.value.status == "in_progress"))
| map(select(.value.updated_at < (now - 86400 | todate)))
| map({issue: .key, status: .value.status, agent: .value.assigned_agent, since: .value.updated_at})
'3. PRs em review há mais de 48h
gh pr list --repo {repo} --state open \
--json number,title,createdAt,reviewDecision \
--jq '[.[] | select(.reviewDecision != "APPROVED")]'Protocolo ao Detectar Bloqueio
Se Developer detectar bloqueio (auto-reporte):
# 1. Comentar na issue com motivo detalhado
gh issue comment {numero} --repo {repo} \
--body "🚨 BLOCKED\n\n**Motivo:** {motivo}\n**Preciso de:** {o que desbloqueia}\n**Estimativa para desbloquear:** {tempo}"
# 2. Aplicar label
gh issue edit {numero} --repo {repo} --add-label "blocked" --remove-label "in_progress"
# 3. Disparar evento no state-engine
$HOME/.openclaw/workspace/scripts/state_engine.sh {project} {repo} {numero} blocked "{motivo}"Se Lead detectar via monitoramento:
- Comentar na issue perguntando o status
- Notificar Discord com alerta
- Se sem resposta em 2h: escalar
Resolução de Bloqueio
# Após resolução, re-atribuir ao developer original (ou auto_assign)
$HOME/.openclaw/workspace/scripts/state_engine.sh {project} {repo} {numero} unblocked "{developer-X}"
# Remover label blocked
gh issue edit {numero} --repo {repo} --remove-label "blocked" --add-label "in_progress"Regras
- Todo bloqueio deve ter motivo documentado na issue
- Lead sempre notificado de bloqueios (automático via state-engine)
- Bloqueios > 4h sem resolução = escalação obrigatória