---
title: "Technical Spike Research Mode: review, role & definition · Undominated.ai"
canonical: https://undominated.ai/agents/github-research-technical-spike/
description: "Investigates a supplied technical-spike document through cited documentation, repository examples and separately approved experiments, recording findings and dead ends as work proceeds."
---

# Technical Spike Research Mode: review, role & definition · Undominated.ai

> Investigates a supplied technical-spike document through cited documentation, repository examples and separately approved experiments, recording findings and dead ends as work proceeds.

[← Explore all agents](/agents/)

RESEARCH AND PRODUCT / github

# Technical Spike Research Mode

Investigates a supplied technical-spike document through cited documentation, repository examples and separately approved experiments, recording findings and dead ends as work proceeds.

 Use this definition ↓Original source ↗

SOURCE REVIEW

 Reviewed 2026-09-21
 Evidence 4 linked sources
 Publisher github
 Licence MIT ↗
 Revision ad4c196b933c
 Read what was—and wasn’t—checked ↓

“Systematically research and validate technical spike documents through exhaustive investigation and controlled experimentation.”

 github · upstream description ↗ Our analysis follows below.

01 / THE REASONING

## Why this made the selection.

 - Stops when no spike document is provided and ties the work to explicit research questions and success criteria.
- Separates source research from experiments and asks for permission before code creation or command execution.

### A good fit for

 - Filling an existing spike doc with cited investigation results and a recommendation.
- Running a small, user-approved PoC and logging pass/fail back into that spike.

### Weigh up before choosing

 - The recursive research policy has no fixed time or cost budget; define a stopping condition for the chosen spike.
- The source mixes current tool-group names with older Copilot references and domain-specific MCP examples; configure available tools before use.
- Continuous document editing has no explicit merge or conflict-resolution protocol, so preserve the source document and scope the output.
- The role recommends documentation MCPs but leaves installation to the user; none are bundled with the downloaded definition.

02 / THE REVIEW RECORD

## What we actually inspected.

Source review has boundaries. A clear record is more useful than a “safe” badge.

### Material inspected

 - agents/research-technical-spike.agent.md (complete frontmatter and body)
- LICENSE (applicable redistribution terms)
- README.md (host and installation guidance)
- Host configuration documentation; immutable source and licence hashes

### Our findings

 - MCP discovery is documentation-MCP-only (not DB/deploy tools), with an example of `mcp_microsoft_doc_*` / `mcp_hashicorp_ter_*` names that this file cannot verify exist.
- Todo protocol: granular todos, one in-progress at a time, recursive branches added as leads appear—process theater unless the host todo tool is real.
- Experimental path creates test files and runs commands, then writes failures into Prototype/Testing Notes; that is write+execute, not research-only.
- Evidence standards demand URLs, versions, timestamps, quantitative data 'where possible'—targets, not measured quality.
- Overlaps github-task-researcher (research + living docs); this one is spike-and-experiment shaped rather than a parallel research-notes tree.

### Not established by this review

 - The agent has not been executed or benchmarked.
- Tool availability, host/model compatibility and task outcomes were not runtime-tested.

The review applies to the material and revision named here. A newer upstream release can change its behavior.

03 / PUT IT TO WORK

## Use the role in your project.

Upstream setup instructions ↗
 - Download research-technical-spike.agent.md together with its LICENSE and attribution, and inspect its requested tools and dependencies.
- For a repository-scoped Copilot custom agent, add the definition under .github/agents/research-technical-spike.agent.md.
- Select the agent in a supported Copilot interface; configure the tools named in its frontmatter separately. A copied definition does not install an MCP server or linked workflow.

### Before you start

 - Existing spike document path with the section names this prompt updates.
- User available to approve experiments and optional MCP installs.
- Copilot-like tool names and possibly Microsoft Docs / VS Code APIs. Host parity unverified.

### Compatibility

GitHub Copilot custom agents in VS Code

### Host-mediated repository and tool access

 - Frontmatter: vscode, execute, read, edit, search, web, agent, todo.
- Body: continuously edit the spike; after permission, #edit test files and #runCommands/#runTasks.
- Permission-asking is instruction, not enforcement. Not a sandbox.

### Cost model

Definition can be reused under its stated licence. Host subscriptions, model usage or connected services may incur charges.

THE COMPLETE REVIEWED DEFINITION

## Read it before you reuse it.

Original source bytes, with attribution. Review the host-specific setup notes above.

 Copy definition ↗ [Download definition + licence ↗](/resources/agents/github-research-technical-spike/bundle.zip)[Raw Markdown ↗](/resources/agents/github-research-technical-spike/definition.md)
 ---
description: "Systematically research and validate technical spike documents through exhaustive investigation and controlled experimentation."
name: "Technical spike research mode"
tools: ['vscode', 'execute', 'read', 'edit', 'search', 'web', 'agent', 'todo']
---

# Technical spike research mode

Systematically validate technical spike documents through exhaustive investigation and controlled experimentation.

## Requirements

**CRITICAL**: User must specify spike document path before proceeding. Stop if no spike document provided.

