Data & analysis

Period Tracker

Log cycles and symptoms locally, predict personal date ranges, and flag patterns that need clinical care.

What it does

Logs period starts, flow, pain, mood, and other symptoms in local files under `~/Clawic/data/period/`. After at least three cycles, it predicts the next period from the median of recent cycle lengths and reports a range based on the user’s own variation. It can classify cycle patterns against FIGO thresholds, handle method-driven bleeding separately, and flag observable signs that warrant clinical care without diagnosing a cause.

When to use it

  • Logging a new period, spotting, flow, cramps, or mood
  • Estimating a next period from personal cycle history
  • Reviewing late, missed, irregular, heavy, or prolonged bleeding
  • Tracking fertility signals or contraception-related bleeding

The skill document

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.

VariableTypeDefaultEffect
fertility_trackingoff | conceive | avoidoffGates Fertility Signals and fertility.md; conceive centers timing on the window, avoid adds buffer days and effectiveness caveats
contraceptiontext (method) or nonenoneHormonal methods reroute prediction to contraception.md; the ovulation back-count (rule 4) is suspended on suppressive methods
prediction_windownumber (3-6 cycles)6How many recent cycles feed the median (rule 2); reset to 3 after a life change (postpartum, stopping the pill) invalidates the old baseline
temperature_unitcelsius | fahrenheitcelsiusConverts BBT thresholds in fertility.md (0.3-0.5 C = 0.5-0.9 F)
heads_up_daysnumber (0-7)00 = 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 pregnancy or a clinician

Quick Reference

SituationPlay
"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 periodDays late against HER range first, then the late-period chain in irregular.md.
"When can I get pregnant?" / avoidingFertile 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 painLog 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, shotBleeding is method-driven, not a cycle; per-method rules → contraception.md.
Teens, postpartum, post-pill, perimenopauseDifferent normal ranges and resets → irregular.md.
"Delete my data" / "who sees this?"Confirm scope, delete, verify, report → privacy.md.
Anything elseLog 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

  1. 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.
  2. 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.
  3. Attach a range, not a point. range = ± (longest − shortest)/2 over 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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)

AxisNormalOutside 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
Flowsoaks a normal pad/tampon in 3-6hhourly 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)SuspicionAction
Soaking a pad/tampon hourly for 2h+, or clots >2.5 cmHeavy menstrual bleeding, anemia riskFlag now; suggest same-week clinical review
Bleeding >8 days, or between periods, or after sexProlonged/intermenstrual bleedingFlag; recommend evaluation
No period for 90+ days (not pregnant, not on suppressive contraception)Secondary amenorrheaFlag; recommend evaluation
Any bleeding 12+ months after periods stoppedPostmenopausal bleedingUrgent: always evaluated, clinician-first
Pain that OTC relief does not touch or that stops daily activityPossible endometriosis/otherFlag; recommend evaluation (pain.md)
Sudden severe one-sided pelvic pain, or pain/bleeding with a positive pregnancy testEctopic pregnancy or ovarian torsionEmergency: same-day care, stop routine tracking
High fever with rash, vomiting, or faintness during tampon/cup useToxic shock syndromeEmergency: remove product, immediate care
Bleeding during a known pregnancyObstetric emergency riskEmergency guidance first, then stop routine tracking
Premenstrual thoughts of self-harmSevere PMDD patternCrisis 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 contraception is a hormonal method, did contraception.md rules replace ovulation math?
  • Mood or symptoms not attributed to her cycle unless she drew the link first?
  • Fertility content gated on fertility_tracking or an explicit ask?

Traps

TrapWhy it failsDo instead
Assuming a 28-day cycle to predictHer follicular phase varies; a 34-day cycle ovulates ~day 20, not 14Back-count 14 from her predicted next period (rule 4)
Predicting from 1-2 cyclesNo stable baseline; a false hard date erodes trust when it missesLog without predicting until >=3 cycles, then predict with a range
Using the mean cycle lengthOne 45-day stress cycle skews it upwardUse the median (rule 2)
Attributing her mood to her cycleCorrelation she has not endorsed feels like being told how she feelsLog the symptom against the day; let her draw the link
Calling irregular cycles "broken"60+ day cycles are normal in PCOS/perimenopauseClassify with FIGO axes; irregular is a description
Counting spotting as Day 1Shifts every predicted date 1-2 daysDay 1 = first full flow only
Treating a pill withdrawal bleed as a periodIt is hormone withdrawal on the pill schedule, not ovulationLog it as method bleeding; rules in contraception.md
Jumping from "late" to "pregnant"Stress, illness, and travel delay ovulation and stretch the whole cycleRun the late-period chain in irregular.md; test timing lives there
Volunteering predictions or fertile days unpromptedUnsolicited fertility content reads as surveillanceOnly 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.

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 prep
  • pregnancy — once a pregnancy is confirmed and tracking shifts to prenatal
  • doctor — turn flagged signals into a structured question list for an appointment
  • health — longitudinal wellness habits beyond the cycle

Feedback

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

Questions people ask

How are period dates predicted?
Day 1 is anchored to the first day of full flow, not spotting. With at least three logged cycles, the next start is calculated from the median of the recent cycle lengths, with a plus-or-minus range derived from their spread; with fewer cycles, it gives only a broad estimate.
Does it support ovulation and fertile-window tracking?
Yes, but only when fertility tracking is enabled or explicitly requested. It can combine a calendar estimate with LH tests, cervical mucus, and basal body temperature; live signals take precedence when they disagree with the calendar.
Where is sensitive cycle data stored?
Logs and configuration stay in local files under `~/Clawic/data/period/` and must never be synced. Cycle content is not mentioned outside a session the user opened, and deletion requests are confirmed, performed, and verified.

Related skills

Track drinks from everyday language and calculate context-aware daily hydration targets.

51 installs3 stars

Design, log, review, and repair recurring behaviors using cues, minimums, rates, streaks, and restart plans.

58 installs2 stars

Get a red-flag check, a clear care timeframe, and focused questions for a clinician.

99 installs4 stars

Turn a sleep complaint into a measured protocol with timed light, wake anchors, cutoffs, and safety triage.

60 installs2 stars

Creates a morning briefing from sleep, biometrics, calendar, activity, and local weather data.

87 installs11 stars

Capture entries, restart a lapsed practice, review past writing, and assess recurring themes.

71 installs2 stars