{"skill":{"slug":"time-anchor","displayName":"Time Anchor","summary":"Offload date math to code — get current date, days/weeks until goal dates, and month-end info. Use whenever you need to reason about relative dates or calcul...","description":"---\nname: time-anchor\ndescription: Offload date math to code — get current date, days/weeks until goal dates, and month-end info. Use whenever you need to reason about relative dates or calculate \"how many days until [event].\" Especially important when comparing milestone timelines against today's date. Triggers on any message mentioning dates, deadlines, timeframes, \"when,\" \"days until,\" planning, scheduling, or temporal reasoning.\n---\n\n# Time Anchor\n\nUse `exec` to run the bundled script instead of doing date math yourself. The script returns deterministic results — no guessing.\n\n## Quick Usage\n\n```bash\npython3 ~/.openclaw/workspace/skills/time-anchor/scripts/time-anchor.py [--today | --until DATE | --weekday DAY | --month]\n# No flags = full anchor: today + all configured goals + month info\n```\n\n| Flag | Output |\n|------|--------|\n| (none) | Full anchor: today, day of week, all goals in days/weeks, month info |\n| `--today` | Today's date and day of week only |\n| `--until YYYY-MM-DD` | Days to a specific arbitrary date |\n| `--weekday Tuesday` | Upcoming occurrences + JSON with ambiguity flag |\n\nFor weekday labels, `0-7` days away maps to `this` / `this_week`; `8+` days away maps to `next` / `next_week`.\n| `--month` | Days left in current month (excluding today) |\n\n## Workflow Rules — Don't Guess\n\n### 1. Named event → targets first, then memory/context, then web search, THEN ask.\n\nUser says \"how far is Devconf?\" → run full anchor to check if it's a configured goal. If not: check conversation history / memory for the date we discussed. Still unsure? Web search. STILL unsure? Ask which occurrence they mean.\n\n### 2. Weekday references → default to NEXT upcoming occurrence (forward looking).\n\nToday is Wednesday, user says \"how far until Tuesday?\" → use `--weekday Tuesday`, report the next one forward (6 days away). Never default to a past occurrence unless explicitly asked about something in the past.\n\n### 3. Only return PAST occurrences on explicit past-tense phrasing:\n\n- \"How far away was last Tuesday?\" → look backward, report most recent\n- \"How long has it been since summer started?\" → calculate days since fixed date\n- Any phrase with \"since,\" \"ago,\" \"last\" followed by weekday → backward lookup\n\n### 4. Ambiguity: `--weekday` flags it, agent must ask.\n\nWhen JSON output contains `\"ambiguous\": true`:\n- **Do NOT pick one.** The tool is telling you there's a \"this week\" vs \"next week\" ambiguity.\n- Ask the user to clarify which occurrence they mean.\n- Short fuzzy weekday inputs should be at least 3 characters; if the prefix is still ambiguous, clarify rather than guessing.\n\n## Adding Goals\n\nEdit `~/.openclaw/workspace/skills/time-anchor/scripts/time-anchor.py`, add to the `TARGETS` dict:\n\n```python\nTARGETS = {\n    \"2026-10-15\": \"Event name here\",  # YYYY-MM-DD: descriptive label\n}\n```\n\n## Full documentation\n\nSee [README.md](README.md) for installation, ambiguity examples, and more.\n","tags":{"latest":"1.1.0"},"stats":{"comments":0,"downloads":473,"installsAllTime":17,"installsCurrent":0,"stars":1,"versions":2},"createdAt":1777990431657,"updatedAt":1778492850251},"latestVersion":{"version":"1.1.0","createdAt":1778087670144,"changelog":"Add weekday ambiguity handling, argparse-based CLI cleanup, and leaner date-object internals.","license":"MIT-0"},"metadata":null,"owner":{"handle":"elroyic","userId":"s178k217xnpss270wvkpjpafad8653yw","displayName":"Zigzag067","image":"https://avatars.githubusercontent.com/u/120057582?v=4"},"moderation":null}