New to Claude Skills? Learn how to install them →

github on GitHub

Create Technical Spike Document

OfficialFree

Streamline your technical decision-making process.

by github37.7k stars on github/awesome-copilot
3 views
Updated Aug 10, 2026
Get this skill

Free · Opens the source repo

What Create Technical Spike Document does

The Create Technical Spike Document skill is designed to assist developers and teams in addressing critical technical questions before embarking on development projects. By creating structured, time-boxed documents known as technical spikes, this skill helps clarify uncertainties and informs better decision-making. Each spike focuses on a specific technical issue, ensuring that teams have a clear understanding of the problem, the research required, and the deliverables expected.

Each technical spike document follows a predefined structure that includes essential elements such as a summary of the spike's objective, research questions, an investigation plan, success criteria, and a decision section. This format not only organizes the research process but also ensures that all necessary aspects of the decision are considered, from technical context to follow-up actions. By adhering to this structure, teams can efficiently document their findings and recommendations, making it easier to communicate results and decisions across the development team.

This skill is particularly beneficial for teams facing complex technical challenges that require thorough investigation and validation. It encourages a methodical approach to problem-solving, allowing teams to allocate specific timeframes for research and to focus on evidence-based conclusions. The clear categorization of spikes—ranging from API integration to performance and scalability—enables teams to tailor their research efforts to the most relevant areas, ensuring that critical decisions are made with the necessary information at hand.

Overall, the Create Technical Spike Document skill is a valuable tool for any development team looking to enhance their decision-making process by systematically addressing technical uncertainties. By fostering a culture of research and documentation, this skill helps teams mitigate risks and improve the quality of their software development efforts.

When to use it

Use this skill when facing critical technical decisions that require thorough investigation before proceeding with development.

When not to use it

This skill may not be suitable for straightforward decisions that do not require extensive research or documentation.

What you can build with it

API Integration Decisions

When evaluating third-party API capabilities, use a technical spike to research integration patterns and performance characteristics.

Performance Optimization

For addressing scalability bottlenecks, create a spike to investigate performance requirements and document potential solutions.

Architecture Review

When considering system architecture changes, utilize a technical spike to analyze design patterns and their applicability.

How to install Create Technical Spike Document

View source

1. Install with the skills CLI

npx skills add github/awesome-copilot/create-technical-spike --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by github

Create Technical Spike Document

Create time-boxed technical spike documents for researching critical questions that must be answered before development can proceed. Each spike focuses on a specific technical decision with clear deliverables and timelines.

Document Structure

Create individual files in ${input:FolderPath|docs/spikes} directory. Name each file using the pattern: [category]-[short-description]-spike.md (e.g., api-copilot-integration-spike.md, performance-realtime-audio-spike.md).

---
title: "${input:SpikeTitle}"
category: "${input:Category|Technical}"
status: "🔴 Not Started"
priority: "${input:Priority|High}"
timebox: "${input:Timebox|1 week}"
created: [YYYY-MM-DD]
updated: [YYYY-MM-DD]
owner: "${input:Owner}"
tags: ["technical-spike", "${input:Category|technical}", "research"]
---

# ${input:SpikeTitle}

## Summary

**Spike Objective:** [Clear, specific question or decision that needs resolution]

**Why This Matters:** [Impact on development/architecture decisions]

**Timebox:** [How much time allocated to this spike]

**Decision Deadline:** [When this must be resolved to avoid blocking development]

## Research Question(s)

**Primary Question:** [Main technical question that needs answering]

**Secondary Questions:**

- [Related question 1]
- [Related question 2]
- [Related question 3]

## Investigation Plan

### Research Tasks

- [ ] [Specific research task 1]
- [ ] [Specific research task 2]
- [ ] [Specific research task 3]
- [ ] [Create proof of concept/prototype]
- [ ] [Document findings and recommendations]

### Success Criteria

**This spike is complete when:**

- [ ] [Specific criteria 1]
- [ ] [Specific criteria 2]
- [ ] [Clear recommendation documented]
- [ ] [Proof of concept completed (if applicable)]

