agent build
This commit is contained in:
99
skills/staffing-risk.md
Normal file
99
skills/staffing-risk.md
Normal file
@@ -0,0 +1,99 @@
|
||||
---
|
||||
id: staffing-risk
|
||||
name: Staffing Risk
|
||||
description: Identify open roles that will not fill on their own, and say why.
|
||||
category: workforce
|
||||
pages:
|
||||
- positions
|
||||
- control-center
|
||||
status: active
|
||||
version: 1
|
||||
triggers:
|
||||
- staffing risk
|
||||
- staffing gap
|
||||
# `*` stands for anything in between, so one line covers "roles at risk",
|
||||
# "roles that are at risk" and "roles most at risk" without listing each.
|
||||
- roles*at risk
|
||||
- positions*at risk
|
||||
- understaffed
|
||||
owliver:
|
||||
enabled: true
|
||||
suggestions:
|
||||
- label: Which roles are at risk?
|
||||
capability: list
|
||||
- label: Summarize staffing risk
|
||||
capability: summary
|
||||
capabilities:
|
||||
- summary
|
||||
- list
|
||||
- table
|
||||
- insight
|
||||
responses:
|
||||
summary:
|
||||
title: Staffing risk
|
||||
source: positions.risk
|
||||
list:
|
||||
title: Roles at risk
|
||||
source: positions.risk
|
||||
limit: 5
|
||||
table:
|
||||
title: Roles at risk
|
||||
source: positions.risk
|
||||
insight:
|
||||
title: Biggest staffing risk
|
||||
source: positions.risk
|
||||
---
|
||||
|
||||
# Staffing Risk
|
||||
|
||||
## Purpose
|
||||
|
||||
- Name the open roles that are not going to fill without intervention.
|
||||
- Say which of four distinct problems each one has, because each has a
|
||||
different fix.
|
||||
- Rank them so the reader knows which to deal with first.
|
||||
|
||||
## Capabilities
|
||||
|
||||
- Count the open roles currently at risk.
|
||||
- List those roles, worst first, with the reason for each.
|
||||
- Identify the single role most in need of attention.
|
||||
|
||||
## Data
|
||||
|
||||
Reads `positions.risk`, which joins open `JobPosting` records to their
|
||||
`JobApplication` records through the same `buildPosition` reading the Positions
|
||||
page renders from. No separate calculation, so a risk reported here and a health
|
||||
badge shown there cannot disagree.
|
||||
|
||||
## Analysis
|
||||
|
||||
A role is at risk when any of the following is true. They are kept apart rather
|
||||
than combined into a score, because the score would hide the only part that
|
||||
tells the reader what to do:
|
||||
|
||||
1. **No applicants yet** — nobody has applied. Needs sourcing.
|
||||
2. **No candidate scoring 70 or above** — people applied, none are viable.
|
||||
Needs the requirements or the pay revisiting.
|
||||
3. **Three or more unscreened** — a backlog nobody has looked at. Needs
|
||||
screening.
|
||||
4. **Someone awaiting a decision** — a strong candidate has been screened and
|
||||
not moved on. Needs a person to decide.
|
||||
|
||||
Ranking weights an empty pipeline above a busy one that needs attention, since
|
||||
an empty pipeline takes longest to recover.
|
||||
|
||||
## Output
|
||||
|
||||
A count of roles at risk, then a row per role naming its department and its
|
||||
reasons. A role with no problems is not listed.
|
||||
|
||||
## Limitations
|
||||
|
||||
- Only open roles are considered. A paused or closed role is not at risk.
|
||||
- "Viable" means an AI score of 70 or above. An unscored candidate is not
|
||||
counted as viable, so a role whose applicants nobody has screened will report
|
||||
both an unscreened backlog and no viable candidate — those are two true
|
||||
statements about the same cause.
|
||||
- This reads the pipeline, not the roster. It does not know how many people a
|
||||
role needs, because no position in this workspace states a headcount.
|
||||
Reference in New Issue
Block a user