accessibility
FreeEnsure accessibility in UI components including semantic HTML, ARIA attributes, keyboard navigation, and WCAG 2.2 AA compliance.
The English summary is being prepared. Showing the original description.
Scheduled Exa web search monitor. Uses CronCreate to search configured topics every 4 hours via mcp__Exa__web_search_exa, deduplicates URLs via MemoryRecord, and stores summaries for morning briefing integration.
The English summary is being prepared. Showing the original description.
Run score Not tested
See how to installReview the instructions the agent will receive before you install.
Polls the Exa search engine every 4 hours for topics configured in EXA_MONITOR_TOPICS. Deduplicates results against previously seen URLs, stores new summaries in named memory, and integrates with the morning briefing loop.
Set EXA_MONITOR_TOPICS in .env:
EXA_MONITOR_TOPICS=["Claude AI updates","agent frameworks","LLM tooling","AI safety"]
Start the monitor loop:
/loop 4h Skill({ skill: 'exa-monitor' })
Or via CronCreate:
CronCreate({
schedule: '0 */4 * * *',
task: "Invoke Skill({ skill: 'exa-monitor' }) to fetch new Exa search results",
});
let topics;
try {
topics = JSON.parse(process.env.EXA_MONITOR_TOPICS || '["Claude AI updates","agent frameworks"]');
} catch (_e) {
topics = ['Claude AI updates', 'agent frameworks'];
}
// Load previously seen URLs from memory
const seenRaw = await readMemory('exa-seen-urls');
const seenUrls = new Set(seenRaw ? JSON.parse(seenRaw) : []);
// Use Exa MCP tool (preferred — returns structured results)
// Skill({ skill: 'exa-monitor' }) invokes mcp__Exa__web_search_exa internally:
// mcp__Exa__web_search_exa({ query: topic, numResults: 5, useAutoprompt: true })
// Falls back to mcp__Exa__get_code_context_exa for technical topics
const newResults = [];
for (const result of exaResults) {
if (seenUrls.has(result.url)) continue;
seenUrls.add(result.url);
newResults.push({
title: result.title,
url: result.url,
summary: result.text?.slice(0, 400) || result.highlights?.join(' ') || '',
topic,
publishedDate: result.publishedDate,
});
}
// Persist seen URLs via named memory (cap at 2000)
const seenArr = [...seenUrls].slice(-2000);
await writeMemory('exa-seen-urls', JSON.stringify(seenArr));
if (newResults.length > 0) {
const digest = newResults
.map(
r =>
`## ${r.title}\n**Topic:** ${r.topic}\n**Published:** ${r.publishedDate || 'unknown'}\n${r.summary}...\n[Read →](${r.url})\n`
)
.join('\n---\n');
// Append to exa-digest.md
const existing = fs.existsSync('.claude/context/memory/named/exa-digest.md')
? fs.readFileSync('.claude/context/memory/named/exa-digest.md', 'utf8')
: '';
fs.writeFileSync(
'.claude/context/memory/named/exa-digest.md',
`${existing}\n\n## Exa Update — ${new Date().toISOString().slice(0, 10)}\n\n${digest}`
);
}
/loop at 8:00am Read .claude/context/memory/named/exa-digest.md and arxiv-digest.md. Summarize the most relevant news and papers for agent-studio development. Highlight any urgent developments.
| Variable | Default | Description |
|---|---|---|
EXA_MONITOR_TOPICS | ["Claude AI updates"] | JSON array of search topics |
EXA_MAX_RESULTS | 5 | Max results per topic per run |
EXA_AUTOPROMPT | true | Let Exa optimize the query automatically |
writeMemory('exa-seen-urls', ...) (named memory API)await writeMemory('exa-seen-urls', '[]')scheduled-tasks — CronCreate APIarxiv-monitor — ArXiv companion monitor for academic papersheartbeat — Full heartbeat ecosystem including this loopmemory-search — Search the exa-digest for specific topicsNo reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Ensure accessibility in UI components including semantic HTML, ARIA attributes, keyboard navigation, and WCAG 2.2 AA compliance.
The English summary is being prepared. Showing the original description.
Use when you want to improve response quality through meta-cognitive reasoning. Applies 15+ reasoning methods to reconsider and refine initial outputs.
The English summary is being prepared. Showing the original description.
N-round opposing-stance debates for trade-off analysis. Assigns pro/con roles to agents, runs structured debate rounds with quality scoring, and produces a moderator synthesis with confidence-rated recommendation. Generalizable to architecture, technology, security, and design decisions.
The English summary is being prepared. Showing the original description.
Force adversarial code review stance that eliminates confirmation bias — reviewer must find issues or re-analyze
The English summary is being prepared. Showing the original description.
Creates specialized AI agents on-demand when no existing agent matches a request. Use when the Router cannot find a suitable agent for a task. Enables self-evolution by generating persistent agents.
The English summary is being prepared. Showing the original description.
LLM-as-judge evaluation framework with 5-dimension rubric (accuracy, groundedness, coherence, completeness, helpfulness) for scoring AI-generated content quality with weighted composite scores and evidence citations
The English summary is being prepared. Showing the original description.