LLM temporal reasoning scaffold for the temporal CLI.
Use temporal to anchor work at NOW and place events as spatial distances (ahead/behind) for reliable temporal reasoning.
Use one frame only: you move forward through time.
temporal must be on your $PATH.temporal is not on $PATH, run scripts/install.sh from the skill directory.scripts/install.sh auto-detects OS/arch, verifies SHA-256 checksums from values bundled in the installer (not from the release checksums file), and installs to /usr/local/bin/temporal when writable or ~/.local/bin/temporal otherwise.v0.1.0. You can override version/install dir with TEMPORAL_VERSION and TEMPORAL_INSTALL_DIR.TEMPORAL_SHA256 to an independently obtained digest.~/.local/bin is on your $PATH (for example, export PATH="$HOME/.local/bin:$PATH" in your shell profile).curl examples below install binaries without checksum verification; prefer scripts/install.sh when possible.mkdir -p ~/.local/bin && curl -L https://github.com/Ikana/temporal/releases/latest/download/temporal-darwin-arm64 -o ~/.local/bin/temporal && chmod +x ~/.local/bin/temporalmkdir -p ~/.local/bin && curl -L https://github.com/Ikana/temporal/releases/latest/download/temporal-darwin-x64 -o ~/.local/bin/temporal && chmod +x ~/.local/bin/temporalmkdir -p ~/.local/bin && curl -L https://github.com/Ikana/temporal/releases/latest/download/temporal-linux-x64 -o ~/.local/bin/temporal && chmod +x ~/.local/bin/temporalmkdir -p ~/.local/bin && curl -L https://github.com/Ikana/temporal/releases/latest/download/temporal-linux-arm64 -o ~/.local/bin/temporal && chmod +x ~/.local/bin/temporalTEMPORAL_VERSION=v0.1.1 TEMPORAL_SHA256=<sha256> ./scripts/install.shtemporal init
temporal add "Sprint review" --on "2026-02-21" --type ceremony
temporal add "v0.3.0 deadline" --in "13 days" --type milestone --notes "new auth flow"
temporal show
init [--timezone <iana_tz>] [--force]Create time.md with NOW as the anchor. Use --force to overwrite an existing file.
now [--timezone <iana_tz>]Update only the NOW section timestamp metadata. Does not recalculate event distances.
add <event> (--in <duration> | --on <date> | --at <datetime>) [--type <type>] [--notes <text>]Add one event with exactly one time selector:
--in: relative duration ("3 days", "in 4 hours", "2 days ago")--on: date input ("2026-03-01", "tomorrow", "next Monday")--at: ISO datetime ("2026-02-20T14:00:00Z")showPrint full time.md to stdout.
pastPrint NOW + the Behind (Past) timeline section.
aheadPrint NOW + the Ahead (Future) timeline section.
refreshMove NOW to current time and recalculate all event distances/order.
remove <event>Remove an event from timeline and sequences.
seq <name> <event1> <event2> [event3...]Create/update a named sequence chain.
span <name> --from <when> --to <when>Create/update a named duration span. --from must be before --to.
time.md Format# Time Context
## Now
- **timestamp**: 2026-02-19T09:00:00.000Z <!-- anchor -->
- **weekday**: Thursday
- **week**: 8 of 52
- **quarter**: Q1 2026
- **timezone**: Europe/Amsterdam
## Timeline
### Behind (Past)
| distance | event | type | notes | iso |
|----------|-------|------|-------|-----|
| 1 day behind | bug #42 reported | issue | auth timeout | 2026-02-18T10:00:00.000Z |
### Ahead (Future)
| distance | event | type | notes | iso |
|----------|-------|------|-------|-----|
| 2 days ahead | sprint review | ceremony | demo v0.2.1 | 2026-02-21T14:00:00.000Z |
## Sequences
### release-cycle
v0.2.0 released → bug #42 reported → [NOW] → sprint review → v0.3.0 deadline
## Durations
| span | from | to | length |
|------|------|----|--------|
| current sprint | 5 days behind | 2 days ahead | 7 days |
/tmp)Use this for one-shot reasoning so project files stay clean:
cd /tmp
temporal init --force
temporal add "Draft due" --on "2026-02-25"
temporal add "Client review" --in "3 days"
temporal show
# draft your output using the timeline
rm -f time.md
Use sequences to express ordered chains for planning:
temporal seq "release-cycle" "RFC drafted" "Implementation starts" "Testing" "Launch"
show places [NOW] at the correct position relative to sequence events.
Use spans for time windows:
temporal span "Sprint 12" --from "2026-02-17" --to "2026-02-28"
The Durations table shows from/to distances and total length.
temporal refresh before reading time.md when it may be stale.temporal is fully non-interactive (no prompts).