Skip to main content

current-esaf

Retrieve the ESAF active right now at the configured beamline from alshub-api. Strictly scoped to the present moment — never queries a different date.

Informations de source

Dépôt
als-controls/lightfall
Dernière activité de la source
2 août 2026 à 08:01
Langue détectée de SKILL.md
anglais
Étoiles
8
Forks
0

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
current-esaf
description
Retrieve the ESAF active right now at the configured beamline from alshub-api. Strictly scoped to the present moment — never queries a different date.
## Current ESAF Skill Use this skill when the user asks about the ESAF, proposal, or experiment that is **happening right now** at this beamline. Typical phrasings: - "what ESAF is active?" - "what's the current experiment?" - "who's running on the beamline?" - "tag this logbook entry with the current proposal" ### Configured beamline Currently set to **{{beamline}}** (from Preferences → Tiled → Beamline). If you see `<not configured>` above, the user must set the beamline pref before this skill can be used — surface that clearly when asked. ### The one tool `get_current_esaf(include_details: bool = False)` — calls alshub-api and returns the ESAF whose scheduled window contains the present instant. - `include_details=False` (default): lean payload from the public endpoint — `EsafFriendlyId`, `ProposalFriendlyId`, `Beamline`, `ScheduledStart`, `ScheduledStop`, `Title`. No auth needed. - `include_details=True`: full Event payload, including `PI`, `ExpLead`, `Participants` (each with name/email/orcid/lbnl-id), `Description`, `Status`, `Version`. Requires an alshub API key (from the `tiled_alshub_api_key` preference, the `ALSHUB_API_KEY` env var, or `~/.bashrc`). If the key isn't available, the tool returns an error rather than silently degrading to the lean payload. ### Three response states (matching AccessStamper's convention) - ESAF dict → an experiment is scheduled and running now. - `null` → no ESAF scheduled at this instant. Not an error; surface plainly. - Tool error → alshub-api is unreachable, returned non-404 failure, or required preferences are unset. ### When to REFUSE If the user asks about an ESAF at a *different time* — "what ESAF is on June 16?", "what's scheduled next week?", "show me last Tuesday's experiment" — this skill does **not** answer. Tell the user it's scoped to "now" and suggest the ALS User Portal. Do NOT extend this skill, write inline code, or invent a date parameter for the tool. The "now-only" constraint is structural, not stylistic. ### Beamline is set by preferences, not by argument This skill always operates on whatever beamline is currently set in `Preferences → Tiled → Beamline`. To use it at a different beamline, change the preference (or restart Lightfall against a different config) — the tool itself never accepts a beamline parameter.
Voir sur GitHub