Skip to content

Allow custom prompts for Implement, Review, and Final Phases #78

Description

@maxBRT

Goal

Ship should let users replace or override the built-in prompts sent to each Agent Phase.

The blog post calls out adding the option to swap out the prompts given to each agent. Today the prompts are embedded in the repo under internal/prompt/*.md and rendered by Ship.

Why

Different repositories and teams have different expectations for:

  • TDD strictness
  • review style
  • coding standards
  • PR body shape
  • risk and QA sections
  • required commands before finishing

Custom prompts would let Ship keep the same orchestration loop while adapting the Agent instructions to each repo.

Initial scope

Support custom prompt files for some or all Phases:

  • Implement
  • Review
  • Final

This issue is intentionally not fully planned. It is a marker that prompt customization is part of the roadmap.

Questions to answer during planning

  • Should prompt paths live in .ship/config.yaml?
  • Should users override the whole prompt or append repo-specific instructions to the built-in prompt?
  • How should prompt templates receive the existing data currently used by built-in prompts?
  • Should Ship validate templates before starting a Run?
  • Should there be a command to print the final rendered prompt for debugging?
  • How should missing custom prompt files fail?

Possible implementation direction

Add optional config like:

prompts:
  implement: .ship/prompts/implement.md
  review: .ship/prompts/review.md
  final: .ship/prompts/final.md

If a prompt path is absent, Ship uses the built-in prompt for that Phase.

Acceptance sketch

  • A repo can provide a custom Implement prompt.
  • A repo can provide a custom Review prompt.
  • A repo can provide a custom Final prompt.
  • Built-in prompts remain the default.
  • Tests verify custom templates still receive Ticket and branch data.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestideaNot fleshed out, simple note

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions