figure
Draw an animated figure (boxes, arrows, moving data) as one self-contained SVG for a GitHub README, PR, issue or blog post. Use…
Review changed code against project standards. Checks for missing tests, dead code, type safety, lint issues, and coding conventions. Run after completing any implementation work.
Claude Code
$ npx -y skills add vectorize-io/hindsight --skill code-review --agent claude-code
Codex
$ npx skills add vectorize-io/hindsight --skill code-review -a codex -y
Cursor
$ npx skills add vectorize-io/hindsight --skill code-review -a cursor -y
Gemini CLI
$ npx skills add vectorize-io/hindsight --skill code-review -a gemini-cli -y
GitHub Copilot
$ npx skills add vectorize-io/hindsight --skill code-review -a github-copilot -y
OpenCode
$ npx skills add vectorize-io/hindsight --skill code-review -a opencode -y
Windsurf
$ npx skills add vectorize-io/hindsight --skill code-review -a windsurf -y
name: code-review description: Review changed code against project standards. Checks for missing tests, dead code, type safety, lint issues, and coding conventions. Run after completing any implementation work. user_invocable: true
Review all changed code against the project's quality standards and coding conventions.
Read and internalize these standards before writing code. The review steps below verify compliance.
**CPython 3.11** is the baseline — what `docker/standalone/Dockerfile` ships, and what the `.python-version` pin and `uv.lock` resolve for. The package supports 3.11 through 3.14; `build-api-python-versions` in CI installs and smoke-tests each of them, so a dependency floor that excludes one of those interpreters is a break, not a follow-up.
**NEVER use raw `dict` types for structured data** — this applies to all code, including internal helpers and private functions. If the dict has known keys, it must be a dataclass or Pydantic model:
# BAD - error-prone dict access
def process(data: dict) -> str:
return data.get("name", "") # No validation, silent failures
# GOOD - typed and validated
class UserData(BaseModel):
name: str
created_at: datetime
@field_validator("created_at", mode="before")
@classmethod
def ensure_tz_aware(cls, v):
if isinstance(v, str):
v = datetime.fromisoformat(v.replace("Z", "+00:00"))
if v.tzinfo is None:
return v.replace(tzinfo=timezone.utc)
return v
def process(data: UserData) -> str:
return data.name # Type-safe, validated at construction`globals.css` already covers the page never scrolling sideways, hover-only controls showing on touch screens, and form fields not zooming on iOS. The checks below are the part a shared rule can't cover:
(`max-w-full overflow-x-auto` with `shrink-0 whitespace-nowrap` children).
`w-[min(420px,calc(100vw-1rem))]`). Side-by-side panes stack below `md`.
and keeps a 40rem floor so columns don't get squashed on a phone.
`form-layout.tsx` has it); side-by-side inputs stack below `sm`.
bottom under the URL bar otherwise).
# BAD - no context for future readers results = await asyncio.gather(*tasks, return_exceptions=True) # GOOD - explains the non-obvious choice # Use return_exceptions=True to avoid cancelling sibling tasks on failure. # Previously we used TaskGroup but it cancelled all tasks when one failed, # causing partial writes that left orphaned entity links (see #412). results = await asyncio.gather(*tasks, return_exceptions=True)
Draw an animated figure (boxes, arrows, moving data) as one self-contained SVG for a GitHub README, PR, issue or blog post. Use…
Cut a core Hindsight release (vX.Y.Z) and open the changelog + blog PR. Use when asked to cut/start a release, bump the version,…
Take a PR from review to merged — run the repo's code-review skill on it in a loop (review, fix, re-review) until nothing is left…
Triage a GitHub issue or a reported problem — check it is real and not by design (code, git history, PRs, Hindsight memory), find…
Long-term memory for the agent via Hindsight. Use to recall relevant past context before answering, retain durable facts as you…
Search long-term memory for relevant context from past coding sessions using Hindsight MCP tools
Believable agent cost report for any period, default the last 7 full days PT, not counting today. Measured tokens from Claude…
Install, configure, and operate MemPalace, including a private local palace, a shared-brain hub, or a client joining an existing…
Install, configure, and operate MemPalace, including a private local palace, a shared-brain hub, or a client joining an existing…