Files
agent-skills/skills/research-pipeline/SKILL.md
T
Epictetus 5f917f4121 Add Publisher v2 + 5 extracted skills
Publisher fixes:
- Checkout new branch before push (was pushing main ref)
- Verify files staged before commit
- Handle duplicate files gracefully
- Clean error reporting per stage

Skills merged to main:
- mcp-server-setup (from pipeshub-ai)
- research-pipeline (from Blacknode)
- multi-agent-sequential-workflow (from Fast-LLM-Agent-MCP)
- unifai-workflow-execution (from UnifAI)
- code-review-agent-workflow (from AgentKit)
2026-08-05 15:15:09 +00:00

3.7 KiB

name, version, description, inputs, steps, outputs, tags, metadata
name version description inputs steps outputs tags metadata
research-pipeline 1.0.0 Fetch a Wikipedia page, summarise its content using an AI agent, and write the summary to a file.
URL of the Wikipedia page
Step 1: Import necessary modules from `_bootstrap` and `blacknode`: Run `from _bootstrap import NIM_MODEL, require_nim_api_key; import blacknode as bn`
Step 2: Require NVIDIA NIM API key: Call `require_nim_api_key()` to ensure the API key is set.
Step 3: Create a graph instance: Initialize `g = bn.Graph()`.
Step 4: Add nodes for URL, HTTPGet, summarisation, and file writing: `url = g.node('Literal', value='URL of the Wikipedia page'); fetcher = g.node('HTTPGet'); summarise = g.node('LLMAgent', system='You are a technical writer. Summarise the text in 3 bullet points.', model=NIM_MODEL); writer = g.node('FileWrite', path='summary.txt')`
Step 5: Connect nodes with edges: `url.out('value') >> fetcher.inp('url'); fetcher.out('text') >> summarise.inp('prompt'); summarise.out('text') >> writer.inp('text')`
Step 6: Cook the graph to execute and get output: `result = g.cook(writer, 'path'); print(f'Summary written to: {result}')`
Path of the summary file
source_repo extracted_at confidence
https://github.com/temiroff/Blacknode.git 0.95

research-pipeline

Fetch a Wikipedia page, summarise its content using an AI agent, and write the summary to a file.

Setup

Dependencies:

pip install anthropic>=0.25 docker>=7.1 openai>=1.0

Setup steps:

  1. Ensure NVIDIA NIM API key is set in the environment or editor
  2. Install required dependencies: pip install -r requirements.txt

Key Files

  • examples/research_pipeline.py - Contains the research pipeline workflow

Steps

  1. Step 1: Import necessary modules from _bootstrap and blacknode: Run from _bootstrap import NIM_MODEL, require_nim_api_key; import blacknode as bn
  2. Step 2: Require NVIDIA NIM API key: Call require_nim_api_key() to ensure the API key is set.
  3. Step 3: Create a graph instance: Initialize g = bn.Graph().
  4. Step 4: Add nodes for URL, HTTPGet, summarisation, and file writing: url = g.node('Literal', value='URL of the Wikipedia page'); fetcher = g.node('HTTPGet'); summarise = g.node('LLMAgent', system='You are a technical writer. Summarise the text in 3 bullet points.', model=NIM_MODEL); writer = g.node('FileWrite', path='summary.txt')
  5. Step 5: Connect nodes with edges: url.out('value') >> fetcher.inp('url'); fetcher.out('text') >> summarise.inp('prompt'); summarise.out('text') >> writer.inp('text')
  6. Step 6: Cook the graph to execute and get output: result = g.cook(writer, 'path'); print(f'Summary written to: {result}')

Implementation Details

from _bootstrap import NIM_MODEL, require_nim_api_key; import blacknode as bn
url = g.node('Literal', value='https://en.wikipedia.org/w/api.php?action=query&prop=extracts&exintro=1&explaintext=1&titles=Houdini_(software)&format=json&formatversion=2&origin=*'); fetcher = g.node('HTTPGet'); summarise = g.node('LLMAgent', system='You are a technical writer. Summarise the text in 3 bullet points.', model=NIM_MODEL); writer = g.node('FileWrite', path='summary.txt')
url.out('value') >> fetcher.inp('url'); fetcher.out('text') >> summarise.inp('prompt'); summarise.out('text') >> writer.inp('text')

Inputs

  • URL of the Wikipedia page

Outputs

  • Path of the summary file

Failure Modes

  • If the URL is invalid or unreachable, the HTTPGet node will fail; if the summarisation fails, the output text might be empty

Source

Extracted from: https://github.com/temiroff/Blacknode.git Confidence: 0.95