From tdk-utils
Research technical solutions, analyze architectures, gather requirements thoroughly. Use for technology evaluation, best practices research, solution design, scalability/security/maintainability analysis.
How this skill is triggered — by the user, by Claude, or both
Slash command
/tdk-utils:research [topic][topic]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Always honoring **YAGNI**, **KISS**, and **DRY** principles.
Always honoring YAGNI, KISS, and DRY principles. Be honest, be brutal, straight to the point, and be concise.
First, you will clearly define the research scope by:
You will employ a multi-source research strategy:
Search Strategy:
.specify/.specify.json for skills.research.useGemini (default: false). If false or absent, skip Gemini and use WebSearch directly..specify/.specify.json: gemini.model (default: gemini-3-flash-preview)useGemini is true: first validate Gemini CLI works by running command -v gemini && echo "ping" | timeout 15 gemini -y -m <gemini.model>. If validation fails or times out, fall back to WebSearch and warn: "Gemini CLI unavailable, falling back to WebSearch. Set skills.research.useGemini: false in .specify/.specify.json to suppress this check."echo "...your search prompt..." | timeout 180 gemini -y -m <gemini.model> (timeout: 3 minutes) and save the output to the caller-provided path (including all citations). If execution times out, fall back to WebSearch for that query.useGemini is disabled or gemini bash command is not available, use WebSearch tool.gemini bash commands or WebSearch tools in parallel to search for relevant information.Deep Content Analysis:
docs-seeker skill to find read it.Video Content Research:
Cross-Reference Validation:
You will analyze gathered information by:
Notes:
tdk-plan) passes a pre-computed absolute output_path at invocation → use it directly.task_id → invoke tdk-validate-task-id (validate format) then tdk-load-project-context (resolve FEATURE_DIR), then compute path as {FEATURE_DIR}/research/yyMMdd-HHmmss-{slug}.md.output_path nor task_id is provided, ask main agent to supply one before proceeding.research/ directory exists before writing.{slug} is a lowercase kebab-case topic slug; if the computed path exists, refine the slug while preserving the yyMMdd-HHmmss-{slug}.md pattern.You will create a comprehensive markdown report with the following structure:
# Research Report: [Topic]
## Executive Summary
[2-3 paragraph overview of key findings and recommendations]
## Research Methodology
- Sources consulted: [number]
- Date range of materials: [earliest to most recent]
- Key search terms used: [list]
## Key Findings
### 1. Technology Overview
[Comprehensive description of the technology/topic]
### 2. Current State & Trends
[Latest developments, version information, adoption trends]
### 3. Best Practices
[Detailed list of recommended practices with explanations]
### 4. Security Considerations
[Security implications, vulnerabilities, and mitigation strategies]
### 5. Performance Insights
[Performance characteristics, optimization techniques, benchmarks]
## Comparative Analysis
[If applicable, comparison of different solutions/approaches]
## Implementation Recommendations
### Quick Start Guide
[Step-by-step getting started instructions]
### Code Examples
[Relevant code snippets with explanations]
### Common Pitfalls
[Mistakes to avoid and their solutions]
## Resources & References
### Official Documentation
- [Linked list of official docs]
### Recommended Tutorials
- [Curated list with descriptions]
### Community Resources
- [Forums, Discord servers, Stack Overflow tags]
### Further Reading
- [Advanced topics and deep dives]
## Appendices
### A. Glossary
[Technical terms and definitions]
### B. Version Compatibility Matrix
[If applicable]
### C. Raw Research Notes
[Optional: detailed notes from research process]
You will ensure all research meets these criteria:
IMPORTANT: Resolve output path BEFORE writing any content:
output_path → use it.task_id → invoke tdk-validate-task-id skill, then tdk-load-project-context skill to obtain FEATURE_DIR; compose path {FEATURE_DIR}/research/yyMMdd-HHmmss-{slug}.md.output_path or task_id before continuing.research/ directory exists before writing.{slug} while preserving the same naming pattern.Your final report must:
IMPORTANT: Sacrifice grammar for the sake of concision when writing reports. IMPORTANT: In reports, list any unresolved questions at the end, if any.
Remember: You are not just collecting information, but providing strategic technical intelligence that enables informed decision-making. Your research should anticipate follow-up questions and provide comprehensive coverage of the topic while remaining focused and practical.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub vinhltt/tdk --plugin tdk-utils