[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MC35NKCS5FDN2QMJMENPSN":3,"skill-same:01M6MC35NKCS5FDN2QMJMENPSN":94},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":45,"linkOnly":46,"markdownContent":47,"markdownBody":48,"frontMatter":49,"refName":56,"commitSha":57,"skillDirectory":58,"forksCount":59,"repositoryHtmlUrl":60,"repositoryHomepageUrl":61,"ownerHtmlUrl":62,"ownerBlogUrl":63,"ownerDescription":64,"updatedAt":65,"install":66,"resources":79},"01M6MC35NKCS5FDN2QMJMENPSN","django-spike-despike-workflow",null,"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\u002Ftoken models, and dependency seams. Use when a Django feature was prototyped quickly and needs to be turned into production-quality tested code.","hashgraph-online\u002Fawesome-codex-plugins","hashgraph-online","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F160371962?v=4","01M6CNB6NRJVNNGN14TR01Q6D3","HOL (Hashgraph Online)","01M6JT1HSKKG9V68KQAQGBA7XP",1554,"MIT","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FLVTD-LLC\u002Fskills\u002Fskills\u002Fdjango-spike-despike-workflow\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"spike","workflow","django spike despike workflow","django","when","testing","flows","functional","de","feature","token","manage","rebuild","dependency","learning capture","branch","learning","email","code","auth","experiments","2026-11-10 10:12:30",false,"---\nname: django-spike-despike-workflow\ndescription: \"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\u002Ftoken models, and dependency seams. Use when a Django feature was prototyped quickly and needs to be turned into production-quality tested code.\"\nlicense: MIT\ncompatibility: Codex, Claude Code, and other Agent Skills-compatible clients.\nmetadata:\n  version: \"0.1.0\"\n  displayName: Django Spike De-Spike Workflow\n  category: Django\n  tags: django,tdd,spikes,auth,testing\n---\n\n# Django Spike De-Spike Workflow\n\nUse 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.\n\n## Source Traceability\n\nPrimary 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\u002Ftoken models, email flow tests, and introducing mocks only at external boundaries.\n\n## Workflow\n\n1. Label the spike.\n   - Identify what question it answered.\n   - Separate facts learned from code to keep.\n   - Save notes, screenshots, shell commands, or minimal examples if they matter.\n\n2. Write behavior from the spike.\n   - Convert the useful behavior into a functional or integration test.\n   - Keep the test user-facing when the spike proved a workflow.\n   - Add lower-level tests for token models, forms, views, or email boundaries.\n\n3. Revert or quarantine the spike.\n   - Revert the exploratory branch or isolate it from production code.\n   - Rebuild in small red\u002Fgreen\u002Frefactor steps.\n   - Keep commits narrow enough to review.\n\n4. Introduce seams deliberately.\n   - Use fakes or mocks only for external email\u002Fservice boundaries.\n   - Keep Django auth and model behavior real unless the test boundary says otherwise.\n\nRead [spike-despike-patterns.md](references\u002Fspike-despike-patterns.md) for branch discipline, auth-flow slicing, and de-spiking checklists.\n\n## Decision Rules\n\n- If the spike is mostly UI flow, start de-spiking from a functional test.\n- If the spike proved a model or token rule, write model tests before rebuilding views.\n- If the spike touched email, test the message boundary without hitting real email services.\n- If the spike changed authentication models, keep migration and compatibility risks explicit.\n- If the spike's code is messy but behavior is right, prefer rebuild over incremental cleanup.\n\n## Guardrails\n\n- Do not merge spike code just because it works once.\n- Do not preserve hardcoded secrets, magic tokens, or one-off settings from the spike.\n- Do not mock away Django authentication behavior when auth integration is the point.\n- Do not lose the learning when reverting the code.\n\n## Verification\n\nBefore finishing, report:\n\n- Spike question and learning.\n- Tests that capture intended behavior.\n- What spike code was reverted, discarded, or rebuilt.\n- External boundaries mocked or faked.\n- Focused Django test command and result.\n","# Django Spike De-Spike Workflow\n\nUse 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.\n\n## Source Traceability\n\nPrimary 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\u002Ftoken models, email flow tests, and introducing mocks only at external boundaries.\n\n## Workflow\n\n1. Label the spike.\n   - Identify what question it answered.\n   - Separate facts learned from code to keep.\n   - Save notes, screenshots, shell commands, or minimal examples if they matter.\n\n2. Write behavior from the spike.\n   - Convert the useful behavior into a functional or integration test.\n   - Keep the test user-facing when the spike proved a workflow.\n   - Add lower-level tests for token models, forms, views, or email boundaries.\n\n3. Revert or quarantine the spike.\n   - Revert the exploratory branch or isolate it from production code.\n   - Rebuild in small red\u002Fgreen\u002Frefactor steps.\n   - Keep commits narrow enough to review.\n\n4. Introduce seams deliberately.\n   - Use fakes or mocks only for external email\u002Fservice boundaries.\n   - Keep Django auth and model behavior real unless the test boundary says otherwise.\n\nRead [spike-despike-patterns.md](references\u002Fspike-despike-patterns.md) for branch discipline, auth-flow slicing, and de-spiking checklists.\n\n## Decision Rules\n\n- If the spike is mostly UI flow, start de-spiking from a functional test.\n- If the spike proved a model or token rule, write model tests before rebuilding views.\n- If the spike touched email, test the message boundary without hitting real email services.\n- If the spike changed authentication models, keep migration and compatibility risks explicit.\n- If the spike's code is messy but behavior is right, prefer rebuild over incremental cleanup.\n\n## Guardrails\n\n- Do not merge spike code just because it works once.\n- Do not preserve hardcoded secrets, magic tokens, or one-off settings from the spike.\n- Do not mock away Django authentication behavior when auth integration is the point.\n- Do not lose the learning when reverting the code.\n\n## Verification\n\nBefore finishing, report:\n\n- Spike question and learning.\n- Tests that capture intended behavior.\n- What spike code was reverted, discarded, or rebuilt.\n- External boundaries mocked or faked.\n- Focused Django test command and result.\n",{"name":5,"license":15,"metadata":50,"description":7,"compatibility":55},{"tags":51,"version":52,"category":53,"displayName":54},"django,tdd,spikes,auth,testing","0.1.0","Django","Django Spike De-Spike Workflow","Codex, Claude Code, and other Agent Skills-compatible clients.","main","2b63f856ce19c2a797929cacabd9e0fc936812fa","plugins\u002FLVTD-LLC\u002Fskills\u002Fskills\u002Fdjango-spike-despike-workflow",468,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins","https:\u002F\u002Fhol.org\u002Fplugins\u002Fbest-codex-plugins","https:\u002F\u002Fgithub.com\u002Fhashgraph-online","https:\u002F\u002Fhol.org","Open-source standards and developer tools for interoperable AI agents: discovery, identity, communication, payments, privacy and security.","2026-11-11 02:22:54",{"source":8,"skillName":5,"commands":67,"prompt":77,"zipAvailable":78},[68,71,74],{"tool":69,"command":70},"npx","npx skills add hashgraph-online\u002Fawesome-codex-plugins --skill django-spike-despike-workflow",{"tool":72,"command":73},"bunx","bunx skills add hashgraph-online\u002Fawesome-codex-plugins --skill django-spike-despike-workflow",{"tool":75,"command":76},"pnpm","pnpm dlx skills add hashgraph-online\u002Fawesome-codex-plugins --skill django-spike-despike-workflow","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FLVTD-LLC\u002Fskills\u002Fskills\u002Fdjango-spike-despike-workflow\u002FSKILL.md",true,[80,86,90],{"path":81,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":84,"sourceHtmlUrl":85},"agents\u002Fopenai.yaml","REFERENCE","参考文档",245,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FLVTD-LLC\u002Fskills\u002Fskills\u002Fdjango-spike-despike-workflow\u002Fagents\u002Fopenai.yaml",{"path":87,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":88,"sourceHtmlUrl":89},"evals\u002Fevals.json",840,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FLVTD-LLC\u002Fskills\u002Fskills\u002Fdjango-spike-despike-workflow\u002Fevals\u002Fevals.json",{"path":91,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Fspike-despike-patterns.md",1775,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FLVTD-LLC\u002Fskills\u002Fskills\u002Fdjango-spike-despike-workflow\u002Freferences\u002Fspike-despike-patterns.md",[95,122,147,177,198,211],{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":99,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":102,"publishedAt":45},"01M716A6ETNB9B1SQ3GXZC75VR","deja-search","deja-vu memory — search the user's past AI coding sessions with the deja CLI. Holds what they already settled and never wrote into the repo (naming rules, banned or already-tried tools, required checks before merge, preferred values, who owns what). Use before your first edit in a task, before you call a change done or ready to merge, before you recommend a tool, library, design or reviewer, before re-debugging an error that may already be solved, when they say 'didn't we fix this before', 'what did we decide about X' or 'I already have that', and before telling them something on this machine does not exist.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvshulcz\u002Fdeja-vu\u002Fskills\u002Fdeja-search\u002FSKILL.md",[],[103,104,105,106,107,108,109,110,111,112,113,28,114,115,116,117,118,119,120,121],"search","deja search","error","ready","never","memory","re","decide","fix","design","debugging","you","done","reviewer","io","change","cli","merge","past",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":99,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":128,"publishedAt":45},"01M716A3J2W5SENSE9VGMXB375","deja-reflect","End-of-session reflection and memory curation with deja-vu. Review what was decided, what commands broke and what repaired them, and record durable project rules or decisions with deja remember so the next session starts with them.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvshulcz\u002Fdeja-vu\u002Fskills\u002Fdeja-reflect\u002FSKILL.md",[],[129,130,131,132,108,133,134,135,136,137,138,139,140,117,141,142,143,144,145,146],"reflect","deja reflect","brew","remember","project rules","project","session","end","reflection","Rules","decisions","review","with","record","github","next","https","node",{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":99,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":160,"publishedAt":45},"01M715T3RR4BAYSR57HPPTJ0PF","revid","Make, edit, export and post AI videos with Revid (revid.ai) through the Revid MCP server. Use whenever the user wants a short-form or long-form video made (from an idea, a script, a URL, an article, a PDF, a tweet, a product page, their own clips, or a song), wants to find what is going viral on TikTok, YouTube, Instagram or X before making something, wants to edit or re-export an existing Revid project, generate a standalone AI image or clip, make a series episode, or publish and schedule a finished video to connected social accounts. Covers setup (hosted MCP with OAuth, or an API key), the 36 tools, credits, polling and the rules for publishing. Routes to the more specific revid-* skills when one fits.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Ftmakersas\u002Frevid-skills\u002Fskills\u002Frevid\u002FSKILL.md",[153,156,159],{"categoryNo":154,"categoryName":155,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":157,"categoryName":158,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[149,161,162,163,164,165,134,166,109,167,168,169,170,28,171,172,173,174,175,176],"Video","short-form","standalone","PDF","viral","tiktok","short","social","MCP","song","URL","image","mcp server","schedule","api","publish",{"skillNo":178,"name":179,"nameZh":6,"description":180,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":99,"licenseFileUrl":6,"sourceHtmlUrl":181,"categories":182,"keywords":183,"publishedAt":45},"01M71569ZM2X3H5RBFK8PVKMK2","review-study","Review a QuestionPunk survey before launch for wording, answer choices, branching, and missing settings. Use for check my survey or review this draft before publishing.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fquestionpunk\u002Fcodex-plugin\u002Fskills\u002Freview-study\u002FSKILL.md",[],[184,185,140,186,187,188,189,190,191,192,193,194,195,196,197],"study","review study","for","answer","missing","survey","publishing","use","check","draft","settings","launch","my","branching",{"skillNo":199,"name":200,"nameZh":6,"description":201,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":99,"licenseFileUrl":6,"sourceHtmlUrl":202,"categories":203,"keywords":204,"publishedAt":45},"01M71567GV0C35YQBY0DPGR86B","manage-study","Find QuestionPunk studies, check status, publish an explicitly requested draft, or retrieve its participant link. Use for find my survey, publish this study, or how many people responded.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fquestionpunk\u002Fcodex-plugin\u002Fskills\u002Fmanage-study\u002FSKILL.md",[],[205,184,35,186,189,191,206,192,193,176,207,208,209,210,196],"manage study","people","how","find","link","status",{"skillNo":212,"name":213,"nameZh":6,"description":214,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":99,"licenseFileUrl":6,"sourceHtmlUrl":215,"categories":216,"keywords":217,"publishedAt":45},"01M71565A8TCA01AZQZRGRYMFZ","create-study","Create a saved QuestionPunk survey draft from a research brief or edit specified questions. Use for requests such as make a customer feedback survey or shorten my onboarding study.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fquestionpunk\u002Fcodex-plugin\u002Fskills\u002Fcreate-study\u002FSKILL.md",[],[218,184,219,220,221,222,186,223,189,224,191,225,226,193,227,228,229,230,231,196],"create study","create","brief","as","feedback","customer feedback","research brief","shorten","saved","research","requests","customer","questions","edit"]