n8n
Install LUU in n8n via the importable memo-critic workflow template, paste your free API key, and run strategic-judgment workflows in your existing automation stack.
Prerequisites
- An n8n instance — n8n.cloud (free tier works), self-hosted, or Docker
- An email address (we'll use it to issue your API key)
Step 1: Get a free API key
curl -X POST https://api.leadershipunderuncertainty.org/api/mcp/generate-key \
-H "Content-Type: application/json" \
-d '{
"email": "you@example.com",
"description": "n8n memo critic"
}'The response contains your nb_* key. Save it — it's only shown once.
You're now on the free tier: 25 calls per day, 500 per month, 6 tools available (memo critic, brief, signals, contextualize, fact-check, forecast).
Step 2: Import the memo-critic template
- Download the template: workflow.json
- Open n8n. Workflows → Import from File
- Select the downloaded
workflow.json - The workflow appears with 4 nodes: trigger → memo input → LUU note review → format for Slack/email
Step 3: Wire up the API key credential
- Click the LUU Note Review node
- In Credential to connect with, click Create New Credential
- Choose HTTP Bearer Auth
- Name it
LUU API Key - Token: paste your
nb_*key from Step 1 - Save
Step 4: First run
- The Memo Input node already contains a sample memo with deliberate tradecraft weaknesses
- Click Execute Workflow in the bottom-right
- Wait ~10-15 seconds; green checkmarks light up each node
Step 5: Inspect the output
Click the Format for Slack/Email node. You'll see a structured ICD 203 review:
## ICD 203 Tradecraft Review
**Overall Score:** 32 / 100
**Verdict:** inadequate
### Strengths
- Frames a concrete strategic-economic question
### Weaknesses
- Asserts conclusions without evidence
- No alternatives considered
- Uses absolute language ("firmly", "all signs", "lost leverage")
### Missing
- Source citations for any claim
- Alternative hypotheses (e.g., "Russia–China alignment is tactical, not strategic")
- Information gaps
- Calibrated uncertainty language
### Per-ATS Scores
- ATS 1 (Source Quality): 5
- ATS 2 (Uncertainty Expression): 10
- ATS 3 (Fact/Assumption/Judgment): 25
- ATS 4 (Alternative Analysis): 0
- ...Adapt to your real workflow
Read memos from email
- Replace Manual Trigger with Gmail Trigger (or IMAP)
- After Gmail, use a Set node to extract
body.text→noteText - Wire to LUU Note Review
Send results to Slack
- After Format for Slack/Email, add a Slack node
- Choose channel
- Paste
{{$json.summary}}into the message field
Trigger from a webhook
- Replace Manual Trigger with Webhook trigger
- Set HTTP method to POST, path to
/memo-critic - POST
{"noteText": "..."}from anywhere
Composition telemetry
If you chain multiple LUU calls (note-review → search-evidence → record-outcome), thread these headers through your HTTP requests so we can see your composition pattern:
X-LUU-Composition-Trace— already auto-populated to{{$execution.id}}X-LUU-Composition-Position—0,1,2... (0-indexed position in the chain)X-LUU-Composition-Previous-Call— optional UUID of the immediately preceding call
This is opt-in. We use it to understand which sequences agent builders compose most often.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| HTTP 401 | API key wrong or revoked | Re-run the generate-key curl in Step 1 |
| HTTP 402 | Free-tier cap exceeded | Wait until daily reset, top up at /api/mcp/pay, or upgrade |
| HTTP 429 | Per-second rate limit hit | Add a small delay between calls |
| Timeout | Default 60s exceeded | Long memos in deep mode: increase HTTP node timeout to 120s |
Empty strengths | Quick mode skips behavioral scoring | Set reviewMode: "standard" or "deep" |
Next templates
This is the anchor template. Coming next:
- Weekly Strategic Delta (snapshot + delta + evidence pack)
- Source Credibility Check (NATO STANAG-aligned source scoring)
- Scenario Room (multi-scenario synthesis with assumption tracking)
- Decision Review (decision logged → after-action review prompt)