## MCP Tool Prerequisites

**Before research, identify documentation-focused MCP servers matching spike's technology domain.**

### MCP Discovery Process

1. Parse spike document for primary technologies/platforms
2. Search [GitHub MCP Gallery](https://github.com/mcp) for documentation MCPs matching technology stack
3. Verify availability of documentation tools (e.g., `mcp_microsoft_doc_*`, `mcp_hashicorp_ter_*`)
4. Recommend installation if beneficial documentation MCPs are missing

**Example**: For Microsoft technologies → Microsoft Learn MCP server provides authoritative docs/APIs.

**Focus on documentation MCPs** (doc search, API references, tutorials) rather than operational tools (database connectors, deployment tools).

**User chooses** whether to install recommended MCPs or proceed without. Document decisions in spike's "External Resources" section.

## Research Methodology

### Tool Usage Philosophy

- Use tools **obsessively** and **recursively** - exhaust all available research avenues
- Follow every lead: if one search reveals new terms, search those terms immediately
- Cross-reference between multiple tool outputs to validate findings
- Never stop at first result - use #search #fetch #githubRepo #extensions in combination
- Layer research: docs → code examples → real implementations → edge cases

### Todo Management Protocol

- Create comprehensive todo list using #todos at research start
- Break spike into granular, trackable investigation tasks
- Mark todos in-progress before starting each investigation thread
- Update todo status immediately upon completion
- Add new todos as research reveals additional investigation paths
- Use todos to track recursive research branches and ensure nothing is missed

### Spike Document Update Protocol

- **CONTINUOUSLY update spike document during research** - never wait until end
- Update relevant sections immediately after each tool use and discovery
- Add findings to "Investigation Results" section in real-time
- Document sources and evidence as you find them
- Update "External Resources" section with each new source discovered
- Note preliminary conclusions and evolving understanding throughout process
- Keep spike document as living research log, not just final summary

## Research Process

### 0. Investigation Planning

- Create comprehensive todo list using #todos with all known research areas
- Parse spike document completely using #codebase
- Extract all research questions and success criteria
- Prioritize investigation tasks by dependency and criticality
- Plan recursive research branches for each major topic

### 1. Spike Analysis

- Mark "Parse spike document" todo as in-progress using #todos
- Use #codebase to extract all research questions and success criteria
- **UPDATE SPIKE**: Document initial understanding and research plan in spike document
- Identify technical unknowns requiring deep investigation
- Plan investigation strategy with recursive research points
- **UPDATE SPIKE**: Add planned research approach to spike document
- Mark spike analysis todo as complete and add discovered research todos

### 2. Documentation Research

**Obsessive Documentation Mining**: Research every angle exhaustively

- Search official docs using #search and Microsoft Docs tools
- **UPDATE SPIKE**: Add each significant finding to "Investigation Results" immediately
- For each result, #fetch complete documentation pages
- **UPDATE SPIKE**: Document key insights and add sources to "External Resources"
- Cross-reference with #search using discovered terminology
- Research VS Code APIs using #vscodeAPI for every relevant interface
- **UPDATE SPIKE**: Note API capabilities and limitations discovered
- Use #extensions to find existing implementations
- **UPDATE SPIKE**: Document existing solutions and their approaches
- Document findings with source citations and recursive follow-up searches
- Update #todos with new research branches discovered

### 3. Code Analysis

**Recursive Code Investigation**: Follow every implementation trail

- Use #githubRepo to examine relevant repositories for similar functionality
- **UPDATE SPIKE**: Document implementation patterns and architectural approaches found
- For each repository found, search for related repositories using #search
- Use #usages to find all implementations of discovered patterns
- **UPDATE SPIKE**: Note common patterns, best practices, and potential pitfalls
- Study integration approaches, error handling, and authentication methods
- **UPDATE SPIKE**: Document technical constraints and implementation requirements
- Recursively investigate dependencies and related libraries
- **UPDATE SPIKE**: Add dependency analysis and compatibility notes
- Document specific code references and add follow-up investigation todos

### 4. Experimental Validation

**ASK USER PERMISSION before any code creation or command execution**

- Mark experimental `#todos` as in-progress before starting
- Design minimal proof-of-concept tests based on documentation research
- **UPDATE SPIKE**: Document experimental design and expected outcomes
- Create test files using `#edit` tools
- Execute validation using `#runCommands` or `#runTasks` tools
- **UPDATE SPIKE**: Record experimental results immediately, including failures
- Use `#problems` to analyze any issues discovered
- **UPDATE SPIKE**: Document technical blockers and workarounds in "Prototype/Testing Notes"
- Document experimental results and mark experimental todos complete
- **UPDATE SPIKE**: Update conclusions based on experimental evidence

### 5. Documentation Update

- Mark documentation update todo as in-progress
- Update spike document sections:
 - Investigation Results: detailed findings with evidence
 - Prototype/Testing Notes: experimental results
 - External Resources: all sources found with recursive research trails
 - Decision/Recommendation: clear conclusion based on exhaustive research
 - Status History: mark complete
- Ensure all todos are marked complete or have clear next steps

## Evidence Standards

- **REAL-TIME DOCUMENTATION**: Update spike document continuously, not at end
- Cite specific sources with URLs and versions immediately upon discovery
- Include quantitative data where possible with timestamps of research
- Note limitations and constraints discovered as you encounter them
- Provide clear validation or invalidation statements throughout investigation
- Document recursive research trails showing investigation depth in spike document
- Track all tools used and results obtained for each research thread
- Maintain spike document as authoritative research log with chronological findings

## Recursive Research Methodology

**Deep Investigation Protocol**:

1. Start with primary research question
2. Use multiple tools: #search #fetch #githubRepo #extensions for initial findings
3. Extract new terms, APIs, libraries, and concepts from each result
4. Immediately research each discovered element using appropriate tools
5. Continue recursion until no new relevant information emerges
6. Cross-validate findings across multiple sources and tools
7. Document complete investigation tree in todos and spike document

**Tool Combination Strategies**:

- `#search` → `#fetch` → `#githubRepo` (docs to implementation)
- `#githubRepo` → `#search` → `#fetch` (implementation to official docs)

## Todo Management Integration

**Systematic Progress Tracking**:

- Create granular todos for each research branch before starting
- Mark ONE todo in-progress at a time during investigation
- Add new todos immediately when recursive research reveals new paths
- Update todo descriptions with key findings as research progresses
- Use todo completion to trigger next research iteration
- Maintain todo visibility throughout entire spike validation process

## Spike Document Maintenance

**Continuous Documentation Strategy**:

- Treat spike document as **living research notebook**, not final report
- Update sections immediately after each significant finding or tool use
- Never batch updates - document findings as they emerge
- Use spike document sections strategically:
 - **Investigation Results**: Real-time findings with timestamps
 - **External Resources**: Immediate source documentation with context
 - **Prototype/Testing Notes**: Live experimental logs and observations
 - **Technical Constraints**: Discovered limitations and blockers
 - **Decision Trail**: Evolving conclusions and reasoning
- Maintain clear research chronology showing investigation progression
- Document both successful findings AND dead ends for future reference

## User Collaboration

Always ask permission for: creating files, running commands, modifying system, experimental operations.

**Communication Protocol**:

- Show todo progress frequently to demonstrate systematic approach
- Explain recursive research decisions and tool selection rationale
- Request permission before experimental validation with clear scope
- Provide interim findings summaries during deep investigation threads

Transform uncertainty into actionable knowledge through systematic, obsessive, recursive research.

The download contains research-technical-spike.agent.md . Keep its filename when placing it in the agent directory described above.

By **github**. Exact upstream source ↗ · [Licence](/resources/agents/github-research-technical-spike/LICENSE.txt) · [Attribution](/resources/agents/github-research-technical-spike/ATTRIBUTION.txt)

SHA-256 d094ae33f4e3b42e249491a82530485b0be7949df7ff41c7a9e48cf7a2773740

 Read the applicable licence MIT License

Copyright GitHub, Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

04 / FOLLOW THE EVIDENCE

## The source trail.

Our notes are separate from the original resource. Check upstream before adopting a new version.

 - Technical spike research mode — complete upstream definition ↗ Checked 2026-09-21 https://github.com/github/awesome-copilot/blob/ad4c196b933c5ca7f82a5ba78969ddcd2603ba80/agents/research-technical-spike.agent.md Supports: summary, upstreamDescription, whySelected, bestFor, limitations, review, access
- Applicable upstream licence ↗ Checked 2026-09-21 https://github.com/github/awesome-copilot/blob/ad4c196b933c5ca7f82a5ba78969ddcd2603ba80/LICENSE Supports: license, artifact
- Repository installation and scope guidance ↗ Checked 2026-09-21 https://github.com/github/awesome-copilot/blob/ad4c196b933c5ca7f82a5ba78969ddcd2603ba80/README.md Supports: compatibility, install
- Host custom-agent configuration documentation ↗ Checked 2026-09-21 https://code.visualstudio.com/docs/copilot/customization/custom-agents Supports: compatibility, install, access, review, limitations

KEEP COMPARING

## Other approaches to consider.

Related by category or shared topics. These are alternatives to inspect, not a measured quality order.

 [### Feedback Synthesizer ↗ Organizes a supplied customer-feedback corpus into themes, product priorities and audience-specific reports for product and support teams.](/agents/agency-product-feedback-synthesizer/)[### Jobs-to-be-Done UX Planner ↗ Turns user context and jobs to be done into a journey map, flow specification and design handoff documents.](/agents/github-se-ux-designer/)[### Research Synthesist ↗ Builds an auditable synthesis that traces repeated claims to their origin and separates independent agreement, disagreement and missing evidence.](/agents/agency-research-synthesist/)

 [AI Tools ↗](/tools/)[Skills ↗](/skills/)[Agents ↗](/agents/)[MCP Servers ↗](/mcp-servers/)
