research — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited research (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Research any topic by spawning parallel investigator agents that approach the question from different angles, then synthesize their findings into a single actionable document.
Topic or question provided: $ARGUMENTS
If no arguments: respond with "Usage: /research <topic or question>"
Determine the topic type to guide research strategy:
| Signal | Type |
|---|---|
| References project files, architecture, internal tools | codebase |
| References external technologies, markets, industry topics | external |
| Mix of internal and external (e.g., "should we add X library") | mixed |
Create an output directory for the research:
# Create a slug from the topic (lowercase, hyphens, max 50 chars)
SLUG=$(echo "$ARGUMENTS" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g' | sed 's/--*/-/g' | cut -c1-50)
RESEARCH_DIR=".scratch/research/${SLUG}"
mkdir -p "$RESEARCH_DIR"Check if prior research exists:
ls "${RESEARCH_DIR}/RESEARCH.md" 2>/dev/nullIf it exists, ask the user: re-research, view existing, or cancel.
Collect relevant context to orient the researchers:
# Grab project-level context if available
PROJECT_CONTEXT=""
[ -f "CLAUDE.md" ] && PROJECT_CONTEXT=$(head -50 CLAUDE.md)
[ -f "README.md" ] && PROJECT_CONTEXT="$PROJECT_CONTEXT\n$(head -30 README.md)"Spawn 3 parallel Task agents, each with a distinct perspective:
Owns the final RESEARCH.md. Focuses on established patterns, practical approaches, what works well.
Task(
prompt="You are a research agent with an optimist perspective.
Topic: {TOPIC}
Topic type: {TOPIC_TYPE}
Project context: {PROJECT_CONTEXT}
Research this topic thoroughly using WebSearch and WebFetch.
Focus on: established patterns, proven approaches, practical solutions.
Write your findings to: {RESEARCH_DIR}/RESEARCH.md
Use this structure:
# {TOPIC} -- Research
**Researched:** {date}
**Confidence:** HIGH/MEDIUM/LOW
## Summary
[2-3 paragraph overview with key findings]
## Key Findings
[Structured findings with tables, data, comparisons]
## Recommended Approach
[Specific, actionable recommendations]
## Common Pitfalls
[What to watch out for]
## Open Questions
[What needs further investigation]
## Sources
### Primary (HIGH confidence)
- [Source with URL]
### Secondary (MEDIUM confidence)
- [Source with URL]
After writing your draft, wait for challenge messages from the other researchers.
Then add a 'Dissenting Views / Risks & Alternatives' section incorporating their perspectives.",
description="Research (optimist): {TOPIC}"
)Challenges assumptions, finds risks, edge cases, reasons things might fail.
Task(
prompt="You are a research agent with a devil's advocate perspective.
Topic: {TOPIC}
Topic type: {TOPIC_TYPE}
Project context: {PROJECT_CONTEXT}
Research this topic with a critical eye using WebSearch and WebFetch.
Focus on: risks, challenges, edge cases, why approaches might fail, hidden costs.
Write your critical analysis to: {RESEARCH_DIR}/advocate-notes.md
After drafting, read the optimist's RESEARCH.md and send 2-3 specific challenges
to the optimist agent. Each challenge should be evidence-based (not just skepticism).",
description="Research (devil's advocate): {TOPIC}"
)Finds unconventional approaches, alternative solutions, innovations.
Task(
prompt="You are a research agent with an explorer perspective.
Topic: {TOPIC}
Topic type: {TOPIC_TYPE}
Project context: {PROJECT_CONTEXT}
Research this topic looking for unconventional angles using WebSearch and WebFetch.
Focus on: alternative approaches, novel patterns, what others haven't tried.
Write your exploration to: {RESEARCH_DIR}/explorer-notes.md
After drafting, read the optimist's RESEARCH.md and send 2-3 alternative perspectives
to the optimist agent.",
description="Research (explorer): {TOPIC}"
)After all 3 agents complete:
RESEARCH.md exists and includes the "Dissenting Views" section rm "${RESEARCH_DIR}/advocate-notes.md" 2>/dev/null
rm "${RESEARCH_DIR}/explorer-notes.md" 2>/dev/null>> Research complete: {RESEARCH_DIR}/RESEARCH.md
Options:
- Review the full document
- Use findings to inform a decision
- Research a follow-up topic: /research <follow-up>If Task agents are not available (e.g., running in a constrained environment), fall back to single-agent research:
Every RESEARCH.md must have:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.