hermes
240 entries · 23 categories

Software engineering

Building, reviewing, running and maintaining software.

201 prompts, 21 personas, 4 workflows, 14 rules

Categories

Planning9Turning a goal into ordered engineering work: breakdowns, implementation plans, estimates, feature tracks.Product (engineering)6Requirements written for an engineering team to build: PRDs, user stories, acceptance criteria, specs.Architecture12System and API design, boundaries, trade-offs and architecture decision records.Implementation21Writing new code: features, endpoints, scripts, components, scaffolds, regexes and one-off utilities.Code review10Reviewing diffs and pull requests for defects, risk and missing tests.Debugging11Finding and fixing the cause of a defect, crash or failing build.Testing13Writing, fixing and strengthening automated tests.Refactoring8Changing structure without changing behaviour: extract, rename, simplify, remove dead code.Migration8Upgrading dependencies, languages, frameworks and platforms.Performance9Profiling, load testing and making software faster or leaner.Security15Threat modelling, secure review, hardening and supply-chain safety.Accessibility9Making software usable by everyone: audits, ARIA, contrast, keyboard and screen readers.Data engineering13Building data systems: schemas, SQL performance, pipelines, migrations of data.AI and ML engineering14Building with models: LLM apps, RAG, evals, agents, training and MLOps.DevOps13CI/CD, containers, infrastructure as code, cloud and release plumbing.Incident and operations12Alerts, on-call triage, mitigation, runbooks, observability and postmortems.Git and version control9Commits, branches, merges, pull request descriptions and history.Documentation12READMEs, API references, code comments, changelogs and developer guides.Developer writing5Prose by and for developers that is not documentation: RFC prose, tech blog posts, release announcements, clarity rewrites.Learning to code7Understanding code and concepts: explaining codebases, tutoring developers, onboarding.Conventions11Coding standards and style guides for a language or framework, usually rules.Localization (software)7Internationalising software: string extraction, ICU messages, locale formats, translation files.Coding-agent operations6Running coding agents well: handoffs, agent instruction files, context management, multi-agent setups.

Download all 240

Every entry in software engineering, ready for your tool. Free, CC0.

or install it as a claude code plugin

claude plugin marketplace add hermes-hq/hodios-dist
claude plugin install hodios-software-engineering@hodios

The plugin carries the prompts, personas, workflows and styles. Rules are always-on instructions, so add those from their own pages.

Start with these

A few from each category. Open a category for all of them.

Planning

All 9
  • Break down an epic
    PromptPlanning

    Splits an epic into small, ordered vertical slices that each deliver testable value, with acceptance checks, dependencies and spikes. Use when an epic or large feature is too big to start.

  • Estimate work as a range
    PromptPlanning

    Breaks engineering work into tasks and produces a range estimate with a confidence level, stated assumptions and the unknowns that need a spike. Use when asked "how long will this take?".

  • Plan a spike
    PromptPlanning

    Turns a technical unknown into a time-boxed spike with a sharp question, exit criteria, cheapest-first experiments and a clear deliverable. Use when an unknown blocks a decision or an estimate.

  • Write an implementation plan
    PromptPlanning

    Reads the codebase and writes an ordered implementation plan in small verifiable steps, with files to touch, tests, rollout and risks. Use before coding any change that spans several files.

Product (engineering)

All 6
  • Product manager

    Acts as a product manager who starts from the user problem and evidence, writes requirements engineers can build and test, and cuts scope to the smallest valuable release.

  • Write acceptance criteria

    Writes testable acceptance criteria for a user story or ticket, covering the main path, alternatives, validation, boundaries, permissions and empty states. Use before a story enters development.

  • Write a PRD

    Writes a product requirements document that an engineering team can build from, with the problem, goals, success metrics, testable requirements, edge cases and open questions.

  • Write user stories

    Turns a feature description into small, independent user stories for specific users, each with acceptance criteria, and splits stories that are too big. Use when preparing a backlog.

Architecture

All 12
  • Compare design options

    Compares two to four technical options against the criteria that matter, weighs reversibility and risk, and recommends one. Use when a team is stuck choosing between approaches or tools.

  • Design an API contract

    Designs an API contract before implementation, with operations, schemas, errors, pagination, idempotency and evolution rules. Use when adding an API that other teams or clients will call.

  • Review a system design

    Reviews a design document or proposal for failure modes, scaling limits, data and consistency risks and operability gaps, and returns ranked findings. Use before a design review or before building.

  • Software architect

    Acts as a pragmatic software architect who designs from requirements and constraints, names trade-offs and failure modes, and keeps designs as simple as the problem allows.

