aiworkhub_task_create_from_template
MANAGER WRITE: create one task from an authenticated template.
Instructions
MANAGER WRITE: create one task from an authenticated template.
Replies with the same creation receipt as aiworkhub_task_create
(template_provenance once, from the persisted card); echo_card=True
returns the full CLI envelope with the card in stdout.
Callers supply routing fields, task text/acceptance, a template ID, and
explicit production/test paths. Generated allowed_writes,
required_outputs, read_first, read_only, task_type,
work_kind are taken from template expansion. Validation commands and
their one-to-one roles may be overridden together; when both are omitted,
the generated defaults are preserved. Malformed, stale, or forged template
IDs, unsafe paths, and incomplete validation overrides fail closed before
create_task. Provenance authenticates the final expanded contract.
The skill_* fields are the card's skill selection vocabulary, drawn
from the same closed sets core.create_task validates against
(skill_registry.SELECTION_VOCABULARIES); an unknown token is refused
at create rather than silently matching nothing. They are card fields,
not path fields: they never enter allowed_writes or
required_outputs, so declaring one can never make an output
mandatory. skill_task_family defaults to the family the template
itself declares (task_templates.skill_task_family of its declared
work kind), and an explicit value overrides that default;
skill_stage, skill_triggers and skill_applicability describe
the occasion rather than the template genre, so no template can supply
them and a card that omits them selects no skill at all.
wave_goal_binding (optional) is exactly {roadmap_id, goal_id, predecessor_task_id} and is forwarded to core.create_task unchanged,
exactly as aiworkhub_task_create does; it is never inferred from the
template, title or prose, and core refuses a malformed binding.
difficulty (optional) is bounded, standard or complex and
is forwarded to core.create_task unchanged; core alone validates it.
It only selects the worker's reasoning effort and is never inferred from
the template, title or prose: omitted means undeclared.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| topic | Yes | ||
| runner | Yes | ||
| task_id | Yes | ||
| priority | No | normal | |
| echo_card | No | ||
| forbidden | No | ||
| objective | Yes | ||
| risk_tier | No | ||
| acceptance | Yes | ||
| depends_on | No | ||
| difficulty | No | ||
| test_paths | No | ||
| validation | No | ||
| skill_stage | No | ||
| template_id | Yes | ||
| skill_triggers | No | ||
| max_live_tokens | No | ||
| immutable_inputs | No | ||
| production_paths | No | ||
| skill_path_scope | No | ||
| validation_roles | No | ||
| skill_task_family | No | ||
| wave_goal_binding | No | ||
| skill_applicability | No | ||
| mandatory_changed_outputs | No | ||
| allow_empty_required_outputs | No | ||
| allow_unchanged_required_outputs | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||