Odin Gemini CLI Extension
Odin Gemini CLI Extension from OutlineDriven/odin-gemini-cli-extension.
Skills in this plugin
26- ▌ QA · outlinedriven-odin-gemini-cli-extensionLightweight conversational QA mode — user reports bugs in plain language, agent clarifies minimally, files GitHub issues that survive refactors. Trigger when the user says "QA", "QA session", wants to file bugs conversationally, or starts ad-hoc reporting without a fixed deliverable shape. Differentiates from branch-scoped review and PR-scoped review.
- ▌ Duet · outlinedriven-odin-gemini-cli-extensionTwo-party posture — user as director, agent as executor; every fork, tradeoff, or choice surfaced via batched AskUserQuestion with a recommended default. Use when the user invokes /duet, says "ask before" / "pair with me" / "human-in-the-loop", or for aesthetic/architectural/irreversible decisions.
- ▌ Askme · outlinedriven-odin-gemini-cli-extensionVerbalized Sampling (VS) protocol for deep intent exploration before planning, now mode-aware. Default `exhaustive` mode runs the existing VS protocol verbatim (callers without a mode arg get unchanged behavior). Optional `collaborative` mode runs a two-way tip-sharing dialogue; optional `adversarial` mode walks the design tree one fork at a time with recommendations per question. Mode-selection is hybrid — auto-detect from invoking-context phrasing ("help me refine" → collaborative, "poke holes" → adversarial, otherwise exhaustive) with explicit override via `/askme adversarial|collaborative|exhaustive`. Use when starting ambiguous or complex tasks, when multiple interpretations exist, or when you need to explore diverse intent hypotheses and ask maximum clarifying questions before committing to an approach.
- ▌ Debug · outlinedriven-odin-gemini-cli-extensionHypothesis-driven defect isolation — stack-trace forensics, breakpoint strategy, state inspection, and root-cause confirmation via minimal repro. Use when a defect surfaces (test failure, crash, exception, wrong output, intermittent flake) and the cause is not immediately obvious from the change set.
- ▌ Caveman · outlinedriven-odin-gemini-cli-extensionVerbosity-reduction response register. Drops redundant clauses, narrative hedging, and ceremony while preserving articles, grammar, and decision-oriented register. Trigger when user requests "caveman", "compact mode", "less tokens", "be brief", or when long sessions approach context-window pressure and concise grammatical English is needed.
- ▌ Contexts · outlinedriven-odin-gemini-cli-extensionCoordinate context sweep before coding - gather relevant files, patterns, and tooling summaries. Use when preparing to implement a feature, fix, or refactor and need comprehensive architecture, pattern, tooling, and dependency context gathered first.
- ▌ Grill Me · outlinedriven-odin-gemini-cli-extensionAdversarial relentless interview against any plan or design until shared understanding is reached. Walk the decision tree, resolve dependencies one answer at a time, recommend a default per question. Trigger when the user says "grill me", "stress-test this", "interview me about this design", or otherwise asks for hostile-but-fair scrutiny of a proposal. General-purpose — no domain anchor required.
- ▌ Srgn CLI · outlinedriven-odin-gemini-cli-extension bundlePractical guide for building safe, syntax-aware srgn CLI commands for source-code search and transformation. Use when users ask for srgn commands, scoped refactors (comments/docstrings/imports/functions), multi-file rewrites with --glob, custom tree-sitter query usage, or CI-style checks with --fail-any/--fail-none.
- ▌ To Issues · outlinedriven-odin-gemini-cli-extensionDecompose a plan, PRD, or spec into independently-grabbable vertical-slice issues (markdown file by default, GitHub issues via flag). Trigger when the user wants implementation tickets, work decomposition, or to convert an implementation plan into parallelizable work. Takes a plan file and emits atomic vertical slices.
- ▌ Test Driven · outlinedriven-odin-gemini-cli-extension bundleTest-Driven Development (TDD) across any supported language. Use when implementing features or fixes with TDD methodology, writing tests before code, or following XP-style development.
- ▌ Type Driven · outlinedriven-odin-gemini-cli-extension bundleType-driven development. Use when developing with refined types, state machines encoded in types, or proof-carrying types; enforces totality and exhaustive pattern matching.
- ▌ Domain Model · outlinedriven-odin-gemini-cli-extension bundleGrill against the existing domain model. Stress-test a plan's terminology against `CONTEXT.md` and ADRs; update both inline as decisions crystallise. Trigger when user proposes a feature/refactor that touches business concepts and the project has documented domain language to honor — or when domain language is missing and needs capture.
- ▌ Edit Article · outlinedriven-odin-gemini-cli-extensionMechanically tighten existing prose — restructure sections by dependency order, split or merge paragraphs, remove redundancy. Use to compress verbose plan files, READMEs, ADRs, and design docs. Does NOT change voice, register, tone, or any ODIN-mandated phrasing.
- ▌ Perf Profile · outlinedriven-odin-gemini-cli-extensionHotspot detection and performance root-cause analysis — flamegraph interpretation, allocation tracking, latency profiling, regression measurement. Use when a workload misses its latency, throughput, or memory budget; when a benchmark regresses; or before optimizing any hot path (no optimization without a profile).
- ▌ Proof Driven · outlinedriven-odin-gemini-cli-extension bundleProof-driven development. Use when implementing with formal verification using property-based testing, theorem proving, or proof tactics; zero unproven property policy enforced.
- ▌ Triage Issue · outlinedriven-odin-gemini-cli-extensionInvestigate a reported bug to root cause, then emit a TDD-shaped fix plan as an issue artifact. Trigger when the user reports a bug, says "triage", asks for issue investigation, or wants a fix plan before code changes.
- ▌ LLM Self Loop · outlinedriven-odin-gemini-cli-extensionRestructure Web-UI / human-triggered tasks into CLI + file-output loops the LLM can iterate alone. Open LLM-side observability — structured logs, file dumps, addressable scratchpads. Apply the trap-or-abandon decision: if a step cannot be looped, improve the harness rather than babysit. Trigger when the user mentions iterative grunt-work, "I have to push a button in a web UI to trigger this", monitoring dashboards, designing Claude-driven automation, or any workflow whose inner loop currently requires a human in the middle.
- ▌ Write A Skill · outlinedriven-odin-gemini-cli-extensionAuthor a single new skill — produce a SKILL.md plus optional bundled references and scripts following Anthropic's progressive-disclosure conventions. Trigger when the user asks to "write a skill", "create a skill", "draft a SKILL.md", or "add a skill" for a specific capability. Distinct from repo onboarding workflows that write AGENTS.md and project conventions.
- ▌ Security Review · outlinedriven-odin-gemini-cli-extensionAdversarial security audit — STRIDE threat modeling, OWASP Top 10 mapping, supply-chain (CVE/SBOM) review, secrets scanning, auth/authz analysis. Use when reviewing changes that touch authentication, authorization, input parsing, deserialization, network I/O, dependencies, secrets, or before any production release / external-surface PR.
- ▌ Cleanup Codebase · outlinedriven-odin-gemini-cli-extension bundleReduce concepts, duplication, and ceremony in internal code while touching nearby code. Use when working an existing path and you spot dead fields, redundant wrappers, or speculative abstractions; distinct from refactor-break-bw-compat (internal hygiene, not public API removal).
- ▌ Grill AI Mastery · outlinedriven-odin-gemini-cli-extensionHybrid interview that probes AI-engineering mastery by tip-vocabulary depth — entity referencing, loop closure, observability, harness improvement — not by token usage or LOC. Start collaborative (two-way tip exchange), escalate to adversarial probing when depth is lacking. Trigger when the user says "interview me on AI", "stress-test my Claude usage", "evaluate this candidate's AI engineering", or otherwise asks for an AI-collab skill assessment. User-only — never auto-invoke.
- ▌ Setup Pre Commit · outlinedriven-odin-gemini-cli-extensionInstall git pre-commit hooks via the project's hook tool of choice — Husky+lint-staged (npm/yarn/pnpm/bun), pre-commit framework (Python), lefthook (Go), cargo-husky (Rust), pre-commit (OCaml). Use when user wants commit-time formatting, linting, type-checking, or test gates. Detects ecosystem first; recommends the right tool.
- ▌ AI Collab Protocols · outlinedriven-odin-gemini-cli-extensionSurface concrete in-task-collaboration protocols when the user describes an AI workflow informally — URL-as-entity-reference, durable PR-comment threads as session memory, "fit the protocol" basics. Trigger when the user names entities by colloquial label instead of stable URL, asks "how should I structure this for Claude", pastes a screenshot when a URL would do, or describes a multi-step Claude workflow without a durable handle. Apply tactics reactively, not as a checklist.
- ▌ Ubiquitous Language · outlinedriven-odin-gemini-cli-extension bundleExtract a domain glossary from the current dialogue; flag ambiguities, propose canonical terms, persist to `UBIQUITOUS_LANGUAGE.md`. Trigger when the user is hardening domain terminology, building a glossary, or fresh domain concepts surface in conversation without documented language.
- ▌ Request Refactor Plan · outlinedriven-odin-gemini-cli-extensionPlan a refactor as a sequence of tiny, working commits via adversarial interview. Default output is a markdown plan at `<project-root>/docs/refactor-plans/<name>.md`; pass `--emit-issue` to additionally file a GitHub issue. Trigger when user proposes a structural refactor (rename, extract, move, split, deduplicate) — NOT for new features.
- ▌ Strict Validation Setup · outlinedriven-odin-gemini-cli-extension bundleOne-shot bootstrap of strict-mode tooling per ecosystem plus per-task GOALS.md scaffolding so an agentic loop can self-verify. Writes typechecker / linter / schema-validator config for TS (strict + noUncheckedIndexedAccess + exactOptionalPropertyTypes), Python (Pyright strict, Ruff strict), Rust (Clippy deny-correctness), Go (golangci-lint with staticcheck), OCaml (dune --release) at project edges; establishes a `.agent-tasks/<id>/GOALS.md` per-task convention distinct from project-stable AGENTS.md. C++/Java/Kotlin and framework specifics (Spring Boot, Nest, React-strict) are out of scope in this commit — surface as a follow-up when invoked on those ecosystems. Trigger on new project bootstrap, agentic-task setup, "make this self-verifying", "set the loop's goal", "scaffold goals for this issue". Pairs with `llm-self-loop` runtime — bootstrap once, run many.