Skip to content

Guide · Agent skill

How to use the NSLogger Log Analyzer CLI agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

cli-anything-nslogger is an agent skill that teaches an AI agent to run a command-line tool for NSLogger, a macOS log viewer used to debug iOS and macOS apps. This guide explains what the skill does, how to install it, how to ask for things in plain language, and what to watch for on safety. By the end you will be able to point an agent at a captured NSLogger session and have it summarise, search and export the logs.

NSLogger Log Analyzer CLIHKUDS/CLI-Anything · Apache-2.0

Quick start

  1. 1Check requirements. Confirm you have Python with pip and Git installed. Use macOS if you need live listening.
  2. 2Install the tool. Run the pip install command from the GitHub repository and check the install with --help.
  3. 3Install the skill. Download the skill ZIP from this page and unzip it into ~/.claude/skills/ or a project's .claude/skills/ folder, or upload it under Settings, Capabilities, Skills in the Claude apps.
  4. 4Find your log file. Locate the .rawnsloggerdata or .nsloggerdata file you want to analyse.
  5. 5Ask the agent in plain language. Describe the goal, such as finding errors or network failures, and name the file.
  6. 6Export or monitor. Export results to JSON, CSV or text, or use listen mode to receive live logs and keep a local copy.

What the skill lets the agent do

NSLogger records log messages from an app and saves them to files with the extensions .rawnsloggerdata or .nsloggerdata. The cli-anything-nslogger skill gives an agent a command-line tool that can read those files and work with them without anyone scrolling through the log by hand.

With the skill, the agent can produce summary statistics for a session, display or filter messages by log level, tag, thread or regular expression, export logs as text, JSON or CSV, and listen for live logs sent by a running app over the network.

  • Summarise a captured session with message counts by level, tag, thread and type
  • Find errors, warnings, or network failures such as timeouts
  • Export a full or filtered log for offline analysis
  • Receive live logs from an app and save a local copy

Install the skill

Before installing, check the requirements: Python with pip, Git, and macOS if you plan to use live listening. The skill's tool is installed from a GitHub repository, so Git must be available.

To add the skill to Claude Code, download the skill ZIP from this page and unzip it into ~/.claude/skills/ for all your projects, or into a project's .claude/skills/ folder for that project only. In the Claude apps, you can instead upload the ZIP under Settings, then Capabilities, then Skills.

The skill also depends on the command-line tool. The SKILL.md file lists this install command, which pulls the package from GitHub. Run it in your terminal, then check that the command is available.

  • Install the tool: pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=nslogger/agent-harness
  • If you are working from a local copy of the repository, the source file shows: cd nslogger/agent-harness, then pip install -e .
  • Verify the install with: cli-anything-nslogger --help
pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=nslogger/agent-harness cli-anything-nslogger --help

Trigger the skill with natural requests

You do not need to type commands yourself. Once the skill is installed, describe the problem in plain language and name the log file. The agent chooses the matching command. Good requests name the file, the goal, and any filter you care about, such as the tag or level.

Errors are level 0, warnings are level 1, info is level 2, debug is level 3 and verbose is level 4. If you say 'errors' or 'warnings', the agent can map that to the right level.

  • Summarise crash.rawnsloggerdata and tell me what looks wrong
  • Find all errors in session.rawnsloggerdata from the five minutes before the crash
  • Show network failures in session.rawnsloggerdata that mention timeout or failed
  • Export session.rawnsloggerdata to JSON at crash_log.json
  • Listen for logs from my iOS app over Bonjour and save them to app.log

Use the commands directly

You can also run the tool yourself, which is useful for checking what the agent will see. The main commands are stats, read, filter, export, listen, generate and repl. Add --json to most commands for machine-readable output.

The stats command returns a JSON object with fields including total, by_level, by_tag, by_thread, by_type, clients, first_timestamp, last_timestamp and duration_seconds. Each message in JSON output includes fields such as sequence, timestamp, thread_id, tag, level, level_name, text and the client details.

  • stats: summary of a session, human-readable or with --json
  • read: display messages, with --level, --tag, --search and --limit options
  • filter: advanced filtering with --level, --tag, --regex, --thread and --json
  • export: write text, JSON or CSV with --format and --output
  • generate: create sample files for testing
  • repl: start an interactive session
