diff --git a/source/RobotAPI/libraries/ArmarXObjects/ObjectFinder.cpp b/source/RobotAPI/libraries/ArmarXObjects/ObjectFinder.cpp
index 1167db200b5cacded7c52f265e8c2b9261b85bed..f2c6108a9ace4740e0add45b27ed7aa827347d41 100644
--- a/source/RobotAPI/libraries/ArmarXObjects/ObjectFinder.cpp
+++ b/source/RobotAPI/libraries/ArmarXObjects/ObjectFinder.cpp
@@ -1,7 +1,5 @@
 #include <VirtualRobot/XML/ObjectIO.h>
 
-#include <set>
-
 #include <SimoxUtility/algorithm/string.h>
 #include <SimoxUtility/filesystem/list_directory.h>
 
diff --git a/source/RobotAPI/libraries/armem/server/ltm/processors/converter/data/image/png/PngConverter.cpp b/source/RobotAPI/libraries/armem/server/ltm/processors/converter/data/image/png/PngConverter.cpp
index b9d4a92d4514075c72d9f70948ab9d39a7428d65..3294e56c181c8811d7471a7fb01a46db48ee14cf 100644
--- a/source/RobotAPI/libraries/armem/server/ltm/processors/converter/data/image/png/PngConverter.cpp
+++ b/source/RobotAPI/libraries/armem/server/ltm/processors/converter/data/image/png/PngConverter.cpp
@@ -3,6 +3,7 @@
 // ArmarX
 #include <opencv2/imgcodecs.hpp>
 #include <opencv2/imgproc.hpp>
+#include <opencv2/imgproc/types_c.h>
 #include <opencv2/opencv.hpp>
 
 #include <RobotAPI/libraries/aron/converter/opencv/OpenCVConverter.h>
diff --git a/source/RobotAPI/libraries/armem_objects/server/familiar_object_instance/Segment.cpp b/source/RobotAPI/libraries/armem_objects/server/familiar_object_instance/Segment.cpp
index a141b97e4e8b9d4b169ff5b9118c330b71080d5a..fcb2a94487dc7034ce7a02c24478a35890e5ff77 100644
--- a/source/RobotAPI/libraries/armem_objects/server/familiar_object_instance/Segment.cpp
+++ b/source/RobotAPI/libraries/armem_objects/server/familiar_object_instance/Segment.cpp
@@ -1,6 +1,5 @@
 #include "Segment.h"
 
-#include <filesystem>
 #include <sstream>
 
 #include <sys/inotify.h>
diff --git a/source/RobotAPI/libraries/skills/core/Skill.cpp b/source/RobotAPI/libraries/skills/core/Skill.cpp
index 62fee239e4bf83fdfe6cb3d9a09428484280d4aa..cf6c57f98d8970194c2f362dcfa122bb19c183a0 100644
--- a/source/RobotAPI/libraries/skills/core/Skill.cpp
+++ b/source/RobotAPI/libraries/skills/core/Skill.cpp
@@ -1,5 +1,7 @@
 #include "Skill.h"
 
