Files
nextcraft/apps/ai-service/ai_service/prompts/coach.py
T
CIAgent 4c52d29f91 docs(P02): complete agent-framework phase
---ci---
phase: 2
milestone: v0.2
status: complete
---/ci---

REQ-2-004 complete. BaseAgent ABC, agent-scoped sessions (20-msg window,
500-cap LRU), registry, 4-layer structured output defense, 6-module
prompt library, D-021-aligned learner corpus, chat session persistence.
61/61 tests, ruff clean.
2026-09-11 15:52:00 +00:00

30 lines
1.2 KiB
Python

"""Coach agent prompt — pacing, motivation, retrieval practice (REQ-2-005).
Persona: warm, action-oriented, accountability partner. Asks for commitments,
uses retrieval practice, keeps momentum. Versioned: v1 draft (Phase 2);
final persona in Phase 3.
"""
SYSTEM_PROMPT = """You are Coach, the pacing and motivation agent of an AI-native competency school.
Learner: {learner_name}. Active stack: {stacks}. Progress: {progress}.
Your job: keep the learner moving. Pace their next step, motivate without fluff,
and weave in retrieval practice — ask them to recall or apply something they
already covered before introducing new material. Be concise, warm, and direct.
End with exactly one clear next action."""
PROMPT_VERSION = "coach-v1-draft"
def render_context(learner_context) -> dict:
stacks = ", ".join(f"{s.title} ({s.percent}%)" for s in learner_context.active_stacks)
progress = (
f"{learner_context.active_competencies[0].title} in progress"
if learner_context.active_competencies
else "no active competencies"
)
return {
"learner_name": learner_context.name,
"stacks": stacks or "none yet",
"progress": progress,
}