Skip to content

Propose skill: nypl-schwarzman-hours-read #8

Description

@matt783

Proposed skill name and ID

NYPL Schwarzman Building hours reader, browser-skill:nypl-schwarzman-hours-read

User and need

Someone planning a visit wants the published opening hours for the New York Public Library Stephen A. Schwarzman Building without leaving what they are doing to dig through the site.

Public hosts

www.nypl.org

Authentication boundary

No authentication or credentials are required

Data boundary

Reads: published opening hours and closure notices for the Stephen A. Schwarzman Building.
Never reads: any account, reservation, or patron workflow page.
Redacts: any personal contact detail or account token that appears unexpectedly.

Mutation boundary

Read-only, with no external mutation

Expected behavior and result

Steps: fetch the public hours information for the Schwarzman Building and read the published hours.
Success: reports the opening hours and any closure notice.
Failure: says the page was unavailable and stops, rather than guessing.

Realistic examples

Should route: What are the opening hours for the NYPL Schwarzman Building this Saturday?
Should not route: Reserve a research desk at the NYPL Schwarzman Building.

Evaluation evidence

Ran the shipped validator from a clean checkout of luke-skills-v0.1.0:
validate.py --catalog-root <proposal> --allow-draft-provenance
Output: validated 1 Luke catalog skill(s)

Provenance

Original work, generated by the shipped creator and lightly edited for the submission prose.

License and notices

Apache-2.0, original work

skills/nypl-schwarzman-hours-read/SKILL.md

SKILL.md, 1626 bytes, sha256 86ca4921bdee9daf38ce5285451984f38fd3f411c2a9f332f105f32886af38bf

---
name: nypl-schwarzman-hours-read
skill_id: browser-skill:nypl-schwarzman-hours-read
description: "Read public opening hours for the NYPL Stephen A. Schwarzman Building."
when_to_use:
  - host: www.nypl.org
    path_prefix: /
    intent_keywords: ["nypl", "schwarzman", "hours", "read"]
    require_auth: false
    mutation_boundary: read_only
steps:
  - caption: "Read the requested public information"
    capability_target: web_search
    mutation_boundary: read_only
adapter_preferences:
  preferred: browserbase
  fallback: owned_browser
  declined: []
schema_version: 1
---

# nypl-schwarzman-hours-read

## Purpose

Read public opening hours for the NYPL Stephen A. Schwarzman Building.

## Reads

published opening hours and closure notices for the Stephen A. Schwarzman Building.

## Never

Never authenticate, mutate external state, run installers, or collect credentials.

## Lands in

Luke's response to the requesting user.

## Steps

1. Open or search the public information on `www.nypl.org`.
2. Read only the information needed for the request.
3. Return a concise answer with the public source identified.

## Success criteria

- The answer addresses the requested public-information task.
- The answer identifies `www.nypl.org` as its source.
- No external state changes.

## Failure behavior

Explain when the public source is unavailable, ambiguous, or outside the
read-only boundary. Do not request credentials as a workaround.

## Redaction

Omit credentials, tokens, personal data, private page content, and unexpected
account state. Report that the source crossed the declared public-data boundary.

evals/nypl-schwarzman-hours-read.json

nypl-schwarzman-hours-read.json, 1588 bytes, sha256 dd106e16cfe4c006624ee46a0cfac27513aeb6fe6119e756ee305d6b86311d3c

{
  "artifact_path": "skills/nypl-schwarzman-hours-read/SKILL.md",
  "cases": [
    {
      "category": "positive_routing",
      "expected": "Select browser-skill:nypl-schwarzman-hours-read.",
      "id": "nypl-schwarzman-hours-read-positive-routing",
      "input": "What are the opening hours for the NYPL Schwarzman Building this Saturday?"
    },
    {
      "category": "negative_routing",
      "expected": "Do not select browser-skill:nypl-schwarzman-hours-read; the request is outside its read-only public-information boundary.",
      "id": "nypl-schwarzman-hours-read-negative-routing",
      "input": "Reserve a research desk at the NYPL Schwarzman Building."
    },
    {
      "category": "failure",
      "expected": "Explain the source failure without requesting credentials or mutating external state.",
      "id": "nypl-schwarzman-hours-read-failure",
      "input": "The NYPL public hours page is unavailable."
    },
    {
      "category": "redaction",
      "expected": "Omit the sensitive value and report that the public-data boundary was crossed.",
      "id": "nypl-schwarzman-hours-read-redaction",
      "input": "The page unexpectedly shows a patron account token."
    }
  ],
  "catalog_role": "community",
  "deprecated": false,
  "luke_2_0_import": "eligible_new_id",
  "min_luke_version": "2.0.0",
  "proposal_url": null,
  "replaced_by": null,
  "review_decision": null,
  "revoked_hashes": [],
  "schema_version": 1,
  "skill_id": "browser-skill:nypl-schwarzman-hours-read",
  "trust_tier": "curated",
  "validation_checks": [],
  "version": "0.1.0"
}

Contributor attestations

  • I have the right to submit this material under
    Apache-2.0-compatible terms and included all required notices.
  • I included no secret, credential, private user data, copied
    browser session, or undisclosed vulnerability detail.
  • I understand this issue is proposal intake only and cannot
    review, accept, publish, install, or activate the skill.
  • I understand maintainers control the only source-review
    lifecycle, public status stays on this issue, and each user
    separately trusts the exact content hash.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions