dailydev
Daily.dev provides an API for AI agents to retrieve the latest developer news and articles.
Install
mkdir -p .claude/skills/dailydev && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/5213" && unzip -o skill.zip -d .claude/skills/dailydev && rm skill.zipInstalls to .claude/skills/dailydev
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Overcome LLM knowledge cutoffs with real-time developer content. daily.dev aggregates articles from thousands of sources, validated by community engagement, with structured taxonomy for precise discovery.Key capabilities
- →Fetch real-time developer articles
- →Create custom feeds based on tech stacks
- →Manage bookmarks and reading lists
- →Analyze GitHub repositories for tech stack detection
How it works
The API aggregates community-validated content from thousands of sources, allowing agents to query feeds and tags to bypass static knowledge cutoffs.
Inputs & outputs
When to use dailydev
- →Research the latest technical articles
- →Overcome knowledge cutoffs with real-time news
- →Access community-validated dev resources
About this skill
daily.dev API for AI Agents
Overcome LLM knowledge cutoffs with real-time developer content. daily.dev aggregates articles from thousands of sources, validated by community engagement, with structured taxonomy for precise discovery.
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
- Create a token at https://daily.dev/settings/api - free accounts included, no subscription needed
- Store your token securely (environment variables, secrets manager)
Every account can use the API. Plus adds full API access and higher rate limits: https://daily.dev/plus
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)
Resolving 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.
Authentication
Authorization: Bearer $DAILY_DEV_TOKEN
Base URL
https://api.daily.dev/public/v1
API Reference
Full OpenAPI spec: https://api.daily.dev/public/v1/docs/json
To fetch details for a specific endpoint (e.g. response schema):
curl -s https://api.daily.dev/public/v1/docs/json | jq '.paths["/feeds/foryou"].get'
To fetch a component schema (replace def-17 with schema name from $ref):
curl -s https://api.daily.dev/public/v1/docs/json | jq '.components.schemas["def-17"]'
Available Endpoints
bookmarks
GET /bookmarks/ - Get user's bookmarked posts Params: limit(query): Number of bookmarks to return (1-50); cursor(query): Pagination cursor from previous response; unreadOnly(query): Filter to unread bookmarks only; listId(query): Filter by bookmark list ID
POST /bookmarks/ - Add posts to bookmarks Body: postIds, listId
GET /bookmarks/search - Search within bookmarks Params: q(query): Search query (required); limit(query): Number of results to return (1-50); cursor(query): Pagination cursor from previous response; unreadOnly(query): Filter to unread bookmarks only; listId(query): Filter by bookmark list ID
GET /bookmarks/lists - Get user's bookmark lists
POST /bookmarks/lists - Create a new bookmark list Body: name, icon
DELETE /bookmarks/lists/{id} - Delete a bookmark list Params: id(path): Bookmark list ID
DELETE /bookmarks/{id} - Remove a post from bookmarks Params: id(path): Post ID to unbookmark
PATCH /bookmarks/{id} - Move a bookmark to a list or remove from list (Plus only) Params: id(path): Post ID of the bookmark to move Body: listId
custom-feeds
GET /feeds/custom/advanced-settings - Get all available advanced settings that can be configured for custom feeds
POST /feeds/custom/ - Create a new custom feed Body: name, icon, orderBy, minDayRange, minUpvotes, minViews, disableEngagementFilter
GET /feeds/custom/ - List user's custom feeds Params: limit(query): Number of feeds to return (1-50); cursor(query): Pagination cursor from previous response
GET /feeds/custom/{feedId} - Get a custom feed's posts Params: limit(query): Number of posts to return (1-50); cursor(query): Pagination cursor from previous response; feedId(path): Feed ID
PATCH /feeds/custom/{feedId} - Update custom feed settings Params: feedId(path): Feed ID Body: name, icon, orderBy, minDayRange, minUpvotes, minViews, disableEngagementFilter
DELETE /feeds/custom/{feedId} - Delete a custom feed Params: feedId(path): Feed ID
GET /feeds/custom/{feedId}/info - Get custom feed metadata Params: feedId(path): Feed ID
PATCH /feeds/custom/{feedId}/advanced - Update custom feed advanced settings. Use GET /feeds/custom/advanced-settings to see available settings. Params: feedId(path): Feed ID Body: settings
experiences
GET /profile/experiences/ - Get current user's experiences (work, education, etc.) Params: type(query): Filter by experience type; limit(query): Number of items to return (1-50); cursor(query): Pagination cursor from previous response
POST /profile/experiences/ - Create a new experience Body: type, title, subtitle, description, startedAt, endedAt, companyId, customCompanyName, url, grade, externalReferenceId, customDomain, repository, externalLocationId, locationType, employmentType, skills
GET /profile/experiences/{id} - Get a specific experience by ID Params: id(path): Experience ID
PUT /profile/experiences/{id} - Update an existing experience Params: id(path): Experience ID Body: type, title, subtitle, description, startedAt, endedAt, companyId, customCompanyName, url, grade, externalReferenceId, customDomain, repository, externalLocationId, locationType, employmentType, skills
DELETE /profile/experiences/{id} - Delete an experience Params: id(path): Experience ID
feed-filters
GET /feeds/filters/ - Get global feed settings (For You feed)
POST /feeds/filters/tags/follow - Follow tags globally (For You feed) Body: tags
POST /feeds/filters/tags/unfollow - Unfollow tags globally (For You feed) Body: tags
POST /feeds/filters/tags/block - Block tags globally (For You feed) Body: tags
POST /feeds/filters/tags/unblock - Unblock tags globally (For You feed) Body: tags
POST /feeds/filters/sources/follow - Follow sources globally (For You feed) Body: sources
POST /feeds/filters/sources/unfollow - Unfollow sources globally (For You feed) Body: sources
POST /feeds/filters/sources/block - Block sources globally (For You feed) Body: sources
POST /feeds/filters/sources/unblock - Unblock sources globally (For You feed) Body: sources
GET /feeds/filters/{feedId} - Get custom feed filter settings Params: feedId(path): Feed ID
POST /feeds/filters/{feedId}/tags/follow - Follow tags for a custom feed Params: feedId(path): Feed ID Body: tags
POST /feeds/filters/{feedId}/tags/unfollow - Unfollow tags for a custom feed Params: feedId(path): Feed ID Body: tags
POST /feeds/filters/{feedId}/tags/block - Block tags for a custom feed Params: feedId(path): Feed ID Body: tags
POST /feeds/filters/{feedId}/tags/unblock - Unblock tags for a custom feed Params: feedId(path): Feed ID Body: tags
POST /feeds/filters/{feedId}/sources/follow - Follow sources for a custom feed Params: feedId(path): Feed ID Body: sources
POST /feeds/filters/{feedId}/sources/unfollow - Unfollow sources for a custom feed Params: feedId(path): Feed ID Body: sources
POST /feeds/filters/{feedId}/sources/block - Block sources for a custom feed Params: feedId(path): Feed ID Body: sources
POST /feeds/filters/{feedId}/sources/unblock - Unblock sources for a custom feed Params: feedId(path): Feed ID Body: sources
feeds
GET /feeds/foryou - Get personalized "For You" feed Params: limit(query): Number of posts to return (1-50); cursor(query): Pagination cursor from previous response
GET /feeds/popular - Get feed with trending and popular posts Params: limit(query): Number of posts to return (1-50); cursor(query): Pagination cursor from previous response; tags(query): Comma-separated list of tags to filter by
GET /feeds/discussed - Get feed of posts with discussions Params: limit(query): Number of posts to return (1-50); cursor(query): Pagination cursor from previous response; period(query): Number of days to look back (1-30); tag(query): Filter by tag; source(query): Filter by source ID
GET /feeds/tag/{tag} - Get posts by tag Params: limit(query): Number of posts to return (1-50); cursor(query): Pagination cursor from previous response; tag(path): Tag name
GET /feeds/source/{source} - Get posts by source Params: limit(query): Number of posts to return (1-50); cursor(query): Pagination cursor from previous response; source(path): Source ID or handle
notif
Content truncated.
When not to use it
- →When offline access is required
Prerequisites
Limitations
- →60 requests per minute rate limit
- →Requires Plus subscription
How it compares
It provides live, community-vetted industry trends rather than relying on static training data.
Compared to similar skills
dailydev side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| dailydev (this skill) | 1 | 6mo | Review | Intermediate |
| literature-review | 559 | 3mo | Review | Advanced |
| openalex-database | 48 | 9mo | Review | Intermediate |
| linkedin-sales-navigator-alt | 23 | 3mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by dailydotdev
View all by dailydotdev →You might also like
literature-review
K-Dense-AI
Conduct comprehensive, systematic literature reviews using multiple academic databases (PubMed, arXiv, bioRxiv, Semantic Scholar, etc.). This skill should be used when conducting systematic literature reviews, meta-analyses, research synthesis, or comprehensive literature searches across biomedical, scientific, and technical domains. Creates professionally formatted markdown documents and PDFs with verified citations in multiple citation styles (APA, Nature, Vancouver, etc.).
openalex-database
davila7
Query and analyze scholarly literature using the OpenAlex database. This skill should be used when searching for academic papers, analyzing research trends, finding works by authors or institutions, tracking citations, discovering open access publications, or conducting bibliometric analysis across 240M+ scholarly works. Use for literature searches, research output analysis, citation analysis, and academic database queries.
linkedin-sales-navigator-alt
OneWave-AI
Build targeted prospect lists by analyzing LinkedIn profiles, extracting job titles, companies, locations, and recent activity. Identifies decision-makers, tracks job changes for warm outreach, and enriches contact data. Use when users need to find prospects, build lead lists, or track decision-maker movements.
web-search
Igosuki
This skill should be used when users need to search the web for information, find current content, look up news articles, search for images, or find videos. It uses DuckDuckGo's search API to return results in clean, formatted output (text, markdown, or JSON). Use for research, fact-checking, finding recent information, or gathering web resources.
market-research-reports
davila7
Generate comprehensive market research reports (50+ pages) in the style of top consulting firms (McKinsey, BCG, Gartner). Features professional LaTeX formatting, extensive visual generation with scientific-schematics and generate-image, deep integration with research-lookup for data gathering, and multi-framework strategic analysis including Porter's Five Forces, PESTLE, SWOT, TAM/SAM/SOM, and BCG Matrix.
annas-archive-ebooks
ratacat
Use when needing to look up book content, find a book by title/author, download an ebook, or reference material from a published book. Triggers on book lookups, ebook downloads, "find the book", "get the PDF/EPUB of". Downloads produce PDF/EPUB/MOBI files - use ebook-extractor skill to convert to text.