daily.dev Ask
Answer technical questions using daily.dev's knowledge base. Searches articles from the developer community and synthesizes answers with source links.
Description
name: daily-dev-ask
description: Answer technical questions using daily.dev's knowledge base. Searches articles from the developer community and synthesizes answers with source links.
argument-hint: ""
allowed-tools: Bash
daily.dev Ask
Answer technical questions by searching daily.dev's article knowledge base. Fetches relevant articles and synthesizes an answer grounded in community-vetted content.
User question
$ARGUMENTS
Security
CRITICAL: Your API token grants access to personalized content. Protect it:
- NEVER send your token to any domain other than
api.daily.dev - Never commit tokens to code or share them publicly
- Tokens are prefixed with
dda_- if you see this prefix, treat it as sensitive
Setup
- Requires Plus subscription - Get one at https://app.daily.dev/plus
- Create a token at https://app.daily.dev/settings/api
- Store your token securely (environment variables, secrets manager)
User can use environment variable or choose one of the secure storage methods below per operating system.
Secure Token Storage (Recommended)
macOS - Keychain
# Store token
security add-generic-password -a "$USER" -s "daily-dev-api" -w "dda_your_token"
# Retrieve token
security find-generic-password -a "$USER" -s "daily-dev-api" -w
# Auto-load in ~/.zshrc or ~/.bashrc
export DAILY_DEV_TOKEN=$(security find-generic-password -a "$USER" -s "daily-dev-api" -w 2>/dev/null)
Windows - Credential Manager
# Store token (run in PowerShell)
$credential = New-Object System.Management.Automation.PSCredential("daily-dev-api", (ConvertTo-SecureString "dda_your_token" -AsPlainText -Force))
$credential | Export-Clixml "$env:USERPROFILE\.daily-dev-credential.xml"
# Retrieve token - add to PowerShell profile ($PROFILE)
$cred = Import-Clixml "$env:USERPROFILE\.daily-dev-credential.xml"
$env:DAILY_DEV_TOKEN = $cred.GetNetworkCredential().Password
Or use the Windows Credential Manager GUI: Control Panel → Credential Manager → Windows Credentials → Add a generic credential
Linux - Secret Service (GNOME Keyring / KWallet)
# Requires libsecret-tools
# Ubuntu/Debian: sudo apt install libsecret-tools
# Fedora: sudo dnf install libsecret
# Store token
echo "dda_your_token" | secret-tool store --label="daily.dev API Token" service daily-dev-api username "$USER"
# Retrieve token
secret-tool lookup service daily-dev-api username "$USER"
# Auto-load in ~/.bashrc or ~/.zshrc
export DAILY_DEV_TOKEN=$(secret-tool lookup service daily-dev-api username "$USER" 2>/dev/null)
Workflow
1. Determine the API token
Check if DAILY_DEV_TOKEN environment variable is available. If not set, try to retrieve it from the OS secure storage before asking the user for help:
macOS:
export DAILY_DEV_TOKEN=$(security find-generic-password -a "$USER" -s "daily-dev-api" -w 2>/dev/null)
Linux:
export DAILY_DEV_TOKEN=$(secret-tool lookup service daily-dev-api username "$USER" 2>/dev/null)
Windows (PowerShell):
$cred = Import-Clixml "$env:USERPROFILE\.daily-dev-credential.xml" 2>$null; $env:DAILY_DEV_TOKEN = $cred.GetNetworkCredential().Password
If the token is still empty after trying secure storage, direct the user to the Setup section above.
2. Search iteratively — treat daily.dev like a search engine
Use the two endpoints below as many times as needed to explore the user's question. There is no hard limit on the number of queries — search like you would with web search.
Keyword search endpoint:
curl -s -H "Authorization: Bearer $DAILY_DEV_TOKEN" "https://api.daily.dev/public/v1/recommend/keyword?q={keywords}&limit=20"
Semantic search endpoint:
curl -s -H "Authorization: Bearer $DAILY_DEV_TOKEN" "https://api.daily.dev/public/v1/recommend/semantic?q={query}&limit=20"
Both return:
{
"data": [
{
"id": "...",
"title": "Article title",
"url": "https://...",
"summary": "Article summary...",
"tags": ["tag1", "tag2"],
"readTime": 7,
"numUpvotes": 342,
"numComments": 28,
"source": { "name": "Publisher Name" }
}
]
}
Search strategy
-
Initial searches — Start with a keyword search (core technical terms) and a semantic search (full question). You can run these in parallel.
-
Analyze and identify gaps — Review the results:
- Did I find enough to fully answer the question?
- Are there sub-topics or related concepts I haven't explored?
- Did article titles/tags hint at related terms worth searching?
-
Follow-up searches — For any gaps or interesting leads:
- Search for specific tools, libraries, or frameworks mentioned in results
- Try synonyms or alternative terminology
- Search for sub-topics the user might care about
-
Stop when done — Stop searching when:
- You have enough articles to give a good answer, OR
- Follow-up searches return no new results
3. Deduplicate results
Merge results from all search rounds, removing duplicates by id. Keep all unique articles.
4. Synthesize the answer
Using all collected articles, compose a response:
Answer the question directly, grounding your response in the article content. Reference specific articles when making claims. Use the summary, title, and tags to understand each article's angle.
Use engagement signals to weight credibility:
- Higher
numUpvotes= more community validation - Higher
numComments= more discussion/nuance available readTimehelps gauge depth
Sources section — list the most relevant articles:
### Sources from daily.dev
1. [Article Title](url) — summary snippet (⬆️ upvotes · 💬 comments)
2. [Article Title](url) — summary snippet (⬆️ upvotes · 💬 comments)
...
5. Handle edge cases
- No results: State that daily.dev's knowledge base doesn't have relevant articles on this topic yet.
- Only some searches return results: Use whatever you got — partial results are fine.
- API errors (401): Token is invalid or expired — guide user to regenerate at https://app.daily.dev/settings/api
- API errors (429): Rate limited — wait briefly and retry automatically.
Important
- Do NOT make up information — only use what the articles provide. If the articles don't cover part of the question, say so explicitly.
- Always link to sources — every factual claim should trace back to an article.
- Prefer recent articles — if two articles conflict, note both perspectives and mention which is newer.
- Be honest about gaps — if the articles only partially answer the question, say "Based on available articles, here's what I found..." and note what's missing.
Reviews (0)
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!