Implementation

All 21
  • Put a change behind a feature flag

    Wraps new behaviour behind a feature flag with a safe default, a kill switch, tests for both paths and a cleanup ticket. Use when shipping a risky change incrementally.

  • Add rate limiting to an API

    Adds rate limiting to API endpoints with a fitting algorithm, keys, per-tier limits, standard headers, 429 responses and tests. Use when protecting endpoints from abuse or overload.

  • Backend engineer

    Acts as a backend engineer focused on correct data handling, clear API contracts, explicit failure modes and services that are easy to operate. Use as a builder or reviewer persona for server code.

  • Build a REST endpoint end to end

    Implements one HTTP endpoint with route, input validation, handler, error mapping and tests in the project's own framework and conventions. Use when adding an API route.

Code review

All 10
  • Review a pull request

    Reviews a pull request diff for correctness bugs, risky changes and missing tests, and returns ranked findings. Use before merging a PR, branch or diff.

  • Code reviewer

    Reviews changes like a senior engineer who blocks only on real defects, backs every finding with a triggering input, and keeps style opinions out. Use as a reviewer persona or subagent.

  • Respond to code review comments

    Triages each review comment as fix, discuss or decline with a reason, drafts the replies, and applies the agreed fixes. Use when a pull request comes back with reviewer feedback.

  • Review AI-generated code

    Reviews code written by an AI assistant for hallucinated APIs, over-engineering, swallowed errors, weakened tests and copy-paste drift. Use before merging a change an agent produced.

Debugging

All 11
  • Debug a failing network request
    PromptDebugging

    Diagnoses a failing HTTP request layer by layer (DNS, TLS, proxy, CORS, auth, timeouts, payload) from error output and curl or browser traces, giving the next command at each step.

  • Debug a production-only bug
    PromptDebugging

    Debugs a bug that happens only in production by diffing environment, config, data, traffic, versions and timing, then plans safe instrumentation to confirm the cause. Use for works-on-my-machine bugs.

  • Bisect a regression
    PromptDebugging

    Finds the commit or input that introduced a regression by writing an automated good/bad check first, then bisecting. Use when something that used to work is broken and the cause is unclear.

  • Bugfix track
    WorkflowDebugging

    Takes a bug from report to reproduction, root cause, regression test, minimal fix and a verified pull request, stopping for approval between steps. Use for any bug worth fixing properly.

Testing

All 13
  • Review test quality
    PromptTesting

    Reviews a test suite or diff for weak assertions, over-mocking, hidden coupling, sleeps, nondeterminism and tests that cannot fail, with a concrete rewrite for each problem. Use when reviewing tests.

  • Test-writing rules

    Standing rules for tests an assistant writes, covering behaviour over implementation, no sleeps, deterministic data, mocks only at boundaries and one reason to fail per test.

  • Write a test plan
    PromptTesting

    Writes a risk-based test plan for a feature or release covering scope, risks, test levels, environments, data, manual checks automation misses and exit criteria. Use before testing a release.

  • Add characterization tests to legacy code
    PromptTesting

    Pins down what untested legacy code does today with characterization and golden-master tests, bugs included, so it can be changed safely. Use before refactoring or modifying code with no tests.

Refactoring

All 8
  • Extract a module

    Moves one responsibility out of a large file or class into its own module in small, test-verified steps, without changing behaviour or the public API. Use when a file does too many things.

  • Improve naming in code

    Proposes clearer names for variables, functions, types and modules, explains each rename and applies them without changing behaviour. Use when code reads poorly because of its names.

  • Plan a large refactor in safe steps

    Turns a large refactor into small, independently shippable steps that keep the build green, each with a rollback, using patterns like expand-contract. Use for refactors too big for one PR.

  • Reduce code duplication

    Finds duplicated logic, separates true duplication from code that only looks alike, and merges only true duplicates behind one well-named function. Use when one fix keeps landing in many places.

Migration

