label = "opencode"
skills_dir = ".opencode/skills"
config_dirs = [".opencode"]
[staging]
slug_capability = "opencode"
stage_name_pattern = "^[a-z0-9]+(-[a-z0-9]+)*$"
stage_name_max_len = 64
stage_name_invalid_message = 'OpenCode skill name "{name}" is invalid; names must be 1-64 lowercase alphanumeric characters separated by single hyphens'
rewrites_frontmatter_name = true
surface_phrase = "as an OpenCode skill"
unresolved_phrase = "If it does not load as an OpenCode skill"
[skills_block]
header = "<available_skills>"
item = "\n <skill>\n <name>{name}</name>\n <description>{description}</description>\n </skill>"
footer = "\n</available_skills>"
[dispatch]
model_note = " Model selection was recorded as provenance, but the OpenCode adapter has no CLI model flag wired yet."
next_steps_template = '''
Next: iterate the tasks[] array in dispatch.json and dispatch each task with `opencode run`.{model_note} OpenCode transcript ingest is not yet wired, so assemble each task's `run.json`/`timing.json` manually (or capture `opencode run --format json` / `opencode export` output), then run `ingest{target_args} --iteration {iteration} --harness opencode`.'''