task icon Task

Visualize Life in Weeks

2

Check if the user's birthdate is in uiUser Profile (personal.md file).
If not found, ask when they were born. Accept any reasonable format
(e.g., "March 15, 1990", "15/03/90"). Add birthdate to uiUser Profile
personal file in a clear format like "birthdate: 1990-03-15".

6

Present the visualization and statistics to the user following the guide:

  1. Show the generated SVG image path so they can view it
  2. Share one thoughtful observation about the weeks they've lived
  3. Mention a meaningful milestone (seasons experienced, years completed)
  4. If their next birthday is soon, note it warmly

Keep the tone contemplative and grounding. Let the grid speak for itself.
Offer to regenerate the visualization anytime they'd like to reflect again.

                    You MUST use a todo list to complete these steps in order. Never move on to one step if you haven't completed the previous step. If you have multiple read steps in a row, read them all at once (in parallel).

Add all steps to your todo list now and begin executing.

## Steps

1. [Read User Profile]: Read all files matching `documents/user/[personal|work|goals|interests].md` and analyze their contents (Check if birthdate exists in personal profile)

2. Check if the user's birthdate is in `documents/user/[personal|work|goals|interests].md` (personal.md file).
If not found, ask when they were born. Accept any reasonable format
(e.g., "March 15, 1990", "15/03/90"). Add birthdate to `documents/user/[personal|work|goals|interests].md`
personal file in a clear format like "birthdate: 1990-03-15".


3. [Gather Arguments: Calculate Life Statistics] The next step has the following requirements for arguments, do not proceed until you have all the required information:
- `birthdate`: birthdate from ui:context.user.profile
- `lifeExpectancy` (default: "90"): 90

4. [Run Code: Calculate Life Statistics]: Call `run_script` with:

```json
{
  "file": {
    "path": https://sk.ills.app/code/personal.life.calculate/preview,
    "args": [
      "birthdate",
      "lifeExpectancy"
    ]
  },
  "packages": null
}
```

5. [Gather Arguments: Render Life Grid SVG] The next step has the following requirements for arguments, do not proceed until you have all the required information:
- `birthdate`: birthdate from ui:context.user.profile
- `outputDir`: documents/life-in-weeks/images/*
- `lifeExpectancy` (default: "90"): 90

6. [Run Code: Render Life Grid SVG]: Call `run_script` with:

```json
{
  "file": {
    "path": https://sk.ills.app/code/personal.life.render/preview,
    "args": [
      "birthdate",
      "outputDir",
      "lifeExpectancy"
    ]
  },
  "packages": null
}
```

7. [Read Life Reflection Presentation Guide]: Read the documentation in: `skills/sauna/[skill_id]/references/personal.life.guide.md` (Guidance on thoughtful presentation)

8. Present the visualization and statistics to the user following the guide:

1. Show the generated SVG image path so they can view it
2. Share one thoughtful observation about the weeks they've lived
3. Mention a meaningful milestone (seasons experienced, years completed)
4. If their next birthday is soon, note it warmly

Keep the tone contemplative and grounding. Let the grid speak for itself.
Offer to regenerate the visualization anytime they'd like to reflect again.