Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Set up the opt-in local dev diary for any developer. Use when the user asks to enable diary logging, initialize diary capture, run diary --init, or configure local daily work updates.
.claude/skills/tetherto-qv-dev-diary-setup/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 5% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -12% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 7% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 18% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -20% | 0% |
Sets up local diary capture. The diary is off by default and only turns on after initialization succeeds.
Use this skill only for setup/enable/disable. For reading, editing, or adding diary entries after setup, use dev-diary.
When using --asana or an Asana config file, first show these instructions to the user before checking whether ASANA_ACCESS_TOKEN exists:
Cursor local qvac-pr-skills.bashexport ASANA_ACCESS_TOKEN='<token>'
bashcurl https://app.asana.com/api/1.0/users/me \ -H "Authorization: Bearer $ASANA_ACCESS_TOKEN"
Docs: Asana personal access token
Basic local diary only:
bashnode .cursor/skills/_lib/developer-workflow/diary-cli.mjs --init --basic
Local diary plus Asana config import:
bashnode .cursor/skills/_lib/developer-workflow/diary-cli.mjs --init /path/to/asanaconfig.json
Status:
bashnode .cursor/skills/_lib/developer-workflow/diary-cli.mjs --status
Disable:
bashnode .cursor/skills/_lib/developer-workflow/diary-cli.mjs --off
For Asana-backed setup:
test -n "$ASANA_ACCESS_TOKEN" or echo "$ASANA_ACCESS_TOKEN". That only checks the agent process environment and bypasses the helper's default-shell fallback.diary-cli.mjs resolve the token from process.env or the user's default shell startup files:bashnode .cursor/skills/_lib/developer-workflow/diary-cli.mjs --init /path/to/asanaconfig.json
bashnode .cursor/skills/_lib/developer-workflow/diary-cli.mjs --status
ASANA_ACCESS_TOKEN and verify /users/me.diary-cli.mjs / asana.mjs so default-shell fallback is applied.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 6,885 | 5,525 | -20% | 1 | 1 | 0% | 1,170 | 1,291 | +10% | 0 | 0 | — |
case-02 | fail→fail | 10,743 | 5,241 | -51% | 1 | 1 | 0% | 1,908 | 1,809 | -5% | 0 | 0 | — |
case-03 | fail→pass | 6,261 | 1,478 | -76% | 1 | 1 | 0% | 1,015 | 1,069 | +5% | 0 | 0 | — |
case-04 | fail→pass | 9,317 | 4,216 | -55% | 1 | 1 | 0% | 1,667 | 1,463 | -12% | 0 | 0 | — |
case-05 | pass→pass | 6,337 | 5,138 | -19% | 1 | 1 | 0% | 1,047 | 1,736 | +66% | 0 | 0 | — |
case-06 | fail→pass | 8,862 | 4,278 | -52% | 1 | 1 | 0% | 1,456 | 1,555 | +7% | 0 | 0 | — |
case-07 | pass→pass | 6,463 | 2,564 | -60% | 1 | 1 | 0% | 1,227 | 1,232 | +0% | 0 | 0 | — |
case-08 | fail→pass | 9,408 | 5,169 | -45% | 1 | 1 | 0% | 1,645 | 1,944 | +18% | 0 | 0 | — |
case-09 | fail→pass | 9,032 | 1,711 | -81% | 1 | 1 | 0% | 1,372 | 1,095 | -20% | 0 | 0 | — |
case-10 | fail→pass | 8,827 | 2,663 | -70% | 1 | 1 | 0% | 1,479 | 1,244 | -16% | 0 | 0 | — |
case-20 | fail→pass | 4,226 | 4,144 | -2% | 1 | 1 | 0% | 763 | 1,588 | +108% | 0 | 0 | — |
case-11 | fail→fail | 5,744 | 3,391 | -41% | 1 | 1 | 0% | 884 | 1,448 | +64% | 0 | 0 | — |
case-12 | pass→pass | 10,872 | 5,604 | -48% | 1 | 1 | 0% | 1,839 | 1,847 | +0% | 0 | 0 | — |
case-13 | fail→pass | 7,152 | 4,504 | -37% | 1 | 1 | 0% | 1,169 | 1,617 | +38% | 0 | 0 | — |
case-14 | fail→pass | 7,449 | 1,433 | -81% | 1 | 1 | 0% | 1,214 | 1,017 | -16% | 0 | 0 | — |
case-15 | pass→pass | 9,042 | 3,233 | -64% | 1 | 1 | 0% | 1,520 | 1,441 | -5% | 0 | 0 | — |
case-16 | fail→pass | 8,919 | 5,227 | -41% | 1 | 1 | 0% | 1,549 | 1,763 | +14% | 0 | 0 | — |
case-17 | fail→pass | 11,057 | 2,383 | -78% | 1 | 1 | 0% | 1,668 | 1,223 | -27% | 0 | 0 | — |
case-18 | fail→pass | 8,790 | 1,846 | -79% | 1 | 1 | 0% | 1,334 | 1,184 | -11% | 0 | 0 | — |
case-19 | fail→pass | 6,525 | 3,924 | -40% | 1 | 1 | 0% | 983 | 1,673 | +70% | 0 | 0 | — |
case-21 | fail→pass | 9,833 | 5,063 | -49% | 1 | 1 | 0% | 1,657 | 1,740 | +5% | 0 | 0 | — |
case-22 | fail→pass | 12,083 | 5,632 | -53% | 1 | 1 | 0% | 1,946 | 1,851 | -5% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +68 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.