All 8
  • Migrate JavaScript to TypeScript
    PromptMigration

    Plans and carries out an incremental JavaScript-to-TypeScript migration with config, file order, typed boundaries and a strictness ratchet. Use to move a JS codebase without a freeze.

  • Plan an incremental migration
    PromptMigration

    Plans a framework, platform or system migration as small reversible phases using the strangler fig pattern, with data strategy, verification and rollback per phase. Use instead of a big-bang rewrite.

  • Upgrade a major dependency
    PromptMigration

    Upgrades a library or framework across major versions using the official migration notes, fixes what breaks, and proves the result with before-and-after checks. Use for any breaking upgrade.

  • Plan a breaking API version change
    PromptMigration

    Plans a breaking API version change with a deprecation timeline, compatibility shims, a client migration guide and adoption telemetry. Use before changing anything clients rely on.

Performance

All 9
  • Fix N+1 queries

    Finds N+1 database queries behind an endpoint, page or job by counting real queries, fixes them with eager loading or batching, and adds a query-count test so they do not return.

  • Profile and speed up a hot path

    Measures a slow operation, profiles where the time goes, and makes it faster one verified change at a time, with before-and-after numbers. Use when an endpoint, command or function is too slow.

  • Reduce JavaScript bundle size

    Measures a web app's JavaScript bundles, finds the largest avoidable contributors, and shrinks them with verified changes ranked by bytes saved. Use when page load is slow or a size budget is blown.

  • Find a memory leak

    Finds a memory leak from heap snapshots, memory metrics and code, naming the retaining path and the minimal fix with a regression check. Use when memory grows until a process is killed or restarted.

Security

All 15
  • Respond to a leaked secret
    PromptSecurity

    Produces an ordered response plan for an exposed key, token or password - revoke and rotate, audit use, clean up copies, notify and prevent. Use right after a secret is committed, logged or shared.

  • Review an API against the OWASP API Top 10
    PromptSecurity

    Reviews an API design or implementation against the OWASP API Security Top 10, from object-level authorization and mass assignment to rate limits and SSRF, with attack paths and fixes.

  • Review a cloud IAM policy
    PromptSecurity

    Reviews AWS, GCP or Azure IAM policies for over-broad permissions, privilege-escalation paths, wildcard resources and missing conditions, and proposes least-privilege versions.

  • Review a pull request for security
    PromptSecurity

    Reviews a diff for exploitable vulnerabilities and reports only findings with a concrete attack path. Use before merging changes to input handling, auth, data access or dependencies.

Accessibility

All 9
  • Accessibility specialist

    Accessibility specialist who builds and reviews with WCAG, the ARIA Authoring Practices and real assistive-technology behaviour in mind, ranking barriers by who is blocked.

  • Audit a mobile screen for accessibility

    Audits an iOS, Android, React Native or Flutter screen for labels, traits, focus order, text scaling, touch targets, contrast and gestures, with platform fixes and a VoiceOver or TalkBack test script.

  • Audit web accessibility against WCAG 2.2

    Audits markup or components against WCAG 2.2 and reports each issue by success criterion with user impact, severity and a concrete code fix. Use before a release or a compliance review.

  • Build an accessible ARIA widget

    Implements a combobox, tabs, dialog, menu, disclosure, tree or listbox per the ARIA Authoring Practices pattern, using native elements whenever they suffice. Use for custom interactive widgets.

Data engineering

All 13
  • Data engineer

    Acts as a data engineer who designs for idempotency, backfills and observability, treats schemas as contracts with their consumers, and asks who depends on each table before changing it.

  • Design a data pipeline

    Designs a batch or streaming data pipeline sized to stated volumes, covering sources, schedule, idempotency, late data, backfills and monitoring. Use before building or replacing a pipeline.

  • Design a relational database schema

    Designs a relational schema from requirements and access patterns, with keys, constraints, types, indexes and DDL. Use when starting a new service or feature that stores data.

  • Design a star schema

    Designs a dimensional model from the questions analysts need answered: business processes, grain, facts, dimensions, slowly changing dimension types and DDL. Use when building a warehouse layer.

AI and ML engineering

All 14

DevOps

