task: task-1753636924-a1d4c708 - created

Change-Id: Ic78528c47ae38114b9b7504f1c4a76f95e93eb13
diff --git a/server/cmd/commands/assign_task.go b/server/cmd/commands/assign_task.go
new file mode 100644
index 0000000..4bb6f75
--- /dev/null
+++ b/server/cmd/commands/assign_task.go
@@ -0,0 +1,43 @@
+package commands
+
+import (
+	"fmt"
+
+	"github.com/spf13/cobra"
+)
+
+var assignTaskCmd = &cobra.Command{
+	Use:   "assign-task [task-id] [agent-name]",
+	Short: "Assign a task to an agent",
+	Long: `Assign an existing task to a specific agent.
+
+Examples:
+  staff assign-task task-1234567890-abcd1234 backend-engineer
+  staff assign-task task-1234567890-abcd1234 frontend-engineer`,
+	Args: cobra.ExactArgs(2),
+	RunE: runAssignTask,
+}
+
+func runAssignTask(cmd *cobra.Command, args []string) error {
+	taskID := args[0]
+	agentName := args[1]
+
+	// Get the task
+	task, err := taskManager.GetTask(taskID)
+	if err != nil {
+		return fmt.Errorf("failed to get task: %w", err)
+	}
+
+	// Assign the task
+	task.Assignee = agentName
+	if err := taskManager.UpdateTask(task); err != nil {
+		return fmt.Errorf("failed to assign task: %w", err)
+	}
+
+	fmt.Printf("Task %s assigned to %s successfully!\n", taskID, agentName)
+	fmt.Printf("Title: %s\n", task.Title)
+	fmt.Printf("Priority: %s\n", task.Priority)
+	fmt.Printf("Status: %s\n", task.Status)
+
+	return nil
+}
\ No newline at end of file