noora-progress-step

Installation
SKILL.md

Noora Progress Step

Use this skill when a Swift CLI runs an async operation and should show a spinner plus optional intermediate text.

Basic Pattern

import Noora

try await Noora().progressStep(
    message: "Resolving plugins",
    successMessage: "Plugins resolved",
    errorMessage: "Plugin resolution failed",
    showSpinner: true
) { update in
    update("Loading plugin manifests")
    try await Task.sleep(nanoseconds: 300_000_000)
    update("Checking compatibility")
    try await Task.sleep(nanoseconds: 300_000_000)
}

Good Fit

  • Fetching remote metadata.
  • Generating configuration.
  • Resolving dependencies.
  • Running a sequence of short async tasks.

Guidance

  • Use successMessage and errorMessage when the outcome should remain visible after completion.
  • Call the update closure only for meaningful stage changes, not every tiny event.
  • Chain multiple progressStep calls when the workflow has distinct stages.

Avoid

  • Spamming updates faster than a human can read.
  • Using a spinner when real percentage progress is available. Prefer progressBarStep.
Related skills
Installs
1
First Seen
Mar 31, 2026