All 13
  • Design a deployment strategy
    PromptDevOps

    Chooses and specifies a deployment strategy (rolling, blue-green, canary or feature-flagged) with health gates, automated rollback triggers and database-change ordering. Use when deploys feel risky.

  • Review a Dockerfile
    PromptDevOps

    Reviews a Dockerfile for security, image size, build cache use and runtime correctness, and returns ranked findings with a corrected file. Use before shipping a new or changed container image.

  • Review an infrastructure plan before apply
    PromptDevOps

    Reviews a Terraform, OpenTofu or other IaC plan for destructive changes, security exposure, cost surprises and changes outside the stated intent. Use before running apply, especially in production.

  • Write a Docker Compose dev environment
    PromptDevOps

    Writes a Docker Compose local development setup that mirrors production dependencies, with health checks, named volumes, seed data, env files and a one-command start. Use when onboarding developers.

Incident and operations

All 12

Git and version control

All 9

Documentation

All 12
  • Document a public API

    Writes reference docs for a module's exported functions, classes or endpoints in the native doc-comment format, covering real behaviour, errors and edge cases. Use before a release.

  • Write a changelog entry

    Turns the commits and pull requests in a release range into a user-facing changelog entry in Keep a Changelog format, with breaking changes first. Use when cutting a release.

  • Write a migration guide

    Writes an upgrade guide for a breaking release that lists each breaking change with how to find affected code, before-and-after examples and a way to verify. Use when shipping a major version.

  • Write a README

    Writes or improves a project README from what the code actually does, with an install and quick start that work when copied. Use for a new project or a README that has drifted.

Developer writing

All 5
  • Rewrite for clarity

    Rewrites technical prose so the main point comes first and every sentence is plain and specific, while keeping every fact, number and caveat. Use on design notes, emails, RFC drafts and docs.

  • Write a conference talk proposal

    Writes a CFP submission with title options, abstract, timed outline, takeaways and notes for reviewers, aimed at the event's audience and selection criteria. Use for engineers and developer advocates.

  • Write a technical blog post

    Turns engineering notes, code and results into a technical blog post with one clear takeaway, real numbers and working code, and no hype. Use for engineering blogs and write-ups of a project.

  • Explain a technical issue to executives

    Translates a technical issue or decision into a one-page executive brief with business impact, options, cost, risk and the specific ask. Use when leadership must decide or fund something technical.

Learning to code

All 7
  • Explain a codebase

    Explains an unfamiliar codebase. Maps its structure, traces one real request end to end and names the concepts and gotchas a newcomer needs. Use when joining a project or reading an unknown repo.

  • Explain a concept with code

    Explains a programming concept through the problem it solves, a minimal runnable example, a common mistake and a quick self-check, pitched at the learner's level. Use to learn or teach a concept.

  • Explain a SQL query

    Explains a complex SQL query clause by clause in logical execution order, shows intermediate results on a tiny example, and points out bugs and performance traps. Use when inheriting a query.

  • Plan a learning path for a technology

    Builds a week-by-week plan to get productive in a new language, framework or tool, built around hands-on milestones and skipping what the learner already knows. Use when picking up a new stack.

Conventions

All 11
  • HTTP API design rules

    Rules for HTTP APIs covering resource naming, status codes, problem+json errors, cursor pagination, idempotency keys and versioning. Load when designing or changing HTTP endpoints.

  • C# style rules

    Standing rules for C# an assistant writes, covering nullable reference types, async all the way with cancellation tokens, records and pattern matching, dependency injection and xUnit tests.

  • Go style rules

    Standing rules for Go an assistant writes, covering wrapped errors, context propagation, small consumer-side interfaces, table-driven tests and no goroutines without an owner.

  • Java style rules

    Standing rules for Java an assistant writes, covering modern language features, immutability, Optional and null handling, exceptions, restrained streams, records and JUnit 5 tests.

Localization (software)

All 7

Coding-agent operations

All 6
  • Review a coding agent transcript

    Reviews a coding agent session transcript for where it went wrong (bad assumptions, skipped verification, scope creep, looping) and turns each failure into an instruction-file or prompt change.

  • Write an agent handoff

    Writes a self-contained handoff note so a fresh agent or a teammate can continue the current task without the conversation history. Use before ending a long session, switching tools or delegating.

  • Write an agent skill

    Writes a reusable agent skill (SKILL.md with frontmatter, steps, scripts and references) from a repeated task, with a trigger description models can match and a test plan. Use to package a workflow.

  • Write an AGENTS.md

    Writes or updates a repository's AGENTS.md with the verified commands, layout, conventions and boundaries a coding agent needs, and nothing generic. Use when setting up a repo for coding agents.