cli-anything-nslogger stats session.rawnsloggerdata --json cli-anything-nslogger filter session.rawnsloggerdata --level 0 --json cli-anything-nslogger filter session.rawnsloggerdata --tag Network --regex 'fail|timeout|error' --json cli-anything-nslogger export session.rawnsloggerdata --format csv --output logs.csv

Monitor a running app with listen mode

Listen mode receives logs from an app that is configured to send NSLogger output. The source recommends Bonjour mode first for iOS apps, because it matches the desktop NSLogger GUI. In this mode the CLI publishes a native macOS NetService with the type _nslogger-ssl._tcp and accepts TLS NSLogger frames.

Use direct TCP/TLS mode only when the app is manually configured with the Mac host and port. Listen mode runs until you press Ctrl-C. Use the --output option to keep a local copy while still printing to the terminal.

  • Bonjour mode: listen --bonjour --name bazinga
  • Save a copy to a text file: add --output app.log
  • Save machine-readable JSON Lines: add --output app.jsonl --output-format jsonl
  • Direct TCP/TLS mode: listen --port 50000 --ssl
cli-anything-nslogger listen --bonjour --name bazinga --output app.log --debug

Safety notes: scripts and network

This skill runs scripts and uses the network. The listen mode accepts incoming connections, optionally over TLS, and in Bonjour mode publishes a service that other devices on the same network could see. Only use live listening on a network you trust, and stop the listener with Ctrl-C when you are finished.

Log files may contain sensitive information from your app, such as user data, tokens or server responses. Check what is in a file before you share an export or paste its contents into a chat.

  • Run listen mode only on trusted networks
  • Stop the listener with Ctrl-C when done
  • Review exported logs for personal or secret data before sharing them
  • Only install the tool from sources you trust

Tips for better results

Start with stats to see the shape of a session before asking for detail. Narrow filters by level and tag make the output easier for the agent to reason about. Use JSON output when the agent needs to process results rather than read them.

The skill's example workflows start with stats on a crash capture, then filter for errors, then filter for network failures with a regex, then export the full log. Following that order keeps each step focused.

  • Begin with stats, then narrow with filter
  • Combine --tag with --regex for network issues
  • Export to JSON for structured analysis and CSV for spreadsheets
  • Use Bonjour mode first when working with iOS apps

What people use it for

  • Triage a captured crash session by summarising it and pulling out the errors leading up to the failure.
  • Find network failures such as timeouts by filtering on the Network tag with a regex.
  • Export a session to CSV or JSON so it can be analysed offline or in a spreadsheet.
  • Monitor an iOS app live over Bonjour while saving a local copy of its logs.

Frequently asked questions

Is the cli-anything-nslogger skill free?

The source does not state pricing or licence terms for this skill. The repository it comes from, HKUDS/CLI-Anything, is listed under the Apache-2.0 licence on this page, so check that licence for the terms of use.

What do I need to use cli-anything-nslogger?

You need Python with pip, Git for the install command, and macOS if you want to use listen mode. An iOS or macOS app configured to send NSLogger logs is only needed for live listening, since the tool otherwise reads saved log files.

How do I install the cli-anything-nslogger skill?

Download the skill ZIP from this page and unzip it into ~/.claude/skills/ or a project's .claude/skills/ folder, or upload it in the Claude apps under Settings, Capabilities, Skills. Then install the underlying tool with the pip command shown in this guide.

Does this work with NSLogger log files from iOS apps?

Yes, it reads NSLogger file formats, .rawnsloggerdata and .nsloggerdata, and the source describes NSLogger as a macOS log viewer for iOS and macOS apps. It only reads NSLogger formats, so it will not parse other log types.

Can the agent export NSLogger logs to JSON or CSV?

Yes. The export command supports text, JSON and CSV formats with a --format option and writes to a file with --output. You can also filter before exporting, for example by level or tag.

Is it safe to use listen mode on a public Wi-Fi network?

Listen mode accepts incoming connections and in Bonjour mode publishes a service other devices on the network could see. Use it only on networks you trust, and stop it with Ctrl-C when you finish.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

This skill suits iOS and macOS developers who already use NSLogger and want an AI agent to triage captured sessions, find errors, and export logs. It is not useful if you do not use NSLogger, and you should avoid live listening on networks you do not trust.

Download the skill