{ EInteractionType.Combat, "Combat" },
         { EInteractionType.UseItem, "UseItem" },
         { EInteractionType.EquipItem, "EquipItem" },
+        { EInteractionType.EquipRecommended, "EquipRecommended" },
         { EInteractionType.Say, "Say" },
         { EInteractionType.Emote, "Emote" },
         { EInteractionType.Action, "Action" },
 
--- /dev/null
+using System;
+using Dalamud.Plugin.Services;
+using FFXIVClientStructs.FFXIV.Client.UI.Misc;
+using Microsoft.Extensions.DependencyInjection;
+using Questionable.Model;
+using Questionable.Model.Questing;
+
+namespace Questionable.Controller.Steps.Interactions;
+
+internal static class EquipRecommended
+{
+    internal sealed class Factory(IServiceProvider serviceProvider) : ITaskFactory
+    {
+        public ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
+        {
+            if (step.InteractionType != EInteractionType.EquipRecommended)
+                return null;
+
+            return serviceProvider.GetRequiredService<DoEquipRecommended>();
+        }
+    }
+
+    internal sealed unsafe class DoEquipRecommended(IClientState clientState) : ITask
+    {
+        private bool _equipped;
+
+        public bool Start()
+        {
+            RecommendEquipModule.Instance()->SetupForClassJob((byte)clientState.LocalPlayer!.ClassJob.Id);
+            return true;
+        }
+
+        public ETaskResult Update()
+        {
+            if (RecommendEquipModule.Instance()->IsUpdating)
+                return ETaskResult.StillRunning;
+
+            if (!_equipped)
+            {
+                RecommendEquipModule.Instance()->EquipRecommendedGear();
+                _equipped = true;
+                return ETaskResult.StillRunning;
+            }
+
+            return ETaskResult.TaskComplete;
+        }
+
+        public override string ToString() => "EquipRecommended";
+    }
+}
 
             .AddTaskWithFactory<UseItem.Factory, UseItem.UseOnGround, UseItem.UseOnObject, UseItem.Use,
                 UseItem.UseOnPosition>();
         serviceCollection.AddTaskWithFactory<EquipItem.Factory, EquipItem.DoEquip>();
+        serviceCollection.AddTaskWithFactory<EquipRecommended.Factory, EquipRecommended.DoEquipRecommended>();
         serviceCollection.AddTaskWithFactory<TurnInDelivery.Factory, TurnInDelivery.SatisfactionSupplyTurnIn>();
         serviceCollection
             .AddTaskWithFactory<SinglePlayerDuty.Factory, SinglePlayerDuty.DisableYesAlready,