explain-dataset-ess
Helps users of the Timefold Employee Shift Scheduling (ESS) model understand an optimized schedule by fetching and interpreting the dataset via the API.
Skill by TimefoldAI
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/timefoldai-explain-dataset-ess
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, testing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/explain-dataset-ess
What's inside
- Skill name
explain-dataset-ess- Description
- Helps users of the Timefold Employee Shift Scheduling (ESS) model understand an optimized schedule by fetching and interpreting the dataset via the API. Use this skill whenever someone asks why shifts are unassigned, why a specific employee was assigned to a shift, what the bottlenecks or coverage gaps are, how to read the optimization score, or what they should do to improve their schedule. Also invoke when the user says things like "explain my results", "what's wrong with my plan", "help me understand this schedule", "why can't this shift be filled", "interpret my ESS dataset", or when they share a dataset ID or score string and want help making sense of it.
- License
- Apache-2.0
- Instructions
- 83 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Model context: Employee Shift Scheduling (ESS)
## Terminology
| Generic term | ESS term |
|---|---|
| Work item / work unit | shift |
| Resource | employee |
| Mandatory work | mandatory shift |
| Optional work | optional shift |
| Required capability | skill (e.g. `C300`, `PM`) |
| Capacity constraint | employment contract (max hours/week) |
## Model-specific configuration
Always set these before running any script.
```bash
MODEL=employee-shift-scheduling
MODEL_API_URL=https://app.timefold.ai/api/models/employee-scheduling/v1
COLLECTION=/schedules
OPENAPI_URL=https://app.timefold.ai/openapis/employee-scheduling/v1
```
## Scripts
Scripts live in the sibling skill `explain-dataset-shared`, in its `scripts/` directory.
Anchor every path on this skill's own directory, not on the working directory. The working
directory is the user's project, and these skills are installed somewhere else.
In Claude Code, `${CLAUDE_SKILL_DIR}` is substituted with this skill's directory. If your agent
leaves the placeholder unresolved, replace it with the absolute directory that holds this
`SKILL.md`.
`$PY` is the Python runner that the shared skill's runtime check selects (`uv run`,
`python3`, or `python`). Run that check before the first script call.
The variables in the block below are placeholders. **Write their values out in every command you
run**, with the runner and the absolute script path in full, for example
`uv run /abs/path/to/explain-dataset-shared/scripts/summarize.py --model-api-url https://... --model ...`.
Each command starts a new shell, so a variable that an earlier command set is gone. And in zsh,
the default shell on macOS, `$PY` with the value `uv run` stays one word, so the command is not
found.
```bash
SKILL_DIR=${CLAUDE_SKILL_DIR}
SHARED=$SKILL_DIR/../explain-dataset-shared
SCRIPTS=$SHARED/scripts
PLUGIN_ROOT=${CLAUDE_PLUGIN_ROOT:-$SKILL_DIR/../..}
$PY $SCRIPTS/summarize.py --model-api-url $MODEL_API_URL --model $MODEL --dataset-id ID [--tenant ID]
$PY $SCRIPTS/list_unassigned.py --model-api-url $MODEL_API_URL --model $MODEL --dataset-id ID [--recommendations]
$PY $SCRIPTS/resource_metrics.py --model-api-url $MODEL_API_URL --model $MODEL --dataset-id ID [--sort unprefs|overtime|hours|visits|name]
$PY $SCRIPTS/work_details.py --model-api-url $MODEL_API_URL --model $MODEL --dataset-id ID --work-ids "shift-001"
$PY $SCRIPTS/work_details.py --model-api-url $MODEL_API_URL --model $MODEL --dataset-id ID --resource "EMP-001"
$PY $SCRIPTS/score_violations.py --model-api-url $MODEL_API_URL --model $MODEL --dataset-id ID [--type hard|medium|soft]
$PY $SCRIPTS/score_justifications.py --model-api-url $MODEL_API_URL --model $MODEL --dataset-id ID [--samples 3]
$PY $SCRIPTS/score_justifications.py --model-api-url $MODEL_API_URL --model $MODEL --dataset-id ID --resource "EMP-001"
```
`$SHARED` also carries the version stamp and, in a plugin install, `$PLUGIN_ROOT` carries the
plugin manifest. The report metadata needs both. Keep the two variables set.
## Documentation
- User guide: https://docs.timefold.ai/employee-shift-scheduling/latest/
- Metrics and KPIs: https://docs.timefold.ai/employee-shift-scheduling/latest/metrics-and-optimization-goals
## ESS-specific notes
- **Mandatory vs optional is not a tag on the shift.** Each shift has a `priority` (1-10), and
whether a given priority counts as mandatory or optional is set per dataset in
`globalRules.unassignedShiftRule.priorityWeights`, which maps priority levels to a
`MANDATORY` or `OPTIONAL` assignment. When you need to tell which unassigned shifts are
actually mandatory (a real bottleneck) versus optional (expected leftover capacity), read
that mapping from the dataset's own input rather than assuming a fixed priority threshold.
See [Mandatory and optional shifts](https://docs.timefold.ai/employee-shift-scheduling/latest/shift-service-constraints/mandatory-and-optional-shifts#_mandatory_and_optional_shifts).
## Full instructions
Read and follow: `$SHARED/SKILL.md`From TimefoldAI/skills, Apache-2.0.
More from TimefoldAI/skills
- 0.565score
explain-dataset-fsr
TimefoldAI
Helps users of the Timefold Field Service Routing (FSR) model understand an optimized route plan by fetching and interpreting the dataset via the API.
SkillAFreshness: AClaude Code +9 - 0.565score
explain-dataset-pdr
TimefoldAI
Helps users of the Timefold Pick-up and Delivery Routing (PDR) model understand an optimized route plan by fetching and interpreting the dataset via the API.
SkillAFreshness: AClaude Code +9 - 0.557score
explain-dataset-shared
TimefoldAI
Shared instructions for the explain-dataset skill.
SkillAFreshness: AClaude Code +9 - 0.524score
timefold-write-report
TimefoldAI
Assembles any Timefold audit/review/comparison/explanation report with the standard conventions: a datetime-stamped filename, a metadata block (run date/time…
SkillBFreshness: BClaude Code +9 - 0.524score
language-guidelines
TimefoldAI
Timefold's language rules and terminology for any user-facing writing, including docs, blog posts, LinkedIn/YouTube copy, changelogs, GTM research, battle…
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 19, 2026 (10 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/TimefoldAI/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from TimefoldAI
- 0.565score
explain-dataset-fsr
TimefoldAI
Helps users of the Timefold Field Service Routing (FSR) model understand an optimized route plan by fetching and interpreting the dataset via the API.
SkillAFreshness: AClaude Code +9 - 0.565score
explain-dataset-pdr
TimefoldAI
Helps users of the Timefold Pick-up and Delivery Routing (PDR) model understand an optimized route plan by fetching and interpreting the dataset via the API.
SkillAFreshness: AClaude Code +9 - 0.557score
explain-dataset-shared
TimefoldAI
Shared instructions for the explain-dataset skill.
SkillAFreshness: AClaude Code +9 - 0.524score
timefold-write-report
TimefoldAI
Assembles any Timefold audit/review/comparison/explanation report with the standard conventions: a datetime-stamped filename, a metadata block (run date/time…
SkillBFreshness: BClaude Code +9 - 0.524score
language-guidelines
TimefoldAI
Timefold's language rules and terminology for any user-facing writing, including docs, blog posts, LinkedIn/YouTube copy, changelogs, GTM research, battle…
SkillBFreshness: BClaude Code +9
Cite this page
explain-dataset-ess skill. Agent Mart. https://agentmart.dev/skills/timefoldai-explain-dataset-ess (last updated 2026-10-24)