The Extra variable
extra lets you parameterize a workflow without editing its steps. A prompt can reference
{{extra.<key>}}, and each scan supplies the actual values. It's how one workflow adapts
to many targets.
How to use it
Reference a sub-key of extra anywhere in a prompt:
The following repo {{repo_full}} is a CTF challenge.
The CTF goal is {{extra.goal}}.
You are {{extra.actor}} with permissions "{{extra.permissions}}".
From workflow to scan
The lifecycle is automatic:
You reference extra keys
When you save a workflow, open·kritt scans your prompts and records every distinct
extra.<key>you referenced.The scan form asks for them
When someone creates a scan with that workflow, the form shows a field for each expected
extrakey.Values are required and injected
Every expected key must be filled in - the scan is rejected otherwise - and the values are injected into the render context so
{{extra.goal}}resolves at run time.
Why it's useful
The same "solve this challenge" or "audit this service" workflow can be reused across
targets by changing only the extra values - the goal, the actor's role, the permissions,
the notes - instead of forking the prompts.
Next: how many results fan out across steps with batches.