Guide · Agent skill
How to use the Errata agent skill to log LifeOS complaints
Updated · written with AI from the project's own documentation and checked against our catalogue data
Errata is an agent skill for LifeOS that records your complaints, bugs, feature requests and praise in a local feedback ledger. This guide explains what an agent skill is, how to install Errata, how to trigger it with natural requests, and what it needs and touches on your machine. By the end you will be able to file a logged entry, list recent entries, and run enrichment and triage.
Quick start
- 1Download and unzip. Download the Errata ZIP from this page and unzip it.
- 2Place the skill folder. Move the Errata folder to ~/.claude/skills/, or to .claude/skills/ in a project. In the Claude apps, upload it under Settings, Capabilities, Skills instead.
- 3Confirm LifeOS prerequisites. Check that Bun is installed and that the LifeOS ERRATA modules exist in the same setup.
- 4Log in to GitHub CLI if you plan to send feedback. Only the Send intent needs gh, logged in under your own account. Follow Setup.md for the login and paths.
- 5File your first entry. Type /er followed by a kind tag and your text, such as /er bug: followed by what broke.
- 6Review the ledger. Run /er review to see recent entries and confirm your entry is recorded with its id and kind.
- 7Triage when needed. Run /er triage to enrich entries and create follow-up records for the Upgrades queue.
What an agent skill is and what Errata makes the agent do
An agent skill is a folder of instructions and optional scripts that an AI agent loads when your request matches the skill's description. Errata is the front door to the complaint ledger for LifeOS and its apps.
When you ask for a deliberate record, Errata saves your exact words as one JSON line in the ledger, with some context such as the session and what was requested. It does not paraphrase or rate what you said. Later you can list recent entries, or enrich and triage them into follow-up records for the LifeOS Upgrades queue.
- Record: file a complaint, bug, feature request or praise as one ledger line.
- Review: list recent entries, with filters for kind, system, status and date.
- Triage: enrich entries and turn them into follow-up records for the Upgrades queue.
- Send: draft a GitHub issue to the LifeOS project, shown to you for review before anything is filed.
Install the Errata skill from the ZIP or the Claude apps
Download the Errata ZIP from this page and unzip it. Place the Errata folder in one of these locations: ~/.claude/skills/ for all your projects, or .claude/skills/ inside a specific project folder.
If you use the Claude apps, you can instead upload the skill under Settings, then Capabilities, then Skills.
Errata depends on LifeOS paths and modules, so it only works where those already exist. Check the requirements section below before you install.
- Personal install: ~/.claude/skills/
- Project install: .claude/skills/ in the project folder
- Apps: Settings → Capabilities → Skills
What Errata needs before it runs
Errata is not standalone. It expects the LifeOS ERRATA modules to be installed in the same setup, specifically LIFEOS/ERRATA/Store.ts, Schema.ts, Capture.ts and Signals.ts. Its scripts are TypeScript run with the Bun runtime.
The Send intent is the only part that needs the GitHub CLI (gh), and it must be logged in under your own account. Setup.md covers that login, the ledger paths and a read-only check. Read Setup.md before you use Send.
- Bun runtime (scripts are TypeScript run with bun)
- LifeOS ERRATA modules: LIFEOS/ERRATA/Store.ts, Schema.ts, Capture.ts, Signals.ts
- GitHub CLI (gh) logged in under your own account, only for Send
Trigger Errata with a command or a natural request
You can start Errata with /er followed by your text, or by describing what you want in plain language. The skill also responds to phrases such as errata, file feedback, log a complaint, this is broken and I want it recorded, feature request for LifeOS, and that answer was wrong log it.
Errata routes each request to one intent. Use a kind tag at the start of your text to set the kind of entry: bug:, feature:, praise:, and similar. The skill does not rate or summarise what you said.
- Record: /er <text>, file this, log a complaint, feature request:
- Review: /er review, what have I complained about, recent errata
- Triage: /er triage, triage errata, enrich the errata
- Send: send feedback upstream, report this to LifeOS, /feedback
/er the deploy said live but the page still 404s
/er bug: /socrates renders the stale banner even after a fresh tick
/er feature: let me rate a response from the phone
/er praise: the triage report named the fix before I asked
/er --product the installer assumes zsh
/er review
/er triageReview, filter and triage your entries
Review shows a short table of the most recent entries, by default the last 20. Each row shows id, when, system, kind, status, the first line of the complaint, and whether it is enriched. Filters you name map directly to flags, so 'just bugs' becomes a kind filter and 'this week' becomes a date filter.
Triage runs enrichment and produces follow-up records for the Upgrades queue. Errata's own list and show commands work from the same live ledger that the hook and the daily job write to.
- 'just bugs' filters to --kind bug
- 'about my project' filters to --system <project-name>
- 'the ones nobody looked at' filters to --status new or --unenriched
- 'this week' filters to --since with an ISO date seven days ago
bun ~/.claude/LIFEOS/ERRATA/Errata.ts list [--limit 20] [--system <name>] [--kind <kind>] [--status <status>] [--since <ISO>] [--unenriched] [--json]
bun ~/.claude/LIFEOS/ERRATA/Errata.ts show <id>
bun ~/.claude/LIFEOS/ERRATA/Errata.ts stats --jsonSend feedback upstream as a reviewed GitHub issue
Send is the only intent that uses the network. Your feedback is first recorded locally as an entry targeting LifeOS. Nothing is filed until you approve it.
Before you are asked to say yes, you see the exact issue title and body, its sha256, and a list of anything the scrubber removed, such as secret-shaped strings, home paths, your username, and lines quoting USER/ files. If a matching open issue exists, Errata offers to comment on it instead. The issue is filed under your own gh login, and the URL is shown to you.
- Nothing is filed without your explicit yes.
- You see the full title, body and removed-content list first.
- Duplicate search runs before filing.
Safety notes on scripts, files and network
Errata runs scripts and reads and writes files on your machine. Records are written to the ledger at <configRoot>/LIFEOS/USER/ERRATA/, where configRoot is $CLAUDE_CONFIG_DIR when set, otherwise ~/.claude. Attachments go to ~/.local/state/lifeos/errata/. The ledger can be pointed elsewhere with ERRATA_DIR and ERRATA_STATE_DIR.
Entries are stored verbatim and can include whatever you typed and the surrounding context. Do not use Errata for sensitive incident reporting. That belongs to the separate incident runbooks, because the ledger is written to disk.
- Ledger: <configRoot>/LIFEOS/USER/ERRATA/ (override ERRATA_DIR)
- Attachments: ~/.local/state/lifeos/errata/ (override ERRATA_STATE_DIR)
- Network: only the Send intent, through your own gh login
Tips for getting useful entries
Write the complaint in your own words and include what you asked for and what happened. The triage step can only name what was requested if the entry carries that context, so say it in the message.
Use the kind tags so Review filters work later. For ratings, standing rules and the Upgrades queue itself, use the other tools: Errata routes those elsewhere.
- Name the thing that broke, for example a command or a page.
- Use bug:, feature: or praise: at the start of the text.
- Add --product when the complaint is about LifeOS itself rather than your own project.
- Run review regularly and triage when entries pile up.
What people use it for
- Record a bug in LifeOS with the command and page that failed, so it can be investigated later.
- Log a feature request for LifeOS while it is fresh, with the session context attached.
- Review all open bugs from the past week before a triage pass.
- Draft a reviewed GitHub issue to the LifeOS project from a logged complaint.
- Keep a structured feedback log for your own personal agent setup.
Frequently asked questions
Is the Errata skill free to use?
The source describes the skill under an MIT licence. It does not list prices, so check the licence file in the repository for the terms.
What do I need to install Errata?
You need the Bun runtime, the LifeOS ERRATA modules (Store.ts, Schema.ts, Capture.ts and Signals.ts) in the same setup, and the GitHub CLI logged in under your own account if you want to use Send.
Where do I put the Errata skill folder?
Put it in ~/.claude/skills/ for all projects, or in .claude/skills/ inside a specific project. In the Claude apps, upload it under Settings, Capabilities, Skills.
Does Errata work without LifeOS?
No. It depends on LifeOS paths and modules, so users who do not run LifeOS should not expect it to work.
Does Errata send my feedback to GitHub automatically?
No. Send drafts an issue and shows you the exact title, body and removed content first. It files only after you confirm, using your own gh login.
How is Errata different from a rating or a standing rule?
Errata logs complaints, bugs, feature requests and praise with context. Ratings and standing rules are routed elsewhere, to the hook and the Upgrades store respectively.
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
Errata suits people running LifeOS who want complaints recorded verbatim with enough context to investigate later, and developers who want a structured feedback log. It is not a general notes app, and anyone who does not run LifeOS, or who needs to report sensitive incidents, should use other tools.
Download the skill