Tighten playbook structure with scoping