I suppose much of this can be recreated with MCPs, but I wanted to introduce an API that could be polled to help agents improve their implementation with CalDave.
This API endpoint helps the agent know what is on the API, inspired by terminal man nethack esque commands. Outputs everything you can do. In order to save token space, the agent can refine the output by topics ?topic=events (and if you enter an invalid topic it outputs all possible topics) and also there is a ?guide parameter. If the agent enters this, they get a far more verbose guided manual that basically tells them exactly what to do.
This API endpoint helps the agent know what has changed with the API. By default it simply outputs a chronological list of changes — a changelog — BUT if the agent provides their agent id, it'll only output changes that shipped since they signed up — the idea being that they probably reviewed the docs at time of creation but maybe not since then, and this is a way to help the agent know what else is possible.
The changelog also recommends that agents periodically review the changelog and propose any improvements/additions based on the changes. A self improvement flywheel!
Additionally, both endpoints support a personalized recommendation output if an agent token is provided. This basically provides simple obvious recommendations on what the agent might want to do next. For example if there are no calendars on that agent token ... create a calendar. If there are calendars but no events ... create an event. If there are calendars, events, maybe consider SMTP or adding a name/descriptor to the agent.