
Use when creating C++ learning notes or minimal experiments for low-level computational, numerical, CPU/GPU, compiler, and hardware concepts such as false sharing, floating point, registers, caches, SIMD, atomics, numerical stability, and benchmarking pitfalls.
Use when working with Perforce changelists, shelves, depot state, stream comparisons, file actions, or preparing code for P4 submission.
Use when editing, formatting, or refactoring Confluence pages—structure, macros, tables, code snippets, permissions, and optimizing for collaboration and searchability.
Use when editing, formatting, or refactoring markdown files—structuring headers, lists, code blocks, tables, links, and improving readability for GitHub, documentation sites, or READMEs.
Use when designing, implementing, or analyzing reinforcement learning experiments, algorithm selection, environment analysis, hyperparameter tuning, reward curves, and RL evaluation.
Use when working with Boost.Build (b2/bjam), Jamfiles, Jamroot, toolset configuration, submodule dependencies, feature propagation, or diagnosing gcc/clang/nvcc compilation errors and C++ template error messages.
Use when implementing, debugging, refactoring, or reviewing code. Covers code changes, defect investigation, and verification.
Use when optimizing C++ runtime performance, hot paths, allocations, cache efficiency, vectorization, branch reduction, parallelization, data-oriented design, and concurrency overhead.
Use when writing Python for machine learning projects, experiment scaffolding, training loops, evaluation, hyperparameter management, and reproducible ML workflows.
Use when iterating on a course report, reviewing previous submissions, improving LaTeX structure and analysis, or preparing sources for Overleaf upload or Git sync.
Use when investigating technical topics, comparing sources, evaluating approaches, performing literature review, or synthesizing findings.
Use when working with sparse matrices, sparse storage formats (CSR, CSC, COO, BSR, ELL), sparse matrix-vector multiply (SpMV), sparse matrix-matrix multiply (SpGEMM), triangular solves, level scheduling, ILU and IC preconditioners, iterative solvers (CG, GMRES, BiCGSTAB), algebraic multigrid, reordering (RCM, AMD, nested dissection, Metis), fill-in analysis, graph-based sparsity reasoning, graph partitioning, coloring, and sparse direct solvers.
Use when editing, rewriting, summarizing, or normalizing style for documentation, emails, proposals, reports, and copy edits.
Use when creating, refining, or reviewing a custom agent (.agent.md), choosing its scope and tools, improving delegation keywords, or deciding whether guidance belongs in a reusable skill instead.
Use when creating, refactoring, cleaning up, structurally analyzing, or diagnosing CMake projects, CMakePresets, target-based modern CMake, custom functions/macros, dependency discovery, C++ compiler errors, CUDA language support, nvcc errors, toolchains, install/export rules, or cross-platform build configuration.
Use when optimizing CUDA kernels, analyzing CUDA profiler reports, GPU memory hierarchy, shared memory, coalescing, launch configuration, occupancy, warp divergence, host-device transfers, and end-to-end GPU pipeline.
Use when creating LaTeX documents, TikZ figures, PGFPlots, algorithm diagrams, architecture schematics, or report-ready plots for technical writeups.
Use when reading a PDF project spec, course assignment, rubric, or requirements document to extract deliverables, constraints, and create an execution plan.
Use when writing, debugging, reviewing, or refactoring shell scripts and command lines in bash, zsh, csh, tcsh, POSIX sh, and terminal automation workflows.
Use when reviewing Perforce changelists, shelves, diffs, or generating changelist comments. Covers code review, pre-submit inspection, submission risk, and STARs ID tracking.
Use when documenting current work so another agent or future session can resume seamlessly: writing session handoff docs, pause/resume notes, context-transfer files, transition plans, extended debugging summaries, implementation status reports, or when the user says they need to take a break, start a new session, continue later, or onboard the next agent.
Use when automating Nsight Compute (.ncu-rep) profiling, extracting metrics with ncu_report, comparing profiles, and diagnosing CUDA kernel bottlenecks.
Use when planning or executing Git branch workflows, especially merge/rebase across branches, conflict resolution, safe history rewriting, and recovery from mistakes.
Use when working with graph traversals (BFS, DFS, level-order), minimum spanning trees, strongly connected components, topological sort, graph coloring, bipartite detection, elimination trees, level-set extraction, parallel graph algorithms, task-tree parallelism, sparse graph representations, and exploiting graph structure for parallel sparse computations.
Use when drafting, reviewing, or normalizing Git commit messages or Perforce changelist descriptions from the shared Git/P4 commit message template.
Use when writing modern C++ for clarity, expressiveness, type safety, API design, RAII, value semantics, constexpr, concepts, traits, and compile-time design.
Use when configuring, diagnosing, or compiling LaTeX projects, especially multi-file reports, theses, books, chapter-based projects, Overleaf exports, latexmk/arara/Makefile workflows, bibliography/index/glossary passes, or projects that require pdflatex, xelatex, lualatex, latex->dvips, biber, or bibtex.