[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71BCG5DS4ABYZEDA592ASA7":3,"skill-same:01M71BCG5DS4ABYZEDA592ASA7":62},{"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":18,"publishedAt":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":42,"repositoryHtmlUrl":43,"repositoryHomepageUrl":44,"ownerHtmlUrl":45,"ownerBlogUrl":46,"ownerDescription":6,"updatedAt":47,"install":48,"resources":61},"01M71BCG5DS4ABYZEDA592ASA7","github-create-branch",null,"Create a feature branch for a story, checking for conflicts first. Use when the user says 'create a branch', 'start a branch for story X', or 'create feature branch'.","superMLdev\u002Fsmart-sdlc","superMLdev","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F214327565?v=4","01M71B92B8VKCZZ0YCSNAJ9CB1","superML.dev","01M71B92BVCWP4F23ANQ0ZKF6S",8,"MIT","https:\u002F\u002Fgithub.com\u002FsuperMLdev\u002Fsmart-sdlc\u002Fblob\u002Fmaster\u002Fskills\u002Fintegrations\u002Fgithub\u002Fcreate-branch\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33],"github","create","create branch","branch","github create branch","start","first","user","use","Story","conflicts","feature","create feature","for","when","2026-11-10 10:12:30",false,"---\nname: github-create-branch\ndescription: \"Create a feature branch for a story, checking for conflicts first. Use when the user says 'create a branch', 'start a branch for story X', or 'create feature branch'.\"\n---\n\n# GitHub — Create Feature Branch\n\n## Goal\n\nCreate a feature branch for a story using the configured naming pattern. Always checks if a branch already exists first (conflict layer 2 check).\n\n---\n\n## Prerequisite Check\n\nCheck `integrations.github` in config. If missing: \"Run `github-connect` first.\"\n\n---\n\n## Step 1: Identify Story\n\nAsk: \"Which story is this branch for?\" (accept S-ID, JIRA key, or title)\n\nLoad the story and extract:\n- JIRA key: `{JIRA-KEY}`\n- Story title slug: lowercase, hyphens, max 40 chars\n\n---\n\n## Step 2: Compute Branch Name\n\nApply the configured branch pattern from config:\n\n```\nbranch_name = \"feature\u002F{JIRA-KEY}-{slug}\"\ne.g., \"feature\u002FPROJ-42-add-user-authentication\"\n```\n\n---\n\n## Step 3: Conflict Check — Branch Already Exists?\n\n```bash\ngit fetch --all --quiet\ngit branch -a | grep -i \"{branch_name}\"\n```\n\nIf found:\n> \"⚠️ Branch `{branch_name}` already exists. This means someone may have already started this story. Run `jira-conflict-detect` for a full check before proceeding.\"\n\n⏸️ **STOP** if conflict found. Ask: \"Are you sure you want to proceed anyway?\"\n\n---\n\n## Step 4: Create Branch\n\nEnsure we're on the default branch and up to date:\n```bash\ngit checkout {default_branch}\ngit pull origin {default_branch}\n```\n\nCreate the branch:\n```bash\ngit checkout -b {branch_name}\n```\n\nPush to remote:\n```bash\ngit push -u origin {branch_name}\n```\n\n---\n\n## Step 5: Update Local Story\n\nAdd to story frontmatter:\n```yaml\nbranch: \"{branch_name}\"\nbranch_created: \"{date}\"\nbranch_created_by: \"{user_name}\"\n```\n\n---\n\n## Completion\n\n> \"✅ Branch created: `{branch_name}`\n> Pushed to origin.\n>\n> You're now on `{branch_name}`. Ready to implement with `dev-story`.\"\n\nAsk: \"Would you like me to update the JIRA ticket to 'In Progress' as well?\"\n\nIf yes:\n```bash\ncurl -s -X POST \\\n  \"{jira_url}\u002Frest\u002Fapi\u002F3\u002Fissue\u002F{JIRA-KEY}\u002Ftransitions\" \\\n  -u \"{email}:{api_token}\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"transition\": {\"id\": \"21\"}}'\n```\n(Transition ID `21` is the standard \"In Progress\" transition. If it fails, list available transitions and ask user to pick.)\n","# GitHub — Create Feature Branch\n\n## Goal\n\nCreate a feature branch for a story using the configured naming pattern. Always checks if a branch already exists first (conflict layer 2 check).\n\n---\n\n## Prerequisite Check\n\nCheck `integrations.github` in config. If missing: \"Run `github-connect` first.\"\n\n---\n\n## Step 1: Identify Story\n\nAsk: \"Which story is this branch for?\" (accept S-ID, JIRA key, or title)\n\nLoad the story and extract:\n- JIRA key: `{JIRA-KEY}`\n- Story title slug: lowercase, hyphens, max 40 chars\n\n---\n\n## Step 2: Compute Branch Name\n\nApply the configured branch pattern from config:\n\n```\nbranch_name = \"feature\u002F{JIRA-KEY}-{slug}\"\ne.g., \"feature\u002FPROJ-42-add-user-authentication\"\n```\n\n---\n\n## Step 3: Conflict Check — Branch Already Exists?\n\n```bash\ngit fetch --all --quiet\ngit branch -a | grep -i \"{branch_name}\"\n```\n\nIf found:\n> \"⚠️ Branch `{branch_name}` already exists. This means someone may have already started this story. Run `jira-conflict-detect` for a full check before proceeding.\"\n\n⏸️ **STOP** if conflict found. Ask: \"Are you sure you want to proceed anyway?\"\n\n---\n\n## Step 4: Create Branch\n\nEnsure we're on the default branch and up to date:\n```bash\ngit checkout {default_branch}\ngit pull origin {default_branch}\n```\n\nCreate the branch:\n```bash\ngit checkout -b {branch_name}\n```\n\nPush to remote:\n```bash\ngit push -u origin {branch_name}\n```\n\n---\n\n## Step 5: Update Local Story\n\nAdd to story frontmatter:\n```yaml\nbranch: \"{branch_name}\"\nbranch_created: \"{date}\"\nbranch_created_by: \"{user_name}\"\n```\n\n---\n\n## Completion\n\n> \"✅ Branch created: `{branch_name}`\n> Pushed to origin.\n>\n> You're now on `{branch_name}`. Ready to implement with `dev-story`.\"\n\nAsk: \"Would you like me to update the JIRA ticket to 'In Progress' as well?\"\n\nIf yes:\n```bash\ncurl -s -X POST \\\n  \"{jira_url}\u002Frest\u002Fapi\u002F3\u002Fissue\u002F{JIRA-KEY}\u002Ftransitions\" \\\n  -u \"{email}:{api_token}\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"transition\": {\"id\": \"21\"}}'\n```\n(Transition ID `21` is the standard \"In Progress\" transition. If it fails, list available transitions and ask user to pick.)\n",{"name":5,"description":7},"master","86f9b15bf32a913d78f2dce364b9fe56e53ddf12","skills\u002Fintegrations\u002Fgithub\u002Fcreate-branch",1,"https:\u002F\u002Fgithub.com\u002FsuperMLdev\u002Fsmart-sdlc","https:\u002F\u002Fsupermldev.github.io\u002Fsmart-sdlc\u002F","https:\u002F\u002Fgithub.com\u002FsuperMLdev","https:\u002F\u002Fsuperml.dev","2026-05-12 11:55:28",{"source":8,"skillName":5,"commands":49,"prompt":59,"zipAvailable":60},[50,53,56],{"tool":51,"command":52},"npx","npx skills add superMLdev\u002Fsmart-sdlc --skill github-create-branch",{"tool":54,"command":55},"bunx","bunx skills add superMLdev\u002Fsmart-sdlc --skill github-create-branch",{"tool":57,"command":58},"pnpm","pnpm dlx skills add superMLdev\u002Fsmart-sdlc --skill github-create-branch","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FsuperMLdev\u002Fsmart-sdlc\u002Fblob\u002Fmaster\u002Fskills\u002Fintegrations\u002Fgithub\u002Fcreate-branch\u002FSKILL.md",true,[],[63,79,91,103,123,136],{"skillNo":64,"name":65,"nameZh":6,"description":66,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":67,"categories":68,"keywords":69,"publishedAt":34},"01M71BD2HCRX8SP34Y37NZGVX2","jira-sync","Bulk sync all epics and stories from the local backlog to JIRA. Use when the user says 'sync to JIRA', 'push everything to JIRA', or 'create all JIRA tickets'.","https:\u002F\u002Fgithub.com\u002FsuperMLdev\u002Fsmart-sdlc\u002Fblob\u002Fmaster\u002Fskills\u002Fintegrations\u002Fjira\u002Fsync\u002FSKILL.md",[],[70,71,72,26,73,74,75,76,27,33,77,20,78],"jira sync","jira","sync","bulk","push","backlog","local","stories","tickets",{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":85,"publishedAt":34},"01M71BD0C5A3A3J7WF4YCGJJPY","jira-create-story","Create a single story ticket in JIRA from a local story file. Use when the user says 'create this story in JIRA' or 'push story to JIRA'.","https:\u002F\u002Fgithub.com\u002FsuperMLdev\u002Fsmart-sdlc\u002Fblob\u002Fmaster\u002Fskills\u002Fintegrations\u002Fjira\u002Fcreate-story\u002FSKILL.md",[],[28,71,20,86,87,74,88,76,89,27,33,90,26],"create story","jira create story","ticket","single","file",{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":34},"01M71BCYVDM32DNS0XJAKTHRZ1","jira-create-epic","Create an epic in JIRA from a planning artifact. Use when the user says 'create this epic in JIRA' or 'push epic to JIRA'.","https:\u002F\u002Fgithub.com\u002FsuperMLdev\u002Fsmart-sdlc\u002Fblob\u002Fmaster\u002Fskills\u002Fintegrations\u002Fjira\u002Fcreate-epic\u002FSKILL.md",[],[20,98,71,99,100,26,33,27,101,74,102],"create epic","EPIC","jira create epic","planning","artifact",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":114,"publishedAt":34},"01M71BCWGYW8T1TD07JJ1G12G9","jira-connect","Set up and verify JIRA integration. Use when the user says 'connect to JIRA', 'set up JIRA', or 'configure JIRA'.","https:\u002F\u002Fgithub.com\u002FsuperMLdev\u002Fsmart-sdlc\u002Fblob\u002Fmaster\u002Fskills\u002Fintegrations\u002Fjira\u002Fconnect\u002FSKILL.md",[109],{"categoryNo":110,"categoryName":111,"taxonomyType":112,"taxonomyTypeDesc":113},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[115,71,116,117,118,27,33,119,120,121,122,26],"jira connect","connect","SET","up","configure","verify","jira integration","integration",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":129,"publishedAt":34},"01M71BCTZ1EW31JHP6AMBHEM9G","jira-conflict-detect","Check if a story is already being worked on by another team member. Use before starting any story implementation.","https:\u002F\u002Fgithub.com\u002FsuperMLdev\u002Fsmart-sdlc\u002Fblob\u002Fmaster\u002Fskills\u002Fintegrations\u002Fjira\u002Fconflict-detect\u002FSKILL.md",[],[130,71,131,132,133,27,134,135,28],"jira conflict detect","detect","conflict","check","team","implementation",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":142,"publishedAt":34},"01M71BCRX4ZHQ60DXGRAEECHB9","gitlab-create-mr","Create a GitLab Merge Request for the current story branch. Use when the user says 'create an MR', 'open a merge request', or 'ready for review' in a GitLab project.","https:\u002F\u002Fgithub.com\u002FsuperMLdev\u002Fsmart-sdlc\u002Fblob\u002Fmaster\u002Fskills\u002Fintegrations\u002Fgitlab\u002Fcreate-mr\u002FSKILL.md",[],[20,143,144,145,146,147,22,32,148,149,27,33,150,151,152,28,26],"mr","gitlab create mr","create mr","gitlab","ready","project","open","review","merge","request"]