Manage Django spikes and de-spiking with tests: branch experiments, exploratory code, learning capture, functional tests against spiked behavior, revert-and-rebuild, custom auth flows, email/token models, and dependency seams.
SkillScore91Maintained
Automatic
◆Coding pack
Last verified 8/15/2026
What it changes
Passed 21 of 23 test cases with the skill, and 17 of 23 without it.
Without skill74%
With skill91%
Checks it passed that the model alone missed
Directs labeling the spike by identifying the answered question.
Advises writing model tests before building views or production code.
Directs placing fakes or mocks strictly at the external API boundary.
and 3 more in the full report
4 fixed17 passed either way2 still failing0 broke
Pass-rate lift
+17 pp
Tokens
-16%
Agent turns
0%
Response time
-39%
Model gemini-3.6-flashMeasured 8/15/2026v121 of 23 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 4 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 4
Prompt
We just finished a 2-day exploratory coding session in Django to figure out how to parse CSV imports asynchronously. Before writing any tests or code, what is the first task in the de-spiking workflow?
What was checked, without and with the skill
Checked
Without skill
With skill
Directs labeling the spike by identifying the answered question.
Missed
Passed
case-12 · gemini-3.6-flash · 8/15/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md55 lines2 files
Django Spike De-Spike Workflow
Use this skill when exploratory Django code has answered a question but is not yet fit to keep. Preserve the learning, throw away accidental design, and rebuild the feature with tests that express the real behavior.
Source Traceability
Primary source: Harry Percival, Test-Driven Development with Python, 3rd ed. Guidance is transformed and paraphrased from chapters 19 and 20, especially passwordless authentication, branch-based spikes, de-spiking, custom user/token models, email flow tests, and introducing mocks only at external boundaries.
Workflow
Label the spike.
Identify what question it answered.
Separate facts learned from code to keep.
Save notes, screenshots, shell commands, or minimal examples if they matter.
Write behavior from the spike.
Convert the useful behavior into a functional or integration test.
Keep the test user-facing when the spike proved a workflow.
Add lower-level tests for token models, forms, views, or email boundaries.
Revert or quarantine the spike.
Revert the exploratory branch or isolate it from production code.
Rebuild in small red/green/refactor steps.
Keep commits narrow enough to review.
Introduce seams deliberately.
Use fakes or mocks only for external email/service boundaries.
Keep Django auth and model behavior real unless the test boundary says otherwise.
Read spike-despike-patterns.md for branch discipline, auth-flow slicing, and de-spiking checklists.
Decision Rules
If the spike is mostly UI flow, start de-spiking from a functional test.
If the spike proved a model or token rule, write model tests before rebuilding views.
If the spike touched email, test the message boundary without hitting real email services.
If the spike changed authentication models, keep migration and compatibility risks explicit.
If the spike's code is messy but behavior is right, prefer rebuild over incremental cleanup.