[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C5G3EX1GA1S5YNDXMSPHXF":3,"skill-same:01M6C5G3EX1GA1S5YNDXMSPHXF":119},{"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":45,"linkOnly":46,"markdownContent":47,"markdownBody":48,"frontMatter":49,"refName":55,"commitSha":56,"skillDirectory":57,"forksCount":58,"repositoryHtmlUrl":59,"repositoryHomepageUrl":6,"ownerHtmlUrl":60,"ownerBlogUrl":6,"ownerDescription":61,"updatedAt":62,"install":63,"resources":76},"01M6C5G3EX1GA1S5YNDXMSPHXF","blueprint-upgrade",null,"Upgrade blueprint structure to the latest format version. Use when migrating between format versions, enabling monorepo workspaces, or batch upgrading repos.","laurigates\u002Fclaude-plugins","laurigates","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F13014001?v=4","01M6C59YHWS9C7KMXKSRX1YXNP","Lauri Gates","01M6C59YP2APG9YAM4DWYQYGFJ",60,"MIT","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fblueprint-plugin\u002Fskills\u002Fblueprint-upgrade\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,39,40,41,42,43,44],"upgrade","Blueprint","blueprint upgrade","version","2026","when","latest","2025","structure","wed","workspaces","repos","use","interactive","edit","write","read","monorepo","format","Bash","batch","2026-11-10 10:12:30",false,"---\ncreated: 2025-12-17\nmodified: 2026-11-06\nreviewed: 2026-05-09\ndescription: Upgrade blueprint structure to the latest format version. Use when migrating between format versions, enabling monorepo workspaces, or batch upgrading repos.\nargs: \"[--non-interactive|-y]\"\nargument-hint: \"[--non-interactive|-y]\"\nallowed-tools: Read, Write, Edit, Bash, Glob, AskUserQuestion\nname: blueprint-upgrade\n---\n\nUpgrade the blueprint structure to the latest format version.\n\n## When to Use This Skill\n\n| Use this skill when... | Use blueprint-init instead when... |\n|---|---|\n| The project has a manifest at v1.x, v2.x, v3.0, v3.1, or v3.2 | The project has no `docs\u002Fblueprint\u002Fmanifest.json` at all |\n| You want the user-facing upgrade entry point with prompts | Use blueprint-migration instead when implementing version-specific logic |\n| You're adding the v3.2 task registry or v3.3 monorepo workspaces | Use blueprint-execute instead when you want auto-detection of next step |\n| You're running batch upgrades across repos with `--non-interactive`\u002F`-y` | Use blueprint-status instead to first audit current version |\n\n**Current Format Version**: 3.4.0\n\nThis command delegates version-specific migration logic to the `blueprint-migration` skill.\n\n## Parameters\n\nParse `$ARGUMENTS` for flags before running any step:\n\n- `--non-interactive`, `--yes`, `-y`: Skip every `AskUserQuestion` prompt and apply the defaults in [references\u002Fnon-interactive-defaults.md](references\u002Fnon-interactive-defaults.md). Intended for batch runs across many repos.\n\nSet an internal `$NONINTERACTIVE` flag to `true` when any of those tokens appear in `$ARGUMENTS`; otherwise `false`. Reference this flag at every `AskUserQuestion` call site in the Execution steps.\n\nWhen `$NONINTERACTIVE` is `true`, never discard user-edited content: the v2.x → v3.0 modification-preservation prompt defaults to **\"Keep modifications\"**, never \"Cancel migration\". If a migration step would require a prompt that the defaults file does not list, **abort the upgrade** with a clear message rather than guessing. The caller can re-run interactively for those repos.\n\n## Execution\n\nExecute this upgrade workflow. Step numbers are stable: the reference files and the non-interactive defaults cite them.\n\n### Step 1: Check current state\n\nRun the snippet in Step 2. It resolves `$MANIFEST` (if no manifest exists, suggest `\u002Fblueprint:init` instead) and reads the current `format_version`, defaulting to \"1.0.0\" when the field is missing.\n\n### Step 2: Determine upgrade path\n\n```bash\n# Resolve manifest path once — use $MANIFEST in all subsequent jq commands.\n# Same order as blueprint-plugin\u002Fscripts\u002Fget-validation-config.sh.\nif [[ -f docs\u002Fblueprint\u002Fmanifest.json ]]; then\n  MANIFEST=docs\u002Fblueprint\u002Fmanifest.json        # v3.0+ canonical (what \u002Fblueprint:init writes)\nelif [[ -f docs\u002Fblueprint\u002F.manifest.json ]]; then\n  MANIFEST=docs\u002Fblueprint\u002F.manifest.json       # v3.0 dot-prefixed variant from early migrations\nelif [[ -f .claude\u002Fblueprints\u002F.manifest.json ]]; then  # v1.x\u002Fv2.x location\n  MANIFEST=.claude\u002Fblueprints\u002F.manifest.json\nelse\n  echo \"ERROR: no blueprint manifest found. Run \u002Fblueprint:init first.\"\n  exit 1\nfi\ncurrent=$(jq -r '.format_version \u002F\u002F \"1.0.0\"' \"$MANIFEST\")\ntarget=\"3.4.0\"\n```\n\n**Important**: Use the resolved `$MANIFEST` in every `jq` call here and in delegated migration steps — a hard-coded filename fails silently.\n\n**Version compatibility matrix**:\n\n| From Version | To Version | Migration Document |\n|--------------|------------|-------------------|\n| 1.0.x        | 1.1.x      | `migrations\u002Fv1.0-to-v1.1.md` |\n| 1.x.x        | 2.0.0      | `migrations\u002Fv1.x-to-v2.0.md` |\n| 2.x.x        | 3.0.0      | `migrations\u002Fv2.x-to-v3.0.md` |\n| 3.0.x        | 3.1.0      | `migrations\u002Fv3.0-to-v3.1.md` |\n| 3.1.x        | 3.2.0      | inline (Step 3a) |\n| 3.2.x        | 3.3.0      | `migrations\u002Fv3.2-to-v3.3.md` |\n| 3.3.x        | 3.4.0      | `migrations\u002Fv3.3-to-v3.4.md` |\n| 3.4.0        | 3.4.0      | Already up to date |\n\n### Step 3: Check for deprecated generated commands\n\nDetect skills\u002Fcommands left by the deprecated `\u002Fblueprint:generate-commands` and offer to remove them (auto-\"Yes\" when `$NONINTERACTIVE`) per [references\u002Fdeprecated-commands.md](references\u002Fdeprecated-commands.md). If none are found, continue to Step 4.\n\n### Step 3a: v3.1 → v3.2 migration — add task registry\n\nIf `task_registry` is missing: ask the scheduling question (\"Prompt before running\" when `$NONINTERACTIVE`), add the registry, and bump `format_version` to 3.2.0 per [references\u002Fv3.1-to-v3.2-task-registry.md](references\u002Fv3.1-to-v3.2-task-registry.md).\n\n### Step 3b: v3.2 → v3.3 migration — monorepo support\n\nDelegate to `skills\u002Fblueprint-migration\u002Fmigrations\u002Fv3.2-to-v3.3.md` (summary: [references\u002Fv3.2-to-v3.3-summary.md](references\u002Fv3.2-to-v3.3-summary.md)).\n\n### Step 3c: v3.3 → v3.4 migration — automation block (autonomy levels)\n\nDelegate to `skills\u002Fblueprint-migration\u002Fmigrations\u002Fv3.3-to-v3.4.md` (summary: [references\u002Fv3.3-to-v3.4-summary.md](references\u002Fv3.3-to-v3.4-summary.md)). In `$NONINTERACTIVE` mode take the suggested `autonomy_level`, never higher.\n\n### Step 3d: Re-key `generated.rules` lacking `.md` (any version, #2868)\n\nDry-run only; nothing is written before Step 5:\n\n```bash\nbash \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fmigrate-generated-rules-keys.sh\" --manifest \"$MANIFEST\" --dry-run\n```\n\nList its `ISSUES:` in the Step 4 plan; Step 6 applies it.\n\n### Step 4: Display upgrade plan\n\nPrint the upgrade plan in [references\u002Fupgrade-plan.md](references\u002Fupgrade-plan.md).\n\n### Step 5: Confirm with user\n\nIf `$NONINTERACTIVE` is `true`, skip this confirmation and proceed directly to Step 6.\n\nOtherwise, use AskUserQuestion:\n\n```\nquestion: \"Ready to upgrade blueprint from v{current} to v3.4.0?\"\noptions:\n  - \"Yes, upgrade now\" → proceed\n  - \"Show detailed migration steps\" → display migration document\n  - \"Create backup first\" → run git stash or backup then proceed\n  - \"Cancel\" → exit\n```\n\n### Step 6: Load and execute migration document\n\n- Read the appropriate migration document from `blueprint-migration` skill\n- For v1.x → v2.0: Load `migrations\u002Fv1.x-to-v2.0.md` (overview: Step 7)\n- For v2.x → v3.0: Load `migrations\u002Fv2.x-to-v3.0.md` (overview: Step 8)\n- For v3.0 → v3.1: Load `migrations\u002Fv3.0-to-v3.1.md`\n- For v3.1 → v3.2: Execute Step 3a\n- For v3.2 → v3.3: Load `migrations\u002Fv3.2-to-v3.3.md` (see Step 3b summary)\n- For v3.3 → v3.4: Load `migrations\u002Fv3.3-to-v3.4.md` (see Step 3c summary)\n- If Step 3d reported findings: re-run its command without `--dry-run`; report `MIGRATED=` and `ISSUES:` in Step 10\n- Execute each step with user confirmation for destructive operations\n\n### Step 7: v1.x → v2.0 migration overview (from migration document)\n\nSub-steps a–g, including the 7f\u002F7g prompts and their `$NONINTERACTIVE` defaults, are in [references\u002Fv1.x-to-v2.0-overview.md](references\u002Fv1.x-to-v2.0-overview.md).\n\n### Step 8: v2.x → v3.0 migration overview (from migration document)\n\nSub-steps a–f are in [references\u002Fv2.x-to-v3.0-overview.md](references\u002Fv2.x-to-v3.0-overview.md).\n\n### Step 9: Update manifest (v3.0.0 schema)\n\nWrite the manifest using the v3.0.0 schema template in [REFERENCE.md](REFERENCE.md). Preserve `created_at`, `project.name`, `project.type`, `structure.has_modular_rules`, and `structure.claude_md_mode` from the previous manifest. Set `updated_at` to now, `created_by.blueprint_plugin` to the plugin version (`jq -r .version \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002F.claude-plugin\u002Fplugin.json\"`, never the format version, issue #2950), and `generated.rules` from the migrated skills→rules conversion.\n\n### Step 10: Report\n\nPrint the upgrade report using the standard template in [REFERENCE.md](REFERENCE.md), substituting `{previous}` with the prior `format_version` and `{n}` placeholders with the actual counts.\n\n### Step 11: Prompt for next action\n\nIf `$NONINTERACTIVE` is `true`, skip this prompt entirely — print the report from Step 10 and return. The batch caller owns follow-up (status checks, commits, etc.).\n\nOtherwise, ask with the prompt in [references\u002Fnext-action-prompt.md](references\u002Fnext-action-prompt.md), and act on the selection as that file maps it.\n\n### After any version bump: verify, or roll back\n\n**Post-migration assertion**: after any version bump, run the `format_version` check in [REFERENCE.md](REFERENCE.md#post-migration-assertion). **Rollback**: if the upgrade fails, follow [REFERENCE.md](REFERENCE.md#rollback).\n","Upgrade the blueprint structure to the latest format version.\n\n## When to Use This Skill\n\n| Use this skill when... | Use blueprint-init instead when... |\n|---|---|\n| The project has a manifest at v1.x, v2.x, v3.0, v3.1, or v3.2 | The project has no `docs\u002Fblueprint\u002Fmanifest.json` at all |\n| You want the user-facing upgrade entry point with prompts | Use blueprint-migration instead when implementing version-specific logic |\n| You're adding the v3.2 task registry or v3.3 monorepo workspaces | Use blueprint-execute instead when you want auto-detection of next step |\n| You're running batch upgrades across repos with `--non-interactive`\u002F`-y` | Use blueprint-status instead to first audit current version |\n\n**Current Format Version**: 3.4.0\n\nThis command delegates version-specific migration logic to the `blueprint-migration` skill.\n\n## Parameters\n\nParse `$ARGUMENTS` for flags before running any step:\n\n- `--non-interactive`, `--yes`, `-y`: Skip every `AskUserQuestion` prompt and apply the defaults in [references\u002Fnon-interactive-defaults.md](references\u002Fnon-interactive-defaults.md). Intended for batch runs across many repos.\n\nSet an internal `$NONINTERACTIVE` flag to `true` when any of those tokens appear in `$ARGUMENTS`; otherwise `false`. Reference this flag at every `AskUserQuestion` call site in the Execution steps.\n\nWhen `$NONINTERACTIVE` is `true`, never discard user-edited content: the v2.x → v3.0 modification-preservation prompt defaults to **\"Keep modifications\"**, never \"Cancel migration\". If a migration step would require a prompt that the defaults file does not list, **abort the upgrade** with a clear message rather than guessing. The caller can re-run interactively for those repos.\n\n## Execution\n\nExecute this upgrade workflow. Step numbers are stable: the reference files and the non-interactive defaults cite them.\n\n### Step 1: Check current state\n\nRun the snippet in Step 2. It resolves `$MANIFEST` (if no manifest exists, suggest `\u002Fblueprint:init` instead) and reads the current `format_version`, defaulting to \"1.0.0\" when the field is missing.\n\n### Step 2: Determine upgrade path\n\n```bash\n# Resolve manifest path once — use $MANIFEST in all subsequent jq commands.\n# Same order as blueprint-plugin\u002Fscripts\u002Fget-validation-config.sh.\nif [[ -f docs\u002Fblueprint\u002Fmanifest.json ]]; then\n  MANIFEST=docs\u002Fblueprint\u002Fmanifest.json        # v3.0+ canonical (what \u002Fblueprint:init writes)\nelif [[ -f docs\u002Fblueprint\u002F.manifest.json ]]; then\n  MANIFEST=docs\u002Fblueprint\u002F.manifest.json       # v3.0 dot-prefixed variant from early migrations\nelif [[ -f .claude\u002Fblueprints\u002F.manifest.json ]]; then  # v1.x\u002Fv2.x location\n  MANIFEST=.claude\u002Fblueprints\u002F.manifest.json\nelse\n  echo \"ERROR: no blueprint manifest found. Run \u002Fblueprint:init first.\"\n  exit 1\nfi\ncurrent=$(jq -r '.format_version \u002F\u002F \"1.0.0\"' \"$MANIFEST\")\ntarget=\"3.4.0\"\n```\n\n**Important**: Use the resolved `$MANIFEST` in every `jq` call here and in delegated migration steps — a hard-coded filename fails silently.\n\n**Version compatibility matrix**:\n\n| From Version | To Version | Migration Document |\n|--------------|------------|-------------------|\n| 1.0.x        | 1.1.x      | `migrations\u002Fv1.0-to-v1.1.md` |\n| 1.x.x        | 2.0.0      | `migrations\u002Fv1.x-to-v2.0.md` |\n| 2.x.x        | 3.0.0      | `migrations\u002Fv2.x-to-v3.0.md` |\n| 3.0.x        | 3.1.0      | `migrations\u002Fv3.0-to-v3.1.md` |\n| 3.1.x        | 3.2.0      | inline (Step 3a) |\n| 3.2.x        | 3.3.0      | `migrations\u002Fv3.2-to-v3.3.md` |\n| 3.3.x        | 3.4.0      | `migrations\u002Fv3.3-to-v3.4.md` |\n| 3.4.0        | 3.4.0      | Already up to date |\n\n### Step 3: Check for deprecated generated commands\n\nDetect skills\u002Fcommands left by the deprecated `\u002Fblueprint:generate-commands` and offer to remove them (auto-\"Yes\" when `$NONINTERACTIVE`) per [references\u002Fdeprecated-commands.md](references\u002Fdeprecated-commands.md). If none are found, continue to Step 4.\n\n### Step 3a: v3.1 → v3.2 migration — add task registry\n\nIf `task_registry` is missing: ask the scheduling question (\"Prompt before running\" when `$NONINTERACTIVE`), add the registry, and bump `format_version` to 3.2.0 per [references\u002Fv3.1-to-v3.2-task-registry.md](references\u002Fv3.1-to-v3.2-task-registry.md).\n\n### Step 3b: v3.2 → v3.3 migration — monorepo support\n\nDelegate to `skills\u002Fblueprint-migration\u002Fmigrations\u002Fv3.2-to-v3.3.md` (summary: [references\u002Fv3.2-to-v3.3-summary.md](references\u002Fv3.2-to-v3.3-summary.md)).\n\n### Step 3c: v3.3 → v3.4 migration — automation block (autonomy levels)\n\nDelegate to `skills\u002Fblueprint-migration\u002Fmigrations\u002Fv3.3-to-v3.4.md` (summary: [references\u002Fv3.3-to-v3.4-summary.md](references\u002Fv3.3-to-v3.4-summary.md)). In `$NONINTERACTIVE` mode take the suggested `autonomy_level`, never higher.\n\n### Step 3d: Re-key `generated.rules` lacking `.md` (any version, #2868)\n\nDry-run only; nothing is written before Step 5:\n\n```bash\nbash \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fmigrate-generated-rules-keys.sh\" --manifest \"$MANIFEST\" --dry-run\n```\n\nList its `ISSUES:` in the Step 4 plan; Step 6 applies it.\n\n### Step 4: Display upgrade plan\n\nPrint the upgrade plan in [references\u002Fupgrade-plan.md](references\u002Fupgrade-plan.md).\n\n### Step 5: Confirm with user\n\nIf `$NONINTERACTIVE` is `true`, skip this confirmation and proceed directly to Step 6.\n\nOtherwise, use AskUserQuestion:\n\n```\nquestion: \"Ready to upgrade blueprint from v{current} to v3.4.0?\"\noptions:\n  - \"Yes, upgrade now\" → proceed\n  - \"Show detailed migration steps\" → display migration document\n  - \"Create backup first\" → run git stash or backup then proceed\n  - \"Cancel\" → exit\n```\n\n### Step 6: Load and execute migration document\n\n- Read the appropriate migration document from `blueprint-migration` skill\n- For v1.x → v2.0: Load `migrations\u002Fv1.x-to-v2.0.md` (overview: Step 7)\n- For v2.x → v3.0: Load `migrations\u002Fv2.x-to-v3.0.md` (overview: Step 8)\n- For v3.0 → v3.1: Load `migrations\u002Fv3.0-to-v3.1.md`\n- For v3.1 → v3.2: Execute Step 3a\n- For v3.2 → v3.3: Load `migrations\u002Fv3.2-to-v3.3.md` (see Step 3b summary)\n- For v3.3 → v3.4: Load `migrations\u002Fv3.3-to-v3.4.md` (see Step 3c summary)\n- If Step 3d reported findings: re-run its command without `--dry-run`; report `MIGRATED=` and `ISSUES:` in Step 10\n- Execute each step with user confirmation for destructive operations\n\n### Step 7: v1.x → v2.0 migration overview (from migration document)\n\nSub-steps a–g, including the 7f\u002F7g prompts and their `$NONINTERACTIVE` defaults, are in [references\u002Fv1.x-to-v2.0-overview.md](references\u002Fv1.x-to-v2.0-overview.md).\n\n### Step 8: v2.x → v3.0 migration overview (from migration document)\n\nSub-steps a–f are in [references\u002Fv2.x-to-v3.0-overview.md](references\u002Fv2.x-to-v3.0-overview.md).\n\n### Step 9: Update manifest (v3.0.0 schema)\n\nWrite the manifest using the v3.0.0 schema template in [REFERENCE.md](REFERENCE.md). Preserve `created_at`, `project.name`, `project.type`, `structure.has_modular_rules`, and `structure.claude_md_mode` from the previous manifest. Set `updated_at` to now, `created_by.blueprint_plugin` to the plugin version (`jq -r .version \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002F.claude-plugin\u002Fplugin.json\"`, never the format version, issue #2950), and `generated.rules` from the migrated skills→rules conversion.\n\n### Step 10: Report\n\nPrint the upgrade report using the standard template in [REFERENCE.md](REFERENCE.md), substituting `{previous}` with the prior `format_version` and `{n}` placeholders with the actual counts.\n\n### Step 11: Prompt for next action\n\nIf `$NONINTERACTIVE` is `true`, skip this prompt entirely — print the report from Step 10 and return. The batch caller owns follow-up (status checks, commits, etc.).\n\nOtherwise, ask with the prompt in [references\u002Fnext-action-prompt.md](references\u002Fnext-action-prompt.md), and act on the selection as that file maps it.\n\n### After any version bump: verify, or roll back\n\n**Post-migration assertion**: after any version bump, run the `format_version` check in [REFERENCE.md](REFERENCE.md#post-migration-assertion). **Rollback**: if the upgrade fails, follow [REFERENCE.md](REFERENCE.md#rollback).\n",{"args":50,"name":5,"created":51,"modified":52,"reviewed":53,"description":7,"allowed-tools":54,"argument-hint":50},"[--non-interactive|-y]",1765929600000,1793923200000,1778284800000,"Read, Write, Edit, Bash, Glob, AskUserQuestion","main","9d783554148f9c8a9c55a486b480760d3da673e6","blueprint-plugin\u002Fskills\u002Fblueprint-upgrade",6,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins","https:\u002F\u002Fgithub.com\u002Flaurigates","Linux enthusiast, cloud engineer, neovim addict, electronics hobbyist.","2026-11-15 03:36:11",{"source":8,"skillName":5,"commands":64,"prompt":74,"zipAvailable":75},[65,68,71],{"tool":66,"command":67},"npx","npx skills add laurigates\u002Fclaude-plugins --skill blueprint-upgrade",{"tool":69,"command":70},"bunx","bunx skills add laurigates\u002Fclaude-plugins --skill blueprint-upgrade",{"tool":72,"command":73},"pnpm","pnpm dlx skills add laurigates\u002Fclaude-plugins --skill blueprint-upgrade","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fblueprint-plugin\u002Fskills\u002Fblueprint-upgrade\u002FSKILL.md",true,[77,83,87,91,95,99,103,107,111,115],{"path":78,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":81,"sourceHtmlUrl":82},"REFERENCE.md","REFERENCE","参考文档",3206,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fblueprint-plugin\u002Fskills\u002Fblueprint-upgrade\u002FREFERENCE.md",{"path":84,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":85,"sourceHtmlUrl":86},"references\u002Fdeprecated-commands.md",1695,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fblueprint-plugin\u002Fskills\u002Fblueprint-upgrade\u002Freferences\u002Fdeprecated-commands.md",{"path":88,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":89,"sourceHtmlUrl":90},"references\u002Fnext-action-prompt.md",883,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fblueprint-plugin\u002Fskills\u002Fblueprint-upgrade\u002Freferences\u002Fnext-action-prompt.md",{"path":92,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":93,"sourceHtmlUrl":94},"references\u002Fnon-interactive-defaults.md",1412,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fblueprint-plugin\u002Fskills\u002Fblueprint-upgrade\u002Freferences\u002Fnon-interactive-defaults.md",{"path":96,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":97,"sourceHtmlUrl":98},"references\u002Fupgrade-plan.md",1453,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fblueprint-plugin\u002Fskills\u002Fblueprint-upgrade\u002Freferences\u002Fupgrade-plan.md",{"path":100,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":101,"sourceHtmlUrl":102},"references\u002Fv1.x-to-v2.0-overview.md",2959,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fblueprint-plugin\u002Fskills\u002Fblueprint-upgrade\u002Freferences\u002Fv1.x-to-v2.0-overview.md",{"path":104,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":105,"sourceHtmlUrl":106},"references\u002Fv2.x-to-v3.0-overview.md",3152,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fblueprint-plugin\u002Fskills\u002Fblueprint-upgrade\u002Freferences\u002Fv2.x-to-v3.0-overview.md",{"path":108,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":109,"sourceHtmlUrl":110},"references\u002Fv3.1-to-v3.2-task-registry.md",1700,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fblueprint-plugin\u002Fskills\u002Fblueprint-upgrade\u002Freferences\u002Fv3.1-to-v3.2-task-registry.md",{"path":112,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":113,"sourceHtmlUrl":114},"references\u002Fv3.2-to-v3.3-summary.md",770,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fblueprint-plugin\u002Fskills\u002Fblueprint-upgrade\u002Freferences\u002Fv3.2-to-v3.3-summary.md",{"path":116,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":117,"sourceHtmlUrl":118},"references\u002Fv3.3-to-v3.4-summary.md",813,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fblueprint-plugin\u002Fskills\u002Fblueprint-upgrade\u002Freferences\u002Fv3.3-to-v3.4-summary.md",[120,145,164,180,203,233],{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":129,"publishedAt":45},"01M70PFHMH9ADY0CRE6047Y4B2","kitty-show-image","Show the user an image with a note on what to judge, via a file send or a labelled kitty tab. Use when the user must see an image, or icat fails with no \u002Fdev\u002Ftty.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fkitty-plugin\u002Fskills\u002Fkitty-show-image\u002FSKILL.md",[126],{"categoryNo":127,"categoryName":128,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[130,131,132,133,134,135,136,137,138,139,36,29,43,140,141,142,143,144,28,40],"show","kitty show image","image","kitty","show image","ls","get","send","open","dev","file","text","with","xdg","via",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":151,"publishedAt":45},"01M70PFEN18HKQ4RCQ1VPGMPTB","kitty-session-persistence","Snapshot and restore kitty terminal sessions on macOS. Use when surviving WindowServer hangs without losing tabs, configuring snapshots, or restoring after a force-reboot.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fkitty-plugin\u002Fskills\u002Fkitty-session-persistence\u002FSKILL.md",[],[133,152,153,154,155,156,29,43,157,158,159,28,40,39,38,160,161,162,163,36],"kitty session persistence","session","persistence","false","snapshots","uname","reboot","terminal","snapshot","macos","sessions","restore",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":170,"publishedAt":45},"01M70PFC77XGXCVQ1543VGZHYR","kitty-remote-control","Safe kitty remote control from an agent — read panes with kitty @ ls\u002Fget-text, notify, and never mutate the live terminal unasked. Use when running inside kitty.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fkitty-plugin\u002Fskills\u002Fkitty-remote-control\u002FSKILL.md",[],[171,172,133,173,174,135,175,176,136,177,178,36,29,179,43,141,142,159,28,40],"kitty remote control","remote","control","remote control","running","never","panes","notify","query",{"skillNo":181,"name":182,"nameZh":6,"description":183,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":184,"categories":185,"keywords":186,"publishedAt":45},"01M70P6WVMCT5JG4SACTM69AF9","docs-reference-check","Dangling doc-reference gate: flag markdown naming repo paths or relative links that no longer exist. Use when docs cite moved\u002Fdeleted files, or wiring a doc-drift lint.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fdocumentation-plugin\u002Fskills\u002Fdocs-reference-check\u002FSKILL.md",[],[187,188,189,190,191,192,193,194,195,196,36,29,43,197,140,198,199,200,201,202],"docs reference check","check","reference check","reference","docs","links","python3","repo","files","auto","drift","lint","wiring","chezmoi","references","cp",{"skillNo":204,"name":205,"nameZh":6,"description":206,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":207,"categories":208,"keywords":218,"publishedAt":45},"01M6C6NDE7DAQGNWSF22J5CJ0Z","youtube-upload","Upload a video to YouTube via the Data API v3 and edit its title, description, tags or thumbnail afterwards. Use when publishing or retitling a YouTube video.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fyoutube-plugin\u002Fskills\u002Fyoutube-upload\u002FSKILL.md",[209,212,213],{"categoryNo":210,"categoryName":211,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":127,"categoryName":128,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":214,"categoryName":215,"taxonomyType":216,"taxonomyTypeDesc":217},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[219,220,221,222,193,223,40,224,38,225,226,227,36,43,140,228,229,29,230,231,232,144,28],"youtube upload","upload","youtube","Video","run","uv run","publishing","data","uv","api","v3","tags","id","title",{"skillNo":234,"name":235,"nameZh":6,"description":236,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":237,"categories":238,"keywords":240,"publishedAt":45},"01M6C6NABWW1X58KJJM4F6GQMQ","youtube-studio-share","Share a private YouTube video with a whole Google Workspace organization by scripting YouTube Studio in the browser. Use when a video must be org-only.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fyoutube-plugin\u002Fskills\u002Fyoutube-studio-share\u002FSKILL.md",[239],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[241,242,243,244,221,222,245,246,247,248,249,40,250,251,252,253,36,254,29,142,255,28],"youtube studio share","share","youtube studio","studio","browser","javascript","scripting","google workspace","workspace","tool","google","only","MCP","chrome","organization"]