Follow-up to #43 (closed via #44 / 26ee188) from a downstream consumer integrating against the new seam — the agent.kickoff_template full-replacement works, and three refinements would make it robust for tooling that composes per-dispatch context:
- Append/injection mode or placeholder interpolation. Full replacement drops the built-in prompt entirely (15-step protocol, issue id, branch, design-doc content, conventions, verify-level steps), so a template consumer must re-author and maintain crosslink's own half, which drifts as it evolves upstream. An
agent.kickoff_template_mode: append (extra content woven into the built prompt) or placeholders ({{issue_id}}, {{branch}}, {{design_doc}}, {{built_prompt}}) would let crosslink's half stay tool-maintained.
- Per-dispatch
--template <path> flag on kickoff run/plan. The hook-config path is repo-global: parallel dispatches needing different composed contexts race on one file. A CLI flag (config as fallback) removes the race.
- Swarm coverage. The template hook lives in
kickoff run only; swarm-dispatched agents can't receive the same composed context.
Follow-up to #43 (closed via #44 / 26ee188) from a downstream consumer integrating against the new seam — the
agent.kickoff_templatefull-replacement works, and three refinements would make it robust for tooling that composes per-dispatch context:agent.kickoff_template_mode: append(extra content woven into the built prompt) or placeholders ({{issue_id}},{{branch}},{{design_doc}},{{built_prompt}}) would let crosslink's half stay tool-maintained.--template <path>flag onkickoff run/plan. The hook-config path is repo-global: parallel dispatches needing different composed contexts race on one file. A CLI flag (config as fallback) removes the race.kickoff runonly; swarm-dispatched agents can't receive the same composed context.