diff --git a/pkg/model/step_result.go b/pkg/model/step_result.go
index cc44ee6..86e5ebf 100644
--- a/pkg/model/step_result.go
+++ b/pkg/model/step_result.go
@@ -7,11 +7,13 @@ type stepStatus int
 const (
 	StepStatusSuccess stepStatus = iota
 	StepStatusFailure
+	StepStatusSkipped
 )
 
 var stepStatusStrings = [...]string{
 	"success",
 	"failure",
+	"skipped",
 }
 
 func (s stepStatus) MarshalText() ([]byte, error) {
diff --git a/pkg/runner/run_context.go b/pkg/runner/run_context.go
index 58cb2ac..b5b0d43 100644
--- a/pkg/runner/run_context.go
+++ b/pkg/runner/run_context.go
@@ -326,6 +326,8 @@ func (rc *RunContext) newStepExecutor(step *model.Step) common.Executor {
 
 		if !runStep {
 			log.Debugf("Skipping step '%s' due to '%s'", sc.Step.String(), sc.Step.If.Value)
+			rc.StepResults[rc.CurrentStep].Conclusion = model.StepStatusSkipped
+			rc.StepResults[rc.CurrentStep].Outcome = model.StepStatusSkipped
 			return nil
 		}