Airweave

Context retrieval layer for AI agents across users' applications. Search and retrieve context from Airweave collections. Airweave indexes and syncs data from user applications to enable optimal context retrieval by AI agents. Supports semantic, keyword, and agentic search. Use when users ask about their data in connected apps (Slack, GitHub, Notion, Jira, Confluence, Google Drive, Salesforce, Linear, SharePoint, Stripe, etc.), need to find documents or information from their workspace, want answers based on their company data, or need you to check app data for context to complete a task.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
1 · 1.8k · 0 current installs · 0 all-time installs
bylennert@lennertjansen
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (context retrieval from Airweave) matches what the skill requires and does: it needs python3 and an Airweave API key + collection id and calls the Airweave API. Requested env vars and binaries are proportionate to the described task.
Instruction Scope
SKILL.md instructs the agent to run the included scripts/search.py which only calls the Airweave API and formats results. However the docs/examples contain inconsistent flag names (EXAMPLES.md uses --recency and --method which are not implemented; the script expects --temporal and --strategy). Also the script reads an optional AIRWEAVE_BASE_URL not declared in requires.env — uncommon but not inherently malicious. These inconsistencies could cause runtime confusion and should be corrected.
Install Mechanism
No install spec (instruction-only with a small helper script) — minimal disk footprint and no downloads from third-party URLs. The included Python script uses only standard library modules.
Credentials
Only AIRWEAVE_API_KEY and AIRWEAVE_COLLECTION_ID are required (primaryEnv is AIRWEAVE_API_KEY). These are appropriate and expected for a service that queries a user's Airweave collection. The script optionally accepts AIRWEAVE_BASE_URL (not declared), which is reasonable for testing but users should avoid setting it to unknown endpoints.
Persistence & Privilege
always is false and the skill does not request any elevated or persistent system privileges. It does not modify other skills or system-wide configuration.
Assessment
This skill appears to do what it says: query an Airweave collection using your AIRWEAVE_API_KEY and AIRWEAVE_COLLECTION_ID. Before installing or enabling it: 1) Ensure the API key you provide is scoped with least privilege (short-lived or read-only if possible). 2) Don’t set AIRWEAVE_BASE_URL to an unknown host — leave it at the default unless you trust the endpoint. 3) Be aware the documentation has small mismatches (EXAMPLES.md uses --recency/--method while the script uses --temporal/--strategy); verify the actual flags when running. 4) Test with non-sensitive data first to confirm behavior and sources returned. If you want higher assurance, ask the publisher for a homepage or source repository (current metadata lacks a homepage) and request corrected docs.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.1
Download zip
latestvk97ce2kpdte90kgw9ypnwrq4mn80fkrh

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

Binspython3
EnvAIRWEAVE_API_KEY, AIRWEAVE_COLLECTION_ID
Primary envAIRWEAVE_API_KEY

SKILL.md

Airweave Search

Search and retrieve context from Airweave collections using the search script at {baseDir}/scripts/search.py.

When to Search

Search when the user:

  • Asks about data in their connected apps ("What did we discuss in Slack about...")
  • Needs to find documents, messages, issues, or records
  • Asks factual questions about their workspace ("Who is responsible for...", "What's our policy on...")
  • References specific tools by name ("in Notion", "on GitHub", "in Jira")
  • Needs recent information you don't have in your training
  • Needs you to check app data for context ("check our Notion docs", "look at the Jira ticket")

Don't search when:

  • User asks general knowledge questions (use your training)
  • User already provided all needed context in the conversation
  • The question is about Airweave itself, not data within it

Query Formulation

Turn user intent into effective search queries:

User SaysSearch Query
"What did Sarah say about the launch?""Sarah product launch"
"Find the API documentation""API documentation"
"Any bugs reported this week?""bug report issues"
"What's our refund policy?""refund policy customer"

Tips:

  • Use natural language — Airweave uses semantic search
  • Include context — "pricing feedback" beats just "pricing"
  • Be specific but not too narrow
  • Skip filler words like "please find", "can you search for"

Running a Search

Execute the search script:

python3 {baseDir}/scripts/search.py "your search query"

Optional parameters:

  • --limit N — Max results (default: 20)
  • --temporal N — Temporal relevance 0-1 (default: 0, use 0.7+ for "recent", "latest")
  • --strategy TYPE — Retrieval strategy: hybrid, semantic, keyword (default: hybrid)
  • --raw — Return raw results instead of AI-generated answer
  • --expand — Enable query expansion for broader results
  • --rerank / --no-rerank — Toggle LLM reranking (default: on)

Examples:

# Basic search
python3 {baseDir}/scripts/search.py "customer feedback pricing"

# Recent conversations
python3 {baseDir}/scripts/search.py "product launch updates" --temporal 0.8

# Find specific document
python3 {baseDir}/scripts/search.py "API authentication docs" --strategy keyword

# Get raw results for exploration
python3 {baseDir}/scripts/search.py "project status" --limit 30 --raw

# Broad search with query expansion
python3 {baseDir}/scripts/search.py "onboarding" --expand

Handling Results

Interpreting scores:

  • 0.85+ → Highly relevant, use confidently
  • 0.70-0.85 → Likely relevant, use with context
  • 0.50-0.70 → Possibly relevant, mention uncertainty
  • Below 0.50 → Weak match, consider rephrasing

Presenting to users:

  1. Lead with the answer — don't start with "I found 5 results"
  2. Cite sources — mention where info came from ("According to your Slack conversation...")
  3. Synthesize — combine relevant parts into a coherent response
  4. Acknowledge gaps — if results don't fully answer, say so

Handling No Results

If search returns nothing useful:

  1. Broaden the query — remove specific terms
  2. Try different phrasing — use synonyms
  3. Increase limit — fetch more results
  4. Ask for clarification — user might have more context

Parameter Reference

See PARAMETERS.md for detailed parameter guidance.

Examples

See EXAMPLES.md for complete search scenarios.

Files

4 total
Select a file
Select a file to preview.

Comments

Loading comments…