T2 chain · SEO / content marketing — twonika:fetchextractions chained (sitemapmode, thenarticlemode), a jq slice binding, CEL indexing, and a schema-typed brief at the end.
The job
« Write something that ranks for X » usually starts with an hour of tab-hopping through the competitor’s site. This workflow maps their sitemap, reads their best page on the topic, finds the gaps, and hands your writer a typed brief: title, angle, outline, keywords.The shape
The file
t2-seo-content-brief.nika.yaml
How it works
Sitemap mode + a jq slice
mode: sitemap returns the URL list; the output: binding
top: ".urls[:5]" keeps just the head of it. Bindings are jq —
slices, filters, everything.CEL indexes into the binding
The second fetch reads
${{ tasks.map.top[0] }} — index access is
part of the CEL subset. The reference also requires
depends_on: [map]: every reference is a visible edge.Constructs you just used
Make it yours
- Brief the top THREE pages instead of one:
for_each: ${{ tasks.map.top }}— the fan-out tier shows how (Competitor radar). - Feed your own sitemap too and ask the model for internal-linking opportunities.
- Pipe the brief straight into a draft: a second
inferconsuming${{ tasks.brief.output.outline }}.
Next · Invoice chaser
CSV → JSON with
nika:convert, a jq filter, and the three-line
human-approval gate.