Skip to content

Customize prompts and templates

Day Shift ships package-owned prompt and template defaults, while .day-shift/prompts/user/ and .day-shift/templates/ hold workspace-owned customization. Generated context and authored planning artifacts are outputs or evidence; they are not editable defaults and must not be copied back as authoritative source assets.

Start from a healthy initialized workspace. Use Workspace initialization for root selection and baseline seeding, Prompts and templates for shipped identity and precedence, and version control or a saved diff before any force operation.

Listing, showing, diffing, workflow explanation, review, validation, and dry-run commands are read-only evidence. They report identity, resolution, drift, routing, warnings, or proposed effects; they do not repair or customize files. prompt init, prompt edit, prompt update, template update, and non-dry-run template materialize are explicit writes to a selected target.

Command Prerequisite and input Output and mutation posture Failure and customization effect
prompt init --prompt <path> Select a repository-relative prompt identity that resolves through user, latest, or packaged-default layers. Seeds the matching .day-shift/prompts/user/ path. Existing divergent content is preserved unless --force is explicit. Missing resolution or an unsafe target is a no-write failure. --force replaces the user copy with fallback source content; save its diff first.
prompt edit --prompt <path> Select one active prompt; configure an editor if interactive opening is wanted. Materializes the active prompt into the user layer when needed, then opens that workspace-owned file. Resolution, target, or editor failure does not authorize editing latest or packaged files. Subsequent lookup selects the user copy first.
prompt update --prompt <path> --field <key=value> Select an existing user-layer prompt and repeat supported metadata fields as needed. Applies helper-backed metadata updates only to that file. Missing, wrong-layer, malformed, unknown, or conflicting input is rejected without a partial write. It does not merge prompt body content.
templates list Use an initialized workspace with a readable template manifest. Reports manifest-backed identity, class, version, destination, placeholders, and drift evidence without writing. Manifest or inventory findings remain evidence. Choose a separate update or materialization command if a write is intended.
template update --template <path> --field <key=value> Select an existing workspace template and supported metadata fields. Applies helper-backed metadata changes to the selected template only. Wrong-family, missing, malformed, or ambiguous fields are no-write failures. It does not update generated planning artifacts.
template materialize --template <path> --mode raw|rendered --destination <path> Select a manifest template, an explicit repository-relative destination (or eligible --manifest-destination), and every required rendered placeholder. --dry-run previews; the write creates the routed output. Existing output is preserved unless --force is explicit. Missing placeholders, ambiguous routing, invalid destinations, or existing outputs fail without writing. Materialized output is generated content, not a new template source.
  1. Run templates list, prompt list/show/diff surfaces, or workflow explain to establish identity, source layer, versions, routing, and warnings.
  2. Save current workspace changes. For template output, run template materialize ... --dry-run; for prompt replacement, inspect the current user-to-fallback diff before considering --force.
  3. Select exactly one write: seed or edit a prompt, update supported metadata, or materialize one template to one destination.
  4. Re-run the matching list, show, diff, review, or validation surface. Treat its result as evidence, not an automatic repair.
  5. Review the repository diff. Keep workspace source customization separate from generated outputs and manually authored planning evidence.

Ordinary initialization fills eligible missing assets and preserves divergent workspace copies. Flags such as --without-templates or --no-agent suppress eligible seeding; they do not delete existing customization. Never use bulk copying between package, latest, user, template, generated-context, or planning lanes as a shortcut.

If a write is rejected, keep the error and selected path visible, correct the explicit input, and rerun the evidence step. If force was used incorrectly, restore the workspace-owned file from version control or the saved diff and validate again. Use Upgrade prompt and template customizations for comparison, stale-copy classification, three-way merge behavior, manifest drift, and partially upgraded workspace recovery; update commands do not merge asset bodies.