Compare commits

..

1 Commits

Author SHA1 Message Date
Hermes Pipeline 6ab9cb3000 Add Skill: local-document-research-with-traceable-citations
Extracted from: https://github.com/0verL1nk/PaperSage.git
Score: 1.0
2026-08-10 17:07:46 +00:00
9 changed files with 139 additions and 151 deletions
-73
View File
@@ -1,73 +0,0 @@
---
name: conditional-input-routing
version: 1.0.0
description: Collect user input, classify or branch on its content, and route to appropriate
success or failure handling paths to produce a final result
inputs:
- name: request
type: string
description: User-provided input or request to be evaluated
steps:
- name: Start
action: input agent captures initial request into state
agent_type: input
output_field: request
- name: Classify
action: branching agent evaluates request and routes to next_node or on_failure
agent_type: branching
input_fields: request
output_field: decision
next_node: Approve
on_failure: Reject
- name: Approve
action: default agent processes approved request and sets result
agent_type: default
input_fields: request
output_field: result
prompt: 'Request approved: {request}'
- name: Reject
action: default agent processes rejected request and sets result
agent_type: default
input_fields: request
output_field: result
prompt: 'Request rejected: {request}'
outputs:
- name: result
type: string
description: Final output from either the approve or reject branch
tags: []
metadata:
source_repo: https://github.com/jwwelbor/AgentMap.git
extracted_at: ''
confidence: 0.9
---
# conditional-input-routing
Collect user input, classify or branch on its content, and route to appropriate success or failure handling paths to produce a final result
## Steps
1. {'name': 'Start', 'action': 'input agent captures initial request into state', 'agent_type': 'input', 'output_field': 'request'}
2. {'name': 'Classify', 'action': 'branching agent evaluates request and routes to next_node or on_failure', 'agent_type': 'branching', 'input_fields': 'request', 'output_field': 'decision', 'next_node': 'Approve', 'on_failure': 'Reject'}
3. {'name': 'Approve', 'action': 'default agent processes approved request and sets result', 'agent_type': 'default', 'input_fields': 'request', 'output_field': 'result', 'prompt': 'Request approved: {request}'}
4. {'name': 'Reject', 'action': 'default agent processes rejected request and sets result', 'agent_type': 'default', 'input_fields': 'request', 'output_field': 'result', 'prompt': 'Request rejected: {request}'}
## Inputs
- {'name': 'request', 'type': 'string', 'description': 'User-provided input or request to be evaluated'}
## Outputs
- {'name': 'result', 'type': 'string', 'description': 'Final output from either the approve or reject branch'}
## Failure Modes
- Input node fails to capture request (handled by on_failure if defined)
- Branching condition not met and no on_failure path defined
- Missing input_fields in state causing agent execution error
## Source
Extracted from: [https://github.com/jwwelbor/AgentMap.git](https://github.com/jwwelbor/AgentMap.git)
Confidence: 0.9
@@ -1,6 +0,0 @@
# Commands: conditional-input-routing
## Available Commands
- `/skill conditional-input-routing` — Load this skill
- `/run conditional-input-routing` — Execute workflow
@@ -1,10 +0,0 @@
# Examples: conditional-input-routing
## Usage Example
```python
# How to use this skill
# Inputs: {'name': 'request', 'type': 'string', 'description': 'User-provided input or request to be evaluated'}
# Process: {'name': 'Start', 'action': 'input agent captures initial request into state', 'agent_type': 'input', 'output_field': 'request'} → {'name': 'Classify', 'action': 'branching agent evaluates request and routes to next_node or on_failure', 'agent_type': 'branching', 'input_fields': 'request', 'output_field': 'decision', 'next_node': 'Approve', 'on_failure': 'Reject'} → {'name': 'Approve', 'action': 'default agent processes approved request and sets result', 'agent_type': 'default', 'input_fields': 'request', 'output_field': 'result', 'prompt': 'Request approved: {request}'}
# Outputs: {'name': 'result', 'type': 'string', 'description': 'Final output from either the approve or reject branch'}
```
@@ -1,61 +0,0 @@
{
"name": "conditional-input-routing",
"version": "1.0.0",
"goal": "Collect user input, classify or branch on its content, and route to appropriate success or failure handling paths to produce a final result",
"inputs": [
{
"name": "request",
"type": "string",
"description": "User-provided input or request to be evaluated"
}
],
"steps": [
{
"name": "Start",
"action": "input agent captures initial request into state",
"agent_type": "input",
"output_field": "request"
},
{
"name": "Classify",
"action": "branching agent evaluates request and routes to next_node or on_failure",
"agent_type": "branching",
"input_fields": "request",
"output_field": "decision",
"next_node": "Approve",
"on_failure": "Reject"
},
{
"name": "Approve",
"action": "default agent processes approved request and sets result",
"agent_type": "default",
"input_fields": "request",
"output_field": "result",
"prompt": "Request approved: {request}"
},
{
"name": "Reject",
"action": "default agent processes rejected request and sets result",
"agent_type": "default",
"input_fields": "request",
"output_field": "result",
"prompt": "Request rejected: {request}"
}
],
"outputs": [
{
"name": "result",
"type": "string",
"description": "Final output from either the approve or reject branch"
}
],
"failure_modes": [
"Input node fails to capture request (handled by on_failure if defined)",
"Branching condition not met and no on_failure path defined",
"Missing input_fields in state causing agent execution error"
],
"confidence": 0.9,
"explanation": "Extracted from AgentMap's documented conditional workflow example (ReviewFlow). This CSV-declared pattern of input to branching to dual-path handling is reusable for any approval, triage, or routing scenario without writing orchestration code.",
"source_repo": "https://github.com/jwwelbor/AgentMap.git",
"score": 1.0
}
@@ -0,0 +1,82 @@
---
name: local-document-research-with-traceable-citations
version: 1.0.0
description: Enable users to import local documents, asynchronously process them into
an indexed knowledge base, and obtain AI-generated answers that cite specific page
locations and OCR evidence.
inputs:
- Local document files (PDF, DOCX, PPTX, XLSX, images, TXT)
- Configured LLM API endpoint and keys (via .env or settings)
- Optional web search service config if enabled
- Local OCR model cache (downloaded on first use)
steps:
- Import documents into a project; files are queued for asynchronous processing.
- Convert non-PDF formats (DOCX, PPTX, XLSX) to PDF using native Office or LibreOffice
fallback.
- Run OCR (PaddleOCR) on PDF pages/images to extract text, page numbers, polygons,
and confidence scores.
- Chunk text and generate embeddings; publish to LanceDB hybrid index (dense vector
+ full-text) only when fully processed.
- User starts a research session or branch; Leader agent analyzes query.
- Hybrid RAG retrieves candidate chunks from ready documents; dynamic material scope
ensures no half-indexed docs.
- Leader delegates tasks to sub-agents (researcher, reviewer, writer) via constrained
task capability; each delegation logs start, completion, duration, and evidence.
- Generate answer that references only actually used evidence; citations include document
ID, page, coordinates.
- User clicks citation to open original document and view highlighted OCR location.
outputs:
- Project with indexed document library (SQLite metadata + LanceDB vectors)
- AI answers with verifiable citations to source pages
- Evidence preview with page image and OCR highlight polygons
- Persistent session history, branches, and long-term memory
tags: []
metadata:
source_repo: https://github.com/0verL1nk/PaperSage.git
extracted_at: ''
confidence: 0.85
---
# local-document-research-with-traceable-citations
Enable users to import local documents, asynchronously process them into an indexed knowledge base, and obtain AI-generated answers that cite specific page locations and OCR evidence.
## Steps
1. Import documents into a project; files are queued for asynchronous processing.
2. Convert non-PDF formats (DOCX, PPTX, XLSX) to PDF using native Office or LibreOffice fallback.
3. Run OCR (PaddleOCR) on PDF pages/images to extract text, page numbers, polygons, and confidence scores.
4. Chunk text and generate embeddings; publish to LanceDB hybrid index (dense vector + full-text) only when fully processed.
5. User starts a research session or branch; Leader agent analyzes query.
6. Hybrid RAG retrieves candidate chunks from ready documents; dynamic material scope ensures no half-indexed docs.
7. Leader delegates tasks to sub-agents (researcher, reviewer, writer) via constrained task capability; each delegation logs start, completion, duration, and evidence.
8. Generate answer that references only actually used evidence; citations include document ID, page, coordinates.
9. User clicks citation to open original document and view highlighted OCR location.
## Inputs
- Local document files (PDF, DOCX, PPTX, XLSX, images, TXT)
- Configured LLM API endpoint and keys (via .env or settings)
- Optional web search service config if enabled
- Local OCR model cache (downloaded on first use)
## Outputs
- Project with indexed document library (SQLite metadata + LanceDB vectors)
- AI answers with verifiable citations to source pages
- Evidence preview with page image and OCR highlight polygons
- Persistent session history, branches, and long-term memory
## Failure Modes
- OCR quality low for scanned images leading to poor extraction
- Missing Office/LibreOffice causes conversion failure for Office docs
- Interrupted indexing leaves documents unpublished and excluded from retrieval
- LLM API outage or misconfiguration yields no answer
- Citation coordinates mismatch due to chunk drift
- Sub-agent recursion if constraints not enforced
## Source
Extracted from: [https://github.com/0verL1nk/PaperSage.git](https://github.com/0verL1nk/PaperSage.git)
Confidence: 0.85
@@ -0,0 +1,6 @@
# Commands: local-document-research-with-traceable-citations
## Available Commands
- `/skill local-document-research-with-traceable-citations` — Load this skill
- `/run local-document-research-with-traceable-citations` — Execute workflow
@@ -0,0 +1,10 @@
# Examples: local-document-research-with-traceable-citations
## Usage Example
```python
# How to use this skill
# Inputs: Local document files (PDF, DOCX, PPTX, XLSX, images, TXT), Configured LLM API endpoint and keys (via .env or settings), Optional web search service config if enabled, Local OCR model cache (downloaded on first use)
# Process: Import documents into a project; files are queued for asynchronous processing. → Convert non-PDF formats (DOCX, PPTX, XLSX) to PDF using native Office or LibreOffice fallback. → Run OCR (PaddleOCR) on PDF pages/images to extract text, page numbers, polygons, and confidence scores.
# Outputs: Project with indexed document library (SQLite metadata + LanceDB vectors), AI answers with verifiable citations to source pages, Evidence preview with page image and OCR highlight polygons, Persistent session history, branches, and long-term memory
```
@@ -0,0 +1,40 @@
{
"name": "local-document-research-with-traceable-citations",
"version": "1.0.0",
"goal": "Enable users to import local documents, asynchronously process them into an indexed knowledge base, and obtain AI-generated answers that cite specific page locations and OCR evidence.",
"inputs": [
"Local document files (PDF, DOCX, PPTX, XLSX, images, TXT)",
"Configured LLM API endpoint and keys (via .env or settings)",
"Optional web search service config if enabled",
"Local OCR model cache (downloaded on first use)"
],
"steps": [
"Import documents into a project; files are queued for asynchronous processing.",
"Convert non-PDF formats (DOCX, PPTX, XLSX) to PDF using native Office or LibreOffice fallback.",
"Run OCR (PaddleOCR) on PDF pages/images to extract text, page numbers, polygons, and confidence scores.",
"Chunk text and generate embeddings; publish to LanceDB hybrid index (dense vector + full-text) only when fully processed.",
"User starts a research session or branch; Leader agent analyzes query.",
"Hybrid RAG retrieves candidate chunks from ready documents; dynamic material scope ensures no half-indexed docs.",
"Leader delegates tasks to sub-agents (researcher, reviewer, writer) via constrained task capability; each delegation logs start, completion, duration, and evidence.",
"Generate answer that references only actually used evidence; citations include document ID, page, coordinates.",
"User clicks citation to open original document and view highlighted OCR location."
],
"outputs": [
"Project with indexed document library (SQLite metadata + LanceDB vectors)",
"AI answers with verifiable citations to source pages",
"Evidence preview with page image and OCR highlight polygons",
"Persistent session history, branches, and long-term memory"
],
"failure_modes": [
"OCR quality low for scanned images leading to poor extraction",
"Missing Office/LibreOffice causes conversion failure for Office docs",
"Interrupted indexing leaves documents unpublished and excluded from retrieval",
"LLM API outage or misconfiguration yields no answer",
"Citation coordinates mismatch due to chunk drift",
"Sub-agent recursion if constraints not enforced"
],
"confidence": 0.85,
"explanation": "The README outlines a clear pipeline from document import to cited answer with evidence location, which is a reusable pattern for local-first RAG applications requiring traceability.",
"source_repo": "https://github.com/0verL1nk/PaperSage.git",
"score": 1.0
}
@@ -1,4 +1,4 @@
# Tests: conditional-input-routing
# Tests: local-document-research-with-traceable-citations
## Test Checklist