add focus-based agent generation