diff --git a/loop/agent.go b/loop/agent.go
new file mode 100644
index 0000000..8e903a2
--- /dev/null
+++ b/loop/agent.go
@@ -0,0 +1,49 @@
+package loop
+
+import (
+	"fmt"
+	"time"
+)
+
+type Agent interface {
+	Run(todo *ToDo) error
+}
+
+type UserAgent struct {
+	pr PromptReader
+}
+
+func (a *UserAgent) Run(todo *ToDo) error {
+	for {
+		items := findActionableItems(todo, "user")
+		if len(items) == 0 {
+			time.Sleep(30 * time.Second)
+			continue
+		}
+		for _, i := range items {
+			fmt.Printf("YOU %s %s: ", i.ID, i.Title)
+			comment, err := a.pr.Read()
+			if err != nil {
+				return err
+			}
+			i.Discussion = append(i.Discussion, Comment{
+				Author:  "user",
+				Comment: comment,
+			})
+			i.AssignedTo = "assistant"
+		}
+	}
+}
+
+func findActionableItems(todo *ToDo, assignedTo string) []*ToDo {
+	for _, i := range todo.Items {
+		ret := findActionableItems(i, assignedTo)
+		if len(ret) > 0 {
+			return ret
+		}
+	}
+	if todo.AssignedTo == assignedTo && !todo.Done {
+		return []*ToDo{todo}
+	}
+	return nil
+}
