Track menstrual cycle history, answer current cycle status questions, record new period start dates from natural-language messages such as "月经来了", predict th...
数据分析
Period Tracker
试用本地存储的经期追踪工具:记录周期与症状,并基于你自己的数据预测下次月经。
它能做什么
Period Tracker 把月经周期、症状、避孕方式相关出血等记录存到本地文件夹 ~/Clawic/data/period/,不同步到任何云端,也不在你未开启的会话中提及。预测基于你最近周期的中位数(默认最近 6 个,重大生活事件后重置为 3 个)并给出区间,而非教科书上的 28 天单点日期;周期是否规律用 FIGO 标准判断(24–38 天为正常频率,跨度 >9 天为不规律)。排卵试纸、基础体温、宫颈黏液等生育信号默认关闭,需在配置中开启。出现大出血、出血超过 8 天、继发性闭经等警示信号时会主动提示并建议就医。
什么时候用它
- 记录一次月经的开始、经量或症状
- 查看下次月经或易孕期的可能时间
- 对照自己的区间分析月经迟到或缺席
- 记录激素避孕、产后或围绝经期的出血变化
技能文档
All data lives locally in ~/Clawic/data/period/ (log-template.md for file formats, setup.md on first use). If you have data at an old location (~/period/ or ~/clawic/period/), move it to ~/Clawic/data/period/. Never sync it, never mention cycle content outside a session she opened. This skill acts directly (logs, predicts, flags); it advises, it does not diagnose.
Configuration
User-dependent variables. Defaults apply until the user states a preference; store them in ~/Clawic/data/period/config.yaml.
| Variable | Type | Default | Effect |
|---|---|---|---|
| fertility_tracking | off | conceive | avoid | off | Gates Fertility Signals and fertility.md; conceive centers timing on the window, avoid adds buffer days and effectiveness caveats |
| contraception | text (method) or none | none | Hormonal methods reroute prediction to contraception.md; the ovulation back-count (rule 4) is suspended on suppressive methods |
| prediction_window | number (3-6 cycles) | 6 | How many recent cycles feed the median (rule 2); reset to 3 after a life change (postpartum, stopping the pill) invalidates the old baseline |
| temperature_unit | celsius | fahrenheit | celsius | Converts BBT thresholds in fertility.md (0.3-0.5 C = 0.5-0.9 F) |
| heads_up_days | number (0-7) | 0 | 0 = predictions only when asked; N = if she opens a session within N days of a predicted start, mention it once |
Preference areas to record as she reveals them:
- wording — plain vs clinical vocabulary and how she refers to her own body; affects every reply, never the stored data
- flow scale — how she reports flow (light/medium/heavy, product counts, or mL); affects logging prompts and how her reports map to the heavy-flow thresholds
- proactivity — surface pattern changes unprompted vs only on request; Red Flags are always surfaced regardless
- off-limits topics — subjects never to raise unprompted (fertility, weight, pregnancy); recorded once, honored everywhere
When To Use
- She reports a period start, flow, or symptom and wants it recorded
- She asks when her next period, fertile window, or ovulation is likely
- She wants a cycle classified (regular, irregular, heavy, long) against real thresholds, not "28 days"
- Her period is late or missed and she wants to reason through it
- Bleeding changed after starting or stopping contraception, or cycles are shifting (teens, postpartum, perimenopause)
- Not for: prenatal tracking after a confirmed pregnancy, diagnosing PCOS/endometriosis, or choosing a contraception method — route to
pregnancyor a clinician
Quick Reference
| Situation | Play |
|---|---|
| "My period started" | Log Day 1 = first day of full flow (not prior spotting). Timestamp it. |
| "When is my next period?" | >=3 logged cycles: last Day 1 + median cycle length, with range (§Prediction Math). Fewer: wide estimate, keep logging. |
| "Am I regular?" | Spread of logged cycles: <=9 days = regular; >9 = irregular (FIGO) — a description, not a defect. |
| "My period is late" / no period | Days late against HER range first, then the late-period chain in irregular.md. |
| "When can I get pregnant?" / avoiding | Fertile window = ovulation −5 through ovulation day. Opt-in only → fertility.md. |
| "Is this too heavy / too long?" | Bleeding >8 days, soaking hourly for 2h+, or clots >2.5 cm → Red Flags row. |
| Cramps, period pain | Log against cycle day; relief playbook and the endometriosis pattern → pain.md. |
| Mood swings, "is this PMS?" | Log; luteal-pattern assessment → pms-pmdd.md. Never attribute her mood to her cycle before she does. |
| On the pill, IUD, implant, shot | Bleeding is method-driven, not a cycle; per-method rules → contraception.md. |
| Teens, postpartum, post-pill, perimenopause | Different normal ranges and resets → irregular.md. |
| "Delete my data" / "who sees this?" | Confirm scope, delete, verify, report → privacy.md. |
| Anything else | Log what she shared, check Red Flags, answer from her baseline — never from textbook averages. |
Depth on demand: symptoms.md trackable catalog and phase clustering · fertility.md conception and avoidance signals · irregular.md late, missed, and shifting cycles · contraception.md bleeding on each method · pain.md cramp relief and escalation · pms-pmdd.md cyclical mood tracking · privacy.md storage, export, deletion · log-template.md data formats · setup.md first use.
Core Rules
- Day 1 is the first day of full flow, not spotting. Prediction math anchors on Day 1; counting spotting as Day 1 shifts every downstream date by 1-2 days.
- Predict from her median, never a textbook constant.
next start = last Day 1 + median(last prediction_window cycle lengths). Median resists the one outlier cycle a mean would drag. Below 3 cycles there is no baseline: say so. - Attach a range, not a point.
range = ± (longest − shortest)/2over the window, rounded up. A woman with cycles 26-34 gets "predicted day X, plus or minus 4 days," never a false-precision single date. - Ovulation is back-counted, not forward-counted.
ovulation ≈ next predicted period − 14. The luteal phase is relatively fixed (~10-16 days); the follicular phase is what varies. This is why long cycles delay ovulation but keep the luteal length. - Classify against FIGO ranges (§Classifying), not against 28. 24-38 day cycles are normal frequency; irregular is a description, not a defect. PCOS and perimenopause produce genuinely long cycles.
- Flag against HER baseline once >=3 cycles set it. A sustained shift of >9 days in cycle length, or any Red Flag signal, is worth surfacing. A single off cycle is noise, not a flag.
- On hormonal contraception, bleeding is not a cycle. Withdrawal and breakthrough bleeds are method effects, not ovulation — never run rules 2-4 on them (
contraception.md).
Prediction Math (worked)
Logged Day 1 dates: Jan 3, Jan 31, Feb 26, Mar 27. Cycle lengths: 28, 26, 29 days.
- Median = 28. Shortest 26, longest 29 → half-spread = (29−26)/2 = 1.5, round to 2.
- Next period = Mar 27 + 28 = Apr 24, plus or minus 2 days.
- Ovulation = Apr 24 − 14 = ~Apr 10. Fertile window = Apr 5 through Apr 10.
If she has only 2 cycles, report "roughly late April, still learning your pattern" and refuse a hard date. Recompute the median every new cycle. The window is the last prediction_window cycles (default 6) and never includes cycles older than 12 months — storage keeps everything (her data), but stale drift never re-enters the estimate.
Classifying A Cycle (FIGO thresholds)
| Axis | Normal | Outside normal |
|---|---|---|
| Frequency (Day 1 to Day 1) | 24-38 days | <24 frequent; >38 infrequent |
| Regularity (spread over 12 cycles) | <=9 days | >9 days = irregular |
| Duration (days of bleeding) | 2-8 days | >8 prolonged; <2 very short |
| Flow | soaks a normal pad/tampon in 3-6h | hourly for 2h+, clots >2.5 cm, or >80 mL/cycle = heavy |
These are adult ranges; adolescent and perimenopausal normals differ (irregular.md). Irregular by these axes is common with PCOS, perimenopause, thyroid issues, or high stress. Report the classification; do not name the cause.
Fertility Signals (opt-in only)
Enable only when fertility_tracking is set or she explicitly asks. Three confirming signals, ranked by predictive value:
- LH surge (ovulation predictor kit): positive means ovulation in ~24-36 hours. Best forward predictor.
- Cervical mucus: clear, stretchy, egg-white texture marks peak fertility (the 1-2 days before ovulation).
- Basal body temperature: a sustained rise of 0.3-0.5 C confirms ovulation already happened — retrospective, so it verifies a cycle but cannot predict the current one.
Cross-check the calendar estimate (rule 4) against these; when they disagree, live signals win. Protocols, conceive/avoid modes, and test timing:
fertility.md.
Red Flags
Anything in this table suspends prediction and coaching: surface it plainly and route to a clinician.
| Signal (observable) | Suspicion | Action |
|---|---|---|
| Soaking a pad/tampon hourly for 2h+, or clots >2.5 cm | Heavy menstrual bleeding, anemia risk | Flag now; suggest same-week clinical review |
| Bleeding >8 days, or between periods, or after sex | Prolonged/intermenstrual bleeding | Flag; recommend evaluation |
| No period for 90+ days (not pregnant, not on suppressive contraception) | Secondary amenorrhea | Flag; recommend evaluation |
| Any bleeding 12+ months after periods stopped | Postmenopausal bleeding | Urgent: always evaluated, clinician-first |
| Pain that OTC relief does not touch or that stops daily activity | Possible endometriosis/other | Flag; recommend evaluation (pain.md) |
| Sudden severe one-sided pelvic pain, or pain/bleeding with a positive pregnancy test | Ectopic pregnancy or ovarian torsion | Emergency: same-day care, stop routine tracking |
| High fever with rash, vomiting, or faintness during tampon/cup use | Toxic shock syndrome | Emergency: remove product, immediate care |
| Bleeding during a known pregnancy | Obstetric emergency risk | Emergency guidance first, then stop routine tracking |
| Premenstrual thoughts of self-harm | Severe PMDD pattern | Crisis resources now, not tracking (pms-pmdd.md) |
Output Gates
Before answering a cycle question, verify:
- Day 1 anchored on full flow, not spotting?
- Every prediction carries a range computed from her spread, not a bare date?
- What she just reported checked against the Red Flags table?
- Comparing against her baseline, not a textbook 28?
- If
contraceptionis a hormonal method, didcontraception.mdrules replace ovulation math? - Mood or symptoms not attributed to her cycle unless she drew the link first?
- Fertility content gated on
fertility_trackingor an explicit ask?
Traps
| Trap | Why it fails | Do instead |
|---|---|---|
| Assuming a 28-day cycle to predict | Her follicular phase varies; a 34-day cycle ovulates ~day 20, not 14 | Back-count 14 from her predicted next period (rule 4) |
| Predicting from 1-2 cycles | No stable baseline; a false hard date erodes trust when it misses | Log without predicting until >=3 cycles, then predict with a range |
| Using the mean cycle length | One 45-day stress cycle skews it upward | Use the median (rule 2) |
| Attributing her mood to her cycle | Correlation she has not endorsed feels like being told how she feels | Log the symptom against the day; let her draw the link |
| Calling irregular cycles "broken" | 60+ day cycles are normal in PCOS/perimenopause | Classify with FIGO axes; irregular is a description |
| Counting spotting as Day 1 | Shifts every predicted date 1-2 days | Day 1 = first full flow only |
| Treating a pill withdrawal bleed as a period | It is hormone withdrawal on the pill schedule, not ovulation | Log it as method bleeding; rules in contraception.md |
| Jumping from "late" to "pregnant" | Stress, illness, and travel delay ovulation and stretch the whole cycle | Run the late-period chain in irregular.md; test timing lives there |
| Volunteering predictions or fertile days unprompted | Unsolicited fertility content reads as surveillance | Only on request, or within heads_up_days if she set it |
Where Experts Disagree
- Cycle syncing (training/diet by phase). Popular, but generic phase plans rest on weak evidence. Default: her own logged patterns beat any template; offer phase framing only if her data shows the pattern.
- Fertile window width. Calendar-only estimates are the weakest; symptothermal confirmation narrows honestly. Default: calendar for orientation, live signals for decisions — and say which one an answer is based on.
- BBT in the wearable era. Manual BBT is fussy but interpretable; wearable temperature detects the shift with opaque algorithms. Default: treat wearables as BBT-equivalent confirmation, never as forward prediction.
Related Skills
More Clawic skills, get them at https://clawic.com/skills/period (install if the user confirms):
symptoms— general (non-cycle) symptom tracking and doctor-visit preppregnancy— once a pregnancy is confirmed and tracking shifts to prenataldoctor— turn flagged signals into a structured question list for an appointmenthealth— longitudinal wellness habits beyond the cycle
Feedback
- If useful, star it: https://clawic.com/skills/period
- Latest version: https://clawic.com/skills/period
Part of Clawic, the verified skill library. Get this skill: https://clawic.com/skills/period.
常见问题
- 数据存在哪里,会被同步出去吗?
- 所有记录都保存在你设备本地的 ~/Clawic/data/period/,不会同步到任何外部服务;也不会在你未主动开启的会话中提及周期相关内容。
- 它是用 28 天周期来预测的吗?
- 不是。它用你最近周期的中位数(默认最近 6 个,重大生活变化后重置为 3 个)来预测,并根据你自己的周期跨度给出区间,而不是单点日期。
- 能用来追踪生育或孕期吗?
- 生育信号默认关闭,需要在配置中开启 fertility_tracking 才能看到相关建议。已确认怀孕后该技能不用于产检追踪,也不会诊断 PCOS、子宫内膜异位症等病症。
相关技能
Track symptoms over time and generate doctor-ready timelines. Correlates symptoms with food, weather, medication, activity, sleep, and stress. Detects patterns, flare-ups, and produces concise clinical reports.
以最后一次进食为起点记录间歇性与长时断食,估算当前阶段,并在 24 小时后给出电解质与复食建议。
随口一句话就记入每日饮水量,按体重、活动和场景给出个性化补水目标。
Log and track daily calorie intake, macronutrients, body weight, and waist measurements locally in a SQLite database. Provides granular statistics, weekly averages, and future calorie budgets.
Help users improve sleep quality through hygiene practices, environment optimization, relaxation techniques, and sleep tracking guidance