global/skills/research/SKILL.md
Conduct structured research on any topic: web search, codebase analysis, and document synthesis into organized reports. Use when investigating technologies, analyzing alternatives, gathering reference materials, fact-checking claims, or producing technical documentation from research. Use this skill whenever the user asks to research, investigate, compare, or survey a topic.
npx skillsauth add kcenon/claude-config researchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Conduct structured research on any topic and produce organized reference documents.
/research "WebSocket vs SSE for real-time updates"
/research "OAuth 2.0 PKCE flow" --depth deep --output docs/reference/oauth-pkce.md
/research "error handling patterns" --sources code
/research "DICOM SR TID 1500" --output docs/reference/dicom-sr-tid-1500.md --integrate
/research "React Server Components" --lang ko
/research "gRPC vs REST performance" --template plain
<topic> (required): Research topic. Accepts any natural language query.
[--depth <level>] (default: standard):
shallow — Quick overview. 1-2 web searches, scan codebase. 3-5 sources. Short report.standard — Balanced investigation. 3-5 web searches, pattern analysis. 5-10 sources.deep — Thorough investigation. 8-12 web searches, full codebase analysis. 10-20 sources.[--output <path>] (default: none — output to conversation):
.md file.[--sources <type>] (default: both):
web — Web search and external documentation only.code — Codebase analysis only (grep, glob, read).both — Combine web and codebase sources.[--lang <code>] (default: auto-detect, fallback en):
en, ko, ja, zh.--output directory.[--template <mode>] (default: auto):
auto — Detect conventions from existing docs in output directory.plain — Force generic English markdown (no frontmatter adaptation).[--integrate]:
docs/.index/ or .index/ to exist.--depth:| Depth | Web Searches | Codebase Scope | Target Sources | Report Sections |
|-------|-------------|----------------|----------------|-----------------|
| shallow | 1-2 queries | Related files scan | 3-5 | 4-5 sections |
| standard | 3-5 queries | Pattern/usage analysis | 5-10 | 6-8 sections |
| deep | 8-12 queries | Full architecture analysis | 10-20 | 8+ sections |
--output is specified)Sample up to 3 existing .md files in the output directory:
# Find existing markdown files in the output directory
OUTDIR=$(dirname "$OUTPUT_PATH")
SAMPLES=$(find "$OUTDIR" -maxdepth 1 -name "*.md" -type f | head -3)
Detect from samples:
| Item | Detection Method | Fallback |
|------|-----------------|----------|
| Language | Character ratio analysis (Korean > 30% → ko, etc.) | en (or --lang) |
| Frontmatter | Check first lines for --- YAML block | No frontmatter |
| Frontmatter schema | Extract YAML keys (e.g., doc_id, doc_version, approval) | Skip |
| Section pattern | Check heading style (## 1. Title vs ## Title) | Numbered sections |
| Markers | Scan for > **SSOT**:, > **Cross-reference**: patterns | Skip |
| File naming | Check sibling files (kebab-case, snake_case, etc.) | kebab-case |
| Citation style | Check last section for reference format | Numbered list |
Store detected conventions as the output profile for Phase 3.
Override rules:
--lang always overrides detected language.--template plain skips all context detection.--integrate is specified)# Search for document index system
INDEX_DIR=""
if [ -d "docs/.index" ]; then INDEX_DIR="docs/.index"
elif [ -d ".index" ]; then INDEX_DIR=".index"
fi
If found:
manifest.yaml to understand existing document registry.bundles.yaml to identify related bundles.router.yaml to check existing keyword routes.If not found and --integrate was specified:
/doc-index to create one."Before creating a new document:
Execute in parallel where possible using the Agent tool for independent searches.
--sources includes web)Formulate search queries based on core research questions.
Execute WebSearch for each query.
For promising results, use WebFetch to extract detailed content.
Record for each source:
--sources includes code)Use Grep and Glob to find topic-related code, configuration, and documentation.
Use Read to examine relevant files.
Record:
If an index system was detected (Phase 0-C):
If no index system:
docs/, reference/, README.md for related content.See reference/source-evaluation.md for confidence scoring criteria.
✅ (supported), ⚠️ (partial/conditional), ❌ (not supported).--sources includes code)| Condition | Template |
|-----------|----------|
| --template plain | Generic English markdown (Template A) |
| --template auto + context detected | Adapted template matching existing docs (Template B) |
| --template auto + no context | Generic English markdown (Template A) |
| No --output (conversation) | Generic English markdown (Template A) |
See reference/output-templates.md for complete template definitions.
--lang or detected).--output specified: write file using Write tool.
--output: output the full report in the conversation.--integrate is specified)Requires index system detected in Phase 0-C.
If integration fails, warn the user and suggest running /doc-index for full regeneration.
After research output is saved with --output:
/research "<topic>" --output docs/reference/topic.md # Generate
/doc-review docs/reference/topic.md # Validate
/doc-index # Re-index (alternative to --integrate)
| Workflow | Usage |
|----------|-------|
| Pre-implementation | /research → /issue-create → /issue-work |
| Documentation | /research → /doc-update → /doc-review → /doc-index |
| Security investigation | /research → /security-audit |
| Performance investigation | /research → /performance-review |
| Architecture design | /research → /harness |
| API design | /research → /api-design guidance |
See _policy.md for common rules.
| Item | Rule |
|------|------|
| Default language | English. Auto-detect from output directory. --lang overrides. |
| Source attribution | Every factual claim must cite at least one source. |
| Cross-validation | Claims must have 2+ independent sources. Single-source claims marked. |
| Date awareness | Web searches include current year for time-sensitive topics. |
| Bias prevention | Never rely on a single source. Present multiple perspectives. |
| Existing doc preservation | Confirm before overwriting existing files. |
| Technical terms | Keep in English regardless of output language. |
| Frontmatter keys | Keep in English regardless of output language. |
| Citation originals | Preserve original language of source titles and authors. |
--output)A complete research report rendered in the conversation using the generic template.
--output specified)A .md file matching the detected document conventions of the output directory.
## Research Summary
| Item | Value |
|------|-------|
| Topic | <topic> |
| Depth | shallow / standard / deep |
| Sources | N web, M codebase |
| Output | conversation / <file-path> |
| Language | en / ko / ... |
| Template | plain / adapted |
| Integrated | yes / no / skipped |
| Condition | Action |
|-----------|--------|
| Empty topic | Error: "Topic is required" |
| --output directory does not exist | Error: "Output directory not found: <path>" |
| --integrate without index system | Warn and skip integration |
| --sources web but WebSearch unavailable | Warn, fall back to --sources code |
| Condition | Action |
|-----------|--------|
| WebSearch returns no results | Try alternative queries. If all fail, report and continue with available sources. |
| WebFetch fails for a URL | Skip URL, note in report as "[Inaccessible]". Continue with other sources. |
| Insufficient sources found | Warn in report summary. Lower confidence ratings. |
| Output file already exists | Ask user: overwrite / rename / cancel |
| Index integration fails | Warn and suggest /doc-index |
Before finalizing the report, verify:
--sources code)testing
Comprehensive security audit covering OWASP Top 10, input validation, authentication, authorization, secret management, dependency vulnerabilities, and injection attack prevention. Use when reviewing security posture, implementing auth flows, handling user input, auditing dependencies, conducting penetration test prep, or before production deployment.
development
Provides workflow guidelines for problem-solving, git commits, GitHub issues, PRs, build management, and testing. Use when planning tasks, creating issues, submitting PRs, managing builds, or writing tests.
development
Review pull requests with comprehensive analysis covering code quality, security vulnerabilities, performance implications, test coverage, documentation completeness, and architectural impact. Use when reviewing PRs, conducting code reviews, evaluating merge readiness, or assessing change impact across the codebase.
development
Performance optimization analysis: CPU/memory profiling, caching strategies, database query optimization, connection pooling, concurrency patterns, memory leak detection, and throughput improvement. Use when code is slow, memory usage is high, latency needs reduction, or conducting performance reviews before release.