
Develop Spike Summary
- 488 installs
- 518 repo stars
- Updated August 4, 2026
- product-on-purpose/pm-skills
develop-spike-summary is an agent skill that documents time-boxed technical spike findings, evidence, and go/no-go recommendations for developers who finish feasibility explorations before committing implementation work.
About
develop-spike-summary is an agent skill (version 2.1.0, Apache-2.0) that turns completed technical or design spikes into decision-ready summaries for engineering teams. It guides seven documentation steps: state the spike question, record allocated versus actual time-box, describe the approach tried, present evidence-backed findings, make a direct proceed or stop recommendation, link artifacts such as code or benchmarks, and capture open questions. Output follows the references/TEMPLATE.md structure with sections for Overview, Background, Approach, Findings, Recommendation, Artifacts, Open Questions, and Follow-up Items, plus a quality checklist requiring evidence over opinion. Developers reach for develop-spike-summary immediately after API integration probes, vendor evaluations, or proof-of-concept work when the team needs a shareable record instead of repeating verbal spike conclusions.
- develop-spike-summary
- AI & Agent Building
- AI-coding skill
Develop Spike Summary by the numbers
- 488 all-time installs (skills.sh)
- +26 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #1,796 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/product-on-purpose/pm-skills --skill develop-spike-summaryAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 488 |
|---|---|
| repo stars | ★ 518 |
| Last updated | August 4, 2026 |
| Repository | product-on-purpose/pm-skills ↗ |
How do you document a technical spike for the team?
Helps with ai & agent building tasks.
Who is it for?
Engineers and tech leads who finished a time-boxed feasibility spike and need a structured summary before ADRs or implementation planning.
Skip if: Teams recording final architecture decisions—use develop-adr—or running user research rather than technical feasibility work.
When should I use this skill?
Trigger develop-spike-summary immediately after a time-boxed technical exploration completes and findings must inform a build-or-skip decision.
What you get
Spike summary markdown with question, time-box, findings, recommendation, linked artifacts, and follow-up items.
- spike summary markdown
- artifact links
- go/no-go recommendation
By the numbers
- Published as version 2.1.0 updated 2026-06-10
- Template includes 8 structured output sections
- Defines 7 documentation steps from question through open questions
Files
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
Spike Summary
A spike summary documents the results of a time-boxed exploration - a focused investigation to reduce uncertainty before committing to implementation. Spikes answer specific questions like "Can we integrate with this API?" or "Is this technology viable for our use case?" The summary captures findings so the team can make informed decisions without the spike participants needing to repeat explanations.
When to Use
- After completing a time-boxed technical exploration
- When evaluating technology choices or vendor options
- After proof-of-concept work that needs to inform team decisions
- When investigating feasibility of a proposed solution
- Before committing engineering resources to a new approach
When NOT to Use
- You are recording the resulting architecture decision itself -> use
develop-adr; the spike informs, the ADR decides - The exploration was user research, not technical or design feasibility -> use
discover-interview-synthesis - You want to propose the solution the spike pointed to -> use
develop-solution-brief - The spike has not happened yet: this skill documents results; time-box and run the exploration first
Instructions
When asked to document a spike, follow these steps:
1. State the Question Clearly Articulate the specific question the spike was designed to answer. Good spike questions are focused and answerable with the time-box available. If the question evolved during the spike, document both the original and final versions.
2. Define the Time-Box Document the time allocated (e.g., 3 days) and actual time spent. If the spike exceeded its time-box, explain why and note any remaining work.
3. Describe the Approach Explain what was tried, in what order, and why. This helps future readers understand the methodology and whether alternative approaches were considered.
4. Present Findings with Evidence Document what was learned, supported by concrete evidence - code samples, performance benchmarks, screenshots, or API responses. Distinguish between verified findings and hypotheses that need more testing.
5. Make a Clear Recommendation Answer the original question directly: proceed, do not proceed, or proceed with conditions. Avoid hedging - the team needs actionable guidance.
6. Document Artifacts Link to any code, prototypes, diagrams, or documentation created during the spike. These artifacts often have ongoing value beyond the summary.
7. Capture Open Questions Note what the spike didn't answer and what additional investigation might be needed.
Output Format
Use the template in references/TEMPLATE.md to structure the output. A complete spike summary fills every template section: Overview; Background; Approach; Findings; Recommendation; Artifacts; Open Questions; and Follow-up Items.
Quality Checklist
Before finalizing, verify:
- [ ] Original question is clearly stated
- [ ] Time-box is documented (allocated vs. actual)
- [ ] Findings are supported by evidence, not just opinions
- [ ] Recommendation directly answers the question
- [ ] Artifacts (code, diagrams) are linked or attached
- [ ] Open questions identify remaining unknowns
Examples
See references/EXAMPLE.md for a completed example.
{
"schema": 1,
"skill": "develop-spike-summary",
"runs_per_query": 3,
"trigger_threshold": 0.5,
"queries": [
{
"q": "Write up the results of our three-day spike on integrating with the Stripe Billing API",
"expect": "trigger",
"split": "train"
},
{
"q": "We time-boxed two days to see if WebSockets can handle 50k concurrent connections on our stack. Document what we found and whether to proceed.",
"expect": "trigger",
"split": "train"
},
{
"q": "Summarize the proof-of-concept we ran on the vector database options before the team meeting",
"expect": "trigger",
"split": "train"
},
{
"q": "The feasibility investigation into server-side PDF generation is done. Capture the approach, findings, and recommendation.",
"expect": "trigger",
"split": "train"
},
{
"q": "Document the outcome of our exploration into replacing the legacy search with Typesense, including the benchmarks we collected",
"expect": "trigger",
"split": "train"
},
{
"q": "I spent a week prototyping the offline sync engine. Turn my scratch notes into a structured summary the team can act on.",
"expect": "trigger",
"split": "train"
},
{
"q": "Write a spike summary for the LLM summarization experiment: what we tried, the evidence, and the open questions",
"expect": "trigger",
"split": "validation"
},
{
"q": "Our designer time-boxed an exploration of canvas-based editing versus DOM-based. Capture the findings and a clear go or no-go.",
"expect": "trigger",
"split": "validation"
},
{
"q": "Before we commit engineers to the migration, document what the proof of concept on zero-downtime schema changes actually showed",
"expect": "trigger",
"split": "validation"
},
{
"q": "The team finished investigating whether the vendor SDK supports our SSO requirements. Get the learnings on paper so nobody has to repeat the explanation.",
"expect": "trigger",
"split": "validation"
},
{
"q": "The spike settled it: we are adopting Typesense. Write the formal decision record with context and consequences.",
"expect": "no-trigger",
"split": "train",
"near_miss_of": "develop-adr",
"notes": "The spike informed; recording the decision itself is ADR work"
},
{
"q": "We ran eight exploratory user interviews about the sync feature last week. Pull out the patterns and insights.",
"expect": "no-trigger",
"split": "train",
"near_miss_of": "discover-interview-synthesis",
"notes": "User research exploration, not technical or design feasibility"
},
{
"q": "Based on what the prototype showed, draft a one-page proposal to get stakeholders behind the offline-first approach",
"expect": "no-trigger",
"split": "train",
"near_miss_of": "develop-solution-brief",
"notes": "Proposing the solution the spike pointed to"
},
{
"q": "Help us scope the investigation into edge caching: what question should the spike answer and how long should we time-box it?",
"expect": "no-trigger",
"split": "train",
"notes": "Spike has not happened yet; this skill documents results"
},
{
"q": "My Docker build keeps failing on the M1 runner, help me fix it",
"expect": "no-trigger",
"split": "train"
},
{
"q": "Write the retro doc for the sprint that just ended, what went well and what didn't",
"expect": "no-trigger",
"split": "train"
},
{
"q": "Capture our decision to standardize on the vendor SDK for SSO, including the trade-offs we accepted",
"expect": "no-trigger",
"split": "validation",
"near_miss_of": "develop-adr",
"notes": "Decision record, not exploration findings"
},
{
"q": "Draft an instrumentation spec for the new sync feature so we can measure adoption",
"expect": "no-trigger",
"split": "validation"
},
{
"q": "Recommend a good hotel near the Austin office for my onsite next week",
"expect": "no-trigger",
"split": "validation"
},
{
"q": "Document edge cases and error states for the file upload flow before QA planning",
"expect": "no-trigger",
"split": "validation"
}
]
}
develop-spike-summary - Version History
| Version | Date | Release | Effort | Type | Summary |
|---|---|---|---|---|---|
| 2.1.0 | 2026-06-10 | v2.26.0 | F-12-batch-2 | minor | Quality convergence: When NOT to Use + output-contract enumeration (F-12 Batch 2) |
| 2.0.0 | 2026-01-26 | - | - | baseline | Prior published version |
2.1.0 (2026-06-10)
Quality-convergence minor (F-12 Batch 2): added a "When NOT to Use" section with boundary pointers to neighboring skills, and the Output Format now enumerates the template sections a complete artifact fills. No template or example changes.
2.0.0 (2026-01-26)
Baseline row for the prior published version; see git history for its changes.
Spike Summary: Payment Processor Evaluation
Overview
| Field | Value |
|---|---|
| Question to Answer | Should we use Stripe or Adyen for payment processing on our new platform? |
| Time-Box | 3 days |
| Actual Time Spent | 2.5 days |
| Spike Lead | Chen Wei, Senior Backend Engineer |
| Date Completed | 2026-01-12 |
Background
Our new e-commerce platform needs payment processing capabilities. We currently process $2M/month through a legacy system and expect to scale to $10M/month within 18 months. The decision between Stripe and Adyen will affect our transaction costs, integration timeline, and ability to expand internationally.
Approach
What We Tried
1. Stripe Sandbox Integration: Built a complete checkout flow using Stripe Elements. Created test webhooks and simulated various payment scenarios including 3D Secure, declined cards, and refunds.
2. Adyen Test Integration: Implemented Adyen's Drop-in Components in a parallel branch. Tested the same scenarios as Stripe for direct comparison.
3. Fee Analysis: Modeled transaction costs at current volume ($2M/month) and projected volume ($10M/month) using published pricing and obtained quotes from both vendors.
4. International Capability Review: Researched multi-currency support, local payment methods, and regulatory compliance for our target markets (US, EU, UK, Canada).
Technologies/Tools Evaluated
- Stripe API v2024-12-18, Stripe Elements, Stripe Webhooks
- Adyen API v68, Drop-in Components, Adyen Webhooks
- Both tested with React 18 frontend, Node.js 20 backend
Findings
Finding 1: Stripe has significantly better developer experience
Stripe's documentation is more comprehensive and includes more working examples. The sandbox environment required no setup - we were processing test payments within 15 minutes. Adyen required account manager approval and took 2 days to get sandbox access.
Evidence:
- Time to first successful test payment: Stripe (15 min), Adyen (2 days including access wait)
- Documentation score (internal rating): Stripe 9/10, Adyen 6/10
- Stack Overflow questions with accepted answers: Stripe (47,000+), Adyen (3,200)
Finding 2: Adyen has lower fees at scale
At our projected $10M/month volume, Adyen's interchange++ pricing results in meaningful savings. However, at current volume, the difference is marginal.
Evidence:
- Current volume ($2M/month): Stripe $58K/year, Adyen $54K/year (7% savings)
- Projected volume ($10M/month): Stripe $290K/year, Adyen $245K/year (16% savings)
- Stripe's 2.9% + $0.30 vs. Adyen's interchange++ (avg 2.4% + $0.20 at volume)
Finding 3: Both meet international requirements, but Adyen has edge in Europe
Both processors support our target markets. Adyen has more local payment method integrations in Europe (iDEAL, Bancontact, SEPA Direct Debit) which could improve conversion for EU customers.
Evidence:
- Local EU payment methods: Stripe (8), Adyen (15)
- Both support Apple Pay, Google Pay, PayPal
- Both are PCI Level 1 compliant
Finding 4: Stripe's subscription billing is more mature
If we add subscription products in the future, Stripe Billing is significantly more capable than Adyen's recurring payment features. Adyen would require a third-party subscription management tool.
Evidence:
- Stripe Billing: Proration, trial periods, usage-based billing, revenue recovery
- Adyen: Basic recurring only, no built-in subscription management
Recommendation
Decision: Proceed with Stripe for MVP, plan migration path to Adyen
Rationale
Stripe is the right choice for our current stage. The superior developer experience will accelerate our launch timeline by approximately 2-3 weeks. At our current volume, fee differences are minimal ($4K/year). Once we reach $10M/month and validate product-market fit, we should reevaluate migration to Adyen for cost savings.
If Proceeding
- Use Stripe Elements for checkout (fastest integration)
- Implement webhook handlers for payment lifecycle events
- Estimated integration effort: 2 weeks for full production deployment
- Build payment abstraction layer to facilitate future processor migration
Migration Trigger
Consider Adyen migration when:
- Monthly transaction volume exceeds $5M consistently for 3 months
- EU revenue exceeds 30% of total (local payment methods become important)
- Fee savings would exceed $50K/year (pays for migration effort)
Artifacts
| Artifact | Location | Description |
|---|---|---|
| Stripe POC | /spikes/payment-processor/stripe-poc | Working checkout flow with webhooks |
| Adyen POC | /spikes/payment-processor/adyen-poc | Comparable checkout for benchmarking |
| Fee Model | /spikes/payment-processor/fee-analysis.xlsx | Volume-based fee comparison |
| Architecture Diagram | /spikes/payment-processor/payment-arch.png | Proposed payment system design |
Open Questions
- [ ] What is the exact timeline for Stripe's pricing negotiation at higher volumes? (Sales said "competitive" but no specifics)
- [ ] How does PSD2 Strong Customer Authentication affect conversion in EU? Need production data.
- [ ] Should we implement payment abstraction from day one or wait until migration is certain?
Follow-up Items
| Action | Owner | Timeline |
|---|---|---|
| Begin Stripe production integration | Chen Wei | Week of Jan 20 |
| Set up Stripe Radar for fraud prevention | DevOps | Week of Jan 20 |
| Document payment abstraction interface | Chen Wei | Feb 1 |
| Schedule Adyen volume pricing call for Q3 | PM | Q3 2026 |
Spike Summary: [Spike Title]
Overview
| Field | Value |
|---|---|
| Question to Answer | [The specific question this spike investigated] |
| Time-Box | [Allocated time, e.g., 3 days] |
| Actual Time Spent | [Actual time, e.g., 2.5 days] |
| Spike Lead | [Name/role] |
| Date Completed | [YYYY-MM-DD] |
Background
<!-- Why was this spike needed? What context is important? -->
[Brief context explaining why this question needed investigation]
Approach
<!-- What was tried, in what order, and why? -->
What We Tried
1. [Approach 1: description and rationale] 2. [Approach 2: description and rationale] 3. [Approach 3: description and rationale]
Technologies/Tools Evaluated
- [Technology/Tool 1]
- [Technology/Tool 2]
Findings
<!-- What did we learn? Support with evidence. -->
Finding 1: [Title]
[Description of what was discovered]
Evidence:
- [Specific data point, benchmark, or observation]
- [Code sample, API response, or screenshot reference]
Finding 2: [Title]
[Description of what was discovered]
Evidence:
- [Specific data point, benchmark, or observation]
Finding 3: [Title]
[Description of what was discovered]
Evidence:
- [Specific data point, benchmark, or observation]
Recommendation
<!-- Answer the original question directly. Proceed, don't proceed, or proceed with conditions. -->
Decision: [Proceed / Do Not Proceed / Proceed with Conditions]
[Clear rationale for the recommendation, referencing findings above]
If Proceeding
- [Key consideration or condition 1]
- [Key consideration or condition 2]
- [Estimated effort for implementation]
If Not Proceeding
- [Why this path is not recommended]
- [Alternative approaches to consider]
Artifacts
<!-- Links to code, prototypes, diagrams, or documentation created -->
| Artifact | Location | Description |
|---|---|---|
| [POC Code] | [Link] | [Brief description] |
| [Architecture Diagram] | [Link] | [Brief description] |
| [Vendor Documentation] | [Link] | [Brief description] |
Open Questions
<!-- What didn't we answer? What needs more investigation? -->
- [ ] [Open question 1]
- [ ] [Open question 2]
- [ ] [Open question 3]
Follow-up Items
<!-- Next steps if the team decides to proceed -->
| Action | Owner | Timeline |
|---|---|---|
| [Next step 1] | [Who] | [When] |
| [Next step 2] | [Who] | [When] |
Related skills
How it compares
Pick develop-spike-summary over develop-adr when the spike just finished and findings need capture, not when the team is ready to record a final architecture decision.
FAQ
When should develop-spike-summary be used?
develop-spike-summary should be used after a completed time-boxed technical or design exploration, such as API integration probes or vendor evaluations. The skill documents findings so the team can decide next steps without spike participants repeating explanations.
What sections does the spike summary template include?
develop-spike-summary fills eight template sections: Overview, Background, Approach, Findings, Recommendation, Artifacts, Open Questions, and Follow-up Items. Each section expects concrete evidence such as benchmarks, code links, or API responses rather than opinion-only notes.
How is develop-spike-summary different from develop-adr?
develop-spike-summary records exploration results and feasibility evidence from a spike, while develop-adr captures the final architecture decision. Spikes inform decisions; ADRs formalize the chosen direction after the team commits.