← Back to Skills Marketplace
dsdevq

Life State

by Denys · GitHub ↗ · v0.1.0 · MIT-0
cross-platform ✓ Security Clean
94
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install life-state
Description
Daily mood / energy / soreness / sleep capture primitive. Other lifekit skills read this to make state-aware suggestions instead of generic templates.
README (SKILL.md)

life-state

A boring, durable state primitive. NOT a chat experience — it's the integration glue that lets other skills (morning_brief, future workout suggester, bedtime brief) adapt to your current state instead of returning the same template every day.

When to invoke

User describes how they feel, their energy level, soreness, or sleep quality. Examples:

  • "feeling tired today, energy 4, sore chest"
  • "slept well, energy 8"
  • "good mood but quads are wrecked"
  • "headache, low energy"
  • "morning check-in: normal mood, energy 6, slept ok"

How to invoke

Use the life-state CLI via Bash. YAML output to stdout.

Capture state (merge semantics — only updates the fields you pass)

life-state set --mood tired --energy 4 --sore chest,triceps --sleep poor --note "headache, late night"

Flags (all optional, at least one required):

  • --mood \x3Cm>great | good | normal | tired | terrible (freeform accepted; lowercased)
  • --energy \x3Cn> — 1-10 (rejected outside that range)
  • --sleep \x3Cq>good | ok | poor (freeform accepted)
  • --sore \x3Clist> — comma-separated muscle groups (e.g. chest,triceps)
  • --note "\x3Ctext>" — free-text annotation
  • --date YYYY-MM-DD — override (default: today)

Merge semantics: calling set twice on the same day updates only the fields passed. Morning check-in + post-workout check-in compose cleanly.

Read today's state

life-state get
life-state get --date 2026-05-15

Week aggregate

life-state week              # last 7 days
life-state week --days 14    # last 14 days

Returns avg energy, mood histogram, top soreness areas, and per-day rollup.

Data location

~/.life/state/\x3Cdate>.json — one JSON file per day. Stable, known location every other lifekit skill should read from.

Schema:

{
  "date": "2026-05-15",
  "mood": "tired",
  "energy": 4,
  "soreness": ["chest", "triceps"],
  "sleep_quality": "poor",
  "note": "headache, late night",
  "updated_at": "2026-05-15T19:30:00.000Z"
}

Notes for the agent

  • Don't be Sol. This skill has no personality — capture the state and confirm tersely. Personality belongs in morning_brief, not here.
  • Parse loosely from natural language. "feeling tired, energy 4" → --mood tired --energy 4. "sore chest and triceps" → --sore chest,triceps.
  • Merge, don't replace. If user adds "energy 6 now" later in the day, only update --energy. Don't wipe morning mood.
  • Recommend the enum values when you summarize back, but accept freeform — if a user says "drained" or "wired," store it verbatim; downstream skills can pattern-match or pass-through.
  • Other skills should read this state at the start of their flow:
    • morning_brief: read yesterday's sleep_quality + today's energy to vary breakfast / day prep
    • workout suggester (when built): read today's energy + soreness to adapt volume
    • bedtime brief: read today's note to tailor wind-down
Usage Guidance
Treat this as an incomplete review: the workspace artifacts could not be inspected, so installation should wait for a successful artifact review.
Capability Tags
cryptocan-make-purchases
Capability Assessment
Purpose & Capability
Workspace inspection was unavailable in this run, so no purpose or capability claims could be verified from artifacts.
Instruction Scope
No artifact text was accessible for instruction-scope review.
Install Mechanism
Install behavior could not be assessed because artifact files were not readable through the available tool session.
Credentials
No concrete environment access claims or runtime behavior were available to evaluate.
Persistence & Privilege
No artifact-backed evidence of persistence or privilege use was available.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install life-state
  3. After installation, invoke the skill by name or use /life-state
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.0
Initial release of the life-state skill, a foundational daily state logger for lifekit integration. - Enables users to log mood, energy, soreness, sleep, and notes via CLI commands. - Uses merge semantics: new state updates only specified fields, preserving previously logged data for the day. - Outputs and stores one JSON file per day at a stable location for other lifekit skills to read. - Provides flexible natural language parsing and accepts freeform values. - Includes week aggregation and retrieval of historical state. - Designed for background state capture; no personality or chat experience.
Metadata
Slug life-state
Version 0.1.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Life State?

Daily mood / energy / soreness / sleep capture primitive. Other lifekit skills read this to make state-aware suggestions instead of generic templates. It is an AI Agent Skill for Claude Code / OpenClaw, with 94 downloads so far.

How do I install Life State?

Run "/install life-state" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Life State free?

Yes, Life State is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Life State support?

Life State is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Life State?

It is built and maintained by Denys (@dsdevq); the current version is v0.1.0.

💬 Comments