diff --git a/Cognifide.PowerShell/App_Config/Include/Cognifide.PowerShell.Serialization.config b/Cognifide.PowerShell/App_Config/Include/Cognifide.PowerShell.Serialization.config
index 8405ca030..a0bfa4f29 100644
--- a/Cognifide.PowerShell/App_Config/Include/Cognifide.PowerShell.Serialization.config
+++ b/Cognifide.PowerShell/App_Config/Include/Cognifide.PowerShell.Serialization.config
@@ -8,9 +8,11 @@
+
+
diff --git a/Cognifide.PowerShell/Cognifide.PowerShell.csproj b/Cognifide.PowerShell/Cognifide.PowerShell.csproj
index d9b6f8f5d..1c8e9fd64 100644
--- a/Cognifide.PowerShell/Cognifide.PowerShell.csproj
+++ b/Cognifide.PowerShell/Cognifide.PowerShell.csproj
@@ -519,6 +519,7 @@
+
diff --git a/Cognifide.PowerShell/Core/Rules/PowerShellBooleanScriptRule.cs b/Cognifide.PowerShell/Core/Rules/PowerShellBooleanScriptRule.cs
new file mode 100644
index 000000000..aae88dc82
--- /dev/null
+++ b/Cognifide.PowerShell/Core/Rules/PowerShellBooleanScriptRule.cs
@@ -0,0 +1,54 @@
+using System;
+using System.Linq;
+using Cognifide.PowerShell.Core.Extensions;
+using Cognifide.PowerShell.Core.Host;
+using Sitecore.Data;
+using Sitecore.Diagnostics;
+using Sitecore.Rules;
+using Sitecore.Rules.Conditions;
+
+namespace Cognifide.PowerShell.Core.Rules
+{
+ public class PowerShellBooleanScriptRule : StringOperatorCondition where T : RuleContext
+ {
+ public ID ScriptId { get; set; }
+ protected override bool Execute(T ruleContext)
+ {
+ var ruleResponse = false;
+ Assert.IsNotNull(ruleContext, "RuleContext is null");
+ try
+ {
+ var scriptItem = Sitecore.Context.Database.GetItem(ScriptId);
+ if (scriptItem.InheritsFrom(Templates.Script.Id))
+ {
+ var scriptItemField = scriptItem.Fields[Templates.Script.Fields.ScriptBody];
+ using (ScriptSession scriptSession = ScriptSessionManager.NewSession("Default", true))
+ {
+ string script = scriptItemField.GetValue(false);
+ if (!string.IsNullOrEmpty(script))
+ {
+ var results = scriptSession.ExecuteScriptPart(script, false);
+ //if anything in results is a non-false value, return true
+ ruleResponse = results.Any(r => bool.Parse(r.ToString()));
+ }
+ else
+ {
+ Log.Warn("Selected Script Item is empty", this);
+ }
+ }
+ }
+ else
+ {
+ Log.Warn("Selected Item is not a Script", this);
+ }
+
+ }
+ catch (Exception ex)
+ {
+ Log.Error("Error in Boolean Script Rule", ex, this);
+ throw;
+ }
+ return ruleResponse;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Cognifide.PowerShell/Data/Serialization/Rules/Editor Rules Tags/PowerShell Editor Rules.yml b/Cognifide.PowerShell/Data/Serialization/Rules/Editor Rules Tags/PowerShell Editor Rules.yml
new file mode 100644
index 000000000..964cd9239
--- /dev/null
+++ b/Cognifide.PowerShell/Data/Serialization/Rules/Editor Rules Tags/PowerShell Editor Rules.yml
@@ -0,0 +1,22 @@
+---
+ID: "f9ce8201-c7fd-4217-ac4a-45205ca80faf"
+Parent: "dadb4f93-477f-491f-a905-c4005c452e67"
+Template: "1a9b6300-4652-477c-a4b5-b2a64e86b29f"
+Path: /sitecore/system/Settings/Rules/Definitions/Tags/PowerShell Editor Rules
+DB: master
+SharedFields:
+- ID: "ba3f86a2-4a1c-4d78-b63d-91c2779c1b5e"
+ Hint: __Sortorder
+ Value: 2400
+Languages:
+- Language: en
+ Versions:
+ - Version: 1
+ Fields:
+ - ID: "25bed78c-4957-4165-998a-ca1b52f67497"
+ Hint: __Created
+ Value: 20131231T141935
+ - ID: "5dd74568-4d4b-44c1-b513-0af5f4cda34f"
+ Hint: __Created by
+ Value: |
+ sitecore\admin
diff --git a/Cognifide.PowerShell/Data/Serialization/Rules/Editor Rules Tags/PowerShell Editor Rules/Visibility.yml b/Cognifide.PowerShell/Data/Serialization/Rules/Editor Rules Tags/PowerShell Editor Rules/Visibility.yml
new file mode 100644
index 000000000..6b10b7861
--- /dev/null
+++ b/Cognifide.PowerShell/Data/Serialization/Rules/Editor Rules Tags/PowerShell Editor Rules/Visibility.yml
@@ -0,0 +1,18 @@
+---
+ID: "ebb33f36-07c6-4268-9382-fe432e70f1ad"
+Parent: "f9ce8201-c7fd-4217-ac4a-45205ca80faf"
+Template: "aa91a868-02f2-41d3-8b78-1cad91b4dcae"
+Path: /sitecore/system/Settings/Rules/Definitions/Tags/PowerShell Editor Rules/Visibility
+DB: master
+Languages:
+- Language: en
+ Versions:
+ - Version: 1
+ Fields:
+ - ID: "25bed78c-4957-4165-998a-ca1b52f67497"
+ Hint: __Created
+ Value: 20131231T141936
+ - ID: "5dd74568-4d4b-44c1-b513-0af5f4cda34f"
+ Hint: __Created by
+ Value: |
+ sitecore\admin
diff --git a/Cognifide.PowerShell/Data/Serialization/Rules/Editor Rules/PowerShell Editor Rules.yml b/Cognifide.PowerShell/Data/Serialization/Rules/Editor Rules/PowerShell Editor Rules.yml
new file mode 100644
index 000000000..b8730fd89
--- /dev/null
+++ b/Cognifide.PowerShell/Data/Serialization/Rules/Editor Rules/PowerShell Editor Rules.yml
@@ -0,0 +1,19 @@
+---
+ID: "d555657d-f954-497c-a293-65d5e695ab61"
+Parent: "e7cbefe8-9112-4b95-a978-4e470d94c54a"
+Template: "54dae7cd-bfd8-4e69-9679-75f2ae9f9034"
+Path: /sitecore/system/Settings/Rules/Definitions/Elements/PowerShell Editor Rules
+DB: master
+BranchID: "9a72c539-dbf8-4dad-96d3-a298fc04add6"
+SharedFields:
+- ID: "f6d8a61c-2f84-4401-bd24-52d2068172bc"
+ Hint: __Originator
+ Value: "{8D1DB71C-9ACF-4192-8384-5F9B6D533F95}"
+Languages:
+- Language: en
+ Versions:
+ - Version: 1
+ Fields:
+ - ID: "25bed78c-4957-4165-998a-ca1b52f67497"
+ Hint: __Created
+ Value: 20181020T161858Z
diff --git a/Cognifide.PowerShell/Data/Serialization/Rules/Editor Rules/PowerShell Editor Rules/Script Returns True Value.yml b/Cognifide.PowerShell/Data/Serialization/Rules/Editor Rules/PowerShell Editor Rules/Script Returns True Value.yml
new file mode 100644
index 000000000..d008a8813
--- /dev/null
+++ b/Cognifide.PowerShell/Data/Serialization/Rules/Editor Rules/PowerShell Editor Rules/Script Returns True Value.yml
@@ -0,0 +1,26 @@
+---
+ID: "7477d094-b434-4ceb-bccc-45c02ceb6a5d"
+Parent: "d555657d-f954-497c-a293-65d5e695ab61"
+Template: "f0d16eee-3a05-4e43-a082-795a32b873c0"
+Path: /sitecore/system/Settings/Rules/Definitions/Elements/PowerShell Editor Rules/Script Returns True Value
+DB: master
+SharedFields:
+- ID: "ab51c8b2-f0e1-4471-9aae-cc080d774923"
+ Hint: Type
+ Value: Cognifide.PowerShell.Core.Rules.PowerShellBooleanScriptRule,Cognifide.PowerShell
+Languages:
+- Language: en
+ Versions:
+ - Version: 1
+ Fields:
+ - ID: "25bed78c-4957-4165-998a-ca1b52f67497"
+ Hint: __Created
+ Value: 20181020T152609Z
+ - ID: "5dd74568-4d4b-44c1-b513-0af5f4cda34f"
+ Hint: __Created by
+ Value: |
+ sitecore\admin
+ - ID: "af321234-4eb9-4ef5-9197-65903351939c"
+ Hint: Text
+ Value: |
+ where [ScriptId,tree,root=/sitecore/system/Modules/PowerShell/Script Library,specific PowerShell script] returns a "true" value
diff --git a/Cognifide.PowerShell/Data/Serialization/Rules/Editor Rules/PowerShell Editor Rules/Tags.yml b/Cognifide.PowerShell/Data/Serialization/Rules/Editor Rules/PowerShell Editor Rules/Tags.yml
new file mode 100644
index 000000000..4c2ccb2ba
--- /dev/null
+++ b/Cognifide.PowerShell/Data/Serialization/Rules/Editor Rules/PowerShell Editor Rules/Tags.yml
@@ -0,0 +1,19 @@
+---
+ID: "a96b0241-65f0-494f-89f6-c5a769cbda48"
+Parent: "d555657d-f954-497c-a293-65d5e695ab61"
+Template: "96c8e5dd-63c3-496b-a97c-a3e37e1dacba"
+Path: /sitecore/system/Settings/Rules/Definitions/Elements/PowerShell Editor Rules/Tags
+DB: master
+BranchID: "9a72c539-dbf8-4dad-96d3-a298fc04add6"
+SharedFields:
+- ID: "f6d8a61c-2f84-4401-bd24-52d2068172bc"
+ Hint: __Originator
+ Value: "{FD4268C6-E588-4C19-B141-B1AAD488887D}"
+Languages:
+- Language: en
+ Versions:
+ - Version: 1
+ Fields:
+ - ID: "25bed78c-4957-4165-998a-ca1b52f67497"
+ Hint: __Created
+ Value: 20181020T161858Z
diff --git a/Cognifide.PowerShell/Data/Serialization/Rules/Editor Rules/PowerShell Editor Rules/Tags/Default.yml b/Cognifide.PowerShell/Data/Serialization/Rules/Editor Rules/PowerShell Editor Rules/Tags/Default.yml
new file mode 100644
index 000000000..66ee0e308
--- /dev/null
+++ b/Cognifide.PowerShell/Data/Serialization/Rules/Editor Rules/PowerShell Editor Rules/Tags/Default.yml
@@ -0,0 +1,23 @@
+---
+ID: "53d8bfe8-6a0e-45d2-a6e4-ea0ba47d27b9"
+Parent: "a96b0241-65f0-494f-89f6-c5a769cbda48"
+Template: "854ba861-63ea-4a0c-8c7b-541e9a7ec4c1"
+Path: /sitecore/system/Settings/Rules/Definitions/Elements/PowerShell Editor Rules/Tags/Default
+DB: master
+BranchID: "9a72c539-dbf8-4dad-96d3-a298fc04add6"
+SharedFields:
+- ID: "42f77151-098f-496a-94cf-590b7edeeabe"
+ Hint: Tags
+ Type: Multilist
+ Value: "{F9CE8201-C7FD-4217-AC4A-45205CA80FAF}"
+- ID: "f6d8a61c-2f84-4401-bd24-52d2068172bc"
+ Hint: __Originator
+ Value: "{6F0688E4-7B16-482F-845B-35836FD15D14}"
+Languages:
+- Language: en
+ Versions:
+ - Version: 1
+ Fields:
+ - ID: "25bed78c-4957-4165-998a-ca1b52f67497"
+ Hint: __Created
+ Value: 20181020T161858Z
diff --git a/Cognifide.PowerShell/Data/Serialization/Rules/Editor Rules/PowerShell Editor Rules/Visibility.yml b/Cognifide.PowerShell/Data/Serialization/Rules/Editor Rules/PowerShell Editor Rules/Visibility.yml
new file mode 100644
index 000000000..29d48021b
--- /dev/null
+++ b/Cognifide.PowerShell/Data/Serialization/Rules/Editor Rules/PowerShell Editor Rules/Visibility.yml
@@ -0,0 +1,19 @@
+---
+ID: "bc88bbf4-ea57-41ff-bf37-bfd353dd5c3e"
+Parent: "d555657d-f954-497c-a293-65d5e695ab61"
+Template: "aa91a868-02f2-41d3-8b78-1cad91b4dcae"
+Path: /sitecore/system/Settings/Rules/Definitions/Elements/PowerShell Editor Rules/Visibility
+DB: master
+BranchID: "9a72c539-dbf8-4dad-96d3-a298fc04add6"
+SharedFields:
+- ID: "f6d8a61c-2f84-4401-bd24-52d2068172bc"
+ Hint: __Originator
+ Value: "{283F6CD6-EFB8-47AC-946A-ABB17FA45ECB}"
+Languages:
+- Language: en
+ Versions:
+ - Version: 1
+ Fields:
+ - ID: "25bed78c-4957-4165-998a-ca1b52f67497"
+ Hint: __Created
+ Value: 20181020T161858Z