[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6D4W8DH5WJSVB2PWFXWA56J":3,"skill-same:01M6D4W8DH5WJSVB2PWFXWA56J":74},{"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":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":49,"ownerHtmlUrl":50,"ownerBlogUrl":51,"ownerDescription":52,"updatedAt":53,"install":54,"resources":67},"01M6D4W8DH5WJSVB2PWFXWA56J","product-line",null,"Manage the portfolio of product paths — review, promote, prune, fork, and check revisit triggers across the product-path manifest","GeorgeQLe\u002Fagentic-skills","GeorgeQLe","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F21134126?v=4","01M6D2JP418S0VGJGF8M93EC3H","George Le","01M6D2JPBAKYD82TA5FS6HKQ3D",1,"MIT","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Fpacks\u002Fbusiness-ops\u002Fclaude\u002Fproduct-line\u002Farchive\u002Fv0.0\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000031","产品经理","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32,33,34,35,36],"product","product line","review","promote","manifest","prune","check","v0","operations","portfolio","manage","across","triggers","2026-11-10 10:12:30",false,"---\nname: product-line\ndescription: Manage the portfolio of product paths — review, promote, prune, fork, and check revisit triggers across the product-path manifest\ntype: operations\nversion: v0.0\nargument-hint: \"review | promote \u003Cpath-id> | prune \u003Cpath-id> | fork \u003Clabel> [--from \u003Cskill>] | triggers\"\n---\n\n## Pack Availability Guard\n\nBefore telling the user to run a skill from another project-local pack, check `.agents\u002Fproject.json.enabled_packs`. If the target pack is not enabled, recommend `\u002Fpack install \u003Cpack>` instead of the target skill. Global skills are always valid. Skills from this same pack are valid because the current skill is already running from that pack.\n\n# Product Line — Product Path Portfolio Management\n\nManage the portfolio of product paths tracked in `research\u002F.progress.yaml`. This skill provides five modes for working with the product-path manifest: reviewing the portfolio, promoting deferred paths to active, pruning abandoned paths, forking new paths from mid-pipeline discoveries, and checking revisit triggers.\n\nProduct paths are research divergences — different ICPs, expansion candidates, pivots, competitive gaps — not git branches. Each path tracks its pipeline stage, evidence maturity, and revisit conditions.\n\n## Prerequisites\n\n`research\u002F.progress.yaml` must exist for all modes except `fork` (which can create it). If missing, tell the user: \"No product-path manifest found. Run `\u002Fidea-scope-brief` or `\u002Ficp` first — they create the manifest when multiple product directions emerge.\"\n\n## Manifest Schema\n\nThe canonical manifest lives at `research\u002F.progress.yaml`:\n\n```yaml\nactive_paths:           # list of path IDs currently being researched\n  - \"path-id-1\"\nmax_concurrent: 1       # max simultaneous active paths (default 1)\nproduct_paths:\n  - id: \"path-id-1\"\n    label: \"Human-readable name\"\n    source_skill: \"icp\"\n    scope_path: \"research\u002Ficp-smb.md\"\n    status: active       # active | deferred | revisit_candidate | promoted | abandoned\n    reason: \"Why this path exists\"\n    evidence_refs:\n      - \"research\u002Ficp.md\"\n    revisit_trigger: \"Condition that should re-evaluate this path\"\n    next_skill: \"\u002Fcompetitive-analysis\"\n    last_touched: \"2026-05-27\"\n    pipeline_stage: \"icp\"  # last completed skill in the chain\n```\n\n### Backward Compatibility\n\nWhen reading the manifest, handle the legacy singular `active_path` field:\n- If `active_path` (string) exists and `active_paths` (list) does not, treat it as `active_paths: [\u003Cactive_path value>]`.\n- When writing, always use the plural `active_paths` form. Remove the singular `active_path` field on write to complete migration.\n\n## Modes\n\n### 1. `review` — Portfolio Dashboard\n\n**Invocation**: `\u002Fproduct-line review`\n\nScan the manifest and present a dashboard comparing all paths:\n\n| Path | Status | Pipeline Stage | Last Touched | Evidence Maturity | Revisit Trigger |\n|------|--------|---------------|--------------|-------------------|-----------------|\n\n**Evidence maturity** is derived from which research files exist under the path's `scope_path` or are listed in `evidence_refs`:\n- **Early** — only concept brief or initial ICP\n- **Developing** — ICP + competitive analysis or positioning\n- **Mature** — journey map + metrics + GTM or monetization\n- **Complete** — full pipeline through experiment or PMF assessment\n\n**Pipeline stage** shows the last completed skill. Map common stages to a visual progress indicator:\n\n```\nidea-scope-brief → icp → competitive-analysis → positioning → journey-map → metrics → gtm → monetization → experiment\n```\n\nGroup paths by status. For deferred and revisit_candidate paths, highlight the revisit trigger prominently.\n\nWhen deferred paths accumulate (3+ deferred with no recent promotion), recommend: \"Consider running `\u002Fproduct-line triggers` to check whether any deferred paths should be promoted.\"\n\nPresent using the AskUserQuestion tool with options:\n- \"Promote a deferred path\" → ask which path\n- \"Prune a path\" → ask which path\n- \"Fork a new path\" → proceed to fork mode\n- \"Check triggers\" → proceed to triggers mode\n- \"Done reviewing\"\n\n### 2. `promote \u003Cpath-id>` — Activate a Deferred Path\n\n**Invocation**: `\u002Fproduct-line promote \u003Cpath-id>`\n\n1. Validate the path exists and has status `deferred`, `revisit_candidate`, or `abandoned`.\n2. Check `max_concurrent` against current `active_paths` count.\n   - If at capacity, present the user with options: deactivate an existing active path first, or increase `max_concurrent`.\n3. Scan existing research files to determine the path's current pipeline stage:\n   - Check for `research\u002F{scope}\u002Fconcept-brief*.md`, `research\u002F{scope}\u002Ficp.md`, `research\u002F{scope}\u002Fcompetitive-analysis.md`, etc.\n   - Set `pipeline_stage` to the furthest completed skill found.\n4. Update the manifest:\n   - Set `status: promoted` then `status: active`\n   - Add the path ID to `active_paths`\n   - Set `last_touched` to today\n   - Set `pipeline_stage` from the scan\n5. Present the promotion result and recommend the next skill based on where the path left off in the pipeline.\n\n### 3. `prune \u003Cpath-id>` — Abandon a Path\n\n**Invocation**: `\u002Fproduct-line prune \u003Cpath-id>`\n\n1. Validate the path exists and is not already `abandoned`.\n2. Ask the user for a rationale using AskUserQuestion:\n   - \"Why is this path being abandoned?\"\n   - Options: \"Evidence disproved it\", \"Market shifted\", \"Resource constraints\", \"Superseded by another path\", or free text\n3. Update the manifest:\n   - Set `status: abandoned`\n   - Remove from `active_paths` if present\n   - Append the rationale to `reason`\n   - Set `last_touched` to today\n4. Present confirmation with the documented rationale.\n\n### 4. `fork \u003Clabel> [--from \u003Cskill>]` — Create a New Path\n\n**Invocation**: `\u002Fproduct-line fork \"Enterprise vertical\" --from competitive-analysis`\n\nCreate a new product path from a mid-pipeline discovery.\n\n1. Generate a path ID from the label (lowercase, hyphenated slug).\n2. Ask the user using AskUserQuestion:\n   - \"What evidence supports this new path?\" (free text)\n   - \"What's the revisit trigger if we defer it?\" (free text)\n   - \"Should this be active or deferred?\" (options: Active, Deferred)\n3. Determine `scope_path` — suggest `research\u002F{slug}\u002F` for a new research subdirectory.\n4. Create the manifest entry:\n   - `id`: generated slug\n   - `label`: from argument\n   - `source_skill`: from `--from` flag or the current skill context\n   - `scope_path`: determined above\n   - `status`: user's choice (active or deferred)\n   - `reason`: user's evidence summary\n   - `evidence_refs`: any files the user references\n   - `revisit_trigger`: user's trigger (required for deferred)\n   - `next_skill`: inferred from `source_skill` position in the pipeline\n   - `last_touched`: today\n   - `pipeline_stage`: the `--from` skill or `null` if new\n5. If status is `active`, check `max_concurrent` capacity (same logic as promote).\n6. Create the `research\u002F.progress.yaml` file if it doesn't exist, or append to `product_paths` if it does.\n7. Create the `research\u002F{slug}\u002F` directory if the path is active.\n\n### 5. `triggers` — Check Revisit Conditions\n\n**Invocation**: `\u002Fproduct-line triggers`\n\nScan all paths with `status: deferred` or `status: revisit_candidate` and evaluate their `revisit_trigger` conditions.\n\nFor each path:\n1. Read the `revisit_trigger` text.\n2. Check whether the trigger condition can be evaluated from current project state:\n   - **File-based triggers** (\"when competitive-analysis is complete\") → check if the referenced file exists\n   - **Evidence-based triggers** (\"when SMB segment shows >10% growth\") → check research files for relevant data\n   - **Time-based triggers** (\"revisit after Q3 2026\") → compare against current date\n   - **External triggers** (\"when competitor launches X\") → flag as requiring manual check\n3. Classify each trigger: **fired** (condition met), **pending** (not yet), or **manual** (can't evaluate automatically).\n\nPresent results as a table:\n\n| Path | Trigger | Status | Recommendation |\n|------|---------|--------|---------------|\n\nFor fired triggers, recommend `\u002Fproduct-line promote \u003Cpath-id>`.\nFor manual triggers, ask the user whether the condition has been met.\n\n## Output\n\nThis skill modifies `research\u002F.progress.yaml` only. It does not create research documents — those are created by the skills in the pipeline when the user runs them for a promoted path.\n\n## Task Classification\n\nWhen this skill produces follow-up work, file it by execution semantics:\n\n- Immediately actionable implementation or documentation work goes in `tasks\u002Ftodo.md`.\n- Human-only external actions tied to automated steps go in `tasks\u002Fmanual-todo.md` with `_(blocks: Step N.X)_` or `_(after: Step N.X)_`; repo edits, SDK wiring, generated assets, local commands, tests, audits, and authenticated CLI\u002FAPI work stay in `tasks\u002Ftodo.md`.\n- One-time condition-gated records, baselines, or future measurements go in `tasks\u002Frecord-todo.md` with source, condition, non-blocking reason, evidence, and promotion rule.\n- Cadence-based reviews, playtests, adoption checks, investor updates, retros, or docs-health checks go in `tasks\u002Frecurring-todo.md` with cadence, owner\u002Fagent, next due, evidence path, and escalation conditions.\n- Do not put non-blocking records or recurring obligations in `tasks\u002Ftodo.md` unless they have been explicitly promoted into current execution work.\n\n## Constraints\n\n- **Manifest-only mutations.** This skill reads and writes `research\u002F.progress.yaml`. It does not create, modify, or delete research documents.\n- **No automatic pipeline execution.** After promoting a path, recommend the next skill but do not run it.\n- **Backward compatible reads.** Always handle both `active_path` (singular legacy) and `active_paths` (plural current) when reading.\n- **Forward-only writes.** Always write `active_paths` (plural). Remove `active_path` if present.\n- **Prune rationale is required.** Never abandon a path without documented evidence and rationale.\n- **Respect max_concurrent.** Do not exceed the configured limit without user approval.\n- **Use product-path terminology.** Never use \"branch\" to mean a product path. Use \"product path\", \"product line\", \"deferred path\", \"promoted path\", etc.\n\n## Alignment Page\n\nWhen this skill produces durable deliverables (research, specs, plans, reports, prototypes, or any document output), build a full-depth HTML alignment page following `ALIGNMENT-PAGE.md` in this skill's directory. Output: `alignment\u002Fproduct-line-{topic}.html`.\n\n## Default Shipping Contract\n\nFollow the shared shipping contract convention in CLAUDE.md.\n","## Pack Availability Guard\n\nBefore telling the user to run a skill from another project-local pack, check `.agents\u002Fproject.json.enabled_packs`. If the target pack is not enabled, recommend `\u002Fpack install \u003Cpack>` instead of the target skill. Global skills are always valid. Skills from this same pack are valid because the current skill is already running from that pack.\n\n# Product Line — Product Path Portfolio Management\n\nManage the portfolio of product paths tracked in `research\u002F.progress.yaml`. This skill provides five modes for working with the product-path manifest: reviewing the portfolio, promoting deferred paths to active, pruning abandoned paths, forking new paths from mid-pipeline discoveries, and checking revisit triggers.\n\nProduct paths are research divergences — different ICPs, expansion candidates, pivots, competitive gaps — not git branches. Each path tracks its pipeline stage, evidence maturity, and revisit conditions.\n\n## Prerequisites\n\n`research\u002F.progress.yaml` must exist for all modes except `fork` (which can create it). If missing, tell the user: \"No product-path manifest found. Run `\u002Fidea-scope-brief` or `\u002Ficp` first — they create the manifest when multiple product directions emerge.\"\n\n## Manifest Schema\n\nThe canonical manifest lives at `research\u002F.progress.yaml`:\n\n```yaml\nactive_paths:           # list of path IDs currently being researched\n  - \"path-id-1\"\nmax_concurrent: 1       # max simultaneous active paths (default 1)\nproduct_paths:\n  - id: \"path-id-1\"\n    label: \"Human-readable name\"\n    source_skill: \"icp\"\n    scope_path: \"research\u002Ficp-smb.md\"\n    status: active       # active | deferred | revisit_candidate | promoted | abandoned\n    reason: \"Why this path exists\"\n    evidence_refs:\n      - \"research\u002Ficp.md\"\n    revisit_trigger: \"Condition that should re-evaluate this path\"\n    next_skill: \"\u002Fcompetitive-analysis\"\n    last_touched: \"2026-05-27\"\n    pipeline_stage: \"icp\"  # last completed skill in the chain\n```\n\n### Backward Compatibility\n\nWhen reading the manifest, handle the legacy singular `active_path` field:\n- If `active_path` (string) exists and `active_paths` (list) does not, treat it as `active_paths: [\u003Cactive_path value>]`.\n- When writing, always use the plural `active_paths` form. Remove the singular `active_path` field on write to complete migration.\n\n## Modes\n\n### 1. `review` — Portfolio Dashboard\n\n**Invocation**: `\u002Fproduct-line review`\n\nScan the manifest and present a dashboard comparing all paths:\n\n| Path | Status | Pipeline Stage | Last Touched | Evidence Maturity | Revisit Trigger |\n|------|--------|---------------|--------------|-------------------|-----------------|\n\n**Evidence maturity** is derived from which research files exist under the path's `scope_path` or are listed in `evidence_refs`:\n- **Early** — only concept brief or initial ICP\n- **Developing** — ICP + competitive analysis or positioning\n- **Mature** — journey map + metrics + GTM or monetization\n- **Complete** — full pipeline through experiment or PMF assessment\n\n**Pipeline stage** shows the last completed skill. Map common stages to a visual progress indicator:\n\n```\nidea-scope-brief → icp → competitive-analysis → positioning → journey-map → metrics → gtm → monetization → experiment\n```\n\nGroup paths by status. For deferred and revisit_candidate paths, highlight the revisit trigger prominently.\n\nWhen deferred paths accumulate (3+ deferred with no recent promotion), recommend: \"Consider running `\u002Fproduct-line triggers` to check whether any deferred paths should be promoted.\"\n\nPresent using the AskUserQuestion tool with options:\n- \"Promote a deferred path\" → ask which path\n- \"Prune a path\" → ask which path\n- \"Fork a new path\" → proceed to fork mode\n- \"Check triggers\" → proceed to triggers mode\n- \"Done reviewing\"\n\n### 2. `promote \u003Cpath-id>` — Activate a Deferred Path\n\n**Invocation**: `\u002Fproduct-line promote \u003Cpath-id>`\n\n1. Validate the path exists and has status `deferred`, `revisit_candidate`, or `abandoned`.\n2. Check `max_concurrent` against current `active_paths` count.\n   - If at capacity, present the user with options: deactivate an existing active path first, or increase `max_concurrent`.\n3. Scan existing research files to determine the path's current pipeline stage:\n   - Check for `research\u002F{scope}\u002Fconcept-brief*.md`, `research\u002F{scope}\u002Ficp.md`, `research\u002F{scope}\u002Fcompetitive-analysis.md`, etc.\n   - Set `pipeline_stage` to the furthest completed skill found.\n4. Update the manifest:\n   - Set `status: promoted` then `status: active`\n   - Add the path ID to `active_paths`\n   - Set `last_touched` to today\n   - Set `pipeline_stage` from the scan\n5. Present the promotion result and recommend the next skill based on where the path left off in the pipeline.\n\n### 3. `prune \u003Cpath-id>` — Abandon a Path\n\n**Invocation**: `\u002Fproduct-line prune \u003Cpath-id>`\n\n1. Validate the path exists and is not already `abandoned`.\n2. Ask the user for a rationale using AskUserQuestion:\n   - \"Why is this path being abandoned?\"\n   - Options: \"Evidence disproved it\", \"Market shifted\", \"Resource constraints\", \"Superseded by another path\", or free text\n3. Update the manifest:\n   - Set `status: abandoned`\n   - Remove from `active_paths` if present\n   - Append the rationale to `reason`\n   - Set `last_touched` to today\n4. Present confirmation with the documented rationale.\n\n### 4. `fork \u003Clabel> [--from \u003Cskill>]` — Create a New Path\n\n**Invocation**: `\u002Fproduct-line fork \"Enterprise vertical\" --from competitive-analysis`\n\nCreate a new product path from a mid-pipeline discovery.\n\n1. Generate a path ID from the label (lowercase, hyphenated slug).\n2. Ask the user using AskUserQuestion:\n   - \"What evidence supports this new path?\" (free text)\n   - \"What's the revisit trigger if we defer it?\" (free text)\n   - \"Should this be active or deferred?\" (options: Active, Deferred)\n3. Determine `scope_path` — suggest `research\u002F{slug}\u002F` for a new research subdirectory.\n4. Create the manifest entry:\n   - `id`: generated slug\n   - `label`: from argument\n   - `source_skill`: from `--from` flag or the current skill context\n   - `scope_path`: determined above\n   - `status`: user's choice (active or deferred)\n   - `reason`: user's evidence summary\n   - `evidence_refs`: any files the user references\n   - `revisit_trigger`: user's trigger (required for deferred)\n   - `next_skill`: inferred from `source_skill` position in the pipeline\n   - `last_touched`: today\n   - `pipeline_stage`: the `--from` skill or `null` if new\n5. If status is `active`, check `max_concurrent` capacity (same logic as promote).\n6. Create the `research\u002F.progress.yaml` file if it doesn't exist, or append to `product_paths` if it does.\n7. Create the `research\u002F{slug}\u002F` directory if the path is active.\n\n### 5. `triggers` — Check Revisit Conditions\n\n**Invocation**: `\u002Fproduct-line triggers`\n\nScan all paths with `status: deferred` or `status: revisit_candidate` and evaluate their `revisit_trigger` conditions.\n\nFor each path:\n1. Read the `revisit_trigger` text.\n2. Check whether the trigger condition can be evaluated from current project state:\n   - **File-based triggers** (\"when competitive-analysis is complete\") → check if the referenced file exists\n   - **Evidence-based triggers** (\"when SMB segment shows >10% growth\") → check research files for relevant data\n   - **Time-based triggers** (\"revisit after Q3 2026\") → compare against current date\n   - **External triggers** (\"when competitor launches X\") → flag as requiring manual check\n3. Classify each trigger: **fired** (condition met), **pending** (not yet), or **manual** (can't evaluate automatically).\n\nPresent results as a table:\n\n| Path | Trigger | Status | Recommendation |\n|------|---------|--------|---------------|\n\nFor fired triggers, recommend `\u002Fproduct-line promote \u003Cpath-id>`.\nFor manual triggers, ask the user whether the condition has been met.\n\n## Output\n\nThis skill modifies `research\u002F.progress.yaml` only. It does not create research documents — those are created by the skills in the pipeline when the user runs them for a promoted path.\n\n## Task Classification\n\nWhen this skill produces follow-up work, file it by execution semantics:\n\n- Immediately actionable implementation or documentation work goes in `tasks\u002Ftodo.md`.\n- Human-only external actions tied to automated steps go in `tasks\u002Fmanual-todo.md` with `_(blocks: Step N.X)_` or `_(after: Step N.X)_`; repo edits, SDK wiring, generated assets, local commands, tests, audits, and authenticated CLI\u002FAPI work stay in `tasks\u002Ftodo.md`.\n- One-time condition-gated records, baselines, or future measurements go in `tasks\u002Frecord-todo.md` with source, condition, non-blocking reason, evidence, and promotion rule.\n- Cadence-based reviews, playtests, adoption checks, investor updates, retros, or docs-health checks go in `tasks\u002Frecurring-todo.md` with cadence, owner\u002Fagent, next due, evidence path, and escalation conditions.\n- Do not put non-blocking records or recurring obligations in `tasks\u002Ftodo.md` unless they have been explicitly promoted into current execution work.\n\n## Constraints\n\n- **Manifest-only mutations.** This skill reads and writes `research\u002F.progress.yaml`. It does not create, modify, or delete research documents.\n- **No automatic pipeline execution.** After promoting a path, recommend the next skill but do not run it.\n- **Backward compatible reads.** Always handle both `active_path` (singular legacy) and `active_paths` (plural current) when reading.\n- **Forward-only writes.** Always write `active_paths` (plural). Remove `active_path` if present.\n- **Prune rationale is required.** Never abandon a path without documented evidence and rationale.\n- **Respect max_concurrent.** Do not exceed the configured limit without user approval.\n- **Use product-path terminology.** Never use \"branch\" to mean a product path. Use \"product path\", \"product line\", \"deferred path\", \"promoted path\", etc.\n\n## Alignment Page\n\nWhen this skill produces durable deliverables (research, specs, plans, reports, prototypes, or any document output), build a full-depth HTML alignment page following `ALIGNMENT-PAGE.md` in this skill's directory. Output: `alignment\u002Fproduct-line-{topic}.html`.\n\n## Default Shipping Contract\n\nFollow the shared shipping contract convention in CLAUDE.md.\n",{"name":5,"type":32,"version":42,"description":7,"argument-hint":43},"v0.0","review | promote \u003Cpath-id> | prune \u003Cpath-id> | fork \u003Clabel> [--from \u003Cskill>] | triggers","master","96e2912af886dd1606b1b97df707715aef062b02","packs\u002Fbusiness-ops\u002Fclaude\u002Fproduct-line\u002Farchive\u002Fv0.0",0,"https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills","https:\u002F\u002Fagentic-skills-blush.vercel.app","https:\u002F\u002Fgithub.com\u002FGeorgeQLe","georgeqle.com","George Le is a futurist and serial tech entrepreneur who wants to work toward a world where humanity is free from robotic tasks.","2026-11-10 04:07:24",{"source":8,"skillName":5,"commands":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add GeorgeQLe\u002Fagentic-skills --skill product-line",{"tool":60,"command":61},"bunx","bunx skills add GeorgeQLe\u002Fagentic-skills --skill product-line",{"tool":63,"command":64},"pnpm","pnpm dlx skills add GeorgeQLe\u002Fagentic-skills --skill product-line","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Fpacks\u002Fbusiness-ops\u002Fclaude\u002Fproduct-line\u002Farchive\u002Fv0.0\u002FSKILL.md",true,[68],{"path":69,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":72,"sourceHtmlUrl":73},"references\u002Fcommit-details.md","REFERENCE","参考文档",3121,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fyyykf\u002Fspellbook-skills\u002Fskills\u002Fgit-commit\u002Freferences\u002Fcommit-details.md",[75,87,97,109,124,135],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":81,"publishedAt":37},"01M6G0NJES15RJKZE6YZ0TSYGF","source-checkout-allowed","Valid source-checkout-only fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fsource-checkout-allowed\u002FSKILL.md",[],[82,83,84,85,31,86],"source checkout allowed","checkout","fixture","only","valid",{"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":37},"01M6G0NFZ3R1MNB1E3DVTM0WB7","deck-install-valid","Valid deck install fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fdeck-install\u002FSKILL.md",[],[94,95,96,86,84,31],"deck install valid","deck","install",{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":103,"publishedAt":37},"01M6G0ND3QZQC4MDZ9NVB97PT2","codex-pack-guard-valid","Valid Codex Pack Availability Guard fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fcodex-pack-guard\u002FSKILL.md",[],[104,105,106,86,107,108,84,31],"codex pack guard valid","pack","guard","codex","availability",{"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":120,"publishedAt":37},"01M6G0NA9YB3NKGZKD3S96JMNB","codex-missing-skill-valid","Valid Codex missing skill fallback fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fcodex-missing-skill-fallback\u002FSKILL.md",[115],{"categoryNo":116,"categoryName":117,"taxonomyType":118,"taxonomyTypeDesc":119},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[121,122,86,107,31,123,84],"codex missing skill valid","missing","fallback",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":131,"publishedAt":37},"01M6G0N7PC0EKFD40ZWQAXSAQ9","codex-base-skill-fallback-valid","Valid Codex base skill fallback fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fcodex-base-skill-fallback\u002FSKILL.md",[130],{"categoryNo":116,"categoryName":117,"taxonomyType":118,"taxonomyTypeDesc":119},[86,107,123,132,133,134,31,84],"base skill","codex base skill fallback valid","base",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":141,"publishedAt":37},"01M6G0N4VRR2YKZQ6N3Y6S2BQA","claude-pack-guard-valid","Valid Claude Pack Availability Guard fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fclaude-pack-guard\u002FSKILL.md",[],[86,106,105,142,108,31,84],"claude pack guard valid"]