[{"data":1,"prerenderedAt":737},["ShallowReactive",2],{"navigation_docs":3,"-advanced-contributing":129,"-advanced-contributing-surround":732},[4,28,62,94,100,125],{"title":5,"path":6,"stem":7,"children":8,"order":11,"icon":27},"Getting Started","/getting-started","1.getting-started/index",[9,12,17,22],{"title":10,"path":6,"stem":7,"order":11},"What is Gangsta Agents?",1,{"title":13,"path":14,"stem":15,"order":16},"Installation","/getting-started/installation","1.getting-started/installation",2,{"title":18,"path":19,"stem":20,"order":21},"Quickstart — Your First Heist","/getting-started/quickstart","1.getting-started/quickstart",3,{"title":23,"path":24,"stem":25,"order":26},"The 1% Rule","/getting-started/the-1-percent-rule","1.getting-started/the-1-percent-rule",4,"i-lucide-rocket",{"title":29,"path":30,"stem":31,"children":32,"order":11,"icon":61},"Core Concepts","/core-concepts","2.core-concepts/index",[33,34,39,43,48,52,56],{"title":29,"path":30,"stem":31,"order":11},{"title":35,"path":36,"stem":37,"order":38},"Intent Routing","/core-concepts/intent-routing","2.core-concepts/intent-routing",5,{"title":40,"path":41,"stem":42,"order":26},"Omerta — The Five Laws","/core-concepts/omerta","2.core-concepts/omerta",{"title":44,"path":45,"stem":46,"order":47},"Spec-Driven Development","/core-concepts/spec-driven-dev","2.core-concepts/spec-driven-dev",7,{"title":49,"path":50,"stem":51,"order":16},"The Gangsta Agents Family Hierarchy","/core-concepts/the-borgata","2.core-concepts/the-borgata",{"title":53,"path":54,"stem":55,"order":21},"The Heist Pipeline","/core-concepts/the-heist","2.core-concepts/the-heist",{"title":57,"path":58,"stem":59,"order":60},"The Ledger","/core-concepts/the-ledger","2.core-concepts/the-ledger",6,"i-lucide-brain",{"title":63,"icon":64,"path":65,"stem":66,"children":67},"Heist Pipeline","i-lucide-workflow","/heist-pipeline","3.heist-pipeline",[68,70,74,78,82,86,90],{"title":53,"path":65,"stem":69,"order":11},"3.heist-pipeline/index",{"title":71,"path":72,"stem":73,"order":16},"Reconnaissance","/heist-pipeline/reconnaissance","3.heist-pipeline/1.reconnaissance",{"title":75,"path":76,"stem":77,"order":21},"The Grilling","/heist-pipeline/the-grilling","3.heist-pipeline/2.the-grilling",{"title":79,"path":80,"stem":81,"order":26},"The Sit-Down","/heist-pipeline/the-sit-down","3.heist-pipeline/3.the-sit-down",{"title":83,"path":84,"stem":85,"order":38},"Resource Development","/heist-pipeline/resource-development","3.heist-pipeline/4.resource-development",{"title":87,"path":88,"stem":89,"order":60},"Execution","/heist-pipeline/the-hit","3.heist-pipeline/5.the-hit",{"title":91,"path":92,"stem":93,"order":47},"The Delivery","/heist-pipeline/laundering","3.heist-pipeline/6.laundering",{"title":95,"path":96,"stem":97,"children":98},"Skills Reference","/skills","4.skills/index",[99],{"title":95,"path":96,"stem":97},{"title":101,"icon":102,"path":103,"stem":104,"children":105},"Advanced","i-lucide-zap","/advanced","5.advanced",[106,109,113,117,121],{"title":107,"path":103,"stem":108,"order":11},"Advanced Topics","5.advanced/index",{"title":110,"path":111,"stem":112,"order":26},"Checkpoint Recovery","/advanced/checkpoint-recovery","5.advanced/checkpoint-recovery",{"title":114,"path":115,"stem":116,"order":38},"Contributing","/advanced/contributing","5.advanced/contributing",{"title":118,"path":119,"stem":120,"order":16},"Writing Custom Skills","/advanced/custom-skills","5.advanced/custom-skills",{"title":122,"path":123,"stem":124,"order":21},"Multi-Agent Patterns","/advanced/multi-agent-patterns","5.advanced/multi-agent-patterns",{"title":126,"path":127,"stem":128,"order":60},"Glossary","/glossary","6.glossary",{"id":130,"title":114,"body":131,"description":725,"extension":726,"links":727,"meta":728,"navigation":729,"path":115,"seo":730,"stem":116,"__hash__":731},"docs/5.advanced/contributing.md",{"type":132,"value":133,"toc":710},"minimark",[134,138,142,147,176,180,185,232,236,252,256,259,456,460,463,513,517,520,528,532,557,561,583,590,616,620,623,655,659,662,676,679,683,706],[135,136,114],"h1",{"id":137},"contributing",[139,140,141],"p",{},"Gangsta is open source (MIT) and welcomes contributions — especially new skills that follow the established patterns.",[143,144,146],"h2",{"id":145},"what-you-can-contribute","What You Can Contribute",[148,149,150,158,164,170],"ul",{},[151,152,153,157],"li",{},[154,155,156],"strong",{},"New skills"," — Following the SKILL.md format",[151,159,160,163],{},[154,161,162],{},"Skill improvements"," — Enhancements to existing skills",[151,165,166,169],{},[154,167,168],{},"Documentation fixes"," — Corrections and clarifications",[151,171,172,175],{},[154,173,174],{},"Bug reports"," — Issues with skill behavior",[143,177,179],{"id":178},"creating-a-skill-for-contribution","Creating a Skill for Contribution",[181,182,184],"h3",{"id":183},"_1-fork-the-repository","1. Fork the Repository",[186,187,192],"pre",{"className":188,"code":189,"language":190,"meta":191,"style":191},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","git clone https://github.com/kucherenko/gangsta.git\ncd gangsta\ngit checkout -b my-new-skill\n","bash","",[193,194,195,210,219],"code",{"__ignoreMap":191},[196,197,199,203,207],"span",{"class":198,"line":11},"line",[196,200,202],{"class":201},"sBMFI","git",[196,204,206],{"class":205},"sfazB"," clone",[196,208,209],{"class":205}," https://github.com/kucherenko/gangsta.git\n",[196,211,212,216],{"class":198,"line":16},[196,213,215],{"class":214},"s2Zo4","cd",[196,217,218],{"class":205}," gangsta\n",[196,220,221,223,226,229],{"class":198,"line":21},[196,222,202],{"class":201},[196,224,225],{"class":205}," checkout",[196,227,228],{"class":205}," -b",[196,230,231],{"class":205}," my-new-skill\n",[181,233,235],{"id":234},"_2-create-the-skill-directory","2. Create the Skill Directory",[186,237,239],{"className":188,"code":238,"language":190,"meta":191,"style":191},"mkdir -p skills/my-new-skill\n",[193,240,241],{"__ignoreMap":191},[196,242,243,246,249],{"class":198,"line":11},[196,244,245],{"class":201},"mkdir",[196,247,248],{"class":205}," -p",[196,250,251],{"class":205}," skills/my-new-skill\n",[181,253,255],{"id":254},"_3-write-the-skillmd","3. Write the SKILL.md",[139,257,258],{},"Every skill must follow this structure:",[186,260,264],{"className":261,"code":262,"language":263,"meta":191,"style":191},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","---\nname: my-new-skill\ndescription: |\n  Clear description of what the skill does and when to invoke it.\n  This is what AI agents read to decide whether to use this skill.\ntype: flexible  # or: rigid\n---\n\n# My New Skill\n\n## When to Invoke\n\nSpecific conditions under which this skill should be activated.\n\n## Process\n\n1. Step one — describe what happens\n2. Step two — describe what happens next\n3. Step three — describe the output\n\n## Checklist Before Proceeding\n\n- [ ] Verification item one\n- [ ] Verification item two\n\n## Outputs\n\nWhat this skill produces when complete.\n","yaml",[193,265,266,271,283,294,299,304,318,322,329,335,340,346,351,357,362,368,373,379,385,391,396,402,407,422,434,439,445,450],{"__ignoreMap":191},[196,267,268],{"class":198,"line":11},[196,269,270],{"class":201},"---\n",[196,272,273,277,281],{"class":198,"line":16},[196,274,276],{"class":275},"swJcz","name",[196,278,280],{"class":279},"sMK4o",":",[196,282,231],{"class":205},[196,284,285,288,290],{"class":198,"line":21},[196,286,287],{"class":275},"description",[196,289,280],{"class":279},[196,291,293],{"class":292},"s7zQu"," |\n",[196,295,296],{"class":198,"line":26},[196,297,298],{"class":205},"  Clear description of what the skill does and when to invoke it.\n",[196,300,301],{"class":198,"line":38},[196,302,303],{"class":205},"  This is what AI agents read to decide whether to use this skill.\n",[196,305,306,309,311,314],{"class":198,"line":60},[196,307,308],{"class":275},"type",[196,310,280],{"class":279},[196,312,313],{"class":205}," flexible",[196,315,317],{"class":316},"sHwdD","  # or: rigid\n",[196,319,320],{"class":198,"line":47},[196,321,270],{"class":201},[196,323,325],{"class":198,"line":324},8,[196,326,328],{"emptyLinePlaceholder":327},true,"\n",[196,330,332],{"class":198,"line":331},9,[196,333,334],{"class":316},"# My New Skill\n",[196,336,338],{"class":198,"line":337},10,[196,339,328],{"emptyLinePlaceholder":327},[196,341,343],{"class":198,"line":342},11,[196,344,345],{"class":316},"## When to Invoke\n",[196,347,349],{"class":198,"line":348},12,[196,350,328],{"emptyLinePlaceholder":327},[196,352,354],{"class":198,"line":353},13,[196,355,356],{"class":205},"Specific conditions under which this skill should be activated.\n",[196,358,360],{"class":198,"line":359},14,[196,361,328],{"emptyLinePlaceholder":327},[196,363,365],{"class":198,"line":364},15,[196,366,367],{"class":316},"## Process\n",[196,369,371],{"class":198,"line":370},16,[196,372,328],{"emptyLinePlaceholder":327},[196,374,376],{"class":198,"line":375},17,[196,377,378],{"class":205},"1. Step one — describe what happens\n",[196,380,382],{"class":198,"line":381},18,[196,383,384],{"class":205},"2. Step two — describe what happens next\n",[196,386,388],{"class":198,"line":387},19,[196,389,390],{"class":205},"3. Step three — describe the output\n",[196,392,394],{"class":198,"line":393},20,[196,395,328],{"emptyLinePlaceholder":327},[196,397,399],{"class":198,"line":398},21,[196,400,401],{"class":316},"## Checklist Before Proceeding\n",[196,403,405],{"class":198,"line":404},22,[196,406,328],{"emptyLinePlaceholder":327},[196,408,410,413,416,419],{"class":198,"line":409},23,[196,411,412],{"class":279},"-",[196,414,415],{"class":279}," [",[196,417,418],{"class":279}," ]",[196,420,421],{"class":205}," Verification item one\n",[196,423,425,427,429,431],{"class":198,"line":424},24,[196,426,412],{"class":279},[196,428,415],{"class":279},[196,430,418],{"class":279},[196,432,433],{"class":205}," Verification item two\n",[196,435,437],{"class":198,"line":436},25,[196,438,328],{"emptyLinePlaceholder":327},[196,440,442],{"class":198,"line":441},26,[196,443,444],{"class":316},"## Outputs\n",[196,446,448],{"class":198,"line":447},27,[196,449,328],{"emptyLinePlaceholder":327},[196,451,453],{"class":198,"line":452},28,[196,454,455],{"class":205},"What this skill produces when complete.\n",[181,457,459],{"id":458},"_4-skill-quality-standards","4. Skill Quality Standards",[139,461,462],{},"Before submitting, ensure your skill:",[148,464,465,471,481,487,493,499],{},[151,466,467,470],{},[154,468,469],{},"Has a clear invocation trigger"," — When should the AI use this skill?",[151,472,473,476,477,480],{},[154,474,475],{},"Follows an existing pattern"," — Look at ",[193,478,479],{},"skills/reconnaissance/SKILL.md"," for reference",[151,482,483,486],{},[154,484,485],{},"Has a complete process"," — Every step is described, no gaps",[151,488,489,492],{},[154,490,491],{},"Includes a checklist"," — Phase gates need verification items",[151,494,495,498],{},[154,496,497],{},"Specifies output artifacts"," — What does the skill produce?",[151,500,501,504,505,508,509,512],{},[154,502,503],{},"Uses correct skill type"," — ",[193,506,507],{},"rigid"," for processes that must be followed exactly, ",[193,510,511],{},"flexible"," for adaptable ones",[181,514,516],{"id":515},"_5-subagent-prompts-optional","5. Subagent Prompts (Optional)",[139,518,519],{},"If your skill delegates work to subagents, include prompt files:",[186,521,526],{"className":522,"code":524,"language":525},[523],"language-text","skills/my-new-skill/\n├── SKILL.md\n├── planner-prompt.md\n└── executor-prompt.md\n","text",[193,527,524],{"__ignoreMap":191},[181,529,531],{"id":530},"_6-test-your-skill","6. Test Your Skill",[533,534,535,542,545,548,551,554],"ol",{},[151,536,537,538,541],{},"Install your skill locally (see ",[539,540,13],"a",{"href":14},")",[151,543,544],{},"Start a new session with your AI tool",[151,546,547],{},"Trigger the skill with an appropriate intent",[151,549,550],{},"Walk through the full process",[151,552,553],{},"Verify all checklist items are actionable",[151,555,556],{},"Confirm the expected outputs are produced",[143,558,560],{"id":559},"submitting-a-pr","Submitting a PR",[186,562,564],{"className":188,"code":563,"language":190,"meta":191,"style":191},"# Push your branch\ngit push origin my-new-skill\n",[193,565,566,571],{"__ignoreMap":191},[196,567,568],{"class":198,"line":11},[196,569,570],{"class":316},"# Push your branch\n",[196,572,573,575,578,581],{"class":198,"line":16},[196,574,202],{"class":201},[196,576,577],{"class":205}," push",[196,579,580],{"class":205}," origin",[196,582,231],{"class":205},[139,584,585,586,589],{},"Then open a Pull Request against ",[193,587,588],{},"kucherenko/gangsta"," with:",[533,591,592,598,604,610],{},[151,593,594,597],{},[154,595,596],{},"Description"," — What the skill does and why it's needed",[151,599,600,603],{},[154,601,602],{},"Skill type"," — Rigid or flexible, and why",[151,605,606,609],{},[154,607,608],{},"Testing"," — How you verified the skill works",[151,611,612,615],{},[154,613,614],{},"Pattern alignment"," — How it follows existing Gangsta conventions",[143,617,619],{"id":618},"pr-review-criteria","PR Review Criteria",[139,621,622],{},"Maintainers will review for:",[148,624,625,631,637,643,649],{},[151,626,627,630],{},[154,628,629],{},"Invocation clarity"," — Is the description specific enough for AI agents?",[151,632,633,636],{},[154,634,635],{},"Process completeness"," — Are all steps actionable?",[151,638,639,642],{},[154,640,641],{},"Omerta compliance"," — Does it follow the Five Laws?",[151,644,645,648],{},[154,646,647],{},"Consistency"," — Does it match the tone and style of existing skills?",[151,650,651,654],{},[154,652,653],{},"No code"," — Skills are Markdown, not code",[143,656,658],{"id":657},"code-of-conduct","Code of Conduct",[139,660,661],{},"Gangsta uses the mafia metaphor as a playful organizational framework. Contributions should:",[148,663,664,667,670,673],{},[151,665,666],{},"Maintain the metaphor consistently",[151,668,669],{},"Be respectful and inclusive",[151,671,672],{},"Focus on structured, disciplined development processes",[151,674,675],{},"Not glorify actual criminal activity",[139,677,678],{},"The metaphor exists to make structured development memorable and engaging. Keep it fun, keep it professional.",[143,680,682],{"id":681},"getting-help","Getting Help",[148,684,685,696],{},[151,686,687,504,690],{},[154,688,689],{},"GitHub Issues",[539,691,695],{"href":692,"rel":693},"https://github.com/kucherenko/gangsta/issues",[694],"nofollow","github.com/kucherenko/gangsta/issues",[151,697,698,504,701],{},[154,699,700],{},"Discussions",[539,702,705],{"href":703,"rel":704},"https://github.com/kucherenko/gangsta/discussions",[694],"github.com/kucherenko/gangsta/discussions",[707,708,709],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}",{"title":191,"searchDepth":16,"depth":16,"links":711},[712,713,721,722,723,724],{"id":145,"depth":16,"text":146},{"id":178,"depth":16,"text":179,"children":714},[715,716,717,718,719,720],{"id":183,"depth":21,"text":184},{"id":234,"depth":21,"text":235},{"id":254,"depth":21,"text":255},{"id":458,"depth":21,"text":459},{"id":515,"depth":21,"text":516},{"id":530,"depth":21,"text":531},{"id":559,"depth":16,"text":560},{"id":618,"depth":16,"text":619},{"id":657,"depth":16,"text":658},{"id":681,"depth":16,"text":682},"How to contribute skills to the Gangsta framework.","md",null,{},{"order":38},{"title":114,"description":725},"KjOyaGSW71xcxl1oo3BstnbH02YFgO6rIsYKoP4jgP0",[733,735],{"title":110,"path":111,"stem":112,"description":734,"order":26,"children":-1},"How to resume interrupted Heists from checkpoint files.",{"title":118,"path":119,"stem":120,"description":736,"order":16,"children":-1},"Create your own Gangsta skills using the SKILL.md format and register them with your AI tool.",1776673363026]