Review: Adapt core system prompts for Goose

review-1488-2026-07-03 Review

review needs-refinement

Verdict: NEEDS_REFINEMENT

Template Completeness

  • [x] Type — Feature
  • [x] Lineage — references #3 and #5
  • [x] Repo — ldraney/personal-assistant
  • [x] User Story — as a developer, want Goose loaded with adapted prompts
  • [x] Context — good background on the architecture spike, source material, and categorization
  • [x] File Targets — 5 files in system-prompts/
  • [x] Feature Flag — None (appropriate for internal tooling)
  • [x] Acceptance Criteria — 5 criteria
  • [x] Test Expectations — 3 expectations
  • [x] Constraints — 3 constraints
  • [x] Checklist — 3 items
  • [x] Related — references project and dependencies

Traceability

  • [ ] story:X label — MISSING. No story label on board item. The issue's user story aligns with project-personal-assistant user story #1 ("Claude Code-like agentic coding experience"). Other sprint:2 items (e.g., #1745) use story:groq-pivot. [LABEL] Add story:groq-pivot label.
  • [x] arch:personal-assistant label — present on board item
  • [ ] arch note MISSING — searched pal-e-docs for arch-personal-assistant and variants; no matching architecture note exists. The project page has an architecture section, but no dedicated arch note. [SCOPE] Create architecture note arch-personal-assistant for the personal-assistant component.
  • [x] Forgejo issue — https://forgejo.tail5b443a.ts.net/ldraney/personal-assistant/issues/6, open

File Targets

  • [x] system-prompts/task-execution.md — NEW file (directory does not exist yet, expected)
  • [x] system-prompts/safety.md — NEW file
  • [x] system-prompts/code-style.md — NEW file
  • [x] system-prompts/tone.md — NEW file
  • [x] system-prompts/platform-context.md — NEW file
  • [x] docs/prompt-engineering.md — verified exists in repo, contains keep/adapt/drop categorization as claimed
  • [x] claude-code-reference/ — gitignored, local-only source material (acceptable per constraints)

Repo Placement

OK. Issue filed on ldraney/personal-assistant, ### Repo section says ldraney/personal-assistant. All file targets are within this repo. No cross-repo work needed.

Dependencies

  • depends:3 — "Design Goose + Groq architecture" (spike) — board item 1485, column: done
  • depends:5 — "Configure Goose profile for Groq + Kimi K2 backend" — board item 1487, column: done (note: Forgejo issue still open, but board shows done)
  • Downstream dependents: Issues #13 (delegation protocol spike), #16 (kanban workflows), #17 (PR lifecycle) all depend on #6. These are sprint:3-4 items, appropriately sequenced.
Both upstream dependencies are satisfied. No blockers.

Acceptance Criteria

  • [x] AC1: "System prompt files created in system-prompts/" — verifiable via file existence check
  • [ ] AC2: "Goose loads assembled prompt at startup" — UNDERDEFINED. Does not specify the mechanism. Issue #5 shows Goose config is managed via Salt template at salt://goose/files/config.yaml, but no mention of system prompt loading path. Options: Goose profile instructions field, .goosehints file, CLI --instructions flag, or Salt template update. [BODY] Specify prompt loading mechanism in AC2 — e.g., "Goose profile instructions field references assembled prompt" or "system-prompts assembled into .goosehints".
  • [x] AC3: "Goose follows tone guidelines" — subjective but covered by Test Expectations (side-by-side comparison)
  • [x] AC4: "Goose uses tools appropriately" — subjective but covered by Test Expectations
  • [x] AC5: "Goose shows safety awareness" — subjective but covered by Test Expectations

Blast Radius

Minimal. All file targets are new files in a new directory. No existing code is modified. The prompts will affect Goose behavior system-wide once loaded, but that is the intended effect. No sibling services impacted.

Decomposition Assessment

  • 5 file targets across 1 repo — under threshold
  • 5 acceptance criteria — at threshold but not over
  • Estimated agent work: read docs/prompt-engineering.md categorization, read claude-code-reference/ source material, synthesize 5 prompt files, configure loading mechanism. Feasible in a single agent pass if agent has local access to claude-code-reference/.
  • No decomposition needed.

Recommendation

  • [LABEL] Add story:groq-pivot label to board item — this work is part of the Groq/Goose pivot story, consistent with other sprint:2 items.
  • [SCOPE] Create architecture note arch-personal-assistant in pal-e-docs — the arch:personal-assistant label has no backing note.
  • [BODY] Clarify AC2 — specify how Goose loads the assembled prompt at startup (profile instructions field, .goosehints, CLI flag, or Salt template update to config.yaml).