sindresorhus-log-update

ALWAYS use when writing code importing "log-update". Consult for debugging, best practices, or modifying log-update, log update.

25 stars

Best use case

sindresorhus-log-update is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

ALWAYS use when writing code importing "log-update". Consult for debugging, best practices, or modifying log-update, log update.

Teams using sindresorhus-log-update should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/sindresorhus-log-update/SKILL.md --create-dirs "https://raw.githubusercontent.com/ComeOnOliver/skillshub/main/skills/harlan-zw/skilld/sindresorhus-log-update/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/sindresorhus-log-update/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How sindresorhus-log-update Compares

Feature / Agentsindresorhus-log-updateStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

ALWAYS use when writing code importing "log-update". Consult for debugging, best practices, or modifying log-update, log update.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# sindresorhus/log-update `log-update`

**Version:** 7.1.0 (1 week ago)
**Deps:** ansi-escapes@^7.1.0, cli-cursor@^5.0.0, slice-ansi@^7.1.2, strip-ansi@^7.1.2, wrap-ansi@^9.0.2
**Tags:** latest: 7.1.0 (1 week ago)

**References:** [package.json](./.skilld/pkg/package.json) • [GitHub Issues](./.skilld/issues/_INDEX.md) • [Releases](./.skilld/releases/_INDEX.md)

## Search

Use `npx -y skilld search` instead of grepping `.skilld/` directories — hybrid semantic + keyword search across all indexed docs, issues, and releases.

```bash
npx -y skilld search "query" -p log-update
npx -y skilld search "issues:error handling" -p log-update
npx -y skilld search "releases:deprecated" -p log-update
```

Filters: `docs:`, `issues:`, `releases:` prefix narrows by source type.

## API Changes

✨ `.persist(...text)` — new in v7.0, writes text that stays in scrollback (like `console.log`) without clearing the update area [source](./.skilld/releases/v7.0.0.md)

✨ `defaultWidth` / `defaultHeight` options — new in v7.0 for `createLogUpdate()`, controls fallback dimensions when stream lacks `columns`/`rows` (default: 80×24) [source](./.skilld/releases/v7.0.0.md)

✨ Partial diff rendering — v7.0 only redraws changed lines instead of erasing all, reduces flicker [source](./.skilld/releases/v7.0.0.md)

✨ Synchronized output (`?2026h`/`?2026l`) — v7.1 wraps writes in DEC synchronized output sequences on TTYs, eliminates tearing [source](./.skilld/releases/v7.1.0.md)

⚠️ Node.js 20+ required — v7.0 dropped Node 18 support [source](./.skilld/releases/v7.0.0.md)

⚠️ `logUpdate.create()` removed in v5 — use named export `createLogUpdate` instead [source](./.skilld/releases/v5.0.0.md)

⚠️ `logUpdate.stderr` removed in v5 — use named export `logUpdateStderr` instead [source](./.skilld/releases/v5.0.0.md)

⚠️ Pure ESM since v5 — no `require()`, use `import logUpdate from 'log-update'` [source](./.skilld/releases/v5.0.0.md)

## Best Practices

✅ Use `.persist()` for permanent output between updating sections — it writes to scrollback history then resets the update region, unlike `.done()` which just freezes the current frame [source](./.skilld/pkg/readme.md)

```ts
logUpdate('Downloading...')
logUpdate.persist('✓ Download complete')  // stays in scrollback
logUpdate('Installing...')                 // new update region starts

```
✅ Call `.done()` when finished to restore the cursor — the default export hides the cursor on first call and only restores it on `.done()` [source](./.skilld/pkg/index.js)

✅ Set `showCursor: true` via `createLogUpdate` when your CLI also accepts user input — the default singleton hides the cursor which breaks interactive prompts [source](./.skilld/pkg/readme.md)

```ts
const log = createLogUpdate(process.stdout, { showCursor: true })
```

✅ Set `defaultWidth`/`defaultHeight` when output may be piped or redirected — `stream.columns`/`stream.rows` are undefined in non-TTY contexts, defaults are 80×24 [source](./.skilld/pkg/readme.md)

✅ Output is automatically clipped to terminal height (bottom lines kept, top removed) — cannot be disabled, design your output with the most important info at the bottom [source](./.skilld/issues/issue-51.md)

✅ Content exceeding terminal width is hard-wrapped per-character (not word-wrapped) — ANSI-colored strings are handled correctly but long unbroken lines will split mid-word [source](./.skilld/pkg/index.js)

✅ Multiple string arguments are joined with spaces, not newlines — `logUpdate('a', 'b')` produces `"a b"`, use template literals or `\n` for multiline [source](./.skilld/pkg/index.js)

✅ Use `createLogUpdate` for multiple independent update regions — the default export is a singleton; two modules sharing it will clobber each other's output. Each `createLogUpdate` call tracks its own state [source](./.skilld/issues/issue-48.md)

✅ v7.1.0 uses synchronized output (`\x1b[?2026h/l`) on TTYs to eliminate flicker — no action needed, but be aware this wraps every write in DEC private mode sequences that some non-standard terminals may not support [source](./.skilld/releases/v7.1.0.md)

✅ Identical consecutive frames are skipped (no-op) — safe to call `logUpdate()` at high frequency without performance concern, the library diffs and only writes changed lines [source](./.skilld/pkg/index.js)

Related Skills

stakeholder-update

25
from ComeOnOliver/skillshub

Stakeholder communication assistant for status updates, progress reports, and executive summaries. Use when the user needs to write a stakeholder update, status report, progress summary, or any upward communication. Triggers include "stakeholder update", "status update", "progress report", "update leadership", "weekly update", or "executive summary".

data-catalog-updater

25
from ComeOnOliver/skillshub

Data Catalog Updater - Auto-activating skill for Data Pipelines. Triggers on: data catalog updater, data catalog updater Part of the Data Pipelines skill category.

recipe-log-deal-update

25
from ComeOnOliver/skillshub

Append a deal status update to a Google Sheets sales tracking spreadsheet.

update-specification

25
from ComeOnOliver/skillshub

Update an existing specification file for the solution, optimized for Generative AI consumption based on new requirements or updates to any existing code.

update-markdown-file-index

25
from ComeOnOliver/skillshub

Update a markdown file section with an index/table of files from a specified folder.

update-llms

25
from ComeOnOliver/skillshub

Update the llms.txt file in the root folder to reflect changes in documentation or specifications following the llms.txt specification at https://llmstxt.org/

update-implementation-plan

25
from ComeOnOliver/skillshub

Update an existing implementation plan file with new or update requirements to provide new features, refactoring existing code or upgrading packages, design, architecture or infrastructure.

update-avm-modules-in-bicep

25
from ComeOnOliver/skillshub

Update Azure Verified Modules (AVM) to latest versions in Bicep files.

daily-meeting-update

25
from ComeOnOliver/skillshub

Interactive daily standup/meeting update generator. Use when user says 'daily', 'standup', 'scrum update', 'status update', 'what did I do yesterday', 'prepare for meeting', 'morning update', or 'team sync'. Pulls activity from GitHub, Jira, and Claude Code session history. Conducts 4-question interview (yesterday, today, blockers, discussion topics) and generates formatted Markdown update.

claude-win11-speckit-update-skill

25
from ComeOnOliver/skillshub

Windows 11 system management

update-docs

25
from ComeOnOliver/skillshub

ドキュメント更新スキル(仕様書、設計書、README等の更新)

blocklet-updater

25
from ComeOnOliver/skillshub

Creates a new release for a blocklet project by bumping version, building, and bundling. Use when asked to "create a new release", "bump and bundle", or "update blocklet version".