## Technical Context

**Related Components:** [List system components affected by this decision]

**Dependencies:** [What other spikes or decisions depend on resolving this]

**Constraints:** [Known limitations or requirements that affect the solution]

## Research Findings

### Investigation Results

[Document research findings, test results, and evidence gathered]

### Prototype/Testing Notes

[Results from any prototypes, spikes, or technical experiments]

### External Resources

- [Link to relevant documentation]
- [Link to API references]
- [Link to community discussions]
- [Link to examples/tutorials]

## Decision

### Recommendation

[Clear recommendation based on research findings]

### Rationale

[Why this approach was chosen over alternatives]

### Implementation Notes

[Key considerations for implementation]

### Follow-up Actions

- [ ] [Action item 1]
- [ ] [Action item 2]
- [ ] [Update architecture documents]
- [ ] [Create implementation tasks]

## Status History

| Date   | Status         | Notes                      |
| ------ | -------------- | -------------------------- |
| [Date] | 🔴 Not Started | Spike created and scoped   |
| [Date] | 🟡 In Progress | Research commenced         |
| [Date] | 🟢 Complete    | [Resolution summary]       |

---

_Last updated: [Date] by [Name]_

Categories for Technical Spikes

API Integration

  • Third-party API capabilities and limitations
  • Integration patterns and authentication
  • Rate limits and performance characteristics

Architecture & Design

  • System architecture decisions
  • Design pattern applicability
  • Component interaction models

Performance & Scalability

  • Performance requirements and constraints
  • Scalability bottlenecks and solutions
  • Resource utilization patterns

Platform & Infrastructure

  • Platform capabilities and limitations
  • Infrastructure requirements
  • Deployment and hosting considerations

Security & Compliance

  • Security requirements and implementations
  • Compliance constraints
  • Authentication and authorization approaches

User Experience

  • User interaction patterns
  • Accessibility requirements
  • Interface design decisions

File Naming Conventions

Use descriptive, kebab-case names that indicate the category and specific unknown:

API/Integration Examples:

  • api-copilot-chat-integration-spike.md
  • api-azure-speech-realtime-spike.md
  • api-vscode-extension-capabilities-spike.md

Performance Examples:

  • performance-audio-processing-latency-spike.md
  • performance-extension-host-limitations-spike.md
  • performance-webrtc-reliability-spike.md

Architecture Examples:

  • architecture-voice-pipeline-design-spike.md
  • architecture-state-management-spike.md
  • architecture-error-handling-strategy-spike.md

Best Practices for AI Agents

  1. One Question Per Spike: Each document focuses on a single technical decision or research question

  2. Time-Boxed Research: Define specific time limits and deliverables for each spike

  3. Evidence-Based Decisions: Require concrete evidence (tests, prototypes, documentation) before marking as complete

  4. Clear Recommendations: Document specific recommendations and rationale for implementation

  5. Dependency Tracking: Identify how spikes relate to each other and impact project decisions

  6. Outcome-Focused: Every spike must result in an actionable decision or recommendation

Research Strategy

Phase 1: Information Gathering

  1. Search existing documentation using search/fetch tools
  2. Analyze codebase for existing patterns and constraints
  3. Research external resources (APIs, libraries, examples)

Phase 2: Validation & Testing

  1. Create focused prototypes to test specific hypotheses
  2. Run targeted experiments to validate assumptions
  3. Document test results with supporting evidence

Phase 3: Decision & Documentation

  1. Synthesize findings into clear recommendations
  2. Document implementation guidance for development team
  3. Create follow-up tasks for implementation

Tools Usage

  • search/searchResults: Research existing solutions and documentation
  • fetch/githubRepo: Analyze external APIs, libraries, and examples
  • codebase: Understand existing system constraints and patterns
  • runTasks: Execute prototypes and validation tests
  • editFiles: Update research progress and findings
  • vscodeAPI: Test VS Code extension capabilities and limitations

Focus on time-boxed research that resolves critical technical decisions and unblocks development progress.

Frequently asked questions about Create Technical Spike Document

Similar skills