Files
agent-skills/skills/research-pipeline/SKILL.md
T
2026-08-05 15:45:47 +00:00

106 lines
3.5 KiB
Markdown

---
name: research-pipeline
version: 1.0.0
description: Fetch a Wikipedia page, summarise it using an AI agent, and write the
summary to a file.
inputs:
- URL of the Wikipedia page
steps:
- 'Step 1: Import necessary modules from _bootstrap (NIM_MODEL, require_nim_api_key)
and blacknode'
- 'Step 2: Require NVIDIA NIM API key using `require_nim_api_key()`'
- 'Step 3: Create a Graph instance `g`'
- 'Step 4: Add a Literal node for the URL of the Wikipedia page (`url`)'
- 'Step 5: Add an HTTPGet node to fetch the content from the URL (`fetcher`) and connect
it to the Literal node'
- 'Step 6: Add an LLMAgent node with system prompt ''You are a technical writer. Summarise
the text in 3 bullet points.'' and model NIM_MODEL (`summarise`), connecting its
input to the output of `fetcher`'
- 'Step 7: Add a FileWrite node to write the summary to a file named ''summary.txt''
(`writer`), connecting its input to the output of `summarise`'
- 'Step 8: Cook the graph starting from the writer node and print the path where the
summary is written'
outputs:
- Path to the summary file
tags: []
metadata:
source_repo: https://github.com/temiroff/Blacknode.git
extracted_at: ''
confidence: 0.95
---
# research-pipeline
Fetch a Wikipedia page, summarise it using an AI agent, and write the summary to a file.
## Setup
**Dependencies:**
```text
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 UI
1. Install required dependencies using `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 (NIM_MODEL, require_nim_api_key) and blacknode
2. Step 2: Require NVIDIA NIM API key using `require_nim_api_key()`
3. Step 3: Create a Graph instance `g`
4. Step 4: Add a Literal node for the URL of the Wikipedia page (`url`)
5. Step 5: Add an HTTPGet node to fetch the content from the URL (`fetcher`) and connect it to the Literal node
6. Step 6: Add an LLMAgent node with system prompt 'You are a technical writer. Summarise the text in 3 bullet points.' and model NIM_MODEL (`summarise`), connecting its input to the output of `fetcher`
7. Step 7: Add a FileWrite node to write the summary to a file named 'summary.txt' (`writer`), connecting its input to the output of `summarise`
8. Step 8: Cook the graph starting from the writer node and print the path where the summary is written
## Implementation Details
```python
from _bootstrap import NIM_MODEL, require_nim_api_key
import blacknode as bn
```
```python
g = bn.Graph()
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')
```
```python
url.out('value') >> fetcher.inp('url')
fetcher.out('text') >> summarise.inp('prompt')
summarise.out('text') >> writer.inp('text')
```
```python
result = g.cook(writer, 'path')
print(f'Summary written to: {result}')
```
## Inputs
- URL of the Wikipedia page
## Outputs
- Path to the summary file
## Failure Modes
- If the URL is invalid, HTTPGet will fail; if NIM API key is missing, LLMAgent will not function properly
## Source
Extracted from: [https://github.com/temiroff/Blacknode.git](https://github.com/temiroff/Blacknode.git)
Confidence: 0.95