moving
Some checks failed
Installer Smoke / installer-smoke (push) Has been cancelled

This commit is contained in:
Oleg Maslov
2026-09-02 10:10:29 +02:00
commit 0c3e2ead3b
3841 changed files with 970576 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
---
name: browser-automation
description: Enable browser automation for web scraping, testing, and interaction
category: tools
tools: [browser_navigate, browser_screenshot, browser_click, browser_fill, browser_evaluate, browser_snapshot]
---
# Browser Automation
Enable your agent to control a web browser for:
- Web scraping and data extraction
- Form filling and testing
- Screenshot capture
- JavaScript execution on web pages
## Setup
Run this command in your Waggle installation directory:
```
npm install playwright-core
```
Then restart Waggle. Browser tools will be automatically available.
## Available Tools
- `browser_navigate` — Open a URL
- `browser_screenshot` — Capture page screenshot
- `browser_click` — Click elements
- `browser_fill` — Fill form fields
- `browser_evaluate` — Run JavaScript
- `browser_snapshot` — Get page DOM

View File

@@ -0,0 +1,31 @@
---
name: chart-generator
description: Generate charts and data visualizations using Mermaid diagrams
category: visualization
builtIn: true
---
# Chart Generator
You can create charts using Mermaid diagram syntax. When the user asks for a chart, graph, or visualization:
1. Analyze the data provided
2. Choose the appropriate chart type (pie, bar, flowchart, sequence, gantt, etc.)
3. Generate the Mermaid syntax in a ```mermaid code block
## Supported Chart Types
- Pie charts: for proportions and distributions
- Flowcharts: for processes and decision trees
- Sequence diagrams: for interactions and API flows
- Gantt charts: for timelines and project plans
- Bar charts (using xychart-beta): for comparisons
- Git graphs: for branch visualizations
## Example
```mermaid
pie title Project Budget
"Engineering" : 45
"Marketing" : 25
"Operations" : 20
"Other" : 10
```

View File

@@ -0,0 +1,71 @@
---
name: pdf-generator
description: Generate PDF documents using reportlab or weasyprint
category: documents
builtIn: true
---
# PDF Generator
Generate PDF documents. Use the bash tool to run a Python script with reportlab.
## Workflow
1. Create a Python script that uses reportlab to build the PDF
2. Run it with the bash tool
3. Return the file path to the user
## Requirements
- python3 with reportlab installed (`pip install reportlab`)
## Example Script
```python
from reportlab.lib.pagesizes import letter
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import inch
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle
from reportlab.lib import colors
doc = SimpleDocTemplate("report.pdf", pagesize=letter)
styles = getSampleStyleSheet()
elements = []
# Title
title_style = ParagraphStyle('Title', parent=styles['Title'], fontSize=24, spaceAfter=30)
elements.append(Paragraph("Quarterly Report", title_style))
elements.append(Spacer(1, 12))
# Body text
elements.append(Paragraph("This report covers Q1 2026 performance metrics.", styles['Normal']))
elements.append(Spacer(1, 12))
# Table
data = [
["Metric", "Value", "Change"],
["Revenue", "$2.4M", "+15%"],
["Users", "12,500", "+22%"],
["Retention", "94%", "+3%"],
]
table = Table(data, colWidths=[2*inch, 1.5*inch, 1*inch])
table.setStyle(TableStyle([
('BACKGROUND', (0, 0), (-1, 0), colors.HexColor('#4472C4')),
('TEXTCOLOR', (0, 0), (-1, 0), colors.white),
('FONTNAME', (0, 0), (-1, 0), 'Helvetica-Bold'),
('GRID', (0, 0), (-1, -1), 0.5, colors.grey),
('ALIGN', (1, 0), (-1, -1), 'CENTER'),
]))
elements.append(table)
doc.build(elements)
print("Created report.pdf")
```
## Tips
- Use `SimpleDocTemplate` for multi-page documents with automatic pagination
- Use `reportlab.graphics` for charts and diagrams
- Use `reportlab.lib.colors` for color management
- For HTML-to-PDF, consider weasyprint (`pip install weasyprint`) as an alternative
- Add page numbers with a custom `PageTemplate` and `Frame`

View File

@@ -0,0 +1,54 @@
---
name: pptx-generator
description: Generate PowerPoint presentations using python-pptx
category: documents
builtIn: true
---
# PPTX Generator
Generate PowerPoint presentations. Use the bash tool to run a Python script with python-pptx.
## Workflow
1. Create a Python script that uses python-pptx to build the presentation
2. Run it with the bash tool
3. Return the file path to the user
## Requirements
- python3 with python-pptx installed (`pip install python-pptx`)
## Example Script
```python
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.enum.text import PP_ALIGN
prs = Presentation()
# Title slide
slide = prs.slides.add_slide(prs.slide_layouts[0])
slide.shapes.title.text = "Quarterly Report"
slide.placeholders[1].text = "Q1 2026 Results"
# Content slide
slide = prs.slides.add_slide(prs.slide_layouts[1])
slide.shapes.title.text = "Key Metrics"
body = slide.placeholders[1]
tf = body.text_frame
tf.text = "Revenue: $2.4M (+15% YoY)"
p = tf.add_paragraph()
p.text = "Active Users: 12,500 (+22%)"
prs.save("report.pptx")
print("Created report.pptx")
```
## Tips
- Use `prs.slide_layouts[0]` for title slides, `[1]` for content slides
- Add charts with `pptx.chart` module
- Add images with `slide.shapes.add_picture()`
- Set slide dimensions with `prs.slide_width` and `prs.slide_height`

View File

@@ -0,0 +1,65 @@
---
name: xlsx-generator
description: Generate Excel spreadsheets using openpyxl
category: documents
builtIn: true
---
# XLSX Generator
Generate Excel spreadsheets. Use the bash tool to run a Python script with openpyxl.
## Workflow
1. Create a Python script that uses openpyxl to build the spreadsheet
2. Run it with the bash tool
3. Return the file path to the user
## Requirements
- python3 with openpyxl installed (`pip install openpyxl`)
## Example Script
```python
from openpyxl import Workbook
from openpyxl.styles import Font, Alignment, PatternFill
from openpyxl.chart import BarChart, Reference
wb = Workbook()
ws = wb.active
ws.title = "Sales Data"
# Headers
headers = ["Month", "Revenue", "Expenses", "Profit"]
for col, header in enumerate(headers, 1):
cell = ws.cell(row=1, column=col, value=header)
cell.font = Font(bold=True, size=12)
cell.fill = PatternFill(start_color="4472C4", fill_type="solid")
cell.font = Font(bold=True, color="FFFFFF")
# Data
data = [
["Jan", 45000, 32000, 13000],
["Feb", 52000, 35000, 17000],
["Mar", 48000, 33000, 15000],
]
for row_idx, row_data in enumerate(data, 2):
for col_idx, value in enumerate(row_data, 1):
ws.cell(row=row_idx, column=col_idx, value=value)
# Auto-width columns
for col in ws.columns:
ws.column_dimensions[col[0].column_letter].width = 15
wb.save("sales-report.xlsx")
print("Created sales-report.xlsx")
```
## Tips
- Use `openpyxl.styles` for formatting (fonts, colors, borders)
- Use `openpyxl.chart` for embedded charts
- Use `ws.merge_cells()` for merged header rows
- Use `openpyxl.utils` for column letter conversions
- Add formulas as strings: `ws['D2'] = '=B2-C2'`