Skip to content
Back to skills

Domain Hr

ASecurity

HR & operations rules: SCD current-record filtering, issue resolution metrics.

  • 485 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 3, 2026
business

Security analysis

A100/100

Scanned September 3, 2026

npx -y skills add SignalPilot-Labs/SignalPilot --skill domain-hr --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Domain Hr?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Domain Hr
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/signalpilot-labs-domain-hr/badge)](https://www.skillsdirectory.com/skills/signalpilot-labs-domain-hr)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: domain-hr
description: "HR & operations rules: SCD current-record filtering, issue resolution metrics."
---

# HR & Operations

## Driving Table

When aggregating workforce or issue metrics, drive FROM the fact/event table (issues, tickets, time_entries), not the dimension table (employees, teams, projects). Employees with zero activity MUST NOT appear in activity reports - they have no data to aggregate.

Exception: if a parent/entity table exists whose primary key matches the
GROUP BY key AND some parent rows have no matching children in the detail
table, drive FROM the parent and LEFT JOIN the detail. Parent rows with
zero children must appear with count=0, not be silently dropped.

## SCD (Slowly Changing Dimensions)

Tables with `_fivetran_start`/`_fivetran_end` or `valid_from`/`valid_to` columns track historical state. You MUST filter to the current record before aggregating.

Current record: `_fivetran_end = '9999-12-31'` OR `_fivetran_end IS NULL` - verify the sentinel value by querying 3-5 rows before assuming.

For `_fivetran_active` columns, always use `WHERE COALESCE(_fivetran_active, true)` - never `WHERE _fivetran_active = true` because NULL values (meaning "active") would be filtered out.

NEVER aggregate across all historical rows without filtering to current records first - doing so double-counts entities that changed state.

## Issue Resolution Metrics

Include ONLY closed issues in resolution time calculations - open issues have no close timestamp.

NEVER substitute `current_date` for a missing close timestamp - this produces artificially inflated resolution times that corrupt the metric.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…