Starting from Sitecore 9. Experience Editor introduced additional extension points, so now it is enough to extend pipelines with your own JS/CSS files following this example below: <!-- language: lang-xml --> <pipelines> <ribbonStylesheets> <processor type="Sitecore.ExperienceEditor.Pipelines.RibbonStyleSheets.AddStaticList, Sitecore.ExperienceEditor"> <path>/sitecore/myAssets/css/myRibbon1.css</path> <path>/sitecore/myAssets/css/myRibbon2.css</path> </processor> </ribbonStylesheets> <pageEditingStyleSheets> <processor type="Sitecore.ExperienceEditor.Pipelines.PageEditingStyleSheets.Processors.AddStaticList, Sitecore.ExperienceEditor"> <path>/sitecore/myAssets/css/myEditing.css</path> <path>/sitecore/myAssets/css/myEditing2.css</path> </processor> </pageEditingStyleSheets> <pageEditingScripts> <processor type="Sitecore.ExperienceEditor.Pipelines.PageEditingScripts.AddDeclaredScripts, Sitecore.ExperienceEditor"> <path>/sitecore/myAssets/js/myEditingScript1.js</path> <path>/sitecore/myAssets/js/myEditingScript2.js</path> </processor> </pageEditingScripts> </pipelines>