create-technical-spike
- Use it when:
- A technical unknown, such as an API's limits or an architecture choice, has to be settled before development can go on.
- You get:
- One Markdown file per spike, named like api-copilot-integration-spike.md, with status, priority, timebox and owner in its front matter.
- It does:
- Frames one primary question, research tasks, success criteria and constraints, and leaves room for findings, a recommendation and follow-ups.
- Research strategy:
- Three phases for working the spike: search docs, the codebase and outside sources; prototype and experiment; then record a recommendation and follow-up tasks.
TL;DR
A spike is a short, time-boxed investigation that answers one question blocking development. This skill sets up its document: a file in docs/spikes, or a folder you give, whose front matter holds the title, category, status, priority (High by default), timebox (one week by default) and owner. The body states the objective and why it matters, the primary and secondary questions, checklists of research tasks and success criteria, and the related components, dependencies and constraints. Lower sections hold the investigation results, prototype notes, links, the recommendation with its rationale and implementation notes, follow-up actions and a status history from Not Started to Complete. It lists spike categories, from API integration and architecture to performance, platform, security and user experience, and a three-phase research strategy: gather information from docs, the codebase and outside resources; build prototypes and run targeted experiments; then write up a recommendation and create follow-up tasks. Its rules: one question per spike, evidence before it's marked complete, and every spike ends in an actionable decision.
Summarizes the skill at 797337f.
npx skills add https://github.com/github/awesome-copilot --skill create-technical-spike skills.sh pageSource on GitHubAll skills from github/awesome-copilot
- Total Downloads
- 9,000 on skills.sh, Nov 9, 2026
- Repo stars
- 40,943 github/awesome-copilot
- First seen
- Feb 25, 2026 on skills.sh
Weekly values
| Week to | Installs |
|---|---|
| Sep 21 | 13 |
| Sep 28 | 17 |
| Oct 5 | 18 |
| Oct 12 | 3 |
| Oct 19 | 6 |
| Oct 26 | 2 |
| Nov 2 | 9 |
| Nov 9 | 26 |
| Category |
Make the agent question you and write the plan down before it writes code. Everything for building software: planning, coding, debugging, design, frameworks, cloud, agents and skills. |
|---|---|
| Type |
A multi-step process the agent follows: interview, debug, run a TDD loop, review. |
| Effect |
Its own steps create or change files, git state or local tools. |
| Needs |
Instructions only. Works in any agent that supports skills. |
| Publisher |
A verified publisher on skills.sh, or the company or maintainer behind the product the skill operates. |
| Topics |
SKILL.md
From github/awesome-copilot at 797337f. Checked daily, last changed Nov 6, 2026.
Frontmatter
name: create-technical-spike
description: 'Create time-boxed technical spike documents for researching and resolving critical development decisions before implementation.'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.mdapi-azure-speech-realtime-spike.mdapi-vscode-extension-capabilities-spike.md
Performance Examples:
performance-audio-processing-latency-spike.mdperformance-extension-host-limitations-spike.mdperformance-webrtc-reliability-spike.md
Architecture Examples:
architecture-voice-pipeline-design-spike.mdarchitecture-state-management-spike.mdarchitecture-error-handling-strategy-spike.md
Best Practices for AI Agents
-
One Question Per Spike: Each document focuses on a single technical decision or research question
-
Time-Boxed Research: Define specific time limits and deliverables for each spike
-
Evidence-Based Decisions: Require concrete evidence (tests, prototypes, documentation) before marking as complete
-
Clear Recommendations: Document specific recommendations and rationale for implementation
-
Dependency Tracking: Identify how spikes relate to each other and impact project decisions
-
Outcome-Focused: Every spike must result in an actionable decision or recommendation
Research Strategy
Phase 1: Information Gathering
- Search existing documentation using search/fetch tools
- Analyze codebase for existing patterns and constraints
- Research external resources (APIs, libraries, examples)
Phase 2: Validation & Testing
- Create focused prototypes to test specific hypotheses
- Run targeted experiments to validate assumptions
- Document test results with supporting evidence
Phase 3: Decision & Documentation
- Synthesize findings into clear recommendations
- Document implementation guidance for development team
- 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.