[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71BCRX4ZHQ60DXGRAEECHB9":3,"skill-same:01M71BCRX4ZHQ60DXGRAEECHB9":64},{"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":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":41,"commitSha":42,"skillDirectory":43,"forksCount":44,"repositoryHtmlUrl":45,"repositoryHomepageUrl":46,"ownerHtmlUrl":47,"ownerBlogUrl":48,"ownerDescription":6,"updatedAt":49,"install":50,"resources":63},"01M71BCRX4ZHQ60DXGRAEECHB9","gitlab-create-mr",null,"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.","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\u002Fgitlab\u002Fcreate-mr\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"create","gitlab","create mr","gitlab create mr","mr","user","Story","request","merge","review","when","use","open","project","for","branch","ready","2026-11-10 10:12:30",false,"---\nname: gitlab-create-mr\ndescription: \"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.\"\n---\n\n# GitLab — Create Merge Request\n\n## Goal\n\nCreate a well-structured GitLab Merge Request that links to the issue, summarises the story, lists verified acceptance criteria, and assigns the correct reviewer.\n\n---\n\n## Prerequisite Check\n\nCheck `integrations.gitlab` in `_superml\u002Fconfig.yml`. If missing: \"Run `gitlab-connect` first.\"\n\nCheck current branch:\n```bash\ngit branch --show-current\n```\n\nEnsure it's a feature branch (not `main` or `develop`).\n\n---\n\n## Step 1: Load Story Context\n\nExtract from current branch name or ask:\n- GitLab issue number: `{issue_id}` (if tracked)\n- Story S-ID: `{S-ID}`\n\nLoad story file from `{implementation_artifacts}\u002Fstories\u002FS-{id}-*.md`.\n\n---\n\n## Step 2: Pre-MR Checks\n\n```bash\ngit status\ngit log origin\u002F{default_branch}..HEAD --oneline\n```\n\nWarn if there are uncommitted changes or no commits ahead of default branch.\n\n---\n\n## Step 3: Build MR Description\n\n```markdown\n## Summary\n{story_title}\n\nCloses #{issue_id}\n\n## What changed\n{brief_description}\n\n## Acceptance Criteria Verified\n- [x] AC-1: {description}\n- [x] AC-2: {description}\n\n## Test Notes\n{testing_approach}\n\n## Screenshots \u002F Evidence\n{if_applicable}\n```\n\n---\n\n## Step 4: Create Merge Request\n\n```bash\nglab mr create \\\n  --title \"{story_title}\" \\\n  --description \"{mr_description}\" \\\n  --source-branch \"{feature_branch}\" \\\n  --target-branch \"{default_branch}\" \\\n  --assignee \"{your_username}\" \\\n  --no-editor\n```\n\nOr via API:\n```bash\nglab api -X POST \"projects\u002F:fullpath\u002Fmerge_requests\" \\\n  -F \"source_branch={feature_branch}\" \\\n  -F \"target_branch={default_branch}\" \\\n  -F \"title={story_title}\" \\\n  -F \"description={mr_description}\" \\\n  -F \"remove_source_branch=true\"\n```\n\n---\n\n## Step 5: Update Story File\n\n```yaml\ngitlab_mr_id: {mr_id}\ngitlab_mr_url: \"{mr_url}\"\n```\n\n---\n\n## Done\n\n> ✅ MR created: {mr_url}\n>\n> Assign reviewers and set the ready-for-review label before requesting review.\n","# GitLab — Create Merge Request\n\n## Goal\n\nCreate a well-structured GitLab Merge Request that links to the issue, summarises the story, lists verified acceptance criteria, and assigns the correct reviewer.\n\n---\n\n## Prerequisite Check\n\nCheck `integrations.gitlab` in `_superml\u002Fconfig.yml`. If missing: \"Run `gitlab-connect` first.\"\n\nCheck current branch:\n```bash\ngit branch --show-current\n```\n\nEnsure it's a feature branch (not `main` or `develop`).\n\n---\n\n## Step 1: Load Story Context\n\nExtract from current branch name or ask:\n- GitLab issue number: `{issue_id}` (if tracked)\n- Story S-ID: `{S-ID}`\n\nLoad story file from `{implementation_artifacts}\u002Fstories\u002FS-{id}-*.md`.\n\n---\n\n## Step 2: Pre-MR Checks\n\n```bash\ngit status\ngit log origin\u002F{default_branch}..HEAD --oneline\n```\n\nWarn if there are uncommitted changes or no commits ahead of default branch.\n\n---\n\n## Step 3: Build MR Description\n\n```markdown\n## Summary\n{story_title}\n\nCloses #{issue_id}\n\n## What changed\n{brief_description}\n\n## Acceptance Criteria Verified\n- [x] AC-1: {description}\n- [x] AC-2: {description}\n\n## Test Notes\n{testing_approach}\n\n## Screenshots \u002F Evidence\n{if_applicable}\n```\n\n---\n\n## Step 4: Create Merge Request\n\n```bash\nglab mr create \\\n  --title \"{story_title}\" \\\n  --description \"{mr_description}\" \\\n  --source-branch \"{feature_branch}\" \\\n  --target-branch \"{default_branch}\" \\\n  --assignee \"{your_username}\" \\\n  --no-editor\n```\n\nOr via API:\n```bash\nglab api -X POST \"projects\u002F:fullpath\u002Fmerge_requests\" \\\n  -F \"source_branch={feature_branch}\" \\\n  -F \"target_branch={default_branch}\" \\\n  -F \"title={story_title}\" \\\n  -F \"description={mr_description}\" \\\n  -F \"remove_source_branch=true\"\n```\n\n---\n\n## Step 5: Update Story File\n\n```yaml\ngitlab_mr_id: {mr_id}\ngitlab_mr_url: \"{mr_url}\"\n```\n\n---\n\n## Done\n\n> ✅ MR created: {mr_url}\n>\n> Assign reviewers and set the ready-for-review label before requesting review.\n",{"name":5,"description":7},"master","86f9b15bf32a913d78f2dce364b9fe56e53ddf12","skills\u002Fintegrations\u002Fgitlab\u002Fcreate-mr",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":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add superMLdev\u002Fsmart-sdlc --skill gitlab-create-mr",{"tool":56,"command":57},"bunx","bunx skills add superMLdev\u002Fsmart-sdlc --skill gitlab-create-mr",{"tool":59,"command":60},"pnpm","pnpm dlx skills add superMLdev\u002Fsmart-sdlc --skill gitlab-create-mr","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FsuperMLdev\u002Fsmart-sdlc\u002Fblob\u002Fmaster\u002Fskills\u002Fintegrations\u002Fgitlab\u002Fcreate-mr\u002FSKILL.md",true,[],[65,81,93,105,125,138],{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":71,"publishedAt":36},"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",[],[72,73,74,75,76,77,78,30,29,79,19,80,24],"jira sync","jira","sync","bulk","push","backlog","local","stories","tickets",{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":87,"publishedAt":36},"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",[],[88,89,19,73,25,76,29,30,90,78,91,92,24],"jira create story","create story","single","ticket","file",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":36},"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",[],[19,100,73,101,102,29,76,103,104,30,24],"create epic","EPIC","jira create epic","artifact","planning",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":116,"publishedAt":36},"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",[111],{"categoryNo":112,"categoryName":113,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[117,73,118,119,120,121,30,29,122,123,124,24],"connect","jira connect","integration","SET","up","configure","verify","jira integration",{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":131,"publishedAt":36},"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",[],[132,73,133,134,30,135,136,137,25],"jira conflict detect","detect","conflict","team","check","implementation",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":144,"publishedAt":36},"01M71BCPMJN6SJZN3B0M11PA53","gitlab-create-branch","Create a GitLab feature branch for a story. Use when the user says 'create a branch', 'start a branch for story X', or 'create feature branch' in a GitLab project.","https:\u002F\u002Fgithub.com\u002FsuperMLdev\u002Fsmart-sdlc\u002Fblob\u002Fmaster\u002Fskills\u002Fintegrations\u002Fgitlab\u002Fcreate-branch\u002FSKILL.md",[],[145,20,19,146,34,32,147,33,30,24,25,148,149,29],"create branch","gitlab create branch","feature","start","create feature"]