diff --git a/source/RobotAPI/components/armem/server/SkillsMemory/SkillsMemory.cpp b/source/RobotAPI/components/armem/server/SkillsMemory/SkillsMemory.cpp
index d2e8de3eb5a7f80c87af0639c387ea6f9f8cb792..248c0f5ccc8f1e8989d03878c8ad02f744ff3bcc 100644
--- a/source/RobotAPI/components/armem/server/SkillsMemory/SkillsMemory.cpp
+++ b/source/RobotAPI/components/armem/server/SkillsMemory/SkillsMemory.cpp
@@ -245,4 +245,9 @@ namespace armarx
     {
         return composedSkillCoreSegment.getSkills();
     }
+
+    void SkillsMemory::addProfile(const skills::manager::arondto::FluxioProfile& profile)
+    {
+        profileCoreSegment.addProfile(profile);
+    }
 } // namespace armarx
diff --git a/source/RobotAPI/components/armem/server/SkillsMemory/SkillsMemory.h b/source/RobotAPI/components/armem/server/SkillsMemory/SkillsMemory.h
index ffc874211e32aa50a10a64cbf6635618fa14c7eb..4a4922c45e20ed24d346af8e19ef7c1b9180df1e 100644
--- a/source/RobotAPI/components/armem/server/SkillsMemory/SkillsMemory.h
+++ b/source/RobotAPI/components/armem/server/SkillsMemory/SkillsMemory.h
@@ -114,9 +114,10 @@ namespace armarx
         //****************************//
 
         void saveSkill(const skills::manager::arondto::FluxioSkill& skillt) override;
-
         std::optional<std::vector<skills::manager::arondto::FluxioSkill>> loadSkills() override;
 
+        void addProfile(const skills::manager::arondto::FluxioProfile& profile) override;
+
     protected:
         /// @see armarx::ManagedIceObject::onInitComponent()
         void onInitComponent() override;
diff --git a/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPluginUser.cpp b/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPluginUser.cpp
index ec948a3bfe9cd33017798d97477a7bf98fbecf51..90b975e0d7eaee22007931ac92a3b1aac5125dca 100644
--- a/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPluginUser.cpp
+++ b/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPluginUser.cpp
@@ -24,6 +24,7 @@
 #include "RobotAPI/libraries/skills/manager/SkillManagerComponentPlugin.h"
 #include <RobotAPI/interface/aron/Aron.h>
 #include <RobotAPI/interface/skills/SkillManagerInterface.h>
+#include <RobotAPI/libraries/skills/core/aron/FluxioProfile.aron.generated.h>
 #include <RobotAPI/libraries/skills/core/aron/FluxioSkill.aron.generated.h>
 
 namespace armarx
@@ -716,4 +717,8 @@ namespace armarx
         // Implemented in derived class
         return {};
     }
+
+    void SkillManagerComponentPluginUser::addProfile(const skills::manager::arondto::FluxioProfile& profile) {
+        // Implemented in derived class
+    }
 } // namespace armarx
diff --git a/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPluginUser.h b/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPluginUser.h
index dceb911f4b5e65174d19a12eb4a40f84556f62cc..db6130f5930cfe604d78cbeefd94aa9dc62dff56 100644
--- a/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPluginUser.h
+++ b/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPluginUser.h
@@ -154,6 +154,8 @@ namespace armarx
         virtual void saveSkill(const skills::manager::arondto::FluxioSkill& skill);
         virtual std::optional<std::vector<skills::manager::arondto::FluxioSkill>> loadSkills();
 
+        virtual void addProfile(const skills::manager::arondto::FluxioProfile& profile);
+
     private:
         armarx::plugins::SkillManagerComponentPlugin* plugin = nullptr;
     };