Prompt & Automation Catalogue
What it is
The Prompt & Automation Catalogue is the central repository for every LLM prompt, GitHub Action workflow, and autonomous script used to keep this repository growing. As of June 2026, it includes specialized system prompts for multi-agent KnowledgeOps and automated quality audits.
What problem it solves
Autonomous systems can often feel like "black boxes." This catalogue solves the problem of opacity by documenting the exact logic, schedules, and instructions used by agents like Jules. It allows for easier debugging, auditing of AI-generated content, and systematic tuning of prompt performance over time.
Where it fits in the stack
Category: Architecture / Governance. It sits in the metacognition and orchestration layer, documenting the workflows that manage all other content in the repository.
Typical use cases
- Prompt Versioning: Tracking changes to the system prompts used by the Daily Jules Maintenance workflow.
- Workflow Auditing: Reviewing the schedule and logic of recurring GitHub Actions like the Daily AI Digest.
- Agent Onboarding: Providing a clear set of instructions and "mission statements" for new autonomous workers added to the repo.
- Troubleshooting: Identifying why a particular automated task failed by examining its input prompts and execution rules.
Strengths
- Transparency: Makes the repository's automated processes understandable to human contributors.
- Reproducibility: Provides the exact prompts needed to replicate the automated workflows in other environments.
- Centralization: Collects disparate GitHub Actions and local scripts into a single, searchable document.
- Standardization: Enforces the use of "High Confidence" documentation standards across all automated outputs.
Limitations
- Maintenance Overhead: Requires manual updates whenever a workflow or prompt is changed in the underlying code.
- Complexity: As the number of agents and workflows grows, the catalogue can become difficult to navigate.
- Sensitivity: Some prompts may contain logic that is specific to the current repository structure.
When to use it
- When you need to understand how the repository is being maintained automatically.
- When you are designing a new automated workflow and want to ensure it follows existing patterns.
- During quality audits to verify that agents are operating within their defined "Allowed scope."
When not to use it
- For documenting tool-specific features that are already covered in their respective canonical pages.
- For storing API keys or other secrets.
Overview
GitHub Actions — Recurring Workflows
GA-1: Daily AI Digest
|
|
| Workflow |
.github/workflows/daily-digest.yml |
| Schedule |
0 0 * * * and 0 12 * * * (00:00 & 12:00 UTC) |
| Secrets |
OPENROUTER_API_KEY |
| What it does |
Fetches RSS feeds from ai-daily-digest/sources.yaml, summarises new items via OpenRouter, and writes a digest to ai-daily-digest/daily/YYYY-MM-DD.md. Commits and pushes to main. |
No LLM prompt is embedded in the workflow — the digest script (ai-daily-digest/scripts/digest.py) handles all OpenRouter calls internally.
GA-2: Digest-Intake Bridge
|
|
| Workflow |
.github/workflows/digest-to-intake.yml |
| Schedule |
0 1 * * * and 0 13 * * * (01:00 & 13:00 UTC) |
| Script |
scripts/digest_to_intake.py |
| Secrets |
OPENROUTER_API_KEY |
| Models |
Llama 3.3 70B → DeepSeek R1 → Qwen 2 7B (fallback chain) |
LLM System Prompt
You are an AI tools curator. Given a list of items from a daily AI digest,
identify ONLY items that are specific, named tools, libraries, frameworks,
platforms, or providers in the AI/LLM/ML space. Exclude: general news
articles, opinion pieces, discussions, job posts, hardware announcements
without a software tool, and generic blog posts.
For each qualifying item, output a JSON array of objects:
{"title": "Tool Name", "url": "https://...", "tags": "tool, framework",
"notes": "One-line description"}
Tags must be from: tool, framework, provider, paper/article,
benchmark/eval, infrastructure, analysis
If nothing qualifies, return an empty array: []
Return ONLY valid JSON. No markdown wrapping.
LLM User Prompt Template
Classify these items:
- [Item Title](https://item-url.com)
- [Item Title](https://item-url.com)
...
GA-3: Daily Jules Maintenance
|
|
| Workflow |
.github/workflows/daily-jules-maintenance.yml |
| Schedule |
0 7 * * * and 0 19 * * * (07:00 & 19:00 UTC) |
| Issue template |
.github/issue-templates/daily-jules-maintenance.md |
The workflow creates a GitHub issue with the jules label. Jules picks it up automatically.
Full Issue Prompt (June 2026 Version)
## Daily Maintenance Run - @jules
This is an automated daily maintenance task. Please complete the steps
below **in order**, stopping at the first step that produces meaningful
work. Do not attempt all three steps in a single PR.
---
### Step 1 - Process the intake queue
Use the daily inbox format:
- index file: `docs/new-sources.md`
- daily logs: `docs/new-sources/YYYY-MM-DD.md`
- index links format: `/new-sources/YYYY-MM-DD/` (do not use
`new-sources/YYYY-MM-DD.md`)
Find all rows with `Status` = `new` across daily logs.
For each row:
1. Check `data/all_tools.json`, `docs/tools/`, and `docs/services/` to
see if a canonical page already exists. If it does, add the source
URL to `## Sources / References` on that page and mark the row
`integrated`. Move to the next row.
2. Classify the entry using the tags in `docs/standards.md`: `tool`,
`framework`, `provider`, `paper/article`, `tutorial/guide`,
`benchmark/eval`, `infrastructure`, `analysis`
3. Determine the correct target directory from the taxonomy table in
`docs/standards.md`.
4. Create the page using `docs/templates/tool_template.md` (for tools,
frameworks, providers) or `docs/templates/article_template.md` (for
papers and articles). Fill in **all required sections** with concise,
neutral, technically accurate content. Do not leave any section empty.
5. If it is a tool, framework, or provider: add an entry to
`data/all_tools.json` and add the page to the correct section of
`mkdocs.yml` nav in alphabetical order.
6. Mark the row as `integrated` in that daily file and add/update
`Canonical Page`.
Before opening the PR, run:
`python3 scripts/validate_new_sources.py`
If it fails, fix the intake files until it passes.
If the queue is empty (no `new` entries), proceed to Step 2.
---
### Step 2 - Doc quality audit (only if Step 1 found nothing to do)
The 10 required sections for every tool doc are defined in
`docs/standards.md`.
Find up to **3 tool docs** in `docs/tools/` that are missing one or
more of these sections. For each:
- Add the missing section(s) with a one-sentence placeholder marked
`<!-- needs-content -->`
- Do not change any existing content
Limit: 3 files per run.
---
### Step 3 - Broken internal links (only if Steps 1 and 2 found nothing)
Scan all Markdown files in `docs/` for internal links of the form
`[text](relative-path)`. For any link where the target file does not
exist at that path:
- Fix the path if the file exists at a different location
- Otherwise, remove the link anchor and leave the text inline
Limit: 10 broken links per run.
---
After completing whichever step produced changes, open a pull request
titled: `chore: daily maintenance $TODAY`.
GA-4: Weekly Growth Planner
|
|
| Workflow |
.github/workflows/weekly-planner.yml |
| Schedule |
0 2 * * 1 and 0 2 * * 4 (Monday & Thursday 02:00 UTC) |
| Script |
scripts/weekly_planner.py |
No LLM call — this script reads data/growth-metrics.json and creates two Jules issues programmatically.
Generated Issue 1 — Doc Deepening
Template from .github/issue-templates/weekly-deepen-docs.md:
## Weekly Doc Deepening
The following N docs are the shallowest in the knowledge base and need
practical content added.
### Target docs
- `docs/services/focalboard.md`
- `docs/services/storj.md`
- ... (5 shallowest by character count)
### Instructions
For each doc above:
1. Read the tool's official website/GitHub from its
**Sources / References** section
2. Add a `## Getting started` section after `## When not to use it`
with:
- Installation command (pip, npm, docker pull, or equivalent)
- A minimal working example in a fenced code block
3. If the tool has a CLI, add `## CLI examples` with 2-3 common commands
4. If the tool has an API/SDK, add `## API examples` with a Python or
curl snippet
5. Keep all existing content unchanged
6. Update `- Last reviewed:` in the Contribution Metadata section
### Quality checks
- Verify: `python3 -c "import yaml; yaml.safe_load(open('mkdocs.yml'));
print('OK')"`
- Ensure all code examples are complete and runnable
Generated Issue 2 — Category Gap Fill
Template from .github/issue-templates/category-gap-filler.md:
## Category Gap Fill: <category>
The **<category>** category currently has only **N docs**, making it
underdeveloped.
### Instructions
1. Research and identify **up to 8 tools** that belong in this category.
Consider: <search hints from CATEGORY_HINTS dict>
2. For each tool, create a doc using `docs/templates/tool_template.md`
3. Place in `docs/tools/<category>/`
4. Add to `data/all_tools.json` and `mkdocs.yml` navigation
5. Add an intake row to today's `docs/new-sources/YYYY-MM-DD.md` with
`Status: integrated`
6. Do NOT create stub pages — every doc must have substantive content
### Deduplication
Before creating any page, search the repo for the tool name and common
aliases. If it already exists elsewhere, update the existing page
instead.
### Quality checks
- Verify mkdocs.yml syntax
- Run: `python3 scripts/validate_new_sources.py`
Jules Scheduled Tasks — One-Shot (Day 1 Seed)
These 10 prompts run once on the first day to rapidly seed the knowledge base. They are designed as a sequential chain — later runs build on the output of earlier ones.
J-1: Fill Infrastructure Category
|
|
| Schedule |
Day 1, 08:00 |
| Jules slot |
1 of 10 |
Research and create documentation for 5 key AI infrastructure tools.
Target category: docs/tools/infrastructure/
Create docs for: vLLM, Text Generation Inference (TGI), SGLang,
ExLlamaV2, and Aphrodite Engine.
For each tool:
1. Use the template at docs/templates/tool_template.md
2. Fill ALL required sections with substantive, technically accurate
content
3. Place the file in docs/tools/infrastructure/
4. Add to data/all_tools.json
5. Add to mkdocs.yml nav under Tool Catalogue > Infrastructure in
alphabetical order
6. Add an intake row to docs/new-sources/YYYY-MM-DD.md with
Status: integrated
Before committing, verify:
python3 -c "import yaml; yaml.safe_load(open('mkdocs.yml'));
print('OK')"
Open a single PR titled: "feat: add 5 infrastructure tool docs"
J-2: Fill Frameworks Category
|
|
| Schedule |
Day 1, 09:30 |
| Jules slot |
2 of 10 |
Research and create documentation for 5 key AI/LLM frameworks. Target
category: docs/tools/frameworks/
Create docs for: Haystack, Semantic Kernel, DSPy, Spring AI, and
Instructor.
For each tool:
1. Use the template at docs/templates/tool_template.md
2. Fill ALL required sections with substantive content
3. Place in docs/tools/frameworks/
4. Add to data/all_tools.json and mkdocs.yml nav under
Tool Catalogue > Frameworks in alphabetical order
5. Add intake row to docs/new-sources/YYYY-MM-DD.md with
Status: integrated
Check for duplicates first — if any of these tools already exist
elsewhere in docs/tools/, update the existing page instead.
Verify mkdocs.yml: python3 -c "import yaml;
yaml.safe_load(open('mkdocs.yml')); print('OK')"
PR title: "feat: add 5 framework docs"
J-3: Fill Providers Category
|
|
| Schedule |
Day 1, 11:00 |
| Jules slot |
3 of 10 |
Research and create documentation for 5 LLM API providers. Target
category: docs/tools/providers/
Create docs for: Cohere, Mistral AI, Together AI, Fireworks AI, and
Groq.
For each:
1. Use docs/templates/tool_template.md — fill every section
2. Place in docs/tools/providers/
3. Add to data/all_tools.json and mkdocs.yml nav under
Tool Catalogue > Providers alphabetically
4. Add intake row with Status: integrated
Note: OpenAI, Anthropic, Google Gemini, OpenRouter, and DeepSeek
already exist in docs/tools/ai_knowledge/. Do NOT duplicate them.
Verify mkdocs.yml syntax before committing.
PR title: "feat: add 5 provider docs"
J-4: Fill Agents Category
|
|
| Schedule |
Day 1, 12:30 |
| Jules slot |
4 of 10 |
Research and create documentation for 5 AI agent frameworks. Target
category: docs/tools/agents/
Create docs for: AutoGen, CrewAI, LangGraph, Smolagents, and Agency
Swarm.
For each:
1. Use docs/templates/tool_template.md — fill every section
2. Place in docs/tools/agents/
3. Add to data/all_tools.json and mkdocs.yml nav under
Tool Catalogue > Agents alphabetically
4. Add intake row with Status: integrated
Check: Jules and OpenHands already exist in other categories. Do NOT
create duplicates. In the Related tools section of each new doc, link
to existing agent-related pages.
Verify mkdocs.yml. PR title: "feat: add 5 agent framework docs"
J-5: Add Code Examples (Batch 1)
|
|
| Schedule |
Day 1, 14:00 |
| Jules slot |
5 of 10 |
Add practical code examples to the 5 most important tool docs that
currently lack them.
Target docs (pick the 5 most popular/important from this list that
don't already have code fences):
- docs/tools/ai_knowledge/langchain.md
- docs/tools/ai_knowledge/llamaindex.md
- docs/tools/development_ops/aider.md
- docs/tools/development_ops/cursor.md
- docs/tools/ai_knowledge/dify.md
For each doc:
1. Visit the URLs in its Sources / References section
2. Add ## Getting started with: install command + minimal hello-world
3. Add ## CLI examples with 2-3 common commands (if applicable)
4. Add ## API examples with a Python or curl snippet (if applicable)
5. Do NOT change any existing content — only add new sections
6. Update the Last reviewed date
All code examples must be complete and runnable — no placeholder
`...` blocks.
PR title: "feat: add code examples to 5 tool docs (batch 1)"
J-6: Add Code Examples (Batch 2)
|
|
| Schedule |
Day 1, 15:30 |
| Jules slot |
6 of 10 |
Add practical code examples to 5 more tool docs.
Target docs:
- docs/services/ollama.md
- docs/services/n8n.md
- docs/services/paperless-ngx.md
- docs/tools/process_understanding/crawl4ai.md
- docs/tools/automation_orchestration/browser-use.md
Same instructions as the previous run:
1. Add ## Getting started, ## CLI examples, ## API examples as
appropriate
2. All code must be complete and runnable
3. Do NOT modify existing content
4. Update Last reviewed date
PR title: "feat: add code examples to 5 tool docs (batch 2)"
J-7: Essential Reading List
|
|
| Schedule |
Day 1, 17:00 |
| Jules slot |
7 of 10 |
Create a curated "Essential Reading" page for anyone wanting to become
an AI-literate engineer.
Create file: docs/knowledge_base/essential-reading.md
Structure:
## What this page covers
Brief intro.
## Foundational papers
List 8-10 landmark papers (Attention Is All You Need, BERT, GPT-3,
InstructGPT, Constitutional AI, etc.) with one-line summaries.
## Key technical blogs
List 10 high-signal blogs/newsletters (Simon Willison, Lilian Weng,
The Gradient, Latent Space, etc.) with what they cover.
## Getting started guides
Link to 5 of the best "start here" guides for LLMs, RAG, agents,
fine-tuning, and prompt engineering.
## Community hubs
List the top communities: r/LocalLLaMA, Hugging Face forums, LLM
Discord servers, etc.
Add the page to mkdocs.yml under Knowledge Base.
Include Sources / References and Contribution Metadata sections.
PR title: "feat: add essential reading page"
J-8: RAG Pattern Deep Dive
|
|
| Schedule |
Day 1, 18:30 |
| Jules slot |
8 of 10 |
Create a comprehensive pattern page about Retrieval-Augmented
Generation (RAG).
Create file: docs/knowledge_base/patterns/rag-patterns.md
Required sections:
## What it is — define RAG in 2-3 sentences
## Core architecture — describe the retrieve→augment→generate pipeline
## Variants — cover: naive RAG, advanced RAG (re-ranking, query
rewriting, HyDE), modular RAG, graph RAG
## When to use it — scenarios where RAG beats fine-tuning
## When not to use it — anti-patterns
## Tools in this repo that implement RAG — link to existing docs
(RAGFlow, LlamaIndex, LangChain, Crawl4AI, etc.)
## Code example — a minimal Python RAG pipeline using LlamaIndex
or LangChain (pick whichever has better docs)
## Sources / References (authoritative sources)
## Contribution Metadata
Add to mkdocs.yml under Knowledge Base > Patterns.
PR title: "feat: add RAG patterns deep dive"
|
|
| Schedule |
Day 1, 20:00 |
| Jules slot |
9 of 10 |
Create a pattern page about MCP (Model Context Protocol) and LLM
tool-calling patterns.
Create file: docs/knowledge_base/patterns/mcp-tool-calling.md
Required sections:
## What it is — define MCP and tool/function calling
## How MCP works — server/client architecture, tool discovery,
transport protocols
## How tool calling works — the request/response cycle in
OpenAI-style and Anthropic-style APIs
## Comparison — MCP vs native function calling vs LangChain tools
vs custom REST
## When to use MCP — multi-tool orchestration, IDE integration
## When to use native tool calling — simple single-tool scenarios
## Tools in this repo — link to existing MCP-related docs (MCP
Registry, ServiceNow MCP, CliHub, Claude Code, etc.)
## Code example — a minimal MCP server in Python
## Sources / References (standard sections)
## Contribution Metadata (standard sections)
Add to mkdocs.yml under Knowledge Base > Patterns.
PR title: "feat: add MCP and tool-calling pattern page"
J-10: Landscape Overview
|
|
| Schedule |
Day 1, 21:30 |
| Jules slot |
10 of 10 |
Create a landscape overview page that gives readers a bird's-eye view
of every category in the knowledge base.
Create file: docs/knowledge_base/landscape-overview.md
Required sections:
## Overview — what this page covers and when it was last generated
## Category breakdown — for each category in docs/tools/, list:
the number of docs, the 3-5 most notable tools, and a one-line
summary of what the category covers
## Self-hosted services — summarise the 47 services with top picks
per use case (media, productivity, storage, security)
## Growth areas — list categories with fewer than 8 docs as areas
where the repo is actively expanding
## How this repo stays current — brief description of the daily
digest → bridge → Jules → weekly planner pipeline
## Sources / References (architecture links)
## Contribution Metadata
Add to mkdocs.yml under Knowledge Base.
PR title: "feat: add landscape overview page"
Jules Scheduled Tasks — Recurring
These prompts run on an ongoing basis after the initial seed.
JR-1: Daily Intake Processing
|
|
| Schedule |
Daily, 08:00 |
| Cadence |
Every day |
Open the most recent file in docs/new-sources/ and process all rows
with Status: new. For each row:
1. Check if a doc already exists in data/all_tools.json — if yes,
skip it
2. Classify it using the taxonomy in docs/standards.md
3. Create a full tool doc using the template in
docs/templates/tool_template.md in the correct category directory
4. Add the tool to data/all_tools.json and mkdocs.yml nav
5. Update the row's Status to integrated and set the Canonical Page
6. Run python3 -c "import yaml; yaml.safe_load(open('mkdocs.yml'));
print('OK')" before committing
JR-2: Weekly Doc Deepening
|
|
| Schedule |
Monday, 10:00 |
| Cadence |
Weekly |
Read data/growth-metrics.json and find the shallow_docs list. Pick the
5 shortest docs. For each one:
1. Visit the URLs in its Sources/references section
2. Add a ## Getting started section with install command and
hello-world example
3. Add a ## CLI examples section with 3 common commands
4. Add a ## API examples section with a minimal code snippet
If the tool has no official docs, note that in the doc and skip the
code sections. Commit all changes in a single PR.
JR-3: Weekly Cross-Linking
|
|
| Schedule |
Monday, 14:00 |
| Cadence |
Weekly |
Scan all tool docs in docs/tools/. For each doc, check its
## Related tools / concepts section. If it's empty or says 'TBD',
find 3-5 related tools that already exist in the repo and add them
as markdown links (e.g., [n8n](../orchestration/n8n.md)). Also check
that every tool mentioned in Related sections actually has a doc — if
not, add a row to today's docs/new-sources/YYYY-MM-DD.md with
Status: new. Commit all changes.
JR-4: Monthly Landscape Refresh
|
|
| Schedule |
1st of month, 08:00 |
| Cadence |
Monthly |
Read data/all_tools.json and data/growth-metrics.json. Update
docs/knowledge_base/landscape-overview.md with: current tool count
per category, a table of the top 10 most-connected tools (most
Related links), a list of categories with fewer than 8 docs, and a
"What's new this month" section listing tools added in the last 30
days (check git log for files created under docs/tools/). Keep the
doc concise and factual.
JR-5: Monthly Quality Audit
|
|
| Schedule |
1st of month, 10:00 |
| Cadence |
Monthly |
Run the three CI checks: python scripts/validate_new_sources.py,
python scripts/check_docs_contract.py, and
python scripts/check_catalog_consistency.py. For any failures: fix
them directly. Then scan all tool docs for:
1. Empty or placeholder sections (containing only 'TBD', 'TODO',
or '...')
2. Broken internal links
3. Docs not listed in mkdocs.yml
Fix all issues found and commit in a single PR titled
"chore: monthly quality audit YYYY-MM".
- Jules — The primary autonomous engineer that executes these prompts.
- Multi-Agent KnowledgeOps — The governance framework that guides these automations.
- Automated Contributions — Details on how Jules is set up and integrated.
- GitHub Actions — The execution platform for the recurring workflows.
- OpenRouter — The API gateway used to access the models that run these prompts.
- Standards & Conventions — The rules that these prompts are designed to enforce.
- RAG Pattern — Often used by agents to find relevant context before executing a prompt.
- MCP — The protocol used by agents to interact with the repository and external tools.
- Last reviewed: 2026-06-07
- Confidence: high
Sources / References