[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71BC46AKNMAFGXG2F2V8729":3,"skill-same:01M71BC46AKNMAFGXG2F2V8729":76},{"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":26,"publishedAt":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":56,"repositoryHtmlUrl":57,"repositoryHomepageUrl":58,"ownerHtmlUrl":59,"ownerBlogUrl":60,"ownerDescription":6,"updatedAt":61,"install":62,"resources":75},"01M71BC46AKNMAFGXG2F2V8729","company-knowledge-fetch",null,"Fetch internal company documentation, framework examples, or platform guidelines into the current AI context. Use when the user says 'fetch company docs', 'load framework docs', 'get examples from internal docs', 'show me the Spring Boot platform docs', or 'use company knowledge'.","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\u002Fcompany-knowledge\u002Ffetch\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"company","knowledge","company knowledge fetch","fetch","context","api catalog","source","design-system","component","me","documentation","api","show me","when","design","spring boot","auth","ai context","get","show","2026-11-10 10:12:30",false,"---\nname: company-knowledge-fetch\ndescription: \"Fetch internal company documentation, framework examples, or platform guidelines into the current AI context. Use when the user says 'fetch company docs', 'load framework docs', 'get examples from internal docs', 'show me the Spring Boot platform docs', or 'use company knowledge'.\"\nargument-hint: \"optional: source key or topic — e.g. 'spring-platform', 'design-system auth component', 'internal API catalog'\"\n---\n\n# Company Knowledge — Fetch Into Context\n\n## Goal\n\nPull documentation, examples, or guidelines from a registered company knowledge source into the current conversation so you can reason over it, generate code from it, or answer questions about it.\n\n---\n\n## Step 1: Read Config Silently\n\nRead `#file:_superml\u002Fconfig.yml` silently.\n\nCheck for `company_knowledge.sources[]`. If the array is empty or missing:\n> \"No company knowledge sources are registered yet.\n> Run `company-knowledge-connect` to add your first source.\"\n\n---\n\n## Step 2: Identify the Source\n\nIf the user specified a source key or topic in the argument, match it against `company_knowledge.sources[].key` or `company_knowledge.sources[].name`.\n\nIf no argument was given, or no match found, show the available sources:\n\n```\nAvailable company knowledge sources:\n\n  {i}. {display_name}  [{key}]\n       {description}\n       Access: {url | mcp}\n\nWhich source would you like to fetch? (enter number or key)\n```\n\n⏸️ **STOP** — wait for the user to select a source.\n\n---\n\n## Step 3: Fetch Based on Access Type\n\nRead `sources[selected].access.type`.\n\n### If `type: url`\n\n**A. Ask what to fetch** (if the user hasn't already specified a topic):\n\n> \"What would you like to fetch from {display_name}?\n> (e.g., 'getting started', 'security module', 'auth annotations', 'all examples', or leave blank to load the root endpoint)\"\n\n**B. Construct the URL**\n\nUse `access.base_url` plus any query params or path segments from the user's topic. Apply the `notes` hint if present (e.g., append `?format=markdown`).\n\n**C. Fetch the content**\n\n```bash\ncurl -s {auth_flags} \"{constructed_url}\"\n```\n\nWhere `{auth_flags}` depends on `access.auth.type`:\n- `none` → no flags\n- `bearer` → `-H \"Authorization: Bearer {token}\"`\n- `basic` → `-u \"{username}:{password}\"`\n- `header` → `-H \"{header_name}: {header_value}\"`\n\n**D. Format for context**\n\n- If `response_format: json` → parse and summarise key fields, then quote full JSON\n- If `response_format: markdown` → render as Markdown\n- If `response_format: html` → extract text (strip tags), render as plain text\n- If `response_format: text` → render as-is\n\nIf the response is large (>200 lines), summarise the top-level structure first, then ask:\n> \"This source is {n} lines long. Should I load it all, or focus on a specific section?\"\n\n### If `type: mcp`\n\n**A. Ask what to fetch** (if not specified):\n\n> \"What would you like to know from {display_name}?\n> (e.g., 'show examples for auth module', 'list available components', 'how to use {ComponentName}')\"\n\n**B. Use MCP tool calls**\n\nAddress the server using its `server_name` from config. Example prompts to use (adapt based on user's question):\n\n- `@{server_name} get documentation for {topic}`\n- `@{server_name} show examples for {topic}`\n- `@{server_name} list available modules`\n- `@{server_name} search {topic}`\n\nIf the MCP server name is unknown or the tools aren't responding, suggest:\n> \"Check that `{server_name}` is listed in `.vscode\u002Fmcp.json` and the server is running.\n> You can verify with `@{server_name} help`.\"\n\n---\n\n## Step 4: Summarise What Was Loaded\n\nAfter fetching, briefly summarise what is now in context:\n\n```\n📚 Loaded: {display_name}\n   Source: {url or mcp:server_name}\n   Topic: {fetched_topic_or_root}\n   Content: {n} lines \u002F {n} sections \u002F {brief description}\n\nYou can now ask questions about this content, generate code based on it,\nor reference it in other skills. For example:\n  - \"Generate a Spring Boot service using the platform starter pattern\"\n  - \"What annotations does the internal security module provide?\"\n  - \"Show me an example of {framework_concept} from these docs\"\n```\n\n---\n\n## Step 5: Offer Next Actions\n\nSuggest what the user can do with the loaded knowledge:\n\n> \"What would you like to do with this?\n> 1. Generate code following these conventions\n> 2. Answer a question about this content\n> 3. Compare this with the existing codebase\n> 4. Add examples to a story or architecture doc\n> 5. Fetch a different topic from the same source\"\n\nProceed with whichever the user selects, or free-form if they ask directly.\n\n---\n\n## Notes for AI\n\n- When using URL sources, never log or display Bearer tokens or passwords — only show the constructed URL with auth headers redacted (e.g., `Authorization: Bearer ***`).\n- When content is proprietary (marked with `internal` or `confidential` in the response), do not paste it verbatim into git-tracked files. Use it only for AI reasoning in the current session.\n- If a URL returns an error (4xx\u002F5xx), show the status code, suggest checking auth config, and offer to re-run `company-knowledge-connect` to update credentials.\n","# Company Knowledge — Fetch Into Context\n\n## Goal\n\nPull documentation, examples, or guidelines from a registered company knowledge source into the current conversation so you can reason over it, generate code from it, or answer questions about it.\n\n---\n\n## Step 1: Read Config Silently\n\nRead `#file:_superml\u002Fconfig.yml` silently.\n\nCheck for `company_knowledge.sources[]`. If the array is empty or missing:\n> \"No company knowledge sources are registered yet.\n> Run `company-knowledge-connect` to add your first source.\"\n\n---\n\n## Step 2: Identify the Source\n\nIf the user specified a source key or topic in the argument, match it against `company_knowledge.sources[].key` or `company_knowledge.sources[].name`.\n\nIf no argument was given, or no match found, show the available sources:\n\n```\nAvailable company knowledge sources:\n\n  {i}. {display_name}  [{key}]\n       {description}\n       Access: {url | mcp}\n\nWhich source would you like to fetch? (enter number or key)\n```\n\n⏸️ **STOP** — wait for the user to select a source.\n\n---\n\n## Step 3: Fetch Based on Access Type\n\nRead `sources[selected].access.type`.\n\n### If `type: url`\n\n**A. Ask what to fetch** (if the user hasn't already specified a topic):\n\n> \"What would you like to fetch from {display_name}?\n> (e.g., 'getting started', 'security module', 'auth annotations', 'all examples', or leave blank to load the root endpoint)\"\n\n**B. Construct the URL**\n\nUse `access.base_url` plus any query params or path segments from the user's topic. Apply the `notes` hint if present (e.g., append `?format=markdown`).\n\n**C. Fetch the content**\n\n```bash\ncurl -s {auth_flags} \"{constructed_url}\"\n```\n\nWhere `{auth_flags}` depends on `access.auth.type`:\n- `none` → no flags\n- `bearer` → `-H \"Authorization: Bearer {token}\"`\n- `basic` → `-u \"{username}:{password}\"`\n- `header` → `-H \"{header_name}: {header_value}\"`\n\n**D. Format for context**\n\n- If `response_format: json` → parse and summarise key fields, then quote full JSON\n- If `response_format: markdown` → render as Markdown\n- If `response_format: html` → extract text (strip tags), render as plain text\n- If `response_format: text` → render as-is\n\nIf the response is large (>200 lines), summarise the top-level structure first, then ask:\n> \"This source is {n} lines long. Should I load it all, or focus on a specific section?\"\n\n### If `type: mcp`\n\n**A. Ask what to fetch** (if not specified):\n\n> \"What would you like to know from {display_name}?\n> (e.g., 'show examples for auth module', 'list available components', 'how to use {ComponentName}')\"\n\n**B. Use MCP tool calls**\n\nAddress the server using its `server_name` from config. Example prompts to use (adapt based on user's question):\n\n- `@{server_name} get documentation for {topic}`\n- `@{server_name} show examples for {topic}`\n- `@{server_name} list available modules`\n- `@{server_name} search {topic}`\n\nIf the MCP server name is unknown or the tools aren't responding, suggest:\n> \"Check that `{server_name}` is listed in `.vscode\u002Fmcp.json` and the server is running.\n> You can verify with `@{server_name} help`.\"\n\n---\n\n## Step 4: Summarise What Was Loaded\n\nAfter fetching, briefly summarise what is now in context:\n\n```\n📚 Loaded: {display_name}\n   Source: {url or mcp:server_name}\n   Topic: {fetched_topic_or_root}\n   Content: {n} lines \u002F {n} sections \u002F {brief description}\n\nYou can now ask questions about this content, generate code based on it,\nor reference it in other skills. For example:\n  - \"Generate a Spring Boot service using the platform starter pattern\"\n  - \"What annotations does the internal security module provide?\"\n  - \"Show me an example of {framework_concept} from these docs\"\n```\n\n---\n\n## Step 5: Offer Next Actions\n\nSuggest what the user can do with the loaded knowledge:\n\n> \"What would you like to do with this?\n> 1. Generate code following these conventions\n> 2. Answer a question about this content\n> 3. Compare this with the existing codebase\n> 4. Add examples to a story or architecture doc\n> 5. Fetch a different topic from the same source\"\n\nProceed with whichever the user selects, or free-form if they ask directly.\n\n---\n\n## Notes for AI\n\n- When using URL sources, never log or display Bearer tokens or passwords — only show the constructed URL with auth headers redacted (e.g., `Authorization: Bearer ***`).\n- When content is proprietary (marked with `internal` or `confidential` in the response), do not paste it verbatim into git-tracked files. Use it only for AI reasoning in the current session.\n- If a URL returns an error (4xx\u002F5xx), show the status code, suggest checking auth config, and offer to re-run `company-knowledge-connect` to update credentials.\n",{"name":5,"description":7,"argument-hint":52},"optional: source key or topic — e.g. 'spring-platform', 'design-system auth component', 'internal API catalog'","master","86f9b15bf32a913d78f2dce364b9fe56e53ddf12","skills\u002Fintegrations\u002Fcompany-knowledge\u002Ffetch",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":63,"prompt":73,"zipAvailable":74},[64,67,70],{"tool":65,"command":66},"npx","npx skills add superMLdev\u002Fsmart-sdlc --skill company-knowledge-fetch",{"tool":68,"command":69},"bunx","bunx skills add superMLdev\u002Fsmart-sdlc --skill company-knowledge-fetch",{"tool":71,"command":72},"pnpm","pnpm dlx skills add superMLdev\u002Fsmart-sdlc --skill company-knowledge-fetch","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FsuperMLdev\u002Fsmart-sdlc\u002Fblob\u002Fmaster\u002Fskills\u002Fintegrations\u002Fcompany-knowledge\u002Ffetch\u002FSKILL.md",true,[],[77,96,109,121,137,150],{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":83,"publishedAt":47},"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",[],[84,85,86,87,88,89,90,91,92,40,93,94,95],"jira sync","jira","sync","user","bulk","push","backlog","local","use","stories","create","tickets",{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":102,"publishedAt":47},"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",[],[103,85,94,104,105,89,106,91,107,92,40,108,87],"Story","create story","jira create story","ticket","single","file",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":47},"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",[],[94,116,85,117,118,87,40,92,119,89,120],"create epic","EPIC","jira create epic","planning","artifact",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":128,"publishedAt":47},"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",[127],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[129,85,130,131,132,92,40,133,134,135,136,87],"jira connect","connect","SET","up","configure","verify","jira integration","integration",{"skillNo":138,"name":139,"nameZh":6,"description":140,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":143,"publishedAt":47},"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",[],[144,85,145,146,147,92,148,149,103],"jira conflict detect","detect","conflict","check","team","implementation",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":156,"publishedAt":47},"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",[],[94,157,158,159,160,161,162,163,164,165,92,40,166,167,168,103,87],"mr","gitlab create mr","create mr","gitlab","ready","branch","for","project","open","review","merge","request"]