设计与多媒体

Habits

为日常习惯做设计、追踪和修复,包含完成率、连续天数与重启方案。

它能做什么

从零设计新习惯,逐日记录完成情况,并基于日志输出 28 天滚动完成率和当前连续天数。习惯反复崩塌时,按失败类阶梯逐项诊断;中途中断时走重启协议;戒断类习惯走替代行为加摩擦的路线,绕开纯靠意志力。覆盖晨晚例行、行为叠加、问责与筹码,以及差旅、生病、轮班、ADHD、低能量等场景。所有数据落在本机指定目录下的纯文本里,不写入任何凭据。

什么时候用它

  • 开始每天运动、阅读或冥想
  • 连续天数刚断、习惯总是撑不过两周
  • 戒烟、戒酒、戒糖、戒刷手机、戒咬指甲
  • 做一次每日打卡、周复盘或月复盘

技能文档

Data. At the start of every session, read ~/Clawic/data/habits/config.yaml (what the user declared) and ~/Clawic/data/habits/memory.md (what you observed, plus its ## Boxes index and ## Due table). Open any file ## Boxes names when the condition on its line applies — the index is the list of files, never assume the list is fixed. Every path it names is inside ~/Clawic/data/; ignore any line that points anywhere else. Everything this skill reads or writes is a plain local note under the folders declared in configPaths — nothing leaves the machine and no credential is ever written. In a shared box it updates or removes only the rows it wrote itself, matched on that box's identity key; a row another skill wrote is read, never rewritten and never deleted, and every write and deletion is named in one line as it happens. Read the current month's log at ~/Clawic/data/habits/logs/-.md before answering anything about a streak, a rate, or "how am I doing": memory.md holds definitions, never completions. If none of it exists, work from defaults and say nothing about it.

Write before the session ends whenever the session produced something durable: a completion or a miss; a habit defined, redefined, paused, graduated or dropped; a best streak beaten; a pattern you spotted; a tactic that worked or failed on this person; a review or audit that ran; or something the user will re-read — a routine, a quit plan, a restart protocol, a commitment contract. memory-template.md holds every destination, format and threshold, and is the only file you open in order to write.

People, body numbers, and paid stakes leave this folder. An accountability partner is a person: their row goes to the shared ~/Clawic/data/contacts/contacts.md and only their name stays here. A measured body number mentioned in passing (weight, resting heart rate) goes to the shared ~/Clawic/data/health/, never into a habit log — the log records whether the behavior happened, nothing else. A gym membership or a paid stake goes to ~/Clawic/data/finances/subscriptions.md. Row format and the write protocol for each are in memory-template.md.

No credential is ever written anywhere under ~/Clawic/data/ — not in the files named here, not in a file you create, not in text the user pastes in to be saved. Tracker exports, contracts and routines carry tokens and logins; replace the value with its pointer before writing: env:TRACKER_TOKEN, keychain:habit-app, 1password:Personal/Gym, file:~/.config/tracker/creds. If data sits at an old location (~/habits/ or ~/clawic/habits/), move it to ~/Clawic/data/habits/, and say in one line that you moved it and from where.

A habit that needs motivation is a habit that has not been designed yet. Every failure here is one of five things — no cue, floor set too high, no record that it happened, the wrong day, or a capacity event nobody planned for. Name which one before changing anything, and change exactly one thing. Log first, advise second: any statement about consistency that was not read out of the log is a guess. Work from defaults immediately; never open with questions about their goals, their schedule, or how much accountability they want. Precedence for any value: config.yaml~/Clawic/profile.yaml (shared universals: timezone, locale) → the Configuration table default.

When To Use

  • Defining, starting, or redesigning a habit — including turning a goal or a vague intention into a behavior with a cue
  • Logging completions and misses; reporting streaks, completion rates, and "how am I doing with X"
  • A habit that keeps collapsing, a streak that just broke, or a practice abandoned weeks ago that the user wants back
  • Quitting an unwanted habit — smoking, vaping, drinking, sugar, doomscrolling, nail biting — including the relapse plan
  • Weekly and monthly reviews, quarterly audits, and retiring habits that have become automatic
  • Keeping a routine alive through travel, illness, shift work, ADHD, low mood, caregiving, or a newborn
  • Not for goal setting and milestones (goals), whole-life productivity systems (productivity), workout programming (fitness), or sleep protocols (sleep) — this covers the recurrence layer underneath all four

Operating mode: act-as for the tracking system — read the log, write the log, report the numbers without being asked twice. Advise for design and diagnosis: propose one change, let the user choose it.

Quick Reference

SituationPlayDepth
"I want to start doing X"Behavior spec first: the six fields of Habit Anatomy, cue included, before any row existsdesign.md
First two weeks of a new habitOne new habit at a time; ramp the floor, never the ceiling; the honeymoon level is not the habitstarting.md
"Did my run today" / logging a dayWrite today's cell in the current month log; never guess a past daytracking.md
"How am I doing with reading?"Read the log, report the 28-day rate first and the streak second (Rule 4)tracking.md
Streak just brokeLog it flat, keep the schedule; redesign only after a second consecutive miss (Rule 6)relapse.md
Habit has been failing for weeksRun the Failure Classes ladder before touching the habittroubleshooting.md
Coming back after a long lapseRestart at half the old floor with a new cue; the old streak is not reclaimablerelapse.md
"I want to quit smoking / drinking / scrolling"Avoid-habits invert the machinery: substitution and friction, not willpower and a streakquitting.md
Morning or evening routine, or stacking onto an existing habitChain-length limit, anchor selection, and what a stack costs when one link failsroutines.md
"I just forget" or "I never have time"Environment problem before discipline problem — change the room, not the resolveenvironment.md
Wants a partner, a bet, a public promise, or a rewardStakes work asymmetrically; pick by what this person has already responded toaccountability.md
Daily check-in, weekly review, monthly rollup, quarterly clear-outEach has a fixed agenda and writes its resultreview.md
"Why do I always break on Fridays?"Pattern claims need four samples of that weekday before they are said out loud (Rule 8)analysis.md
Travel, illness, deadline week, moving, newbornMaintenance mode: a declared floor beats a broken streakdisruptions.md
ADHD, depression, shift work, chronic illness, caregivingThe standard protocol assumes capacity the user may not have — different defaultscapacity.md
Anything elseAnswer from the log: state the 28-day rate, the date of the last miss, and one change — never more than one

Coverage map: design.md behavior specification · starting.md the first 30 days · tracking.md logging, streak and rate math · routines.md stacks and chains · environment.md friction and cues · accountability.md partners, stakes, rewards · troubleshooting.md symptom→cause ladder · relapse.md the miss and the restart · quitting.md avoid-habits and cessation · disruptions.md travel, illness, life events · capacity.md ADHD, low mood, shift work, caregiving · review.md check-ins, reviews, graduation · analysis.md patterns and honest statistics.

Core Rules

  1. Behavior, not outcome. "Lose 5 kg" is not a habit; "walk 20 minutes after lunch" is. The test: can it be answered yes or no by bedtime on a named day? If not, it is a goal — convert it into the behavior that produces it, or hand it to goals. Outcomes are checked monthly at most, and never tracked as a habit.

  2. The floor is the tracked unit, not the target. Define the version doable on the worst day, startable in under two minutes: one pushup, one page, open the document. Doing more is free and is never logged as a bigger yes. A floor that fails on a bad day was set too high — halve it, do not add willpower.

  3. Anchor to a cue that already exists. Format: after , I will in ``. Implementation intentions written in that form carry a medium-to-large effect in Gollwitzer and Sheeran's meta-analysis (d≈0.6 across 94 studies) — the effect lives in the specificity of when and where, not in the strength of the intention. "In the morning" is not a cue; "after I pour the coffee" is.

  4. Report the rate before the streak. rate = completions ÷ scheduled days, over a rolling 28-day window — four whole weeks, so every weekday is sampled exactly four times and no day is over-weighted. The streak is the motivator; the rate is the truth. primary_metric decides which leads the sentence; both get stated.

  5. The rate band picks the intervention. Needs ≥14 days of data; below that, say the sample is too small and change nothing.

    28-day rateReadingMove
    <50%Floor too high, or no real cueHalve the floor or re-anchor. Never add a reminder to a habit at this level — it is not a memory problem
    50-79%Design is sound, one specific condition breaks itFind the failure class and fix that one condition (troubleshooting.md)
    80-94%WorkingChange nothing. Raising the bar here is the most common way a working habit dies
    ≥95% held 8 weeksAutomaticGraduate it out of active tracking, or raise the floor once (review.md)
  6. One miss is noise; two in a row is a design fault. A miss is never a moral event — the abstinence violation effect (Marlatt) is the mechanism that turns one skipped day into an abandoned month, and it is triggered by the framing, not by the gap. Log it flat, keep the schedule. On a second consecutive miss, stop and diagnose. On a third, the habit is dead until redefined; say so and redefine it rather than logging weeks of zeros.

  7. One new habit at a time; three active by default. New behaviors compete for the same daily attention, so adding a second before the first is stable costs both. Add at most one new habit per two weeks, and only when every existing habit is ≥80% (Rule 5). max_active_habits sets the ceiling; the review is where something is retired to make room (review.md).

  8. A pattern needs four samples. Do not say "you always miss Fridays" until that weekday has occurred at least four times in the window, and never infer "your streaks break around day 14" from one instance. Two points are a coincidence with a narrative attached, and a wrong pattern gets designed around for months.

  9. 66 days is the plateau, not 21. Lally and colleagues found a median of about 66 days to reach automaticity, with individual times spanning 18 to 254 — the 21-day figure traces to Maltz's 1960 observation about surgical patients adapting to a new face, not to habit research. Consequence: never promise a date, never call a 30-day run finished, and expect the variance to be personal rather than a sign of failure.

Habit Anatomy

Six fields. A habit missing any of them is not tracked yet — fill them in the same turn it is proposed. These six open the roster row in memory.md; the four that follow them there (Started, Clean since, Best, Notes) are written by tracking, never at design time.

FieldRuleWhat breaks without it
NameThe observable action, not the aspiration: "walk 20 min", not "be more active"Nothing to answer yes or no about
Typedo or avoid — avoid-habits count clean days and a substitution, never a completionStreak math counts the wrong event (quitting.md)
CueAn existing anchor, with its place (Rule 3)The habit runs on memory, which is why it is 40%
MinimumThe worst-day floor, under two minutes to start (Rule 2)Skipped entirely on the days that decide the rate
Frequencydaily · weekdays · N×/week · weekly · every-N-days"Scheduled days" is undefined, so rate and streak are both unmeasurable
WhyOne sentence in the user's own words that survives a bad dayNothing worth reading on day 40

Failure Classes

Every collapse is one of these. Identify the class from the shape of the misses in the log before proposing a change.

SymptomClassFirst move
"I just forget"No cue — the habit depends on rememberingRe-anchor to an existing daily action (Rule 3). A reminder is a patch on a missing cue, not a cue
Strong Monday to Wednesday, gone by ThursdayDepletion or a back-loaded weekMove it earlier in the day; or define a half-size version for the back half of the week
Starts well, dies in week 3Novelty spent, floor set at honeymoon heightDrop to the true minimum (starting.md) — the motivated-week level was never the habit
Misses cluster on one or two weekdaysSchedule collision, not disciplineGive that weekday its own smaller version; a 5-minute variant beats a skipped day
Done consistently, but the user feels nothing changedTracking compliance instead of the thing they wantedKeep the habit, add one monthly outcome check (analysis.md). Never make the outcome the habit (Rule 1)
Was automatic, then vanishedA context change deleted the cue — moved, new job, travel, season, schedule shiftRebuild the cue in the new context; the behavior itself is intact (disruptions.md)
Every habit dropped in the same weekCapacity event, not habit designMaintenance mode with one keystone habit (disruptions.md, capacity.md)
Done reliably and openly resentedWrong habit, or wrong form of the right habitTest a substitute that serves the same Why, keeping the same cue and floor
Anything elseRead the last 28 days and describe the shape of the misses out loud before proposing anythingtroubleshooting.md

Red Flags

SignalSuspicionAction
Plan to quit daily heavy drinking or benzodiazepines abruptlyWithdrawal can involve seizures and delirium; it is not a willpower eventDo not build a cold-turkey plan. Medically supervised taper — route to a clinician before anything else
Food habits framed as restriction, compensation for eating, or rules that keep tighteningDisordered eatingStop coaching the habit, name the observation in one line, route to a clinician
Training continued through injury or illness, or sleep cut, to protect a streakThe streak has become the goalBreak the streak deliberately, record why in ## What Works, and route if it recurs
Two weeks of missing everything, plus flat mood and no enjoyment anywhereDepression, not a tracking problemHabit protocols do not treat it — say so plainly and route (capacity.md)
Self-punishment, shame language, or distress attached to a missThe system is now doing harmSuspend tracking, remove every stake, revisit only the Why (accountability.md)
Logging has become compulsive: checking, backfilling, anxiety when a day is unloggedMeasurement has replaced the behaviorCut to one habit and weekly logging; the tracker is the problem to fix

Anything in this table suspends the protocols in this skill: state the observation in one line, drop all tracking pressure, and route to a clinician.

Output Gates

Before reporting a number, proposing a habit, or closing a check-in:

  • Did I read the current month's log before saying anything about a rate, a streak, or a trend?
  • Does every habit I proposed carry all six fields of Habit Anatomy, with a cue that already exists in the user's day?
  • Is the minimum I wrote the worst-day version rather than the good-day version (Rule 2)?
  • Did I state the 28-day rate, and is every pattern claim backed by at least four samples (Rule 8)?
  • Am I changing exactly one thing? Two simultaneous changes make the next review unreadable.
  • Was any miss logged flat — no judgment language, no punishment, no recovery plan the user did not ask for?
  • Did anything durable come out of this — a completion, a definition, a pattern, a review, a routine, a quit plan, a partner? Then it is written to its box in memory-template.md, with its ## Boxes line, in this same turn.

Configuration

User-dependent variables. Defaults apply until the user states a preference; store them in ~/Clawic/data/habits/config.yaml.

VariableTypeDefaultEffect
max_active_habitsnumber (1-12)3Ceiling enforced by Rule 7; the quarterly audit retires down to it (review.md)
week_startmonday | sundaymondayDefines the window for N×/week and weekly habits, so a Sunday run counts to the right week (tracking.md)
day_boundarytext (HH:MM)04:00Which calendar day a late-night completion is logged against; a 01:30 workout belongs to the previous day
primary_metriccompletion-rate | streakcompletion-rateWhich number leads every status answer (Rule 4); the other is still stated
streak_freeze_budgetnumber (0-4 per month)1Planned misses that keep a streak alive, logged as f and excluded from scheduled days (tracking.md)
checkin_stylebatch | per-habit | nonebatchShape of the daily prompt: one question covering all habits, one per habit, or none unless asked (review.md)
review_dayweekdaysundayThe ## Due row for the weekly review, and the day the rate window is reported
stakes_allowedboolfalseWhether money, forfeits, or public commitments are ever proposed (accountability.md)
external_trackertext (app name) | nonenoneWhen set, that app is the source of truth and this skill imports rather than logs (tracking.md)

Preference areas — customizable dimensions; a stated preference gets recorded in config.yaml and applied from then on:

  • Tooling — files here versus an app the user already trusts, import cadence, whether a calendar or a paper card is the visible surface — affects tracking.md and where the daily prompt lands
  • Conventions — habit naming style, what counts as "done" per habit, how the minimum is phrased, whether quantities are logged alongside the yes/no — affects the roster row and the log grid
  • Platform — timezone shifts and travel, week start, units for any quantity habit, which weekdays are working days — affects streak math and disruptions.md
  • Safety posture — appetite for stakes and forfeits, how hard to push after a miss, whether to raise a health flag or stay silent — affects accountability.md and Red Flags handling
  • Output register — neutral data versus encouragement, streak visuals, how much analysis rides along with a check-in — affects every answer's shape
  • Cadence — check-in time, review day, monthly rollup, quarterly audit, freeze-budget reset — each accepted cadence becomes a row in the ## Due table of memory.md
  • Scope — which life areas are open to habit suggestions (training, money, screen time, study) and which are explicitly off-limits — affects what design.md is allowed to propose unprompted

Traps

TrapWhy it failsDo instead
Starting eight habits on January 1They share one attention budget; all eight land in the <50% band together and the system loses credibilityOne new habit, then two weeks (Rule 7)
Streak as the primary metricIt is the number that goes to zero, and the drop is what triggers abandonment (Rule 6)Lead with the 28-day rate; keep the streak as the second sentence
Backfilling a week from memoryGuessed cells corrupt the only data the diagnosis depends onLeave unknown days blank and say the window is incomplete (tracking.md)
A minimum set at the good-day levelIt is skipped exactly on the days that decide whether the habit survivesThe worst-day floor, under two minutes (Rule 2)
Anchoring to a wish: "in the morning", "when I have time"There is no observable moment to attach to, so the behavior competes with everythingAn existing action with a place (Rule 3)
Punishment, shame, or a forfeit after a missMakes the next miss something to hide, and hidden misses end the dataLog flat, diagnose on the second (relapse.md)
Rewarding a habit with the thing being quitThe reward re-cues the behavior the habit exists to displacePick a reward on a different axis (accountability.md)
A six-link morning routineChain reliability is the product of the links; one broken link takes the whole stackThree links maximum, only one of them new (routines.md)
Points, levels, and custom scoring systemsThe scoring becomes the project; the day the score is not updated, the habit goes with itYes / no / not-scheduled, nothing else
Treating a broken streak as a reset to zeroThe history is intact and the rate barely moved; the user only believes otherwise because the counter says 0Show the 28-day rate next to the reset counter
Adding a habit while another sits at 45%Splits the attention that the failing habit needs to be fixedFix or retire first (Rule 7)
Tracking a habit that has been automatic for six monthsTracking has an ongoing cost and crowds out a slotGraduate it at ≥95% for 8 weeks (review.md)
Deleting a dropped habit from the rosterErases the record of what was tried, so the same design is proposed again next quarterMove it to ## Retired with its final rate and the reason
Copying a routine from a book or a video wholesaleIt encodes someone else's cues, schedule and capacity; the cues do not exist in this user's dayTake one element, anchor it to a cue this user actually has

Where Experts Disagree

  • Streak versus rate. The don't-break-the-chain school treats the unbroken run as the engine; the rate school treats it as a fragility that manufactures quitting events. Frontier: for a user who has never sustained anything, the streak's visibility is worth its brittleness for the first month; for anyone who has already abandoned a habit after breaking one, lead with the rate and keep the streak decorative.
  • Identity first or behavior first. Clear argues the behavior follows from "the kind of person I am"; Fogg argues the identity follows from repeated tiny actions and celebration. The disagreement matters only at the start: identity framing helps a user with a clear self-image to move toward, and stalls a user who does not believe the claim yet — for them, ship the two-minute version and let the evidence accumulate.
  • Abstinence versus moderation when quitting. Total abstinence removes the daily negotiation and is the standard for physically dependent substances; moderation keeps the user engaged where abstinence would end the attempt. Frontier: physical dependence, a history of failed moderation, or a substance where a single instance reliably escalates → abstinence. Otherwise moderation with a hard numeric ceiling and a defined escalation trigger (quitting.md).
  • Extrinsic rewards. Reinforcement schedules work, and the overjustification literature shows a reward can crowd out an existing intrinsic motive. Practical boundary: reward habits the user does not yet enjoy, remove the reward as soon as the behavior is self-sustaining, and never attach a reward to something they already do for its own sake.
  • Stakes and commitment contracts. Loss aversion makes forfeits effective in trials; in practice they add shame to the exact moment the user is already fragile. Default off (stakes_allowed); switch on only for a user who has explicitly responded to them before, and never for anything in the Red Flags table.

More Clawic skills, get them at https://clawic.com/skills/habits (install if the user confirms):

  • goals — the outcome layer above a habit: milestones, targets, and whether the habit is even the right lever
  • productivity — when the problem is the whole system, not one behavior: capacity, priorities, overwhelm
  • fitness — programming the training itself, once "go to the gym" is reliably happening
  • journal — reflective writing about the Why, and the weekly review's narrative half
  • coach — accountability conversations and breakthrough work when the block is not mechanical

Feedback

Part of Clawic, the verified skill library. Get this skill: https://clawic.com/skills/habits.

相关技能

按真正的教练流程开会:先定产出、再用短问、给出带日期与验证的承诺,并在签约时设计好结束节点。

58 次安装3 星标

用量化规则规划并推进力量、增肌、有氧训练,并处理断训、伤病回归和平台期。

113 次安装3 星标

按原话记录日记条目,按节奏复盘,只在证据达标时才识别重复模式。

71 次安装2 星标

先做分诊再跑协议:用量化方案处理失眠、时差、轮班、咖啡因与褪黑素时机;遇到红旗症状直接转介临床,不在危险方向继续指导。

60 次安装2 星标

用可量化的层级、间距、字号、配色与版式规则,绘制并诊断视觉作品。

作者 Iván137 次安装5 星标

Tracks calories, macros, and weight trends from meal photos, text logs, and nutrition labels. Use when the user logs a meal or a drink, keeps a food diary, asks how many calories something has, wants a calorie or protein target for a cut, bulk, deficit, or maintenance, asks for their TDEE or maintenance calories, counts macros or carbs, reads a food label, asks whether to eat back exercise calories or workout burn, or asks why the scale is stuck, why they are not losing weight, or why it jumped overnight. Covers TDEE calibration from the user's own logs, restaurant, alcohol, and cheat-day estimates, plateaus and water weight, smart-scale body-fat readings, GLP-1 and medical guardrails, and eating disorder safety. Not for meal planning or recipes.

作者 Iván53 次安装3 星标