[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71PZ5T4MXC8XAPBFE5N4YDC":3,"skill-same:01M71PZ5T4MXC8XAPBFE5N4YDC":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":23,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":14,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":50,"install":51,"resources":63},"01M71PZ5T4MXC8XAPBFE5N4YDC","migrate-to-skills",null,"Convert 'Applied intelligently' Cursor rules (.cursor\u002Frules\u002F*.mdc) and slash commands (.cursor\u002Fcommands\u002F*.md) to Agent Skills format (.cursor\u002Fskills\u002F). Use when you want to migrate rules or commands to skills, convert .mdc rules to SKILL.md format, or consolidate commands into the skills directory.","wesley642\u002Falfasoft-laravel-project","wesley642","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F71295745?v=4","01M71PWXVFCFK6GWHQN4X9W1MY","Wesley Alves","01M71PWXWP4XWGWYTK6SVSB8Y6",0,"MIT","https:\u002F\u002Fgithub.com\u002Fwesley642\u002Falfasoft-laravel-project\u002Fblob\u002Fmain\u002F.cursor\u002Fskills-cursor\u002Fmigrate-to-skills\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],"migrate to skills","migrate","cursor","directory","format","commands","slash commands","true","cursor rules","use","Rules","when","you","convert","consolidate","2026-11-10 13:02:02",false,"---\nname: migrate-to-skills\ndescription: >-\n  Convert 'Applied intelligently' Cursor rules (.cursor\u002Frules\u002F*.mdc) and slash\n  commands (.cursor\u002Fcommands\u002F*.md) to Agent Skills format (.cursor\u002Fskills\u002F). Use\n  when you want to migrate rules or commands to skills, convert .mdc rules to\n  SKILL.md format, or consolidate commands into the skills directory.\ndisable-model-invocation: true\n---\n# Migrate Rules and Slash Commands to Skills\n\nConvert Cursor rules (\"Applied intelligently\") and slash commands to Agent Skills format.\n\n**CRITICAL: Preserve the exact body content. Do not modify, reformat, or \"improve\" it - copy verbatim.**\n\n## Locations\n\n| Level | Source | Destination |\n|-------|--------|-------------|\n| Project | `{workspaceFolder}\u002F**\u002F.cursor\u002Frules\u002F*.mdc`, `{workspaceFolder}\u002F.cursor\u002Fcommands\u002F*.md` |\n| User | `~\u002F.cursor\u002Fcommands\u002F*.md` |\n\nNotes:\n- Cursor rules inside the project can live in nested directories. Be thorough in your search and use glob patterns to find them.\n- Ignore anything in ~\u002F.cursor\u002Fworktrees\n- Ignore anything in ~\u002F.cursor\u002Fskills-cursor. This is reserved for Cursor's internal built-in skills and is managed automatically by the system.\n\n## Finding Files to Migrate\n\n**Rules**: Migrate if rule has a `description` but NO `globs` and NO `alwaysApply: true`.\n\n**Commands**: Migrate all - they're plain markdown without frontmatter.\n\n## Conversion Format\n\n### Rules: .mdc → SKILL.md\n\n```markdown\n# Before: .cursor\u002Frules\u002Fmy-rule.mdc\n---\ndescription: What this rule does\nglobs:\nalwaysApply: false\n---\n# Title\nBody content...\n```\n\n```markdown\n# After: .cursor\u002Fskills\u002Fmy-rule\u002FSKILL.md\n---\nname: my-rule\ndescription: What this rule does\n---\n# Title\nBody content...\n```\n\nChanges: Add `name` field, remove `globs`\u002F`alwaysApply`, keep body exactly.\n\n### Commands: .md → SKILL.md\n\n```markdown\n# Before: .cursor\u002Fcommands\u002Fcommit.md\n# Commit current work\nInstructions here...\n```\n\n```markdown\n# After: .cursor\u002Fskills\u002Fcommit\u002FSKILL.md\n---\nname: commit\ndescription: Commit current work with standardized message format\ndisable-model-invocation: true\n---\n# Commit current work\nInstructions here...\n```\n\nChanges: Add frontmatter with `name` (from filename), `description` (infer from content), and `disable-model-invocation: true`, keep body exactly.\n\n**Note:** The `disable-model-invocation: true` field prevents the model from automatically invoking this skill. Slash commands are designed to be explicitly triggered by the user via the `\u002F` menu, not automatically suggested by the model.\n\n## Notes\n\n- `name` must be lowercase with hyphens only\n- `description` is critical for skill discovery\n- Optionally delete originals after verifying migration works\n\n### Migrate a Rule (.mdc → SKILL.md)\n\n1. Read the rule file\n2. Extract the `description` from the frontmatter\n3. Extract the body content (everything after the closing `---` of the frontmatter)\n4. Create the skill directory: `.cursor\u002Fskills\u002F{skill-name}\u002F` (skill name = filename without .mdc)\n5. Write `SKILL.md` with new frontmatter (`name` and `description`) + the EXACT original body content (preserve all whitespace, formatting, code blocks verbatim)\n6. Delete the original rule file\n\n### Migrate a Command (.md → SKILL.md)\n\n1. Read the command file\n2. Extract description from the first heading (remove `#` prefix)\n3. Create the skill directory: `.cursor\u002Fskills\u002F{skill-name}\u002F` (skill name = filename without .md)\n4. Write `SKILL.md` with new frontmatter (`name`, `description`, and `disable-model-invocation: true`) + blank line + the EXACT original file content (preserve all whitespace, formatting, code blocks verbatim)\n5. Delete the original command file\n\n**CRITICAL: Copy the body content character-for-character. Do not reformat, fix typos, or \"improve\" anything.**\n\n## Workflow\n\nIf you have the Task tool available:\nDO NOT start to read all of the files yourself. That function should be delegated to the subagents. Your job is to dispatch the subagents for each category of files and wait for the results.\n\n1. [ ] Create the skills directories if they don't exist (`.cursor\u002Fskills\u002F` for project, `~\u002F.cursor\u002Fskills\u002F` for user)\n2. Dispatch three fast general purpose subagents (NOT explore) in parallel to do the following steps for project rules (pattern: `{workspaceFolder}\u002F**\u002F.cursor\u002Frules\u002F*.mdc`), user commands (pattern: `~\u002F.cursor\u002Fcommands\u002F*.md`), and project commands (pattern: `{workspaceFolder}\u002F**\u002F.cursor\u002Fcommands\u002F*.md`):\n  I. [ ] Find files to migrate in the given pattern\n  II. [ ] For rules, check if it's an \"applied intelligently\" rule (has `description`, no `globs`, no `alwaysApply: true`). Commands are always migrated. DO NOT use the terminal to read files. Use the read tool.\n  III. [ ] Make a list of files to migrate. If empty, done.\n  IV. [ ] For each file, read it, then write the new skill file preserving the body content EXACTLY. DO NOT use the terminal to write these files. Use the edit tool.\n  V. [ ] Delete the original file. DO NOT use the terminal to delete these files. Use the delete tool.\n  VI. [ ] Return a list of all the skill files that were migrated along with the original file paths.\n3. [ ] Wait for all subagents to complete and summarize the results to the user. IMPORTANT: Make sure to let them know if they want to undo the migration, to ask you to.\n4. [ ] If the user asks you to undo the migration, do the opposite of the above steps to restore the original files.\n\n\nIf you don't have the Task tool available:\n1. [ ] Create the skills directories if they don't exist (`.cursor\u002Fskills\u002F` for project, `~\u002F.cursor\u002Fskills\u002F` for user)\n2. [ ] Find files to migrate in both project (`.cursor\u002F`) and user (`~\u002F.cursor\u002F`) directories\n3. [ ] For rules, check if it's an \"applied intelligently\" rule (has `description`, no `globs`, no `alwaysApply: true`). Commands are always migrated. DO NOT use the terminal to read files. Use the read tool.\n4. [ ] Make a list of files to migrate. If empty, done.\n5. [ ] For each file, read it, then write the new skill file preserving the body content EXACTLY. DO NOT use the terminal to write these files. Use the edit tool.\n6. [ ] Delete the original file. DO NOT use the terminal to delete these files. Use the delete tool.\n7. [ ] Summarize the results to the user. IMPORTANT: Make sure to let them know if they want to undo the migration, to ask you to.\n8. [ ] If the user asks you to undo the migration, do the opposite of the above steps to restore the original files.\n","# Migrate Rules and Slash Commands to Skills\n\nConvert Cursor rules (\"Applied intelligently\") and slash commands to Agent Skills format.\n\n**CRITICAL: Preserve the exact body content. Do not modify, reformat, or \"improve\" it - copy verbatim.**\n\n## Locations\n\n| Level | Source | Destination |\n|-------|--------|-------------|\n| Project | `{workspaceFolder}\u002F**\u002F.cursor\u002Frules\u002F*.mdc`, `{workspaceFolder}\u002F.cursor\u002Fcommands\u002F*.md` |\n| User | `~\u002F.cursor\u002Fcommands\u002F*.md` |\n\nNotes:\n- Cursor rules inside the project can live in nested directories. Be thorough in your search and use glob patterns to find them.\n- Ignore anything in ~\u002F.cursor\u002Fworktrees\n- Ignore anything in ~\u002F.cursor\u002Fskills-cursor. This is reserved for Cursor's internal built-in skills and is managed automatically by the system.\n\n## Finding Files to Migrate\n\n**Rules**: Migrate if rule has a `description` but NO `globs` and NO `alwaysApply: true`.\n\n**Commands**: Migrate all - they're plain markdown without frontmatter.\n\n## Conversion Format\n\n### Rules: .mdc → SKILL.md\n\n```markdown\n# Before: .cursor\u002Frules\u002Fmy-rule.mdc\n---\ndescription: What this rule does\nglobs:\nalwaysApply: false\n---\n# Title\nBody content...\n```\n\n```markdown\n# After: .cursor\u002Fskills\u002Fmy-rule\u002FSKILL.md\n---\nname: my-rule\ndescription: What this rule does\n---\n# Title\nBody content...\n```\n\nChanges: Add `name` field, remove `globs`\u002F`alwaysApply`, keep body exactly.\n\n### Commands: .md → SKILL.md\n\n```markdown\n# Before: .cursor\u002Fcommands\u002Fcommit.md\n# Commit current work\nInstructions here...\n```\n\n```markdown\n# After: .cursor\u002Fskills\u002Fcommit\u002FSKILL.md\n---\nname: commit\ndescription: Commit current work with standardized message format\ndisable-model-invocation: true\n---\n# Commit current work\nInstructions here...\n```\n\nChanges: Add frontmatter with `name` (from filename), `description` (infer from content), and `disable-model-invocation: true`, keep body exactly.\n\n**Note:** The `disable-model-invocation: true` field prevents the model from automatically invoking this skill. Slash commands are designed to be explicitly triggered by the user via the `\u002F` menu, not automatically suggested by the model.\n\n## Notes\n\n- `name` must be lowercase with hyphens only\n- `description` is critical for skill discovery\n- Optionally delete originals after verifying migration works\n\n### Migrate a Rule (.mdc → SKILL.md)\n\n1. Read the rule file\n2. Extract the `description` from the frontmatter\n3. Extract the body content (everything after the closing `---` of the frontmatter)\n4. Create the skill directory: `.cursor\u002Fskills\u002F{skill-name}\u002F` (skill name = filename without .mdc)\n5. Write `SKILL.md` with new frontmatter (`name` and `description`) + the EXACT original body content (preserve all whitespace, formatting, code blocks verbatim)\n6. Delete the original rule file\n\n### Migrate a Command (.md → SKILL.md)\n\n1. Read the command file\n2. Extract description from the first heading (remove `#` prefix)\n3. Create the skill directory: `.cursor\u002Fskills\u002F{skill-name}\u002F` (skill name = filename without .md)\n4. Write `SKILL.md` with new frontmatter (`name`, `description`, and `disable-model-invocation: true`) + blank line + the EXACT original file content (preserve all whitespace, formatting, code blocks verbatim)\n5. Delete the original command file\n\n**CRITICAL: Copy the body content character-for-character. Do not reformat, fix typos, or \"improve\" anything.**\n\n## Workflow\n\nIf you have the Task tool available:\nDO NOT start to read all of the files yourself. That function should be delegated to the subagents. Your job is to dispatch the subagents for each category of files and wait for the results.\n\n1. [ ] Create the skills directories if they don't exist (`.cursor\u002Fskills\u002F` for project, `~\u002F.cursor\u002Fskills\u002F` for user)\n2. Dispatch three fast general purpose subagents (NOT explore) in parallel to do the following steps for project rules (pattern: `{workspaceFolder}\u002F**\u002F.cursor\u002Frules\u002F*.mdc`), user commands (pattern: `~\u002F.cursor\u002Fcommands\u002F*.md`), and project commands (pattern: `{workspaceFolder}\u002F**\u002F.cursor\u002Fcommands\u002F*.md`):\n  I. [ ] Find files to migrate in the given pattern\n  II. [ ] For rules, check if it's an \"applied intelligently\" rule (has `description`, no `globs`, no `alwaysApply: true`). Commands are always migrated. DO NOT use the terminal to read files. Use the read tool.\n  III. [ ] Make a list of files to migrate. If empty, done.\n  IV. [ ] For each file, read it, then write the new skill file preserving the body content EXACTLY. DO NOT use the terminal to write these files. Use the edit tool.\n  V. [ ] Delete the original file. DO NOT use the terminal to delete these files. Use the delete tool.\n  VI. [ ] Return a list of all the skill files that were migrated along with the original file paths.\n3. [ ] Wait for all subagents to complete and summarize the results to the user. IMPORTANT: Make sure to let them know if they want to undo the migration, to ask you to.\n4. [ ] If the user asks you to undo the migration, do the opposite of the above steps to restore the original files.\n\n\nIf you don't have the Task tool available:\n1. [ ] Create the skills directories if they don't exist (`.cursor\u002Fskills\u002F` for project, `~\u002F.cursor\u002Fskills\u002F` for user)\n2. [ ] Find files to migrate in both project (`.cursor\u002F`) and user (`~\u002F.cursor\u002F`) directories\n3. [ ] For rules, check if it's an \"applied intelligently\" rule (has `description`, no `globs`, no `alwaysApply: true`). Commands are always migrated. DO NOT use the terminal to read files. Use the read tool.\n4. [ ] Make a list of files to migrate. If empty, done.\n5. [ ] For each file, read it, then write the new skill file preserving the body content EXACTLY. DO NOT use the terminal to write these files. Use the edit tool.\n6. [ ] Delete the original file. DO NOT use the terminal to delete these files. Use the delete tool.\n7. [ ] Summarize the results to the user. IMPORTANT: Make sure to let them know if they want to undo the migration, to ask you to.\n8. [ ] If the user asks you to undo the migration, do the opposite of the above steps to restore the original files.\n",{"name":5,"description":7,"disable-model-invocation":44},true,"main","f5f59d33ce4a06096dc1dfc82006092f26105d58",".cursor\u002Fskills-cursor\u002Fmigrate-to-skills","https:\u002F\u002Fgithub.com\u002Fwesley642\u002Falfasoft-laravel-project","https:\u002F\u002Fgithub.com\u002Fwesley642","2026-04-29 10:53:16",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":44},[53,56,59],{"tool":54,"command":55},"npx","npx skills add wesley642\u002Falfasoft-laravel-project --skill migrate-to-skills",{"tool":57,"command":58},"bunx","bunx skills add wesley642\u002Falfasoft-laravel-project --skill migrate-to-skills",{"tool":60,"command":61},"pnpm","pnpm dlx skills add wesley642\u002Falfasoft-laravel-project --skill migrate-to-skills","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fwesley642\u002Falfasoft-laravel-project\u002Fblob\u002Fmain\u002F.cursor\u002Fskills-cursor\u002Fmigrate-to-skills\u002FSKILL.md",[],[65,87,107,125,141,157],{"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":39},"01M71PZJ1F0F16RAZKR1TV6RDR","update-cursor-settings","Modify Cursor\u002FVSCode user settings in settings.json. Use when you want to change editor settings, preferences, configuration, themes, font size, tab size, format on save, auto save, keybindings, or any settings.json values.","https:\u002F\u002Fgithub.com\u002Fwesley642\u002Falfasoft-laravel-project\u002Fblob\u002Fmain\u002F.cursor\u002Fskills-cursor\u002Fupdate-cursor-settings\u002FSKILL.md",[],[72,26,73,74,75,76,77,78,79,33,35,36,80,81,82,83,84,85,28,86],"update cursor settings","update","settings","modify","settings.json","themes","auto","preferences","vscode","change","size","values","editor","json","configuration",{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":39},"01M71PZF72MMYJ8P3JTYT1BT5S","update-cli-config","View and modify Cursor CLI configuration settings in ~\u002F.cursor\u002Fcli-config.json. Use when the user wants to change CLI settings, configure permissions, switch approval mode, enable vim mode, toggle display options, configure sandbox, or manage any CLI preferences.","https:\u002F\u002Fgithub.com\u002Fwesley642\u002Falfasoft-laravel-project\u002Fblob\u002Fmain\u002F.cursor\u002Fskills-cursor\u002Fupdate-cli-config\u002FSKILL.md",[],[94,95,73,96,75,97,98,99,100,101,102,79,33,35,103,104,105,81,106,26],"update cli config","cli","config","view","switch","manage","vim","mode","sandbox","configure","display","permissions","options",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":39},"01M71PZCHV520K4S5SRRS4YMNG","statusline","Configure a custom status line in the CLI. Use when the user mentions status line, statusline, statusLine, CLI status bar, prompt footer customization, or wants to add session context above the prompt.","https:\u002F\u002Fgithub.com\u002Fwesley642\u002Falfasoft-laravel-project\u002Fblob\u002Fmain\u002F.cursor\u002Fskills-cursor\u002Fstatusline\u002FSKILL.md",[],[109,114,115,116,33,117,35,103,95,118,119,120,121,122,123,124],"session","session context","custom","prompt","line","customization","status","bar","add","user","context",{"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":39},"01M71PZANGE28K36HJ7VJTE5NT","split-to-prs","Split current work into small reviewable PRs. Use when the user asks to split a chat, set of changes, branch, or PR.","https:\u002F\u002Fgithub.com\u002Fwesley642\u002Falfasoft-laravel-project\u002Fblob\u002Fmain\u002F.cursor\u002Fskills-cursor\u002Fsplit-to-prs\u002FSKILL.md",[],[132,133,134,135,136,137,138,139,140,33,35,123],"split to prs","prs","split","chat","SET","branch","work","changes","pr",{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":147,"publishedAt":39},"01M71PZ8ZMR9G4PJF4EH6MX3EV","shell","Runs the rest of a \u002Fshell request as a literal shell command. Use only when the user explicitly invokes \u002Fshell and wants the following text executed directly in the terminal.","https:\u002F\u002Fgithub.com\u002Fwesley642\u002Falfasoft-laravel-project\u002Fblob\u002Fmain\u002F.cursor\u002Fskills-cursor\u002Fshell\u002FSKILL.md",[],[143,148,149,150,151,152,153,154,31,155,33,35,123,156],"text","as","REST","command","terminal","request","Literal","only","shell command",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":163,"publishedAt":39},"01M71PZ3D8E7T1KHXJ0B44C3KC","cursor-blame","Investigate how code was built with AI. Reveals which conversations produced the code, why it was implemented a certain way, what alternatives were considered, and the intent behind decisions. Use when the user asks about history, evolution, or authorship of code.","https:\u002F\u002Fgithub.com\u002Fwesley642\u002Falfasoft-laravel-project\u002Fblob\u002Fmain\u002F.cursor\u002Fskills-cursor\u002Fcursor-blame\u002FSKILL.md",[],[164,26,165,166,167,168,169,170,171,172,173,174,31,175,33,35,176,177,178,123],"cursor blame","with","investigate","which","history","intent","conversations","how","why","alternatives","about","evolution","decisions","code","it"]