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.

Informações da origem

Repositório
als-controls/lightfall
Última atividade na origem
2 de agosto de 2026 às 08:01
Idioma detectado do SKILL.md
inglês
Estrelas
8
Forks
0

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
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.
Ver no GitHub