okhp3-process-gap-analysis
OverKill Hill P³ · overkillhill.com · github.com/OKHP3
Purpose
Systematically identify gaps, deviations, and exception paths in a captured as-is process. The analysis distinguishes:
- Structural gaps — missing steps, undefined roles, absent inputs or outputs
- Execution gaps — steps performed inconsistently or only by specific individuals
- Exception gaps — failure paths with no documented handling
- Compliance gaps — steps missing required controls or policy references
When to use this skill
- You have an
as-is-process.yamland want to identify improvement opportunities - User asks where the current process fails, slows down, or creates risk
- Preparing the input for
future-state-and-change-strategy - User needs a root cause analysis of a known process failure
When NOT to use this skill
- No as-is capture exists — run
as-is-process-capturefirst - User wants to design the future state immediately — note the gap analysis is needed first, then run
future-state-and-change-strategy - Do not propose solutions here — record gaps only; solutions belong in the future-state skill
Gap Analysis Framework
scripts/analyze-gaps.mjs analyses the as-is process for the following gap types:
Type 1 — Structural gaps
| Pattern | Gap description |
|---|---|
Step with no actor_role_id |
Unowned activity |
| No start event or end event | Missing process boundary |
Input with no source |
Untraced input |
Output with no consumer |
Undelivered output |
business_rules empty |
Undocumented constraints |
Type 2 — Execution gaps
| Pattern | Gap description |
|---|---|
capture_quality: low on step |
Poorly understood activity |
Step with notes containing "usually" or "sometimes" |
Inconsistent execution |
| Single person as sole performer across >50% of steps | Key-person dependency |
Type 3 — Exception gaps
| Pattern | Gap description |
|---|---|
| Decision point with no exception path | Unhandled failure branch |
Exception in PIR with no handling |
Undefined recovery procedure |
Exception path with owner_role_id empty |
Unowned error handling |
Type 4 — Compliance gaps
| Pattern | Gap description |
|---|---|
controls empty on process |
No governance controls |
Approval step with no approver role |
Missing segregation of duties |
| High-risk exception with no escalation path | Escalation path undefined |
Severity Classification
| Severity | Description |
|---|---|
critical |
Process cannot complete without this being resolved |
major |
Significant risk of nonconformity or failure |
minor |
Inconsistency or improvement opportunity |
observation |
Informational — no immediate action required |
Exception Catalog
For each exception found, record:
exception_id— stable identifierdescription— what goes wrongtrigger_condition— what causes this exceptionaffected_steps[]— whichact-NNNIDs are affectedcurrent_handling— what the process does today (if anything)severity— critical | major | minor | observationrecommended_action— brief description (not a full solution)
Handoff Instruction
Pass gap-analysis.yaml and exception-catalog.yaml to future-state-and-change-strategy to prioritise gaps and design the target state.
Also use exception-catalog.yaml to enrich exception_paths[] in process-narrative-authoring.
References
Load on demand:
references/gap-analysis-framework.md— gap type taxonomy, severity classification, and root cause analysis templates
Scripts
scripts/analyze-gaps.mjs— detects structural, execution, exception, and compliance gaps from as-is-process.yaml
Assets
assets/fixtures/gap-analysis-example.yaml— canonical gap analysis for purchase-approval as-is process
About
Built by Jamie Hill · OverKill Hill P³ Published at github.com/OKHP3 Part of the OKHP3/skillz Agent Skill library. MIT License -- free to use, fork, and adapt. A nod to the source is appreciated.