Tracks and analyzes behavioral patterns (habits) for known users based on their wellbeing, presence, posture, and activity history.

Apache-2.0Auto-check: warnings

Install Habit

The automated check flagged lines worth reading first. See the safety section below.

skills CLI
$ npx skills add autonomous-ai/Physical-AI-Operating-System --skill habit -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install autonomous-ai/Physical-AI-Operating-System habit --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/autonomous-ai/Physical-AI-Operating-System.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/habit .claude/skills/habit && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
habit
GitHub stars
407
Token cost
~2k tokens
SKILL.md length
915 words
Files
6
Skills in repo
28
Repo updated
First seen
Licence
Apache-2.0

At a glance

Tracks and analyzes behavioral patterns (habits) for known users based on their wellbeing, presence, posture, and activity history.

  • Answering questions about a users routines (What are Leos habits?
  • SKILL.md covers Data Sources (Input), Storage (Output), What is a Habit? and Workflow, plus 4 more sections
  • Calls curl
  • Has Leo been keeping to his routine?

What it does

Habit is an agent skill from autonomous-ai/Physical-AI-Operating-System. Tracks and analyzes behavioral patterns (habits) for known users based on their wellbeing, presence, posture, and activity history. Use when answering questions about a user's routines ("What are Leo's habits?", "Has Leo been keeping to his routine?", "Notice anything about my patterns?"), or when invoked from wellbeing/SKILL.md or posture/SKILL.md on a threshold nudge to refresh patterns and provide habit-aware phrasing. Also feeds music-suggestion/SKILL.md with musicpatterns for personalized genre. Habit does…

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files (for example `reference/build-patterns.md`, `reference/match-helper.md` and `reference/music.md`).

The repository describes itself as: The open-source operating system for physical AI. The licence is Apache-2.0.

When your agent uses it

  • Answering questions about a users routines (What are Leos habits?
  • Has Leo been keeping to his routine?
  • Notice anything about my patterns?)
  • Invoked from wellbeing/SKILL.md

Example prompts

  • “s routines (”
  • “s habits?”
  • “Has Leo been keeping to his routine?”
  • “/habit”

What it can do on your machine

Read from SKILL.md and the folder at commit d5efe9d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Habit loads about 2k tokens when it runs. Until then it costs about 154 tokens; SKILL.md has 915 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~154
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: warnings

The automated check found patterns that need a careful read before installing.

  • WarningContains instruction-override wording (e.g. “without asking the user”)SKILL.md:90
    - Log silently — do NOT tell the user you're logging. Just respond naturally.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from autonomous-ai/Physical-AI-Operating-System at commit d5efe9d, republished under its Apache-2.0 licence (© autonomous-ai). 915 words, ~1,951 tokens.

Download SKILL.mdSave it as .claude/skills/habit/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
habit
description
Tracks and analyzes behavioral patterns (habits) for known users based on their wellbeing, presence, posture, and activity history. Use when answering questions about a user's routines ("What are Leo's habits?", "Has Leo been keeping to his routine?", "Notice anything about my patterns?"), or when invoked from wellbeing/SKILL.md or posture/SKILL.md on a threshold nudge to refresh patterns and provide habit-aware phrasing. Also feeds music-suggestion/SKILL.md with `music_patterns` for personalized genre. Habit does NOT fire its own standalone nudge — it enriches wellbeing/posture threshold-nudge phrasing.

Habit Skill

Habits are repeating behavioral patterns derived from historical logs. This skill reads existing data (wellbeing, presence, mood, music, posture) to build patterns per user, then stores them for other skills to consume.

OUTPUT RULE: Reply is spoken VERBATIM. ONE short caring sentence. All computation, pattern math, and log lookups stay in thinking. NEVER output timestamps, deltas, frequency counts, or reasoning in the reply. (Exception: Flow E — open habit questions — see below.)

For a supporting habit lookup or refresh, return to the invoking skill without an additional spoken report. Keep pattern analysis in the provider's native thinking channel (or omit it if unavailable); do not narrate file reads or summarize the analysis in ordinary text. Preserve required refreshes and writes. Use the invoking skill's short reply; Flow E still allows enough detail to answer an explicit habit question.

Data Sources (Input)

All data lives in /root/local/users/{name}/:

FolderFile patternWhat it contains
wellbeing/YYYY-MM-DD.jsonldrink, break, celebrate, sedentary labels, enter/leave, nudge_* events with timestamps
mood/YYYY-MM-DD.jsonlsignal + decision rows with moods
music-suggestions/YYYY-MM-DD.jsonlsuggestion history + accepted/rejected status
posture/YYYY-MM-DD.jsonlposture_alert (ergo-risk events from camera) + nudge_posture / praise_posture rows

User names are lowercase folder names under /root/local/users/. Known users: leo, chloe, gray, lily. Strangers collapse to unknown — this is treated as a regular user with its own folder and its own habit patterns (aggregated across all strangers).

JSONL line example (wellbeing):

json
{"ts": 1776657145.05, "seq": 4, "hour": 10, "action": "drink", "notes": ""}

Storage (Output)

Computed patterns are stored per user at /root/local/users/{name}/habit/patterns.json.

Rebuild when:

  • File does not exist yet
  • File is older than 6 hours
  • User explicitly asks about their habits

What is a Habit?

A habit is a time-anchored action that repeats across multiple days. Strength labels:

FrequencyStrength
< 0.50weak (skip for nudging)
0.50 – 0.75moderate
> 0.75strong

Habits require at least 3 days of data to form. With fewer days, skip proactive nudging.

Workflow

FlowWhen to runDetails
A — Build patternsDiscovery / answering questions; wellbeing nudgereference/build-patterns.md
B — Habit matchHelper for wellbeing/SKILL.md Step 3breference/match-helper.md
C — Music personalizationBuild / consume music_patternsreference/music.md
D — Conversation intent loggingTriggered from SOUL when user states intent NOWinline below
E — Open habit questionUser asks about someone's habits / patterns / routinesreference/open-question.md
D — Conversation intent logging (triggered from SOUL)

SOUL instructs the device to call this flow when user expresses intent for a daily activity NOW.

Intent → action mapping:

User saysAction to log
"lunch", "dinner", "going to eat", "grab food"meal
"coffee break", "grab a coffee", "getting coffee"coffee
"good night", "going to sleep", "heading to bed"sleep
"gym", "exercise", "workout", "going for a run"exercise

How to log:

text
[HW:/wellbeing/log:{"action":"meal","notes":"user said: going to lunch","user":"<current_user>"}]

Emit the marker at the start of the normal reply; the runtime forwards it to the same wellbeing log API. Do not also send a curl POST for that intent. If the runtime explicitly rejects the marker, use the wellbeing skill's documented log fallback with the same payload.

Rules:

  • Log silently — do NOT tell the user you're logging. Just respond naturally.
  • Only log when user states intent NOW, not past tense or general talk.
  • One log per intent per conversation turn — no duplicates.
  • notes field stores the original phrase for debugging.

API Calls

Read wellbeing history (via API)
bash
curl -s "http://127.0.0.1:5000/api/openclaw/wellbeing-history?user={name}&date=YYYY-MM-DD&last=100"
Read from file directly (for multi-day analysis)
bash
cat /root/local/users/{name}/wellbeing/YYYY-MM-DD.jsonl

Use direct file reads for multi-day pattern building (faster, no API pagination needed).

Show full SKILL.md (368 more words)Show less
Check today's activity (quick presence check)
bash
curl -s "http://127.0.0.1:5000/api/openclaw/wellbeing-history?user={name}&last=50"

Integration Points

From wellbeing/SKILL.md: When wellbeing's Step 3 fires a threshold nudge, it invokes Flow A (which self-throttles via the freshness guard). Flow A returns the current wellbeing_patterns; wellbeing uses any matching pattern for the nudge action to enrich Step 4's phrasing (e.g. "you usually drink around now"). No separate habit-only nudge — habit context piggybacks on the threshold nudge. This keeps bootstrap cost on the rare nudge path, not on every motion.activity tick.

From posture/SKILL.md: Same pattern. When posture decides to nudge AND its context block has bootstrap_needed=true, it invokes Flow A. Flow A returns posture_patterns (peak hour, side bias, typical risk) which the posture coach uses to phrase pattern-aware nudges (e.g. "around this hour you usually slip").

From music-suggestion/SKILL.md: Read habit/patterns.json → music_patterns. If habit data exists and current hour matches, use preferred genre instead of default genre table.

Minimum Data Requirements

PurposeMin daysMin occurrences
Habit detection32
Proactive nudging53
Music personalization32 accepted

If data is insufficient: use default wellbeing thresholds / music genre table as fallback. Never fabricate patterns.

Output Examples

Nudge enrichment (Flow A → wellbeing Step 3b):

  • Habit break: "You usually have water around now — everything okay?"
  • Habit confirmed: "Back at your desk right on schedule. [chuckle]" — only say this if it feels natural
  • Music: "It's your usual coding time — want some lo-fi?"
  • Posture: "Around this hour you usually slip — sit up from the start."
  • When no data: silent (NO_REPLY) — never guess or fabricate habits

Open habit question (Flow E):

  • Pattern mode: "Leo usually arrives around 8:30 with breakfast, settles at the computer through the morning, and wraps up close to 5. Lo-fi tends to land between 2 and 4. Pretty steady the last week."
  • Narrative mode: "I've only got two real days on Chloe so far — April 28 was an evening at the computer with a lot of water breaks, and April 29 ran late, working past midnight. Not enough days yet to call it a habit, but that's what I've seen."
  • Honest-gap mode: "Honestly, I haven't seen Leo much lately — just one short session yesterday. The patterns I have are from two weeks ago, so I'd rather not pretend they're still true."

© autonomous-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files in skills/habit of autonomous-ai/Physical-AI-Operating-System.

  • SKILL.md
  • reference/build-patterns.md
  • reference/match-helper.md
  • reference/music.md
  • reference/open-question.md
  • skill.json

Open the folder on GitHubat commit d5efe9d

Compare with similar skills

Habit next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Habit compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Habit this skillautonomous-ai/Physical-AI-Operating-System407—~2kAutomated safety check: WarnApache-2.0
Cost Trackingaffaan-m/ECC276k1 repos~1.3kAutomated safety check: PassMIT
User Behavior AnalyzerLeoYeAI/openclaw-master-skills2.2k—~2.3kAutomated safety check: PassMIT
Meeting Analyzeralirezarezvani/claude-skills28k—~3kAutomated safety check: PassMIT
TrackingBuilderIO/agent-native7.1k—~8kAutomated safety check: PassNone
Time Trackingsickn33/agentic-awesome-skills47k1 repos~3.8kAutomated safety check: PassMIT

Similar skills

  • Cost Tracking

    affaan-m/ECC

    Track and report Claude Code token usage, spending, and budgets from the local ECC cost-tracker metrics log.

    276k GitHub starsUsed in 1 repo~1.3k tokens
    AI & LLM EngineeringAuto-check passed
  • User Behavior Analyzer

    LeoYeAI/openclaw-master-skills

    为AIME(AI交易助手)生成综合用户行为分析报告。当用户要求分析用户行为、生成用户报告、分析交互模式、调查用户流失、了解用户参与度或从用户ID或日志数据创建分析文档时,使用此技能。

    2.2k GitHub stars~2.3k tokensUpdated 2 mo ago
    Documents & OfficeAuto-check passed
  • Meeting Analyzer

    alirezarezvani/claude-skills

    Analyzes meeting transcripts and recordings to surface behavioral patterns, communication anti-patterns, and actionable coaching feedback.

    28k GitHub stars~3k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed
  • Tracking

    BuilderIO/agent-native

    Server-side analytics tracking with pluggable providers. An agent skill from BuilderIO/agent-native.

    7.1k GitHub stars~8k tokensUpdated today
    Backend & APIsAuto-check passed
  • Time Tracking

    sickn33/agentic-awesome-skills

    Time entry register: employee, project, client, task, hours, billable flag, rate and amount, invoice and approver.

    47k GitHub starsUsed in 1 repo~3.8k tokens
    Productivity & AutomationAuto-check passed
  • Agent skill for code-analyzer - invoke with $agent-code-analyzer

    74k GitHub starsUsed in 2 repos~1.5k tokens
    DevelopmentAuto-check passed

More from autonomous-ai/Physical-AI-Operating-System

All 28 skills in this repo
  • Agent Management

    autonomous-ai/Physical-AI-Operating-System

    Legacy Autonomous Buddy control for explicitly requested Buddy coding sessions.

    407 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Claude Code Buddy

    autonomous-ai/Physical-AI-Operating-System

    Push Claude Code activity to the user's device (e.g. An agent skill from autonomous-ai/Physical-AI-Operating-System.

    407 GitHub stars~2.4k tokensUpdated today
    Auto-check: notes
  • Computer Use

    autonomous-ai/Physical-AI-Operating-System

    Operate apps/websites on the paired Mac via Buddy: Calendar, Notes, forms, screenshots, files.

    407 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Connectors

    autonomous-ai/Physical-AI-Operating-System

    Discover and use linked third-party services (Gmail, Google Calendar, Google Drive, Notion, Figma, Asana, Linear, GitHub, Ahrefs, Facebook Fan Page and others).

    407 GitHub stars~10k tokensUpdated today
    Auto-check: notes
  • Harness Use

    autonomous-ai/Physical-AI-Operating-System

    Delegate digital work to agents on the computer paired through Harness; discover Store packages and prepare an agent when needed.

    407 GitHub stars~8k tokensUpdated today
    Auto-check passed
  • Audio

    autonomous-ai/Physical-AI-Operating-System

    Low-level speaker and microphone hardware control — adjust volume, play test tones, record raw audio.

    407 GitHub stars~1k tokensUpdated today
    Auto-check passed

Questions about Habit

What does Habit do?

Tracks and analyzes behavioral patterns (habits) for known users based on their wellbeing, presence, posture, and activity history. Habit is an agent skill from autonomous-ai/Physical-AI-Operating-System. Tracks and analyzes behavioral patterns (habits) for known users based on their wellbeing, presence, posture, and activity history.

When should I use Habit?

Habit fits situations like: answering questions about a users routines (What are Leos habits?; has Leo been keeping to his routine?; notice anything about my patterns?); invoked from wellbeing/SKILL.md.

How do I install Habit in Claude Code?

Run `npx skills add autonomous-ai/Physical-AI-Operating-System --skill habit -a claude-code`. Or copy the skill folder (skills/habit in autonomous-ai/Physical-AI-Operating-System) into .claude/skills/habit in your project. Claude Code loads it when a task matches its description.

How do I install Habit in Codex?

Run `npx skills add autonomous-ai/Physical-AI-Operating-System --skill habit -a codex`. Or copy the skill folder (skills/habit in autonomous-ai/Physical-AI-Operating-System) into .agents/skills/habit in your project. Codex loads it when a task matches its description.

Can I use Habit in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add autonomous-ai/Physical-AI-Operating-System --skill habit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/habit, .gemini/skills/habit, .github/skills/habit and .opencode/skills/habit in your project.

What does Habit need to run?

Going by SKILL.md and its folder, Habit needs the command-line tools its instructions call (curl).

Does Habit access the network?

SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Habit safe to install?

Our automated static check of SKILL.md flagged 1 warning(s): contains instruction-override wording (e.g. “without asking the user”). Read the flagged lines before installing; the check is not a guarantee either way.

What licence does Habit use?

Habit is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Habit use?

About 2k tokens (SKILL.md is roughly 7.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Habit?

Skills that share tags, products or a category with Habit: Cost Tracking (affaan-m/ECC, 276k stars), User Behavior Analyzer (LeoYeAI/openclaw-master-skills, 2.2k stars), Meeting Analyzer (alirezarezvani/claude-skills, 28k stars) and Tracking (BuilderIO/agent-native, 7.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Habit?

autonomous-ai (a GitHub organization) maintains it in autonomous-ai/Physical-AI-Operating-System, which has 407 GitHub stars. The repository holds 28 skills in this directory. The repository was last updated on October 10, 2026.

Source: autonomous-ai/Physical-AI-Operating-System on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.