ワンクリックで
intervals-time-entries
Use when starting, stopping, editing, syncing, reviewing, or retroactively adding Intervals timers or time entries.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Use when starting, stopping, editing, syncing, reviewing, or retroactively adding Intervals timers or time entries.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | intervals-time-entries |
| description | Use when starting, stopping, editing, syncing, reviewing, or retroactively adding Intervals timers or time entries. |
Time entry classification should be history-guided, not guess-driven. Never assume a timer should be started just because work is beginning. Before creating or changing timers/time entries, inspect recent local timers and time entries, ask for confirmation before starting any timer unless the user explicitly requested it, and use similar prior work to choose project/worktype/module.
Use this skill for any request involving Intervals time tracking, including:
Always gather context before creating, editing, or syncing a time entry or timer:
intervals_list_time.intervals_list_timers when the request involves timers or could be affected by an active timer. Before starting a new timer, if any active timer exists, ask whether it should be stopped first.intervals_query_time for date-scoped requests such as “today”, “yesterday”, “this week”, or when recent entries are not enough.intervals_find_project_context to resolve project names, ticket prefixes, worktypes, modules, and ambiguous project matches.Do not skip the recent-entry check just because the user supplied a ticket key or project name.
When work is beginning but the user did not explicitly ask to start a timer:
Before starting any timer after explicit user request or confirmation:
intervals_list_timers.When the user asks to start a timer using only a ticket key, e.g. “start a timer for FOU-406”:
TICKET-123: Issue title, e.g. FOU-406: Upgrade to Python 3.14.Look for recent entries/timers with the same or similar:
FOU-406, FOU-*CLBH005-NSClubhouseIf a recent matching entry exists, reuse its:
Example: if the user says “add timer for FOU-406” and a recent entry says:
CLBH005-NS ... /foundations (Consulting) | FOU-406: Fix mypy 1.20.2 upgrade type-check failures
start the timer with the same project, worktype, and module, and use the same ticket description style.
If a project name is ambiguous, prefer the most likely recent match rather than asking immediately.
Example: if “Clubhouse” matches both CLBH005-NS and CLBH006-NS, inspect recent entries. If recent work is on CLBH005-NS with the same ticket prefix or repo/path context, use CLBH005-NS and state that it was chosen based on recent matching entries.
Ask a clarification question only when:
Ask one concise question and include the leading candidates.
A “new project” means there is no sufficiently similar recent time entry/timer for the project/worktype/module combination.
When starting a timer for a new project after the user explicitly requested or confirmed the timer:
intervals_find_project_context and path clues.intervals_set_project_defaults with the confirmed worktype/module.For retroactive entries, resolve required project/worktype before creating the entry. If worktype/module cannot be inferred safely, ask before adding the entry.
intervals_start_timer only when the user explicitly requested a timer or answered yes when asked whether to start one. First check active timers and ask whether any running timer should be stopped. Include project/worktype/module hints when confidently inferred from recent history.intervals_stop_timer when the user finishes work. Re-check recent entries if classification is missing or stale. NB: Do not modify the timer project, worktype or module if it already set.intervals_add_time for retroactive entries. Convert durations to minutes.intervals_edit_time to fix failed or incorrect entries, then verify with intervals_list_time or intervals_query_time.intervals_delete_time when the user wants to remove a time entry. If the user references a stopped timer, pass timer_id so the linked time entry is deleted.intervals_sync_now after adding/editing/stopping if the tool did not already sync, or when the user explicitly asks to retry sync.intervals_find_project_context before relying on a project/worktype/module ID that came from text rather than a previous time entry.~/.pi/intervals/intervals.db directly for normal workflows. Use intervals_list_time, intervals_query_time, and intervals_lookup_time_entry; these expose local time entry IDs, local start/end windows, sync status, and timer-to-entry mapping without direct DB access.08:35, use stop_time instead of raw end_at. stop_time is interpreted as local time and recalculates duration from the entry's stored start time.intervals_lookup_time_entry(timer_id=...) or intervals_edit_time(timer_id=...); do not map the timer to a time entry through SQLite.Be careful with local catalog row IDs versus Intervals remote IDs.
intervals_find_project_context and IDs shown in synced/recent time-entry tool output.intervals_find_project_context, then retry sync.When you create, edit, or start a timer/time entry, briefly report:
Keep the response concise.
FOU-406 as the description when the issue title is available.end_at without updating duration. Use stop_time for user-facing stop-time changes.