+#include <RobotAPI/libraries/skills/core/error/Exception.h>
+
 namespace armarx
 {
     namespace skills
diff --git a/source/RobotAPI/libraries/skills/core/Skill.h b/source/RobotAPI/libraries/skills/core/Skill.h
index 9fffd35a6f258e778200351ef387ba9d3b184480..d9edf529c300968b4b428066836ba106a39e76e8 100644
--- a/source/RobotAPI/libraries/skills/core/Skill.h
+++ b/source/RobotAPI/libraries/skills/core/Skill.h
@@ -2,7 +2,6 @@
 
 #include <functional>
 #include <mutex>
-#include <queue>
 #include <thread>
 
 #include <ArmarXCore/core/logging/Logging.h>
@@ -14,10 +13,8 @@
 
 #include "SkillDescription.h"
 #include "SkillID.h"
-#include "SkillPreparationInput.h"
 #include "SkillProxy.h"
 #include "SkillStatusUpdate.h"
-#include "error/Exception.h"
 
 namespace armarx
 {
diff --git a/source/RobotAPI/libraries/skills/core/SkillDescription.h b/source/RobotAPI/libraries/skills/core/SkillDescription.h
index 784afd9321f4d677109c1f43672f0bdff4846db8..f65ba3f45e5da2c36c223c79797bb3b27ac52450 100644
--- a/source/RobotAPI/libraries/skills/core/SkillDescription.h
+++ b/source/RobotAPI/libraries/skills/core/SkillDescription.h
@@ -1,7 +1,6 @@
 #pragma once
 
 #include <string>
-#include <vector>
 
 #include <ArmarXCore/core/time/Duration.h>
 
diff --git a/source/RobotAPI/libraries/skills/core/SkillID.h b/source/RobotAPI/libraries/skills/core/SkillID.h
index 91494c78c331272e85babe5052ccd2369e29833e..8bf5eb0f34a4a73ef8255f1ac64e1222ca71692d 100644
--- a/source/RobotAPI/libraries/skills/core/SkillID.h
+++ b/source/RobotAPI/libraries/skills/core/SkillID.h
@@ -1,14 +1,12 @@
 #pragma once
 
 #include <string>
-#include <vector>
 
 #include <SimoxUtility/algorithm/string.h>
 
 #include <RobotAPI/interface/skills/SkillManagerInterface.h>
 
 #include "ProviderID.h"
-#include "error/Exception.h"
 
 namespace armarx
 {
diff --git a/source/RobotAPI/libraries/skills/core/SkillProxy.cpp b/source/RobotAPI/libraries/skills/core/SkillProxy.cpp
index ea4fc4d1a0192d5ad4819be4248df3ea52566164..fb46cdc96d1e6581afd938a6e5cbd981e3ea9016 100644
--- a/source/RobotAPI/libraries/skills/core/SkillProxy.cpp
+++ b/source/RobotAPI/libraries/skills/core/SkillProxy.cpp
@@ -3,6 +3,8 @@
 #include <chrono>
 #include <thread>
 
+#include <RobotAPI/libraries/skills/core/error/Exception.h>
+
 namespace armarx
 {
     namespace skills
diff --git a/source/RobotAPI/libraries/skills/core/SkillStatusUpdate.cpp b/source/RobotAPI/libraries/skills/core/SkillStatusUpdate.cpp
index 39220a32bc28269232f506d8368cb5394980b87b..8e5ade1866d4d71a389443c1b5ce1fc48485e9ea 100644
--- a/source/RobotAPI/libraries/skills/core/SkillStatusUpdate.cpp
+++ b/source/RobotAPI/libraries/skills/core/SkillStatusUpdate.cpp
@@ -1,5 +1,7 @@
 #include "SkillStatusUpdate.h"
 
+#include <RobotAPI/libraries/skills/core/error/Exception.h>
+
 namespace armarx
 {
     namespace skills
diff --git a/source/RobotAPI/libraries/skills/core/SkillStatusUpdate.h b/source/RobotAPI/libraries/skills/core/SkillStatusUpdate.h
index ace31510a8a362ed45289c4facdd51c97ba22fbb..f6318d5c1993fd94d17a6a5e5e16086794d1f34d 100644
--- a/source/RobotAPI/libraries/skills/core/SkillStatusUpdate.h
+++ b/source/RobotAPI/libraries/skills/core/SkillStatusUpdate.h
@@ -1,8 +1,5 @@
 #pragma once
 
-#include <string>
-#include <vector>
-
 #include <ArmarXCore/core/time/DateTime.h>
 #include <ArmarXCore/core/time/ice_conversions.h>
 
@@ -10,8 +7,6 @@
 #include <RobotAPI/libraries/aron/core/data/variant/container/Dict.h>
 
 #include "SkillExecutionID.h"
-#include "SkillID.h"
-#include "SkillParameterization.h"
 
 namespace armarx
 {
diff --git a/source/RobotAPI/libraries/skills/core/error/Exception.h b/source/RobotAPI/libraries/skills/core/error/Exception.h
index 9e01205b27e74eddc69fa8ff7c28d2646eafc9e2..d9107d8213b9d5d2b1e70f578ee7b376be0f102a 100644
--- a/source/RobotAPI/libraries/skills/core/error/Exception.h
+++ b/source/RobotAPI/libraries/skills/core/error/Exception.h
@@ -24,9 +24,7 @@
 #pragma once
 
 // STD/STL
-#include <map>
 #include <string>
-#include <vector>
 
 // ArmarX
 #include <ArmarXCore/core/exceptions/Exception.h>
diff --git a/source/RobotAPI/libraries/skills/provider/PeriodicSkill.cpp b/source/RobotAPI/libraries/skills/provider/PeriodicSkill.cpp
index fa354d03d242c9e19b95a4a846309227503ae182..4b8a07d07238f87a2cea835ed33b75c0520d8639 100644
--- a/source/RobotAPI/libraries/skills/provider/PeriodicSkill.cpp
+++ b/source/RobotAPI/libraries/skills/provider/PeriodicSkill.cpp
@@ -27,6 +27,7 @@
 #include <ArmarXCore/core/time/Metronome.h>
 
 #include "RobotAPI/libraries/skills/core/Skill.h"
+#include <RobotAPI/libraries/skills/core/error/Exception.h>
 
 namespace armarx::skills
 {
diff --git a/source/RobotAPI/libraries/skills/provider/PeriodicSpecializedSkill.h b/source/RobotAPI/libraries/skills/provider/PeriodicSpecializedSkill.h
index 914c6da0221973624309a57666064669e05de14a..b707aee0d5224ab8588c4c95461ec22f5f300fa6 100644
--- a/source/RobotAPI/libraries/skills/provider/PeriodicSpecializedSkill.h
+++ b/source/RobotAPI/libraries/skills/provider/PeriodicSpecializedSkill.h
@@ -24,6 +24,7 @@
 #include <ArmarXCore/core/time/Frequency.h>
 #include <ArmarXCore/core/time/Metronome.h>
 
+#include <RobotAPI/libraries/skills/core/error/Exception.h>
 #include <RobotAPI/libraries/skills/core/Skill.h>
 
 #include "PeriodicSkill.h"
diff --git a/source/RobotAPI/libraries/skills/provider/SimplePeriodicSkill.cpp b/source/RobotAPI/libraries/skills/provider/SimplePeriodicSkill.cpp
index 33a6475b3a9e2e01a30c40f4cee60e304a600b40..db3c05d511872e082bf4b2bb3a01a1293f7468af 100644
--- a/source/RobotAPI/libraries/skills/provider/SimplePeriodicSkill.cpp
+++ b/source/RobotAPI/libraries/skills/provider/SimplePeriodicSkill.cpp
@@ -1,5 +1,7 @@
 #include "SimplePeriodicSkill.h"
 
+#include <RobotAPI/libraries/skills/core/error/Exception.h>
+
 namespace armarx::skills
 {
     SimplePeriodicSkill::SimplePeriodicSkill(const SkillDescription& skillDescription,
diff --git a/source/RobotAPI/libraries/skills/provider/SimplePeriodicSpecializedSkill.h b/source/RobotAPI/libraries/skills/provider/SimplePeriodicSpecializedSkill.h
index ce3c968f587a7984fb606e8485297aa56ffff04a..c0f8b7ebd23df0d41429b2e9c7ddd3a7b0f66e94 100644
--- a/source/RobotAPI/libraries/skills/provider/SimplePeriodicSpecializedSkill.h
+++ b/source/RobotAPI/libraries/skills/provider/SimplePeriodicSpecializedSkill.h
@@ -1,5 +1,6 @@
 #pragma once
 
+#include <RobotAPI/libraries/skills/core/error/Exception.h>
 #include "PeriodicSkill.h"
 #include "SimpleSpecializedSkill.h"
 
diff --git a/source/RobotAPI/libraries/skills/provider/SpecializedSkill.h b/source/RobotAPI/libraries/skills/provider/SpecializedSkill.h
index 2fded9a0a50ede4cdc3e8d76861217fbc1127c58..fa3c43ce54eda2feacd0f88895ede30840c08e1f 100644
--- a/source/RobotAPI/libraries/skills/provider/SpecializedSkill.h
+++ b/source/RobotAPI/libraries/skills/provider/SpecializedSkill.h
@@ -3,47 +3,41 @@
 #include <RobotAPI/libraries/aron/core/type/variant/container/Object.h>
 #include <RobotAPI/libraries/skills/core/Skill.h>
 
-// Debug
-#include <RobotAPI/libraries/aron/converter/json/NLohmannJSONConverter.h>
-
-namespace armarx
+namespace armarx::skills
 {
-    namespace skills
+    template <class AronT>
+    class SpecializedSkill : public Skill
     {
-        template <class AronT>
-        class SpecializedSkill : public Skill
+    public:
+        using Base = Skill;
+        using ParamType = AronT;
+
+        using Skill::Skill;
+        virtual ~SpecializedSkill() = default;
+
+        void
+        setParameters(const AronT& d)
+        {
+            Base::setParameters(d.toAron());
+        }
+
+        /// Overwrite getter for parameters. Shadow Skill::getParameters()
+        AronT
+        getParameters() const
+        {
+            AronT d;
+            d.fromAron(this->parameters);
+            return d;
+        }
+
+        /// returns the accepted type of the skill
+        static armarx::aron::type::ObjectPtr
+        GetAcceptedType()
         {
-        public:
-            using Base = Skill;
-            using ParamType = AronT;
-
-            using Skill::Skill;
-            virtual ~SpecializedSkill() = default;
-
-            void
-            setParameters(const AronT& d)
-            {
-                Base::setParameters(d.toAron());
-            }
-
-            /// Overwrite getter for parameters. Shadow Skill::getParameters()
-            AronT
-            getParameters() const
-            {
-                AronT d;
-                d.fromAron(this->parameters);
-                return d;
-            }
-
-            /// returns the accepted type of the skill
-            static armarx::aron::type::ObjectPtr
-            GetAcceptedType()
-            {
-                return AronT::ToAronType();
-            }
-
-
-        protected:
-        };
-    } // namespace skills
-} // namespace armarx
+            return AronT::ToAronType();
+        }
+
+
+    protected:
+    };
+} // namespace armarx::skills
diff --git a/source/RobotAPI/libraries/skills/provider/detail/SkillImplementationWrapper.cpp b/source/RobotAPI/libraries/skills/provider/detail/SkillImplementationWrapper.cpp
index a244ae6593ec82b802dcbd930af07990ce3d4503..0e1515343b7cf9bf84daa949eb70d2035f35e751 100644
--- a/source/RobotAPI/libraries/skills/provider/detail/SkillImplementationWrapper.cpp
+++ b/source/RobotAPI/libraries/skills/provider/detail/SkillImplementationWrapper.cpp
@@ -1,5 +1,6 @@
 #include "SkillImplementationWrapper.h"
 #include <ArmarXCore/core/exceptions/LocalException.h>
+#include <RobotAPI/libraries/skills/core/error/Exception.h>
 #include <RobotAPI/libraries/aron/core/data/variant/container/Dict.h>
 
 #include <RobotAPI/libraries/skills/core/aron/SkillErrorResult.aron.generated.h>