From 931d8a0a952dde5e3c49c9356edb87f76d1e0b18 Mon Sep 17 00:00:00 2001 From: Daniel Scott-Raynsford Date: Wed, 17 Sep 2025 16:18:17 +1200 Subject: [PATCH] Add Technical Spike collection and related resources (#251) * Add Technical Spike collection and related resources - Introduced a new collection for Technical Spikes, including a chat mode for research and a prompt for creating spike documents. - Updated the Project Planning & Management collection to include references to technical spikes. - Enhanced README files to reflect the addition of technical spike resources. - Created detailed documentation for the technical spike research methodology and prompt structure. - Added new tags and items to facilitate better organization and discovery of technical spike-related content. * CHANGE: Update research methodology for technical spikes - Refine tool usage philosophy for exhaustive research - Enhance todo management protocol for better tracking - Improve spike document update protocol for real-time logging --- README.chatmodes.md | 1 + README.collections.md | 3 +- README.prompts.md | 1 + .../research-technical-spike.chatmode.md | 169 +++++++++++++ collections/project-planning.collection.yml | 6 +- collections/project-planning.md | 6 +- collections/technical-spike.collection.yml | 15 ++ collections/technical-spike.md | 15 ++ prompts/create-technical-spike.prompt.md | 231 ++++++++++++++++++ 9 files changed, 443 insertions(+), 4 deletions(-) create mode 100644 chatmodes/research-technical-spike.chatmode.md create mode 100644 collections/technical-spike.collection.yml create mode 100644 collections/technical-spike.md create mode 100644 prompts/create-technical-spike.prompt.md diff --git a/README.chatmodes.md b/README.chatmodes.md index f54eea7..1077ee9 100644 --- a/README.chatmodes.md +++ b/README.chatmodes.md @@ -55,6 +55,7 @@ Custom chat modes define specific behaviors and tools for GitHub Copilot Chat, e | [Prompt Builder Instructions](chatmodes/prompt-builder.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fprompt-builder.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fprompt-builder.chatmode.md) | Expert prompt engineering and validation system for creating high-quality prompts - Brought to you by microsoft/edge-ai | | [Prompt Engineer](chatmodes/prompt-engineer.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fprompt-engineer.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fprompt-engineer.chatmode.md) | A specialized chat mode for analyzing and improving prompts. Every user input is treated as a propt to be improved. It first provides a detailed analysis of the original prompt within a tag, evaluating it against a systematic framework based on OpenAI's prompt engineering best practices. Following the analysis, it generates a new, improved prompt. | | [Refine Requirement or Issue Chat Mode](chatmodes/refine-issue.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Frefine-issue.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Frefine-issue.chatmode.md) | Refine the requirement or issue with Acceptance Criteria, Technical Considerations, Edge Cases, and NFRs | +| [Technical spike research mode](chatmodes/research-technical-spike.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fresearch-technical-spike.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fresearch-technical-spike.chatmode.md) | Systematically research and validate technical spike documents through exhaustive investigation and controlled experimentation. | | [Rust Beast Mode](chatmodes/rust-gpt-4.1-beast-mode.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Frust-gpt-4.1-beast-mode.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Frust-gpt-4.1-beast-mode.chatmode.md) | Rust GPT-4.1 Coding Beast Mode for VS Code | | [Semantic Kernel .NET mode instructions](chatmodes/semantic-kernel-dotnet.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fsemantic-kernel-dotnet.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fsemantic-kernel-dotnet.chatmode.md) | Create, update, refactor, explain or work with code using the .NET version of Semantic Kernel. | | [Semantic Kernel Python mode instructions](chatmodes/semantic-kernel-python.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fsemantic-kernel-python.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fsemantic-kernel-python.chatmode.md) | Create, update, refactor, explain or work with code using the Python version of Semantic Kernel. | diff --git a/README.collections.md b/README.collections.md index 08e8f45..e1fc53f 100644 --- a/README.collections.md +++ b/README.collections.md @@ -20,6 +20,7 @@ Curated collections of related prompts, instructions, and chat modes organized a | [Database & Data Management](collections/database-data-management.md) | Database administration, SQL optimization, and data management tools for PostgreSQL, SQL Server, and general database development best practices. | 8 items | database, sql, postgresql, sql-server, dba, optimization, queries, data-management | | [DevOps On-Call](collections/devops-oncall.md) | A focused set of prompts, instructions, and a chat mode to help triage incidents and respond quickly with DevOps tools and Azure resources. | 5 items | devops, incident-response, oncall, azure | | [Frontend Web Development](collections/frontend-web-dev.md) | Essential prompts, instructions, and chat modes for modern frontend web development including React, Angular, Vue, TypeScript, and CSS frameworks. | 11 items | frontend, web, react, typescript, javascript, css, html, angular, vue | -| [Project Planning & Management](collections/project-planning.md) | Tools and guidance for software project planning, feature breakdown, epic management, implementation planning, and task organization for development teams. | 15 items | planning, project-management, epic, feature, implementation, task, architecture | +| [Project Planning & Management](collections/project-planning.md) | Tools and guidance for software project planning, feature breakdown, epic management, implementation planning, and task organization for development teams. | 17 items | planning, project-management, epic, feature, implementation, task, architecture, technical-spike | | [Security & Code Quality](collections/security-best-practices.md) | Security frameworks, accessibility guidelines, performance optimization, and code quality best practices for building secure, maintainable, and high-performance applications. | 6 items | security, accessibility, performance, code-quality, owasp, a11y, optimization, best-practices | +| [Technical Spike](collections/technical-spike.md) | Tools for creation, management and research of technical spikes to reduce unknowns and assumptions before proceeding to specification and implementation of solutions. | 2 items | technical-spike, assumption-testing, validation, research | | [Testing & Test Automation](collections/testing-automation.md) | Comprehensive collection for writing tests, test automation, and test-driven development including unit tests, integration tests, and end-to-end testing strategies. | 11 items | testing, tdd, automation, unit-tests, integration, playwright, jest, nunit | diff --git a/README.prompts.md b/README.prompts.md index f0e9d9e..55bbb07 100644 --- a/README.prompts.md +++ b/README.prompts.md @@ -46,6 +46,7 @@ Ready-to-use prompt templates for specific development scenarios and tasks, defi | [Create Specification](prompts/create-specification.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-specification.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-specification.prompt.md) | Create a new specification file for the solution, optimized for Generative AI consumption. | | [Create Spring Boot Java project prompt](prompts/create-spring-boot-java-project.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-spring-boot-java-project.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-spring-boot-java-project.prompt.md) | Create Spring Boot Java Project Skeleton | | [Create Spring Boot Kotlin project prompt](prompts/create-spring-boot-kotlin-project.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-spring-boot-kotlin-project.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-spring-boot-kotlin-project.prompt.md) | Create Spring Boot Kotlin Project Skeleton | +| [Create Technical Spike Document](prompts/create-technical-spike.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-technical-spike.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-technical-spike.prompt.md) | Create time-boxed technical spike documents for researching and resolving critical development decisions before implementation. | | [C# Async Programming Best Practices](prompts/csharp-async.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcsharp-async.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcsharp-async.prompt.md) | Get best practices for C# async programming | | [C# Documentation Best Practices](prompts/csharp-docs.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcsharp-docs.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcsharp-docs.prompt.md) | Ensure that C# types are documented with XML comments and follow best practices for documentation. | | [MSTest Best Practices](prompts/csharp-mstest.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcsharp-mstest.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcsharp-mstest.prompt.md) | Get best practices for MSTest unit testing, including data-driven tests | diff --git a/chatmodes/research-technical-spike.chatmode.md b/chatmodes/research-technical-spike.chatmode.md new file mode 100644 index 0000000..d2623cf --- /dev/null +++ b/chatmodes/research-technical-spike.chatmode.md @@ -0,0 +1,169 @@ +--- +description: 'Systematically research and validate technical spike documents through exhaustive investigation and controlled experimentation.' +tools: ['runCommands', 'runTasks', 'edit', 'runNotebooks', 'search', 'extensions', 'usages', 'vscodeAPI', 'think', 'problems', 'changes', 'testFailure', 'openSimpleBrowser', 'fetch', 'githubRepo', 'todos', 'Microsoft Docs', 'search'] +--- +# 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. + +## 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) +- Use `#think` between tool calls to analyze findings and plan next recursion + +## 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. diff --git a/collections/project-planning.collection.yml b/collections/project-planning.collection.yml index 47b968f..b0d1785 100644 --- a/collections/project-planning.collection.yml +++ b/collections/project-planning.collection.yml @@ -1,7 +1,7 @@ id: project-planning name: Project Planning & Management description: Tools and guidance for software project planning, feature breakdown, epic management, implementation planning, and task organization for development teams. -tags: [planning, project-management, epic, feature, implementation, task, architecture] +tags: [planning, project-management, epic, feature, implementation, task, architecture, technical-spike] items: # Planning Chat Modes - path: chatmodes/task-planner.chatmode.md @@ -16,6 +16,8 @@ items: kind: chat-mode - path: chatmodes/implementation-plan.chatmode.md kind: chat-mode + - path: chatmodes/research-technical-spike.chatmode.md + kind: chat-mode # Planning Instructions - path: instructions/task-implementation.instructions.md @@ -38,6 +40,8 @@ items: kind: prompt - path: prompts/create-github-issues-feature-from-implementation-plan.prompt.md kind: prompt + - path: prompts/create-technical-spike.prompt.md + kind: prompt display: ordering: alpha diff --git a/collections/project-planning.md b/collections/project-planning.md index 87d53d3..5e0a05d 100644 --- a/collections/project-planning.md +++ b/collections/project-planning.md @@ -2,7 +2,7 @@ Tools and guidance for software project planning, feature breakdown, epic management, implementation planning, and task organization for development teams. -**Tags:** planning, project-management, epic, feature, implementation, task, architecture +**Tags:** planning, project-management, epic, feature, implementation, task, architecture, technical-spike ## Items in this Collection @@ -11,6 +11,7 @@ Tools and guidance for software project planning, feature breakdown, epic manage | [Create GitHub Issue from Implementation Plan](../prompts/create-github-issues-feature-from-implementation-plan.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-github-issues-feature-from-implementation-plan.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-github-issues-feature-from-implementation-plan.prompt.md) | Prompt | Create GitHub Issues from implementation plan phases using feature_request.yml or chore_request.yml templates. | | [Create Implementation Plan](../prompts/create-implementation-plan.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-implementation-plan.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-implementation-plan.prompt.md) | Prompt | Create a new implementation plan file for new features, refactoring existing code or upgrading packages, design, architecture or infrastructure. | | [Create PRD Chat Mode](../chatmodes/prd.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fprd.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fprd.chatmode.md) | Chat Mode | Generate a comprehensive Product Requirements Document (PRD) in Markdown, detailing user stories, acceptance criteria, technical considerations, and metrics. Optionally create GitHub issues upon user confirmation. | +| [Create Technical Spike Document](../prompts/create-technical-spike.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-technical-spike.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-technical-spike.prompt.md) | Prompt | Create time-boxed technical spike documents for researching and resolving critical development decisions before implementation. | | [Epic Architecture Specification Prompt](../prompts/breakdown-epic-arch.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fbreakdown-epic-arch.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fbreakdown-epic-arch.prompt.md) | Prompt | Prompt for creating the high-level technical architecture for an Epic, based on a Product Requirements Document. | | [Epic Product Requirements Document (PRD) Prompt](../prompts/breakdown-epic-pm.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fbreakdown-epic-pm.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fbreakdown-epic-pm.prompt.md) | Prompt | Prompt for creating an Epic Product Requirements Document (PRD) for a new epic. This PRD will be used as input for generating a technical architecture specification. | | [Feature Implementation Plan Prompt](../prompts/breakdown-feature-implementation.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fbreakdown-feature-implementation.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fbreakdown-feature-implementation.prompt.md) | Prompt | Prompt for creating detailed feature implementation plans, following Epoch monorepo structure. | @@ -22,7 +23,8 @@ Tools and guidance for software project planning, feature breakdown, epic manage | [Task Plan Implementation Instructions](../instructions/task-implementation.instructions.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Ftask-implementation.instructions.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/instructions?url=vscode-insiders%3Achat-instructions%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Finstructions%2Ftask-implementation.instructions.md) | Instruction | Instructions for implementing task plans with progressive tracking and change record - Brought to you by microsoft/edge-ai | | [Task Planner Instructions](../chatmodes/task-planner.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Ftask-planner.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Ftask-planner.chatmode.md) | Chat Mode | Task planner for creating actionable implementation plans - Brought to you by microsoft/edge-ai | | [Task Researcher Instructions](../chatmodes/task-researcher.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Ftask-researcher.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Ftask-researcher.chatmode.md) | Chat Mode | Task research specialist for comprehensive project analysis - Brought to you by microsoft/edge-ai | +| [Technical spike research mode](../chatmodes/research-technical-spike.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fresearch-technical-spike.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fresearch-technical-spike.chatmode.md) | Chat Mode | Systematically research and validate technical spike documents through exhaustive investigation and controlled experimentation. | | [Update Implementation Plan](../prompts/update-implementation-plan.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fupdate-implementation-plan.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fupdate-implementation-plan.prompt.md) | Prompt | Update an existing implementation plan file with new or update requirements to provide new features, refactoring existing code or upgrading packages, design, architecture or infrastructure. | --- -*This collection includes 15 curated items for project planning & management.* \ No newline at end of file +*This collection includes 17 curated items for project planning & management.* \ No newline at end of file diff --git a/collections/technical-spike.collection.yml b/collections/technical-spike.collection.yml new file mode 100644 index 0000000..68aae79 --- /dev/null +++ b/collections/technical-spike.collection.yml @@ -0,0 +1,15 @@ +id: technical-spike +name: Technical Spike +description: Tools for creation, management and research of technical spikes to reduce unknowns and assumptions before proceeding to specification and implementation of solutions. +tags: [technical-spike, assumption-testing, validation, research] +items: + # Planning Chat Modes + - path: chatmodes/research-technical-spike.chatmode.md + kind: chat-mode + + # Planning Prompts + - path: prompts/create-technical-spike.prompt.md + kind: prompt +display: + ordering: alpha # or "manual" to preserve the order above + show_badge: false # set to true to show collection badge on items diff --git a/collections/technical-spike.md b/collections/technical-spike.md new file mode 100644 index 0000000..e3beb93 --- /dev/null +++ b/collections/technical-spike.md @@ -0,0 +1,15 @@ +# Technical Spike + +Tools for creation, management and research of technical spikes to reduce unknowns and assumptions before proceeding to specification and implementation of solutions. + +**Tags:** technical-spike, assumption-testing, validation, research + +## Items in this Collection + +| Title | Type | Description | +| ----- | ---- | ----------- | +| [Technical spike research mode](../chatmodes/research-technical-spike.chatmode.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fresearch-technical-spike.chatmode.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/chatmode?url=vscode-insiders%3Achat-mode%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fchatmodes%2Fresearch-technical-spike.chatmode.md) | Chat Mode | Systematically research and validate technical spike documents through exhaustive investigation and controlled experimentation. | +| [Create Technical Spike Document](../prompts/create-technical-spike.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-technical-spike.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fcreate-technical-spike.prompt.md) | Prompt | Create time-boxed technical spike documents for researching and resolving critical development decisions before implementation. | + +--- +*This collection includes 2 curated items for technical spike.* \ No newline at end of file diff --git a/prompts/create-technical-spike.prompt.md b/prompts/create-technical-spike.prompt.md new file mode 100644 index 0000000..6e79c95 --- /dev/null +++ b/prompts/create-technical-spike.prompt.md @@ -0,0 +1,231 @@ +--- +mode: 'agent' +description: 'Create time-boxed technical spike documents for researching and resolving critical development decisions before implementation.' +tools: ['runCommands', 'runTasks', 'edit', 'search', 'extensions', 'usages', 'vscodeAPI', 'think', 'problems', 'changes', 'testFailure', 'openSimpleBrowser', 'fetch', 'githubRepo', 'todos', 'Microsoft Docs', 'search'] +--- + +# 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`). + +```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.