Skip to content
OpenSmartRoute
Skillv1.0.0

ora

Add terminal spinners with Ora. Use when showing loading indicators in CLI tools, displaying progress during async operations, or building polished command-line interfaces with status feedback.

by terminalskills(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from terminalskills/skills (skills/ora/SKILL.md). Install upstream with npx skills add terminalskills/skills --skill ora. Copyright stays with the author (Apache-2.0).

Ora

Overview

Ora creates elegant terminal spinners. Show progress during async operations (API calls, file processing, builds), then succeed/fail with a final status. Used by create-next-app, Vercel CLI, Angular CLI.

Instructions

Step 1: Basic Spinner

import ora from 'ora'

const spinner = ora('Installing dependencies...').start()

try {
  await exec('npm install')
  spinner.succeed('Dependencies installed')
} catch (err) {
  spinner.fail('Installation failed')
  process.exit(1)
}

Step 2: Multi-Step Operations

async function deploy(env: string) {
  const spinner = ora()

  spinner.start('Building project...')
  await build()
  spinner.succeed('Build complete')

  spinner.start('Running tests...')
  const results = await runTests()
  spinner.succeed(`${results.passed} tests passed`)

  spinner.start(`Deploying to ${env}...`)
  const url = await deployToCloud(env)
  spinner.succeed(`Deployed to ${url}`)

  spinner.start('Verifying deployment...')
  await healthCheck(url)
  spinner.succeed('Deployment verified ✓')
}

Step 3: With Other Libraries

import ora from 'ora'
import chalk from 'chalk'

const spinner = ora({
  text: 'Processing files...',
  color: 'cyan',
  spinner: 'dots',       // or 'line', 'arc', 'bouncingBar'
})

spinner.start()
spinner.text = `Processing ${chalk.bold('image-001.png')}...`
// ... after processing
spinner.text = `Processing ${chalk.bold('image-002.png')}...`

spinner.stopAndPersist({
  symbol: chalk.green('✓'),
  text: `Processed ${chalk.bold('42')} files in ${chalk.gray('3.2s')}`,
})

Guidelines

  • succeed() / fail() / warn() / info() stop the spinner with a status icon.
  • stopAndPersist() for custom symbols/text when the built-in statuses don't fit.
  • Update spinner.text during long operations to show progress.
  • Ora is ESM-only since v6. Use import ora from 'ora'.
  • In CI environments, ora falls back to static text (no animation).

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/terminalskills-skills-ora/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

terminalskills-skills-ora.ocm.jsonjson
{
  "ocm": "1",
  "id": "terminalskills-skills-ora",
  "kind": "skill",
  "name": "ora",
  "description": "Add terminal spinners with Ora. Use when showing loading indicators in CLI tools, displaying progress during async operations, or building polished command-line interfaces with status feedback.",
  "publisher": "terminalskills",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "general"
    ],
    "tags": [
      "skill-md",
      "ora",
      "cli",
      "spinner",
      "loading",
      "terminal",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Add terminal spinners with Ora. Use when showing loading indicators in CLI tools, displaying progress during async operations, or building polished command-line interfaces with status feedback."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/terminalskills/skills",
      "path": "skills/ora/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/terminalskills/skills/blob/HEAD/skills/ora/SKILL.md",
      "key": "terminalskills/skills/skills/ora/SKILL.md"
    },
    "compatibility": "Node.js 16+",
    "license": "Apache-2.0"
  },
  "instructions": "# Ora\n\n## Overview\n\nOra creates elegant terminal spinners. Show progress during async operations (API calls, file processing, builds), then succeed/fail with a final status. Used by create-next-app, Vercel CLI, Angular CLI.\n\n## Instructions\n\n### Step 1: Basic Spinner\n\n```typescript\nimport ora from 'ora'\n\nconst spinner = ora('Installing dependencies...').start()\n\ntry {\n  await exec('npm install')\n  spinner.succeed('Dependencies installed')\n} catch (err) {\n  spinner.fail('Installation failed')\n  process.exit(1)\n}\n```\n\n### Step 2: Multi-Step Operations\n\n```typescript\nasync function deploy(env: st",
  "cost": {
    "context_tokens": 497
  }
}

Fetch it by URL: GET /api/v1/registry/terminalskills-skills-ora/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.