# dotclaude > Claude Code skills, agents, commands, and hooks by Khaled Saeed, installable as Claude Code plugins or as single items with the shadcn CLI. Site: https://dotclaude.khaledsaeed.tech/ Source: https://github.com/KhaledSaeed18/dotclaude Install a plugin (a bundle of related items; hook plugins activate on install): ``` /plugin marketplace add KhaledSaeed18/dotclaude /plugin install @dotclaude ``` Install a single item into the current project with the shadcn CLI: ``` npx shadcn@latest add KhaledSaeed18/dotclaude/ ``` A skill is a procedure Claude loads on its own when the request matches its description. An agent is a specialist subagent Claude delegates a side task to. A command is a /name shortcut the user runs. A hook is a script that runs on a Claude Code event. ## Skills - [academic-writing](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/academic/academic-writing) (academic): Write or revise thesis and paper prose section by section (abstract, introduction, related work, method, results, discussion, conclusion) with the conventions of computer-science writing: claim-first paragraphs, tense and voice by section, hedging matched to evidence, signposting, defined terms, and figures and tables that carry their own argument. Works from the student's outline and notes and never invents a result or a citation. Use when drafting a chapter, when a supervisor says a section is unclear or unstructured, or when turning results into a discussion. Plugins: thesis. - [benchmark-reporting](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/academic/benchmark-reporting) (academic): Report computational benchmarks and experimental comparisons the way examiners and reviewers expect: fair baselines run under the same conditions, multiple seeds with variance, hardware and configuration disclosed, tables generated from result files with consistent precision and the best result marked by rule, ablations that isolate each component, and honest treatment of losses and failure cases. Use when writing the results chapter of a systems or ML thesis, when a comparison table needs to be built, or when a reviewer questions whether a comparison is fair. Plugins: thesis. - [bibtex-manager](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/academic/bibtex-manager) (academic): Maintain the thesis .bib file as a single source of truth: fetch verified BibTeX from a DOI, arXiv id, or title via CrossRef and arXiv, normalise citation keys (firstauthorYEARkeyword), deduplicate entries, fix fields BibTeX and biblatex care about, and export to Zotero-friendly form when the writing happens in Word. Use when adding references, cleaning a messy bibliography, resolving duplicate keys, or converting a reading list into a .bib. Plugins: thesis. - [citation-graph](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/academic/citation-graph) (academic): Expand a set of key papers into the literature around them by walking the citation graph with the Semantic Scholar and OpenAlex APIs: backward (references), forward (citing works), and co-citation, scored by how many seeds connect to each candidate, so the papers a reviewer will expect are found even when keyword search misses them. Use after literature-search has found the first key papers, when a supervisor names one seminal paper, or when checking that a related-work chapter has not missed a line of work. Plugins: thesis. - [citation-verifier](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/academic/citation-verifier) (academic): Audit every citation in a chapter, paper, or proposal against the .bib file and the real world: each cite key must exist, each entry must resolve to a live DOI or arXiv record whose title, authors, and year match, and each claim attributed to a source must be supported by that source's note or text. Reports unverified, mismatched, and unsupported citations with the fix. Use before sending a draft to a supervisor, before submission, or whenever text was drafted with AI assistance and a fabricated reference would be fatal. Plugins: thesis. - [design-science-methodology](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/academic/design-science-methodology) (academic): Structure a thesis whose contribution is a built artifact (tool, system, method, model) using design science research: explicit problem and requirements, knowledge base, iterative build with design decisions recorded, and a rigorous evaluation strategy (technical benchmarks, controlled use, case study, expert review) that separates whether it works from whether it helps, following Hevner's guidelines and Peffers' process. Use when the thesis builds something, when a supervisor says a system alone is not a contribution, or when the evaluation chapter has no design. Plugins: thesis. - [docx-thesis](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/academic/docx-thesis) (academic): Write a thesis in Word without losing the discipline of a source-controlled workflow: author chapters in Markdown or LaTeX, convert with pandoc and a reference .docx that carries the department's styles, manage citations through Zotero with Better BibTeX so the .bib stays the source of truth, and handle the Word-specific submission checks (styles, table of contents, captions, tracked changes). Use when the department requires .docx, the supervisor comments in Word, or a LaTeX draft must become a Word document. Plugins: thesis. - [experiment-reproducibility](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/academic/experiment-reproducibility) (academic): Make a thesis's computational experiments reproducible by the examiner and by the student three months later: pinned environments, seeded randomness, a single config per run, a run manifest that records code version, data version, parameters, hardware, and timings, results written to versioned files that figures and tables are generated from, and a one-command rerun. Use when setting up experiments, before the first real run, or when a result cannot be regenerated. Plugins: thesis. - [latex-toolkit](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/academic/latex-toolkit) (academic): Set up, build, and debug a LaTeX thesis: project layout with one file per chapter, latexmk builds, biblatex or natbib bibliography wiring, university template adoption, compile-error diagnosis from the .log (undefined control sequence, missing $, overfull boxes, undefined citations), cross-references, figures and tables, and the packages worth using. Use when starting a LaTeX thesis, when a build fails, when references show as question marks, or when adopting a department template. Plugins: thesis. - [lit-review-synthesis](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/academic/lit-review-synthesis) (academic): Build a literature review as an argument from paper-reader notes: cluster the notes into themes, surface agreements, tensions, and methodological patterns, locate the gap the thesis fills, and draft the review chapter so that each paragraph advances a claim rather than summarising one paper. Every citation comes from the notes and the .bib. Use when the reading is done and the related-work or background chapter needs writing, or when a draft review reads like an annotated bibliography. Plugins: thesis. - [literature-search](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/academic/literature-search) (academic): Find the literature for a research question by querying OpenAlex, Semantic Scholar, arXiv, and CrossRef from the shell with curl (no keys, no MCP), deduplicating by DOI, ranking by relevance, citations, and recency, and producing a reading list with verified identifiers ready for paper-reader and bibtex-manager. Use when starting a literature review, checking whether a gap is real, or looking for the papers that cite or are cited by a known key paper. Plugins: thesis. - [paper-reader](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/academic/paper-reader) (academic): Read one paper (PDF, arXiv id, DOI, or text) and produce a structured note: the claim, method, evidence, limitations, how it relates to the student's research question, and quotable passages with locations, so that lit-review-synthesis can build an argument from many notes. Use when working through a reading list, when a supervisor asks what a paper actually shows, or before citing a paper for a specific claim. Plugins: thesis. - [proofread-academic](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/academic/proofread-academic) (academic): Proofread a thesis chapter or paper against a checklist of the errors examiners and reviewers actually flag: structure and signposting, undefined acronyms, notation and terminology consistency, figure and table references, numbers and statistics reporting (n, variance, p, effect sizes), citation placement, tense and voice by section, and mechanical issues, producing a findings list with locations and fixes rather than a rewritten file. Use before sending a draft to a supervisor, before submission, or after merging chapters written weeks apart. Plugins: thesis. - [research-figures](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/academic/research-figures) (academic): Produce publication-grade figures for a thesis or paper from result data: matplotlib with a consistent, colour-blind-safe style file, vector output sized to the text width, one figure per claim, variance shown, direct labels over legends, and captions that carry the argument; plus TikZ for architecture and method diagrams. Use when a results section needs figures, when a supervisor calls a plot unreadable, or when the document's figures do not match each other. Plugins: thesis. - [research-methodology](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/academic/research-methodology) (academic): Choose and justify a research design for each research question: controlled experiment, quasi-experiment, case study, survey, interview study, design science, action research, or mixed methods, with the data collection, sampling, analysis, ethics, and validity threats each entails, and write the method chapter's design section from the choice. Use when moving from research questions to a study plan, when a supervisor asks how the question will be answered, or when reviewers say the method cannot support the claims. Plugins: thesis. - [research-question](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/academic/research-question) (academic): Turn a rough thesis topic into a defensible research question by interviewing the student one question at a time: narrowing scope, naming the gap, fixing the unit of analysis, and testing the question for answerability, novelty, and fit to a master's timeline. Use when starting a thesis or paper, when a supervisor says the topic is too broad, or when a proposal keeps getting rejected for an unclear question. Plugins: thesis. - [statistics-advisor](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/academic/statistics-advisor) (academic): Plan and check the statistics for an empirical study: choose the test from the design and data type, check assumptions and pick the robust alternative, compute sample size from a target effect, report effect sizes and confidence intervals alongside p-values, handle multiple comparisons, and write the analysis paragraph in the form reviewers expect; with runnable Python (scipy, statsmodels, pingouin) or R snippets. Use before collecting data (the analysis plan), after collecting it (running and reporting), or when a result says significant and the reviewer asks how. Plugins: thesis. - [supervisor-update](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/academic/supervisor-update) (academic): Turn the research log and recent work into a concise supervisor update or meeting agenda: progress since the last meeting with evidence, decisions taken and their reasons, results with numbers, blockers with the specific help needed, and the next steps with dates, in under a page. Use before a supervisor meeting, when asked for a progress email, or at a milestone. Plugins: thesis. - [systematic-review](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/academic/systematic-review) (academic): Run a systematic literature review or mapping study to the PRISMA 2020 standard: protocol with research questions and inclusion criteria written before searching, reproducible search strings per database, screening with recorded reasons for exclusion, a PRISMA flow diagram with counts, quality assessment, data extraction into a form, and synthesis, producing a method section a reviewer can audit. Use when the thesis or a chapter is a literature review, when a supervisor asks for a systematic rather than narrative review, or when a mapping study is the first contribution. Plugins: thesis. - [thesis-proposal](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/academic/thesis-proposal) (academic): Draft or revise a master's thesis proposal from a research question record, reading notes, and the department's template: problem statement, gap, research questions, method, evaluation, timeline, risks, and a chapter plan, in the student's own claims with citations only to sources they actually have. Use when a proposal is due, a supervisor asks for a written plan, or the research question is settled and needs a structured document around it. Plugins: thesis. - [adr-writing](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/documentation/adr-writing) (documentation): Write Architecture Decision Records that a future engineer can act on: a numbered, immutable record with the context that forced the decision, the options weighed with real trade-offs, the decision in one sentence, and the consequences including what becomes harder. Covers when a decision deserves an ADR, how to supersede one, and how to keep an index. Use when a design choice has cross-cutting or long-lived effects, when reviewers keep asking why, or when onboarding depends on decisions nobody wrote down. Plugins: docs. - [openapi-spec](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/documentation/openapi-spec) (documentation): Write, generate, or review an OpenAPI 3.1 specification for an HTTP API so that it is accurate to the implementation, complete for consumers (schemas, examples, errors, auth, pagination), and usable by tooling (validation, client generation, mock servers). Covers design-first and code-first workflows, linting with Spectral, and keeping the spec in sync in CI. Use when documenting an API, when a client generator or contract test needs a spec, or when the existing spec no longer matches the routes. Plugins: docs. - [readme-writing](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/documentation/readme-writing) (documentation): Write or restructure a README that gets a reader from landing to first success in minutes: a one-line purpose, a working quick start verified against the actual code, then usage, configuration, and contribution pointers in the order a new user needs them, with nothing the code contradicts. Reads the repository first and never documents behaviour it has not confirmed. Use when a project has no README, when the README has drifted from the code, or before publishing a package or repository. Plugins: docs. - [technical-writing](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/documentation/technical-writing) (documentation): Write and edit developer documentation, guides, design notes, and engineering blog posts with a working writer's discipline: audience and purpose first, one idea per paragraph, examples before abstractions, precise verbs, consistent terms, and structure the reader can scan. Includes formats for how-to guides, reference pages, explanations, and tutorials, and an editing checklist. Use when writing docs, a design note, a release announcement, or a post, or when a draft is accurate but nobody can follow it. Plugins: docs. - [adversarial-reviewer](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/adversarial-reviewer) (engineering): Review code through three hostile personas - the Saboteur, the New Hire, and the Security Auditor - each required to find at least one issue. Use when a standard review feels too comfortable, when code is going into a critical path, when a previous review missed bugs that later surfaced, or when you want coverage across correctness, clarity, and security in a single pass. Plugins: engineering. - [api-design-review](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/api-design-review) (engineering): Review an API contract (REST or GraphQL) before or while it is implemented, checking resource naming, HTTP semantics, status codes, error shape, pagination, versioning, idempotency, and backward compatibility, and producing concrete revisions rather than abstract advice. Use when designing new endpoints, changing an existing API's surface, or reviewing a PR that adds or modifies API routes. Plugins: engineering. - [code-review-response](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/code-review-response) (engineering): Process code-review feedback with technical rigour. Understand each point, check it against the actual codebase, and respond with reasoning or implementation rather than reflexive agreement. Use when you receive review comments (from a human, the code-reviewer agent, or any reviewer) and are about to act on them, especially if any feedback seems unclear or wrong. Plugins: engineering. - [create-agent](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/create-agent) (engineering): Author a new subagent for this repository end to end by scaffolding it with pnpm new, curating its tool allowlist, setting model, color, and memory in frontmatter, then writing a focused system prompt and regenerating the registry. Use when creating, scaffolding, or reviewing an agent or subagent in this repo. - [create-command](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/create-command) (engineering): Author a new slash command for this repository end to end by scaffolding it with pnpm new, writing the frontmatter and argument handling, drafting the prompt body, then regenerating the registry. Use when creating, scaffolding, or reviewing a slash command in this repo. - [create-hook](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/create-hook) (engineering): Author a new Claude Code hook for this repository end to end by scaffolding it with pnpm new, writing the hook script and its settings.json wiring, documenting activation in HOOK.md, then regenerating the registry. Use when creating, scaffolding, or reviewing a hook in this repo. - [create-skill](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/create-skill) (engineering): Author a new skill for this repository end to end by choosing its category, writing trigger-friendly frontmatter, structuring the SKILL.md, splitting reference material into companion files, then regenerating the registry and README catalog. Use when creating, scaffolding, restructuring, or reviewing a skill in this repo. - [db-migration-safety](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/db-migration-safety) (engineering): Review or write a database schema migration with production safety as the bar, checking locks, table rewrites, backfills, expand-contract deploy order, index creation, and rollback for Postgres, MySQL, and common ORMs. Use when adding or reviewing a migration, dropping or renaming columns, or adding constraints or indexes to large tables. Plugins: engineering. - [dependency-upgrade](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/dependency-upgrade) (engineering): Upgrade dependencies without breaking the project: audit what is outdated and why it matters (security, EOL, features), read the changelogs and migration guides for each major, upgrade in ordered small batches with the test suite and typecheck run after each, apply codemods where they exist, handle lockfile and peer-dependency conflicts, and leave a record of what changed and what was deferred. Use when a security advisory lands, when a runtime or framework reaches end of life, when a dependabot queue has piled up, or when an upgrade attempt broke the build. Plugins: engineering. - [dockerfile-best-practices](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/dockerfile-best-practices) (engineering): Write or review a Dockerfile and compose setup for a production service: multi-stage builds that ship only the runtime, pinned base images, layer order for cache hits, non-root user, minimal image size, correct signal handling and health checks, secrets kept out of layers, and language-specific patterns for Node, Python, Go, and Java. Use when containerising a service, when images are large or slow to build, when a container ignores SIGTERM, or when a security scan flags the image. Plugins: engineering. - [error-handling-patterns](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/error-handling-patterns) (engineering): Design and review error handling in a codebase: which errors are expected results versus bugs, typed error hierarchies or result types, where to catch (boundaries) and where never to, preserving cause chains, mapping errors to HTTP and CLI exit codes, retries with backoff for the transient, timeouts everywhere, and the logging that makes a failure diagnosable; with idioms for TypeScript, Python, Go, and Rust. Use when adding error handling to new code, when a codebase has inconsistent or swallowed errors, or when a failure in production was impossible to trace. Plugins: engineering. - [executing-plans](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/executing-plans) (engineering): Execute a written implementation plan task by task, reviewing it critically first, following each step exactly, running every verification, and stopping to ask rather than guessing when blocked. Use when you have a plan document (such as one from the writing-plans skill) and need to implement it in this session. Plugins: engineering. - [explain-codebase](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/explain-codebase) (engineering): Onboard to an unfamiliar codebase by mapping its architecture, entry points, and data flow. Use when starting work in a new or unknown repository and you need a navigable mental model fast. Plugins: engineering. - [fix-ci](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/fix-ci) (engineering): Diagnose and fix a failing CI run by pulling the actual failure logs (gh run view --log-failed), reproducing the failure locally, fixing the root cause rather than the symptom, and verifying green before and after pushing. Use when a GitHub Actions run is red, a PR check is failing, or CI passes locally but fails remotely. Plugins: engineering. - [github-actions-pipeline](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/github-actions-pipeline) (engineering): Design, write, or fix GitHub Actions workflows for a project: a CI pipeline with the right triggers, concurrency, caching, matrix, and least-privilege permissions; pinned actions; reusable workflows and composite actions; deploy workflows with environments and OIDC instead of long-lived secrets; and the debugging moves for slow, flaky, or failing runs. Use when adding CI to a repository, when a pipeline is slow or flaky, when a workflow needs deploy or release steps, or when a security review flags workflow permissions. Plugins: engineering. - [grill-with-docs](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/grill-with-docs) (engineering): Stress-test a plan against the project's existing domain model by challenging terminology, surfacing contradictions with code, and updating CONTEXT.md and ADRs inline as decisions crystallise. Use when a plan or design needs to be checked against the project's documented domain model before implementation. Plugins: engineering. - [incident-postmortem](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/incident-postmortem) (engineering): Write a blameless incident postmortem from the timeline, logs, chat transcripts, and the fix: impact with numbers, a minute-by-minute timeline, root cause as a chain of contributing factors rather than a single culprit, what went well and what did not in detection and response, and action items with owners and dates that address the causes rather than the symptom. Use after an outage, a data incident, a security event, or a near miss, or when an existing postmortem reads as blame or as a fix list. Plugins: engineering. - [logging-and-observability](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/logging-and-observability) (engineering): Instrument a service so production problems are diagnosable: structured JSON logs with consistent fields and levels, correlation ids across requests and jobs, the RED and USE metrics, distributed tracing with OpenTelemetry, health and readiness endpoints, alerts on symptoms with runbooks, and dashboards per service; with the setup for Node, Python, and Go and the cost and privacy rules that keep it sustainable. Use when a service goes to production, when an incident could not be traced, when logs are noisy or expensive, or when alerts fire without meaning. Plugins: engineering. - [parallel-agents](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/parallel-agents) (engineering): Fan independent work out to multiple subagents that run concurrently, each with a focused scope and self-contained instructions, then review and integrate their results. Use when you face two or more genuinely independent tasks (separate failing test files, unrelated bugs, distinct subsystems) that share no state and don't depend on each other's order. Plugins: engineering. - [performance-optimization](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/performance-optimization) (engineering): Fix a performance problem by profiling first, making one targeted change, and verifying both the speedup and that correctness held. Use when a feature is measurably slow, a page or API exceeds its budget, or a query takes too long. Do not use to pre-optimize code that has not been measured. Plugins: engineering. - [refactoring-recipes](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/refactoring-recipes) (engineering): Refactor safely by name: a catalogue of the refactorings that come up in practice (extract function or module, inline, rename, replace conditional with polymorphism or lookup, introduce parameter object, replace flag argument, split phase, move function, encapsulate collection, strangler for large rewrites), each with when to apply it, the mechanical steps that keep the code working at every step, and the test to run between steps. Use when code is hard to change, before adding a feature to a tangled area, or when a reviewer asks for a structure change without saying how. Plugins: engineering. - [solid-principles](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/solid-principles) (engineering): Apply the SOLID principles as design diagnostics, detecting god classes, fragile hierarchies, fat interfaces, and hard-wired dependencies, and prescribing the smallest structural fix rather than imposing ceremony. Use when designing a new module or class, reviewing object-oriented code, or untangling a class that keeps changing for unrelated reasons. Plugins: engineering. - [systematic-debugging](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/systematic-debugging) (engineering): Debug a bug, test failure, crash, or unexpected behaviour by finding the root cause before changing anything, instead of guessing at fixes. Works in any language or stack. Use when something is broken, a test is failing, behaviour is wrong, or a previous fix didn't hold. Plugins: engineering. - [test-driven-development](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/test-driven-development) (engineering): Implement a feature or bugfix test-first using the red-green-refactor cycle. Write a failing test, watch it fail, write the minimal code to pass, then clean up. Works in any language or test runner. Use when building new behaviour or fixing a bug and you want the test to actually prove the code works. Plugins: engineering. - [verify-completion](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/verify-completion) (engineering): Gate every "it works / it's fixed / tests pass / done" claim behind fresh evidence. Run the actual verifying command, read its output, and only then state the result. Use before committing, opening a PR, marking a task complete, handing off to or trusting a subagent, or otherwise asserting that work succeeded. Plugins: engineering. - [writing-plans](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/engineering/writing-plans) (engineering): Turn a spec or set of requirements into a detailed, task-by-task implementation plan an engineer (or a subagent) can execute without further context. Breaks work into bite-sized steps with exact file paths, real code, and verification commands. Use before starting a multi-step build, once you know what you're building. Plugins: engineering. - [brainstorming](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/productivity/brainstorming) (productivity): Turn a rough idea into a fully formed, written design through collaborative dialogue, exploring intent, requirements, and trade-offs one question at a time, then proposing approaches and capturing the agreed design in a spec before any code is written. Use at the start of any creative or feature work, when the idea isn't yet concrete enough to plan or build. Plugins: productivity. - [decision-log](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/productivity/decision-log) (productivity): Keep a lightweight decision log for a project or a person: one dated line per decision with the choice, the reason, the alternatives, who decided, and a revisit trigger, in a single Markdown file that is grepped rather than browsed, so that why did we do that has an answer six months later. Lighter than an ADR; use for product, process, and scope decisions that do not warrant one. Use when a decision is made in chat or a meeting, when the same debate keeps recurring, or when onboarding someone into a project's history. Plugins: productivity. - [grill-me](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/productivity/grill-me) (productivity): Relentlessly stress-test a plan, design, architecture, idea, or strategy until all critical decisions are resolved. Use when a plan, design, or decision needs adversarial stress-testing before committing to it. Plugins: productivity. - [handoff](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/productivity/handoff) (productivity): Compact the current conversation into a handoff document for another agent to pick up. Use when ending a session, switching agents, or preserving context before compaction. Plugins: productivity. - [issue-writer](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/productivity/issue-writer) (productivity): Turn a rough bug report, idea, or complaint into an actionable issue by investigating the codebase first for reproduction steps, expected vs actual behaviour, suspected location, and acceptance criteria, then filing it with gh or emitting paste-ready markdown. Use when asked to file or write up an issue, or when a bug mentioned in passing should be tracked. Plugins: productivity. - [learning-plan](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/productivity/learning-plan) (productivity): Turn a topic to learn into a sequenced study plan with a goal test, prerequisites, ordered units with one primary resource each, spaced practice and retrieval, a project that proves the skill, and weekly time boxes that fit the learner's calendar; then track progress against it. Works for a technology, a research field, or a course. Use when starting to learn something for a thesis, a job, or a project, when a learning effort has stalled, or when the resource list is long and the order is unclear. Plugins: productivity. - [meeting-notes](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/productivity/meeting-notes) (productivity): Turn a meeting transcript, recording summary, or rough notes into a record people act on: decisions with their reasons, action items with one owner and a date each, open questions, and a short summary, in the team's existing notes format, with nothing invented and unclear attributions marked. Use after a meeting, when a transcript needs to become a shareable record, or when action items from a meeting keep getting lost. Plugins: productivity. - [standup-summary](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/productivity/standup-summary) (productivity): Generate a standup or weekly-review update from actual work evidence - commits, branches, PRs, and issues across one or more repositories - grouped into done / in progress / blocked / next, written in plain human sentences rather than commit-message-speak. Use when preparing a daily standup, a weekly review, a sprint update, or answering "what did I work on this week". Plugins: productivity. - [business-name-check](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/research/business-name-check) (research): Vet a candidate business or brand name across domains, social handles, commerce and listing platforms, company registers, and existing businesses, then report which candidate is actually claimable. Use when naming a company, product brand, store, studio, agency, or newsletter. For a package, library, or app name, use project-name-check instead. Plugins: research. - [project-name-check](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/research/project-name-check) (research): Vet a candidate name for a software project across package registries, domains, app stores, code hosts, and existing projects, then report which candidate is actually free. Use when picking or clearing a name for a package, library, app, CLI, extension, or repository. For a company or brand name, use business-name-check instead. Plugins: research. - [dependency-audit](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/security/dependency-audit) (security): Audit a project's dependencies for outdated and vulnerable packages and surface breaking-change notes for upgrades. Works with any ecosystem, including npm/pnpm/yarn, pip/Poetry/uv, Cargo, Go modules, Maven/Gradle, Bundler, Composer, and others. Use when checking a project's dependency health, planning upgrades, or responding to a vulnerability report. Plugins: security. - [owasp-security](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/security/owasp-security) (security): Review code being written or modified against the OWASP Top 10:2025 and ASVS secure-coding requirements, in any language or stack, catching vulnerability classes before they ship. Use when writing auth logic, handling user input, adding API endpoints, choosing cryptography, processing uploads, or touching any trust boundary. Complements secret-scan and dependency-audit with line-level review. Plugins: security. - [secret-scan](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/security/secret-scan) (security): Scan code or a diff for hardcoded secrets (API keys, tokens, passwords, private keys, and other exposed credentials) before they get committed or shipped. Use before committing, during review, or when auditing a repository. Plugins: security. - [accessibility-audit](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/testing/accessibility-audit) (testing): Audit UI code or a running page against WCAG 2.2 AA, covering semantics, keyboard access, focus, labels, contrast, ARIA misuse, and motion, using axe-core in a real browser when available and code review when not, with findings ranked by user impact. Use when building or reviewing UI components, before shipping user-facing pages, or when accessibility compliance is required. Plugins: testing. - [webapp-testing](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/testing/webapp-testing) (testing): Verify a web application works in a real browser with Playwright, covering navigation, form submission, interactions, console errors, screenshots, and responsive layout. Use when a UI feature needs end-to-end confirmation, a form flow must complete, or a change needs regression checking. Requires Node.js and installs Playwright if absent. Plugins: testing. - [changelog](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/version-control/changelog) (version-control): Generate a changelog or release notes from Git history, grouped by change type, written in user-facing language, with issue/PR links and breaking changes called out. Conventional-Commits aware and Keep a Changelog formatted; respects any existing CHANGELOG or tooling. Use when preparing release notes or updating CHANGELOG.md. Plugins: git. - [finish-branch](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/version-control/finish-branch) (version-control): Wrap up a completed development branch by verifying tests pass, detecting the workspace state, then presenting clear merge / PR / keep / discard options and executing the chosen one safely, including correct worktree and branch cleanup. Use when implementation is done, tests should be green, and you need to integrate or put away the work. Plugins: git. - [git-commit](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/version-control/git-commit) (version-control): Commit work the right way by gathering full repo state, respecting the project's commitlint/pre-commit/branch rules, staging only understood files, and writing a conventional-commit message whose body explains why. Use when committing, branching, or pushing changes. Plugins: git. - [git-undo](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/version-control/git-undo) (version-control): Recover safely from Git mistakes such as discard, unstage, amend, reset, revert, restore lost commits via reflog, recover deleted branches, and fix bad rebases. Chooses the least-destructive fix and protects against data loss. Use when something in Git went wrong and needs undoing. Plugins: git. - [git-worktrees](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/version-control/git-worktrees) (version-control): Set up an isolated workspace for feature work so the current branch and working tree stay untouched, detecting existing isolation first, preferring the platform's native worktree tooling, and falling back to git worktrees only when nothing native exists. Use before starting feature work that needs isolation, or before executing an implementation plan. Plugins: git. - [gitignore](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/version-control/gitignore) (version-control): Generate or repair a .gitignore tailored to the project's actual stacks, frameworks, OS, and editors, and untrack files that are already committed but should be ignored. Flags secrets/build/dependency files that slipped into the repo. Use when creating, fixing, or auditing .gitignore. Plugins: git. - [merge-conflict](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/version-control/merge-conflict) (version-control): Resolve Git merge, rebase, cherry-pick, revert, and stash conflicts safely by understanding both sides and the operation in progress before integrating, then verifying the result builds and passes tests. Use when a merge/rebase/cherry-pick stops with conflicts or "needs merge". Plugins: git. - [pr-description](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/version-control/pr-description) (version-control): Generate a clear, reviewer-friendly pull-request description from a diff, covering what changed, why, risk, and how it was tested. Use when opening a pull request or writing/improving a PR body. Plugins: git. - [release-tag](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/version-control/release-tag) (version-control): Cut a release by determining the SemVer bump from history, updating version files across any stack, refreshing the changelog, creating an annotated (optionally signed) Git tag, and pushing the release safely after pre-flight checks. Use when tagging a version, bumping the version, or preparing a release. Plugins: git. - [email-draft](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/writing/email-draft) (writing): Draft an email or message that gets the reply it needs: purpose in the first line, the ask made explicit with a date, context kept to what the reader needs, one request per message, a subject line that says the content, and a register matched to the relationship (supervisor, colleague, maintainer, support, recruiter). Never sends. Use when writing to a supervisor, a maintainer, a reviewer, a vendor, or a team, when a message is not getting answered, or when a difficult message needs the right tone. Plugins: writing. - [humanize](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/writing/humanize) (writing): Rewrite prose that reads as machine-generated so it reads as the writer, without changing what it says or adding any fact: removes not-X-but-Y contrasts, one-line closers, staged openers, forced triads, dash overuse, stacked hedges, inflated significance, stock AI vocabulary, decorative bold and headings, and chatbot residue. Works on READMEs, PR descriptions, docs, thesis chapters, and emails. Use when editing or reviewing any text before it reaches a human reader, or when a draft was produced with AI assistance. Plugins: thesis, writing. - [presentation-outline](https://github.com/KhaledSaeed18/dotclaude/tree/main/skills/writing/presentation-outline) (writing): Structure a talk, thesis defence, or project presentation as a slide-by-slide outline with one message per slide, an opening that states the point, evidence slides that carry a claim in the title, a timed run of show, anticipated questions with answers, and speaker notes, sized to the slot. Produces the outline and notes, not the slide design. Use when preparing a defence, a conference or team talk, a demo, or a status presentation, or when a deck has content but no argument. Plugins: writing. ## Agents - [paper-critic](https://github.com/KhaledSaeed18/dotclaude/tree/main/agents/academic/paper-critic) (academic): Use this agent to read one paper adversarially: it separates what the paper claims from what its evidence supports, finds methodological holes (weak baselines, unfair comparisons, leakage, missing variance, cherry-picked settings), checks whether the conclusions follow, and returns a critique the student can use to position their own work or to decide how much to trust the paper. Read-only. Use when a paper is central to the thesis, when its results look too good, or when preparing to argue against it in related work. Plugins: thesis. - [thesis-reviewer](https://github.com/KhaledSaeed18/dotclaude/tree/main/agents/academic/thesis-reviewer) (academic): Use this agent to get an examiner's read of a thesis chapter or full draft before the supervisor or committee sees it: it checks whether the research questions are answered by the evidence, whether the contribution is clear and honestly sized, whether the method supports the claims (validity threats, baselines, statistics), whether the related work covers what an examiner would expect, and what the hardest defence questions will be. Read-only; returns a ranked report with locations. Use before submitting a chapter, before the defence, or when a draft feels finished but has not been challenged. Plugins: thesis. - [architect-reviewer](https://github.com/KhaledSaeed18/dotclaude/tree/main/agents/engineering/architect-reviewer) (engineering): Use this agent when you need a design-level architecture review of a module, a proposed change, or a whole codebase. Evaluates boundaries, coupling and cohesion, layering violations, scalability risk, and decisions that get expensive to undo, at the level of component shapes rather than individual functions (code-reviewer covers those). Use when designing a new service, refactoring a large module, or before a structural decision hardens. Plugins: engineering. - [code-reviewer](https://github.com/KhaledSaeed18/dotclaude/tree/main/agents/engineering/code-reviewer) (engineering): Expert reviewer for a code change (a diff, a staged set, a branch, or named files). Reviews for correctness, security, and maintainability across JavaScript/TypeScript stacks including React, Next.js, Node, Express, and NestJS. Use proactively after writing or modifying code, before opening a pull request, or when the user asks for a code review, a second pair of eyes, or feedback on a change. Plugins: engineering. - [debugger](https://github.com/KhaledSaeed18/dotclaude/tree/main/agents/engineering/debugger) (engineering): Use this agent when you need a bug, test failure, crash, or unexpected behaviour diagnosed through systematic root-cause analysis. Gathers evidence, tests hypotheses, and returns a confirmed cause with a targeted fix, never a speculative patch. Use when a fix attempt has failed, the bug is intermittent, a stack trace needs tracing end-to-end, or you want a second opinion before touching code. Plugins: engineering. - [docs-writer](https://github.com/KhaledSaeed18/dotclaude/tree/main/agents/engineering/docs-writer) (engineering): Use this agent when you need documentation written or updated from the code itself, such as READMEs, API references, guides, architecture overviews, or upgrade notes. Reads the implementation before writing so the docs match what the code does, and flags doc-vs-code contradictions instead of papering over them. Use after a feature lands without docs, when a README has drifted, or when a public API changes. Plugins: engineering. - [error-detective](https://github.com/KhaledSaeed18/dotclaude/tree/main/agents/engineering/error-detective) (engineering): Use this agent when you need errors, stack traces, and logs correlated across services or files to find the root cause of an incident or recurring failure. Cross-references timestamps, traces request IDs across boundaries, and surfaces the originating cause rather than the downstream symptom. Works from runtime artifacts where the debugger agent works from source; use when the failure is in production or staging and you cannot step through the code. Plugins: engineering. - [migration-planner](https://github.com/KhaledSaeed18/dotclaude/tree/main/agents/engineering/migration-planner) (engineering): Use this agent to plan a large, risky change as a sequence of small reversible steps: a framework or runtime major upgrade, a database or storage migration, a monolith split, an API version change, or replacing a core library. It maps the blast radius from the codebase, orders the steps by dependency and risk, defines the reversibility and verification of each, identifies the point of no return, and returns a plan the writing-plans skill can expand. Read-only. Use before starting any change that cannot be done in one pull request or cannot be undone with a revert. Plugins: engineering. - [performance-engineer](https://github.com/KhaledSaeed18/dotclaude/tree/main/agents/engineering/performance-engineer) (engineering): Use this agent when you need a performance problem investigated, measured, and resolved end-to-end. Profiles the running system, finds the real bottleneck with numbers, runs load tests, recommends targeted changes, and verifies the gain. Use for slow API responses, high CPU or memory, query latency, build-time regressions, or preparing for more load. The performance-optimization skill gives the method; this agent runs the full cycle. Plugins: engineering. - [deep-research](https://github.com/KhaledSaeed18/dotclaude/tree/main/agents/research/deep-research) (research): In-depth research agent for topics that need multi-source investigation with citations. Use when the user asks to research a topic thoroughly, synthesize information from across the web, compare options, fact-check a claim against primary sources, or produce a sourced writeup or literature scan, for example "compare Postgres vs SQLite for an offline-first app, with sources". Plugins: research. - [code-explorer](https://github.com/KhaledSaeed18/dotclaude/tree/main/agents/review/code-explorer) (review): Use this agent before changing code you do not fully know: given a feature, bug, or question, it maps the relevant files, entry points, data flow, and the tests and configs that touch them, and returns a compact orientation report with file:line anchors instead of a dump. Read-only. Use when starting a feature or fix in an unfamiliar area, when a bug's location is unknown, or when you need to know what a change will touch before planning it. Plugins: pr-toolkit. - [code-simplifier](https://github.com/KhaledSaeed18/dotclaude/tree/main/agents/review/code-simplifier) (review): Use this agent after a feature or fix works and before it is reviewed: it reduces the change to its simplest correct form by removing duplication, dead branches, needless abstraction, over-general parameters, and comments that restate code, while keeping behaviour and tests identical. Edits the working tree and reports each simplification with its reason. Use when a diff has grown during implementation, when a reviewer says it is more complex than it needs to be, or as the last step of executing a plan. Plugins: pr-toolkit. - [silent-failure-hunter](https://github.com/KhaledSaeed18/dotclaude/tree/main/agents/review/silent-failure-hunter) (review): Use this agent to find the places where a change can fail without anyone noticing: swallowed exceptions, empty catch blocks, ignored return values and promise results, error paths that log and continue, fallbacks that hide the real failure, and success responses sent on error. Read-only; reports each with file:line, the scenario that triggers it, and the fix. Use during code review, before shipping error-handling code, or when a bug report says something failed with no error. Plugins: pr-toolkit. - [test-gap-analyzer](https://github.com/KhaledSaeed18/dotclaude/tree/main/agents/review/test-gap-analyzer) (review): Use this agent to find what a change does that no test checks: it lists each behaviour the diff adds or alters (branches, error paths, boundaries, contracts), maps existing tests onto them by reading the test files rather than trusting coverage numbers, and returns the gaps as concrete test names with the arrange, act, and assert for each. Read-only. Use during review, before merging a change with thin tests, or when coverage is high but bugs still ship. Plugins: pr-toolkit. - [type-design-reviewer](https://github.com/KhaledSaeed18/dotclaude/tree/main/agents/review/type-design-reviewer) (review): Use this agent to review the types, interfaces, schemas, and data shapes a change introduces or modifies: whether invalid states are representable, whether nullability and optionality reflect reality, whether unions and enums are exhaustive and closed, whether boundary types (API bodies, DB rows, events) are validated rather than asserted, and whether names say what the values mean. Read-only, TypeScript-first with Python, Go, and Rust guidance. Use when a change adds or alters types, when a bug came from a value that should have been impossible, or when a module's types have grown by accretion. Plugins: pr-toolkit. - [security-auditor](https://github.com/KhaledSaeed18/dotclaude/tree/main/agents/security/security-auditor) (security): Use this agent when you need a comprehensive security audit of a codebase, module, API surface, or pull request. Covers OWASP Top 10:2025, auth logic, secret handling, input validation, dependency vulnerabilities, and supply-chain risk, reporting findings and remediation steps without modifying code. Use before a production release, after adding auth or payment flows, when onboarding a dependency, or when a review is required before merge. Plugins: security. ## Commands - [research-log](https://github.com/KhaledSaeed18/dotclaude/tree/main/commands/academic/research-log) (academic): Append a dated entry to the thesis research log (RESEARCH_LOG.md) recording what was read, done, decided, and what comes next, pulling the day's evidence from git history, new reading notes, and the conversation, so progress is never reconstructed from memory before a supervisor meeting. Use at the end of a working session, after a decision, or when asked what happened this week. Plugins: thesis. - [thesis-chapter](https://github.com/KhaledSaeed18/dotclaude/tree/main/commands/academic/thesis-chapter) (academic): Draft or revise one thesis chapter from the outline, the research question record, the reading notes, and the results, applying the academic-writing skill section by section and finishing with citation verification and a humanize pass, so a chapter arrives structured, traceable, and free of invented references. Use when a chapter is due, when starting a chapter from an approved outline, or when a draft chapter needs a full revision pass. Plugins: thesis. - [thesis-progress](https://github.com/KhaledSaeed18/dotclaude/tree/main/commands/academic/thesis-progress) (academic): Report where the thesis stands in numbers: word count per chapter against the plan, placeholders left ([[FILL]], [[CITE]], [[FIG]]), citation health (cited keys, undefined keys, unverifiable entries), notes read versus reading list, open items in the research log, and days to the next deadline. Use at the start of a working session, before a supervisor meeting, or whenever the answer to how far along am I is a guess. Plugins: thesis. - [adr](https://github.com/KhaledSaeed18/dotclaude/tree/main/commands/documentation/adr) (documentation): Write an Architecture Decision Record from the current discussion or a stated decision: numbers it in sequence under docs/adr/, captures context, the options considered with their trade-offs, the decision, and its consequences, in the adr-writing skill's format and the repo's existing ADR style if one exists. Use when a design choice has just been made in conversation, when a reviewer asks why something was done this way, or when a decision needs to outlive the people who made it. Plugins: docs. - [explain-code](https://github.com/KhaledSaeed18/dotclaude/tree/main/commands/engineering/explain-code) (engineering): Walk through a file, function, class, or module and explain what it does, how it works, and why it is structured that way. Pass a file path or a symbol name as the argument. Use when onboarding onto unfamiliar code, understanding a complex algorithm, or preparing to modify something you have not read before. Plugins: engineering. - [feature](https://github.com/KhaledSaeed18/dotclaude/tree/main/commands/engineering/feature) (engineering): Take a feature from a one-line description to a reviewed, tested change through a fixed pipeline: orient with the code-explorer agent, clarify requirements, write a task-by-task plan with the writing-plans skill, execute it with test-driven development, simplify with the code-simplifier agent, verify completion, and hand off ready for /pr. Each phase produces an artifact and stops for agreement at the plan. Use when starting any feature or non-trivial change, or when an implementation keeps drifting because it started without a plan. Plugins: engineering. - [prime](https://github.com/KhaledSaeed18/dotclaude/tree/main/commands/productivity/prime) (productivity): Load project context into the session by reading key files and recent history. Primes the model with package metadata, architecture notes, recent commits, and directory structure so it can give better answers immediately. Use at the start of a session when switching to an unfamiliar repository or after a long break from a project. Plugins: productivity. - [todo-triage](https://github.com/KhaledSaeed18/dotclaude/tree/main/commands/productivity/todo-triage) (productivity): Inventory every TODO, FIXME, HACK, and XXX comment, enrich each with age and author from git blame, classify them (bug risk, missing feature, cleanup, obsolete), and produce a prioritized triage table with recommended dispositions. Pass a path to limit the scan. Use when technical-debt comments have accumulated and nobody knows which ones still matter. Plugins: productivity. - [weekly-review](https://github.com/KhaledSaeed18/dotclaude/tree/main/commands/productivity/weekly-review) (productivity): Produce a weekly review from the evidence in the repository and the workspace: commits and pull requests merged or open, issues closed and opened, decisions logged, research log entries, action items done and overdue, and what stalled, then a short plan for next week; written to a dated file so reviews accumulate. Use at the end of a working week, before a one-on-one or a status update, or when the week felt busy and it is unclear what got done. Plugins: productivity. - [review-pr](https://github.com/KhaledSaeed18/dotclaude/tree/main/commands/review/review-pr) (review): Review a pull request or the current branch with four specialist agents in parallel (code-reviewer for correctness and security, silent-failure-hunter, test-gap-analyzer, type-design-reviewer), then merge their findings into one severity-ranked review with file:line anchors and no duplicates, optionally posted to the PR with gh. Use when a PR is ready for review, before requesting human review, or when a branch needs a thorough second opinion in one pass. Plugins: pr-toolkit. - [security-audit](https://github.com/KhaledSaeed18/dotclaude/tree/main/commands/security/security-audit) (security): Run a full-codebase security audit covering OWASP Top 10:2025 vulnerability classes, auth logic, secret handling, input validation, dependency CVEs, and supply-chain risk, producing a findings report ranked by severity. Broader than the secret-scan skill, which scans a single diff. Pass a path to limit the audit. Use when a full-codebase or module-level security review is needed. Plugins: security. - [write-tests](https://github.com/KhaledSaeed18/dotclaude/tree/main/commands/testing/write-tests) (testing): Generate a focused, production-quality test suite for a source file, detecting the project's existing test runner and conventions. Use when a source file needs a test suite that matches the project's existing conventions. Plugins: testing. - [clean-branches](https://github.com/KhaledSaeed18/dotclaude/tree/main/commands/version-control/clean-branches) (version-control): List local Git branches that are fully merged or stale and delete them safely after showing what would be removed, protecting main, master, develop, and the current branch. Pass --dry-run to preview. Unlike the finish-branch skill, which closes one active branch, this cleans up accumulated branches across the repository. Use when local branches have piled up and need safe cleanup. Plugins: git. - [commit](https://github.com/KhaledSaeed18/dotclaude/tree/main/commands/version-control/commit) (version-control): Create one well-formed commit from the current changes using the git-commit skill's rules: inspect the diff, honour the repo's commitlint and hooks, stage only understood files explicitly, write a conventional message whose body says why, and confirm before committing. Never pushes. Use when a piece of work is ready to be recorded in history, or when asked to commit. Plugins: git. - [pr](https://github.com/KhaledSaeed18/dotclaude/tree/main/commands/version-control/pr) (version-control): Take the current branch from uncommitted work to an open pull request: commit outstanding changes with the git-commit rules if asked, push with upstream tracking, write the PR title and body with the pr-description skill from the full branch diff, link the issue, and open it with gh against the right base. Confirms before pushing and before creating. Use when a branch is ready for review or when asked to open a PR. Plugins: git. ## Hooks - [citation-guard](https://github.com/KhaledSaeed18/dotclaude/tree/main/hooks/academic/citation-guard) (academic): A PostToolUse hook that checks every cite key in a .tex or .md file Claude just edited against the project's .bib and reports the ones that do not exist, and after a .bib edit reports duplicate keys and entries with no DOI, arXiv id, or URL. Catches an invented citation in the same step it was written. Use when drafting a thesis, paper, or proposal with AI assistance, where a fabricated reference is the one unrecoverable error. Plugins: thesis. - [format-on-edit](https://github.com/KhaledSaeed18/dotclaude/tree/main/hooks/automation/format-on-edit) (automation): A PostToolUse hook that runs the project's own formatter (Biome, Prettier, gofmt, rustfmt, or ruff) on each file Claude Code edits or writes, so every change lands already formatted. Detects the formatter from project config, uses only locally installed binaries, and does nothing when no formatter applies. Use to eliminate style drift and formatting-only diffs from agent sessions. Plugins: format-on-edit. - [notify](https://github.com/KhaledSaeed18/dotclaude/tree/main/hooks/automation/notify) (automation): A Notification hook that turns Claude Code notifications into native desktop notifications (macOS osascript, Linux notify-send), so long-running sessions can be left in the background and still get your attention when Claude needs input. Message text is sanitized before reaching the OS tool. Use when you run long agent sessions and miss the moments they stop to ask something. Plugins: notify. - [precompact-saver](https://github.com/KhaledSaeed18/dotclaude/tree/main/hooks/context/precompact-saver) (context): A PreCompact hook that snapshots the full session transcript to .claude/compact-backups/ right before Claude Code compacts the context, so exact instructions, tool output, and decisions survive after the summary drops them. Keeps the newest ten snapshots and prunes the rest. Use when long sessions get compacted and you need a reliable record of what was said before the summary. Plugins: precompact-saver. - [tool-call-logger](https://github.com/KhaledSaeed18/dotclaude/tree/main/hooks/observability/tool-call-logger) (observability): A PreToolUse/PostToolUse hook that appends one JSON line per tool call (tool name, inputs, and response) to a local log file, with secret redaction and payload truncation. Use to audit, debug, or observe exactly what Claude Code did during a session. Plugins: tool-call-logger. - [command-guard](https://github.com/KhaledSaeed18/dotclaude/tree/main/hooks/security/command-guard) (security): A PreToolUse hook that blocks catastrophic Bash commands before they run (recursive force deletes of root or home, fork bombs, writing to raw disk devices, recursive chmod 777 on root, force-pushes to main or master) with a clear reason. Tests the command as one string; smart-approve is the superset that also decomposes compound chains and is the one bundled in the security-hooks plugin. Use when a minimal, auditable safety net is enough. - [injection-guard](https://github.com/KhaledSaeed18/dotclaude/tree/main/hooks/security/injection-guard) (security): A UserPromptSubmit hook that scans incoming prompts for prompt-injection and jailbreak patterns (instruction overrides, system-prompt extraction attempts, role reassignments, DAN/developer-mode activations) before Claude processes them. Use to add a deterministic pre-Claude safety layer against injection attacks. Plugins: security-hooks. - [sensitive-file-guard](https://github.com/KhaledSaeed18/dotclaude/tree/main/hooks/security/sensitive-file-guard) (security): A PreToolUse hook that blocks Read, Edit, Write, MultiEdit, and Bash operations that target sensitive files (.env, credentials, SSH private keys, certificates, secrets, AWS config, netrc, and similar). Use to prevent Claude from autonomously reading or exfiltrating credential files. Plugins: security-hooks. - [smart-approve](https://github.com/KhaledSaeed18/dotclaude/tree/main/hooks/security/smart-approve) (security): A PreToolUse hook that splits compound Bash commands (&&, ||, ;, |, $(), backticks, subshells) into their parts and checks each against the same deny list as command-guard, catching destructive operations hidden in substitutions or subshells that a full-string match misses. Use to upgrade command-guard with decomposition, or as the guard bundled in the security-hooks plugin. Plugins: security-hooks. - [branch-protect](https://github.com/KhaledSaeed18/dotclaude/tree/main/hooks/workflow/branch-protect) (workflow): A UserPromptSubmit hook that, once per session, tells Claude the checkout is on a protected branch (main, master, develop, or a configured list) so it creates a feature branch before editing or committing. Advisory context only; it never blocks. Use alongside git-guard when work keeps landing directly on main because nobody branched first. Plugins: workflow-hooks. - [git-guard](https://github.com/KhaledSaeed18/dotclaude/tree/main/hooks/workflow/git-guard) (workflow): A PreToolUse hook for Bash that blocks git operations which destroy work or bypass review, with a reason Claude can act on. Stops force-pushes and deletions of protected branches (main, master, develop, or a configured list with globs), commit --no-verify, git clean -f, stash drop and clear, and hard resets, checkouts, or restores that would discard uncommitted changes. Splits compound commands so nothing hides behind a prefix. Use when Claude has git access and a mistake would cost shared history or uncommitted work. Plugins: workflow-hooks. - [session-context](https://github.com/KhaledSaeed18/dotclaude/tree/main/hooks/workflow/session-context) (workflow): A SessionStart hook that orients every new session before the first prompt by injecting the current branch, ahead/behind status, uncommitted files, the last few commits, and any HANDOFF.md left by a previous session as context. Reads only; writes nothing. Use when sessions keep starting cold, re-discovering repo state, or missing a handoff document that was written for them. Plugins: workflow-hooks. - [stop-gate](https://github.com/KhaledSaeed18/dotclaude/tree/main/hooks/workflow/stop-gate) (workflow): A Stop hook that runs the project's test command before Claude may end a turn with uncommitted changes, blocking the stop and returning the failure output when tests fail. Detects the command from package.json, Makefile, Cargo.toml, go.mod, or pytest config, or takes one from .claude/dotclaude.json. Never loops (respects stop_hook_active) and never runs on a clean tree. Use to make "done" mean the tests pass, mechanically, without relying on the model remembering to run them. Plugins: workflow-hooks. - [subagent-summary](https://github.com/KhaledSaeed18/dotclaude/tree/main/hooks/workflow/subagent-summary) (workflow): A SubagentStop hook that appends one JSON line per finished subagent to a project log (timestamp, session, agent id, and the first 300 characters of its final report), giving delegated and parallel work an audit trail. Use when sessions fan work out to subagents and you want to see afterwards what each one did and reported. Plugins: workflow-hooks. - [typecheck-on-edit](https://github.com/KhaledSaeed18/dotclaude/tree/main/hooks/workflow/typecheck-on-edit) (workflow): A PostToolUse hook that type-checks the project after Claude edits a TypeScript, Python, or Go file and returns the errors as context immediately, listing the edited file's errors first. Uses only the project's own tsc, pyright or mypy, or go vet, and stays silent when none applies. Use to catch type errors in the same step as the edit that caused them instead of at the end of the session. Plugins: workflow-hooks. ## Plugins - engineering: Engineering workflow skills, review agents, and a /feature pipeline: orientation, planning, test-driven development, systematic debugging, refactoring, error handling, observability, containers, CI pipelines, dependency upgrades, migration planning, incident postmortems, code review, completion verification, and performance work. Contains: adversarial-reviewer, api-design-review, code-review-response, db-migration-safety, dependency-upgrade, dockerfile-best-practices, error-handling-patterns, executing-plans, explain-codebase, fix-ci, github-actions-pipeline, grill-with-docs, incident-postmortem, logging-and-observability, parallel-agents, performance-optimization, refactoring-recipes, solid-principles, systematic-debugging, test-driven-development, verify-completion, writing-plans, architect-reviewer, code-reviewer, debugger, docs-writer, error-detective, migration-planner, performance-engineer, explain-code, feature. - docs: Documentation that stays true to the code: architecture decision records with an /adr command, READMEs verified against the repository, developer guides in the four documentation types, and OpenAPI specifications kept in sync in CI. Contains: adr-writing, openapi-spec, readme-writing, technical-writing, adr. - pr-toolkit: Pull-request review as a set of specialists: a read-only code explorer, a behaviour-preserving simplifier, hunters for silent failures and test gaps, a type-design reviewer, and a /review-pr command that runs them in parallel and merges one ranked review. Contains: code-explorer, code-simplifier, silent-failure-hunter, test-gap-analyzer, type-design-reviewer, review-pr. - security: Security review toolkit: OWASP-aligned code review, dependency and secret auditing skills, a security-auditor agent, and a full-codebase /security-audit command. Contains: dependency-audit, owasp-security, secret-scan, security-auditor, security-audit. - security-hooks: Deterministic guardrails, active immediately after install: a compound-command deny list, sensitive-file protection, and prompt-injection screening. Contains: smart-approve, sensitive-file-guard, injection-guard. - git: Version-control skills for the whole branch lifecycle: committing, worktrees, merge conflicts, undo/recovery, PR descriptions, changelogs, releases, and branch cleanup. Contains: changelog, finish-branch, git-commit, git-undo, git-worktrees, gitignore, merge-conflict, pr-description, release-tag, clean-branches, commit, pr. - productivity: Session and personal productivity: collaborative brainstorming, plan stress-testing, session handoffs, meeting notes, a decision log, learning plans, a /prime command that loads project context, and a /weekly-review that assembles the week from evidence. Contains: brainstorming, decision-log, grill-me, handoff, issue-writer, learning-plan, meeting-notes, standup-summary, prime, todo-triage, weekly-review. - testing: Testing toolkit: browser-based end-to-end verification with Playwright and a /write-tests command that generates a suite matching project conventions. Contains: accessibility-audit, webapp-testing, write-tests. - research: Investigation toolkit: a deep-research subagent for multi-source work with citations, plus name-clearing skills for software projects (registries, app stores) and for businesses (social handles, storefronts, company registers). Contains: business-name-check, project-name-check, deep-research. - thesis: The research lifecycle for a master's thesis or paper: research question and proposal, multi-source literature search, structured paper notes, a verified BibTeX bibliography, citation verification with a hook that catches invented keys as they are written, argument-first literature synthesis, research design and design science, statistics planning and reporting, PRISMA systematic reviews, citation-graph expansion, reproducible experiments and benchmark reporting, section-by-section academic writing, LaTeX and Word toolchains, publication figures, an examiner-style reviewer and a paper critic, proofreading, supervisor updates, a research log, and progress tracking. Contains: academic-writing, benchmark-reporting, bibtex-manager, citation-graph, citation-verifier, design-science-methodology, docx-thesis, experiment-reproducibility, latex-toolkit, lit-review-synthesis, literature-search, paper-reader, proofread-academic, research-figures, research-methodology, research-question, statistics-advisor, supervisor-update, systematic-review, thesis-proposal, humanize, paper-critic, thesis-reviewer, research-log, thesis-chapter, thesis-progress, citation-guard. - writing: Prose for a human reader: strip machine-writing tells from any text, draft emails that get answered, and outline talks and defences slide by slide. Contains: email-draft, humanize, presentation-outline. - workflow-hooks: Session workflow guardrails, active on install: a session-start situation report, a stop gate that runs the tests before Claude finishes, type errors fed back after each edit, git footgun protection, a branch-first nudge, and a subagent audit log. Contains: session-context, stop-gate, typecheck-on-edit, git-guard, branch-protect, subagent-summary. - format-on-edit: Automation hook that runs the project's own formatter (Biome, Prettier, gofmt, rustfmt, or ruff) on every file Claude edits, so changes land already formatted. Contains: format-on-edit. - notify: Desktop notifications for Claude Code: surfaces permission requests and attention prompts as native macOS/Linux notifications so long sessions can run in the background. Contains: notify. - precompact-saver: Context-preservation hook that snapshots the full session transcript before every compaction, keeping the newest ten snapshots per project. Contains: precompact-saver. - tool-call-logger: Observability hook that appends one sanitized JSON line per tool call to a local log, with secret redaction and payload truncation. Contains: tool-call-logger.