AGPL-3.0-or-later · forever.

showcase · tier 1 · content

Social repurpose

One post becomes a thread, a LinkedIn version and a newsletter blurb, rewritten in parallel.

Write once, publish everywhere, same voice on every channel. · conformance-gated in nika-spec ↗ · re-proven at every push

The whole file

5 tasks · 3 waves · the plan falls out of the bindings, nothing is scheduled by hand.

t1-social-repurpose.nika.yamlsource
nika: v1workflow:  id: social-repurpose  description: "One post → thread + LinkedIn + newsletter, in parallel"model: ollama/qwen3.5:4b   # local · zero key · swap for mistral/mistral-large or any providervars:  post_path: "./blog/launch-post.md"tasks:  post:    invoke:      tool: "nika:read"      args: { path: "${{ vars.post_path }}" }  # Three rewrites · no deps between them · they run concurrently.  thread:    with:      post: ${{ tasks.post.output }}    infer:      prompt: "Turn this post into a 6-tweet thread · keep the voice · ${{ with.post }}"  linkedin:    with:      post: ${{ tasks.post.output }}    infer:      prompt: "Rewrite this post for LinkedIn · hook first · ${{ with.post }}"  newsletter:    with:      post: ${{ tasks.post.output }}    infer:      prompt: "Write a 3-sentence newsletter blurb for this post · ${{ with.post }}"  bundle:    with:      t: ${{ tasks.thread.output }}      l: ${{ tasks.linkedin.output }}      n: ${{ tasks.newsletter.output }}    invoke:      tool: "nika:write"      args:        path: "./social-bundle.md"        content: |          # Social bundle          ## Thread          ${{ with.t }}          ## LinkedIn          ${{ with.l }}          ## Newsletter          ${{ with.n }}outputs:  bundle_path: ${{ tasks.bundle.output }}

nika inspect · engine 0.105.0 · vendored graph, never re-derived

6 declared edges · 3 waves · the plan falls out of the bindings