LifeOS is an AI-assisted personal operating system that records a person’s goals, values, context, and current situation to help move them toward a desired future state. It supports work such as building applications, starting businesses, and creative projects. Its catalogue entries extend the system through skills, hooks, agents, and commands.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add danielmiessler/LifeOS --skill datarefreshgit clone --depth 1 https://github.com/danielmiessler/LifeOSWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/danielmiessler/lifeos/datarefresh)<a href="https://agentmods.dev/skills/danielmiessler/lifeos/datarefresh"><img src="https://agentmods.dev/badge/skills/danielmiessler/lifeos/datarefresh/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/danielmiessler/lifeos/datarefresh"><img src="https://agentmods.dev/badge/skills/danielmiessler/lifeos/datarefresh.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.00899 |
| Opus 5.5 | $0.00000 | $0.00360 |
| Sonnet 5.5 | $0.00000 | $0.00180 |
| Haiku 4.5 | $0.00000 | $0.00090 |
Grade A, and why
DataRefresh scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 65 lines — stays where its author put it; the contents beside it link to each section on GitHub.
DataRefresh
Registry-driven freshness engine for data-backed public sites. Each registered target carries its own fetch scripts, source-of-record dataset updater, build step, sanctioned deploy command, and live verify probe. One command reports staleness across the fleet; one command brings a target current.
Ideal State
- Every registered target's freshness is known against its own cadence, and a stale one is brought current from its real upstream sources, not from a cached or frozen copy.
- A target that passes its cadence reaches the principal without being asked, through a scheduled read-only status check that reports to Vigil; that check never refreshes or deploys.
- Nothing reaches production unless the principal's ask covered publishing, and a deployed refresh is proven on the live site.
- Narrative figures that the fresh data contradicts are found and fixed by hand; deterministic code never rewrites prose.
- Every refresh run leaves one line per target in the run log (status writes none), and every touched repo ends committed per its own conventions.
Intent Routing
| Intent | Trigger | File |
|---|---|---|
| Status | "are our data sites stale", "data freshness", "status" | Intents/Status.md |
| Refresh | "update the data sites", "refresh ", "repull and redeploy" | Intents/Refresh.md |
| File | Read when |
|---|---|
Setup.md |
first install, registry fields, accounts and secrets, the throwaway-target proof |
Data & Config
- Registry (private data, never in this skill):
~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/DataRefresh/Registry.json.$DATAREFRESH_REGISTRYoverrides the path. With no registry, or one with no targets, the tool exits 1 and points at Setup.md. - Run log:
~/.claude/LIFEOS/MEMORY/OBSERVABILITY/datarefresh.jsonl
Gotchas
- Registry validation is fail-loud by design. A missing repo path or malformed entry throws an InvariantViolation naming the entry — fix the registry, never wrap the load in a try/catch.
- Frozen upstream sources look alive. A source can keep serving 200s with years-stale data (a government feed that froze). When a target's record dates stop advancing across multiple refreshes while cadence says they should, check the source series itself before trusting the pull.
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 65 lines · 0 tokens per session scan A 40ec289bea5f
DataRefresh is a skill published in the GitHub repository danielmiessler/LifeOS (19,703 stars, last pushed 8d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 899 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-28.
Other skills, from other repositories
schedule-recipe
Turn 'run this every Friday at 4pm' into a working, copy-paste schedule on the user's actual runner. Use when asked to schedule a recurring AI task, set up a routine or cron job for a skill, automate a weekly report, or wire a skill into n8n or GitHub Actions. Produces the exact setup for the chosen runner plus the…
repo-scaffold
Scaffold or standardize a production-ready repository structure with specs, source layout, tests, CI, agent context, config examples, release notes, and operational docs. Use when starting a new repo, turning a prototype into a maintainable project, adding missing repository foundations, or creating a repo skeleton…
release-engineering
Plan and verify software releases with versioning, changelogs, release branches, feature flags, canaries, migration gates, rollback, deployment checks, and release readiness. Use when preparing a release, shipping a risky PR, coordinating app/backend/database rollout, recovering from a bad deploy, or defining release…
proactive-background-watcher
Grants the AI the ability to act proactively using native cron/timer scheduling. The agent can monitor systems, poll APIs, or watch logs in the background and self-trigger without waiting for user prompts.
aster-review-ci
Run aster code reviews non-interactively in CI, GitHub Actions, or from another agent. Covers aster review --pr, --json, --stream, --comment, diff-from-stdin, token handling, and filtering findings. Use when wiring aster into a pipeline, posting PR comments, or parsing review output programmatically.
zuke-setup
Set up Zuke — a code-first, strongly-typed build automation system for Deno/TypeScript — in a project. Use when the user wants to add Zuke to a repo, scaffold a zuke.ts build file, install the Zuke CLI, or bootstrap the ./zuke launcher. After scaffolding, switch to the zuke-write-build skill to author targets.