[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6AD81E6YTPBPD25TH9FJFAT":3,"skill-same:01M6AD81E6YTPBPD25TH9FJFAT":94},{"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":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":64,"commitSha":65,"skillDirectory":66,"forksCount":67,"repositoryHtmlUrl":68,"repositoryHomepageUrl":69,"ownerHtmlUrl":70,"ownerBlogUrl":71,"ownerDescription":72,"updatedAt":73,"install":74,"resources":87},"01M6AD81E6YTPBPD25TH9FJFAT","ssl-skill-normalizer",null,"Normalize SKILL.md artifacts into Scheduling-Structural-Logical (SSL) JSON representations using a conservative multi-pass extraction pipeline.","github\u002Fgh-aw","github","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F9919?v=4","01M6AC83DS133TPXFSP1DHNCC6","GitHub","01M6AD3VCZ4WKQSFSRTPN7N9DN",5621,"MIT","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgh-aw\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fssl\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,45,46],"ssl skill normalizer","ssl","pipeline","path","multi","normalize","tests","structural","artifact","scheduling","files","write","read","json","validate","file","extraction","search","artifacts","validation","report","run","create","2026-11-10 10:12:30",false,"---\n# This frontmatter describes a meta-skill for the SSL Skill Normalizer.\n# It defines the skill's interface (inputs\u002Foutputs) and required tools.\n# It is not an executable gh-aw workflow; it is a reusable skill artifact\n# invoked by agents that implement the SSL normalization pipeline.\nname: ssl-skill-normalizer\ndescription: Normalize SKILL.md artifacts into Scheduling-Structural-Logical (SSL) JSON representations using a conservative multi-pass extraction pipeline.\ntools:\n  - read_file\n  - write_file\n  - search_files\n  - json_validate\n  - create_artifact\n  - run_tests\ninputs:\n  - skill_path\noutputs:\n  - ssl_json\n  - validation_report\n---\n\n# SSL Skill Normalizer\n\n## Purpose\n\nThis skill converts markdown-based skill artifacts into a structured **Scheduling-Structural-Logical (SSL)** representation as introduced in:\n\n> Liang et al., \"From Skill Text to Skill Structure: The Scheduling-Structural-Logical Representation for Agent Skills\", arXiv:2604.24026 (2026).\n\nSSL addresses the core limitation of free-form skill text: it is human-readable but hard for agents to reason over, discover, and audit. By mapping each skill into three complementary layers, SSL makes skills **searchable** (improved MRR 0.573 → 0.707 in the paper) and **risk-assessable** (improved macro F1 0.744 → 0.787).\n\n---\n\n# The Three SSL Layers\n\nThe representation is grounded in Schank & Abelson's theories of Memory Organization Packets (MOPs), Script Theory, and Conceptual Dependency. Each layer captures a different dimension of skill knowledge:\n\n## Layer 1 — Scheduling (When \u002F Who)\n\nAnswers: *When should this skill be invoked? By whom, given which inputs and outputs?*\n\nFields extracted:\n- `id` — stable lowercase identifier\n- `name` — human-readable skill name\n- `goal` — one-sentence purpose\n- `intent_signature` — typed function signature (`fn($input) -> $output`)\n- `inputs` — `$`-prefixed named input bindings\n- `outputs` — `$`-prefixed named output bindings\n- `dependencies` — explicit runtime tool or library requirements\n- `control_flow_features` — e.g. `sequential`, `conditional`, `loop`\n- `entry_scene` — ID of the first scene to execute\n- `subscene_refs` — IDs of any nested\u002Fdelegated scenes\n\n## Layer 2 — Structural (How \u002F Order)\n\nAnswers: *What are the macro-level execution stages and how do they connect?*\n\nEach **scene** is a named execution stage with:\n- `id` — unique within the skill\n- `type` — one of the restricted scene-type enum (see below)\n- `goal` — what the scene accomplishes\n- `entry_condition` — precondition for entering the scene\n- `exit_condition` — postcondition that must hold on exit\n- `next_scene_rules` — conditional transitions to the next scene ID, `END_SUCCESS`, or `END_FAIL`\n- `inputs` \u002F `outputs` — `$`-prefixed bindings consumed and produced\n- `entry_logic_step` — ID of the first logic step in this scene\n\n## Layer 3 — Logical (What \u002F Actions)\n\nAnswers: *What atomic operations are performed, on which resources?*\n\nEach **logic step** is an indivisible operation with:\n- `id` — unique within the skill\n- `scene_id` — owning scene\n- `action_type` — one of the restricted action-type enum (see below)\n- `resource_scope` — one of the restricted resource-scope enum (see below)\n- `description` — one sentence describing the operation\n- `inputs` \u002F `outputs` — named `$`-variable bindings\n- `next` — ID of the following step, `YIELD_SUCCESS`, or `YIELD_FAIL`\n\n---\n\n# Restricted Enumerations\n\n## Scene Types\n\n| Value | Meaning |\n|---|---|\n| `PREPARE` | Setup: load inputs, configure environment |\n| `ACQUIRE` | Receive or fetch required data |\n| `REASON` | Analyze, infer, or plan |\n| `ACT` | Produce or transform primary output |\n| `VERIFY` | Validate outputs or preconditions |\n| `RECOVER` | Handle failure; retry or compensate |\n| `FINALIZE` | Write results, emit notifications, clean up |\n\n## Action Types\n\n| Value | Meaning |\n|---|---|\n| `READ` | Consume data from a resource without side effects |\n| `SELECT` | Choose among alternatives |\n| `COMPARE` | Diff or rank two or more values |\n| `VALIDATE` | Assert a constraint or schema |\n| `INFER` | Derive new information via reasoning |\n| `WRITE` | Produce or overwrite data in a resource |\n| `UPDATE_STATE` | Mutate shared state |\n| `CALL_TOOL` | Invoke an external tool or subprocess |\n| `REQUEST` | Send a request to an external service |\n| `TRANSFER` | Move data between resources |\n| `NOTIFY` | Emit a message or event |\n| `TERMINATE` | End execution and return control |\n\n## Resource Scopes\n\n| Value | Meaning |\n|---|---|\n| `MEMORY` | In-process working memory |\n| `LOCAL_FS` | Local file system |\n| `CODEBASE` | Source code under version control |\n| `PROCESS` | OS process or shell |\n| `USER_DATA` | User-provided or personal data |\n| `CREDENTIALS` | Secrets, tokens, or credentials |\n| `NETWORK` | Remote network resource |\n| `OTHER` | Any resource not covered above |\n\n## Terminal Targets\n\n- **Scene transitions**: `END_SUCCESS` | `END_FAIL`\n- **Logic-step transitions**: `YIELD_SUCCESS` | `YIELD_FAIL`\n\n---\n\n# Behavioral Requirements\n\n## General Rules\n\n- Only extract information directly supported by the source artifact.\n- Do not invent hidden behavior, tools, dependencies, or side effects.\n- Use restricted enum vocabularies only; never free-form strings in typed fields.\n- Reject malformed outputs instead of silently repairing them.\n- Prefer `null`, empty arrays, or coarse-grained classifications when evidence is weak.\n\n---\n\n# Execution Pipeline\n\n## Pass 1: Scheduling Extraction\n\nRead the source `SKILL.md`, then extract the scheduling layer.\n\nProduce `scheduling` with all fields in Layer 1. When evidence is absent for an optional field, emit an empty array or `null`.\n\n**Requirements**\n- Use only explicit evidence from the source document.\n- Preserve semantic intent without paraphrasing behavior into unsupported claims.\n- Normalize all identifiers to `snake_case`.\n\n---\n\n## Pass 2: Scene Decomposition\n\nAnalyse the skill's execution flow and decompose it into macro-level scenes.\n\n**Requirements**\n- Prefer 2–5 scenes when supported by the source. Only add more if the source describes clearly distinct phases.\n- Assign only allowed scene types from the enum table.\n- For each scene define: goal, entry_condition, exit_condition, next_scene_rules, inputs, outputs, entry_logic_step.\n\n**Constraints**\n- Every `next_scene_rules` target must resolve to another scene ID, `END_SUCCESS`, or `END_FAIL`.\n- Include a `RECOVER` scene when the source describes retry or error-recovery behaviour.\n\n---\n\n## Pass 3: Logic-Step Expansion\n\nExpand each scene into its sequence of atomic logic steps.\n\n**Split a step whenever any of the following changes:**\n- action type\n- resource boundary\n- execution effect\n- control-flow behaviour\n\n**Requirements**\n- Assign only allowed action types and resource scopes.\n- Use `$`-prefixed variable bindings for all named data (`$user_request`, `$selected_file`, `$generated_output`).\n- Do not use unnamed or free-form intermediate variables.\n\n---\n\n## Pass 4: Validation\n\nValidate the draft SSL JSON against all of the following rules:\n\n| Rule | Check |\n|---|---|\n| JSON syntax | Well-formed JSON |\n| Required fields | All top-level fields present |\n| Enum membership | All enum fields use allowed values only |\n| Unique identifiers | All scene IDs and step IDs are globally unique |\n| Entry pointer | `entry_scene` references an existing scene ID |\n| Scene entry pointer | `entry_logic_step` references an existing step ID |\n| Scene containment | All referenced scene IDs exist |\n| Logic-step containment | All referenced step IDs exist |\n| Transition validity | All transition targets are valid scene\u002Fstep IDs or terminal values |\n| Graph integrity | No unreachable scenes or dangling references |\n\n**Failure Handling**\n- Retry malformed generations within a bounded retry budget (recommend ≤ 3 retries).\n- Record each validation failure with the specific rule that was violated.\n- Reject records that remain invalid after retries; do not silently emit invalid JSON.\n\n---\n\n# Reporting\n\nGenerate a normalization report containing:\n\n- processed artifact count\n- valid SSL count\n- rejected SSL count\n- parse failures\n- schema failures\n- graph failures\n- enum failures\n- retry counts\n\nInclude per-artifact diagnostics with the specific Pass-4 rule that caused rejection.\n\nDo not expose secrets or credentials in reports.\n\n---\n\n# Success Criteria\n\nThe skill succeeds when:\n\n- a valid SSL JSON artifact is produced\n- all references resolve correctly\n- all enum values are valid\n- the output passes all Pass-4 validation rules\n- the output remains grounded in the source artifact with no invented behaviour\n\nThe skill fails when:\n\n- required graph structures are missing\n- transitions are invalid\n- unsupported inference is required to fill required fields\n- validation errors remain unresolved after retries\n\n---\n\n# Output Expectations\n\n## Primary Output\n\nA schema-valid SSL JSON file named `ssl.json` placed alongside the source `SKILL.md`. Top-level keys: `scheduling`, `scenes`, `logic_steps`.\n\n## Secondary Output\n\nA validation and normalization report summarizing accepted artifacts, rejected artifacts, per-artifact validation diagnostics, and retry behaviour.\n\n---\n\n# Safety Constraints\n\n- Never invent credentials or external systems.\n- Never infer unstated side effects.\n- Never fabricate execution logic not present in the source.\n- Never silently repair invalid graph structures.\n- Never emit malformed JSON intentionally.\n- Keep normalization deterministic where possible.\n\n---\n\n# Reuse Instructions\n\nTo apply this skill to a SKILL.md artifact:\n\n1. Invoke this skill with `skill_path` pointing to the target `SKILL.md`.\n2. The normalizer runs all four passes in sequence.\n3. If Pass 4 fails, the `RECOVER` pass retries generation up to the retry budget.\n4. The resulting `ssl.json` is written alongside the source file.\n5. Review the `validation_report` output to confirm acceptance.\n\nFor batch normalization, invoke this skill once per artifact and aggregate the per-artifact reports.\n","# SSL Skill Normalizer\n\n## Purpose\n\nThis skill converts markdown-based skill artifacts into a structured **Scheduling-Structural-Logical (SSL)** representation as introduced in:\n\n> Liang et al., \"From Skill Text to Skill Structure: The Scheduling-Structural-Logical Representation for Agent Skills\", arXiv:2604.24026 (2026).\n\nSSL addresses the core limitation of free-form skill text: it is human-readable but hard for agents to reason over, discover, and audit. By mapping each skill into three complementary layers, SSL makes skills **searchable** (improved MRR 0.573 → 0.707 in the paper) and **risk-assessable** (improved macro F1 0.744 → 0.787).\n\n---\n\n# The Three SSL Layers\n\nThe representation is grounded in Schank & Abelson's theories of Memory Organization Packets (MOPs), Script Theory, and Conceptual Dependency. Each layer captures a different dimension of skill knowledge:\n\n## Layer 1 — Scheduling (When \u002F Who)\n\nAnswers: *When should this skill be invoked? By whom, given which inputs and outputs?*\n\nFields extracted:\n- `id` — stable lowercase identifier\n- `name` — human-readable skill name\n- `goal` — one-sentence purpose\n- `intent_signature` — typed function signature (`fn($input) -> $output`)\n- `inputs` — `$`-prefixed named input bindings\n- `outputs` — `$`-prefixed named output bindings\n- `dependencies` — explicit runtime tool or library requirements\n- `control_flow_features` — e.g. `sequential`, `conditional`, `loop`\n- `entry_scene` — ID of the first scene to execute\n- `subscene_refs` — IDs of any nested\u002Fdelegated scenes\n\n## Layer 2 — Structural (How \u002F Order)\n\nAnswers: *What are the macro-level execution stages and how do they connect?*\n\nEach **scene** is a named execution stage with:\n- `id` — unique within the skill\n- `type` — one of the restricted scene-type enum (see below)\n- `goal` — what the scene accomplishes\n- `entry_condition` — precondition for entering the scene\n- `exit_condition` — postcondition that must hold on exit\n- `next_scene_rules` — conditional transitions to the next scene ID, `END_SUCCESS`, or `END_FAIL`\n- `inputs` \u002F `outputs` — `$`-prefixed bindings consumed and produced\n- `entry_logic_step` — ID of the first logic step in this scene\n\n## Layer 3 — Logical (What \u002F Actions)\n\nAnswers: *What atomic operations are performed, on which resources?*\n\nEach **logic step** is an indivisible operation with:\n- `id` — unique within the skill\n- `scene_id` — owning scene\n- `action_type` — one of the restricted action-type enum (see below)\n- `resource_scope` — one of the restricted resource-scope enum (see below)\n- `description` — one sentence describing the operation\n- `inputs` \u002F `outputs` — named `$`-variable bindings\n- `next` — ID of the following step, `YIELD_SUCCESS`, or `YIELD_FAIL`\n\n---\n\n# Restricted Enumerations\n\n## Scene Types\n\n| Value | Meaning |\n|---|---|\n| `PREPARE` | Setup: load inputs, configure environment |\n| `ACQUIRE` | Receive or fetch required data |\n| `REASON` | Analyze, infer, or plan |\n| `ACT` | Produce or transform primary output |\n| `VERIFY` | Validate outputs or preconditions |\n| `RECOVER` | Handle failure; retry or compensate |\n| `FINALIZE` | Write results, emit notifications, clean up |\n\n## Action Types\n\n| Value | Meaning |\n|---|---|\n| `READ` | Consume data from a resource without side effects |\n| `SELECT` | Choose among alternatives |\n| `COMPARE` | Diff or rank two or more values |\n| `VALIDATE` | Assert a constraint or schema |\n| `INFER` | Derive new information via reasoning |\n| `WRITE` | Produce or overwrite data in a resource |\n| `UPDATE_STATE` | Mutate shared state |\n| `CALL_TOOL` | Invoke an external tool or subprocess |\n| `REQUEST` | Send a request to an external service |\n| `TRANSFER` | Move data between resources |\n| `NOTIFY` | Emit a message or event |\n| `TERMINATE` | End execution and return control |\n\n## Resource Scopes\n\n| Value | Meaning |\n|---|---|\n| `MEMORY` | In-process working memory |\n| `LOCAL_FS` | Local file system |\n| `CODEBASE` | Source code under version control |\n| `PROCESS` | OS process or shell |\n| `USER_DATA` | User-provided or personal data |\n| `CREDENTIALS` | Secrets, tokens, or credentials |\n| `NETWORK` | Remote network resource |\n| `OTHER` | Any resource not covered above |\n\n## Terminal Targets\n\n- **Scene transitions**: `END_SUCCESS` | `END_FAIL`\n- **Logic-step transitions**: `YIELD_SUCCESS` | `YIELD_FAIL`\n\n---\n\n# Behavioral Requirements\n\n## General Rules\n\n- Only extract information directly supported by the source artifact.\n- Do not invent hidden behavior, tools, dependencies, or side effects.\n- Use restricted enum vocabularies only; never free-form strings in typed fields.\n- Reject malformed outputs instead of silently repairing them.\n- Prefer `null`, empty arrays, or coarse-grained classifications when evidence is weak.\n\n---\n\n# Execution Pipeline\n\n## Pass 1: Scheduling Extraction\n\nRead the source `SKILL.md`, then extract the scheduling layer.\n\nProduce `scheduling` with all fields in Layer 1. When evidence is absent for an optional field, emit an empty array or `null`.\n\n**Requirements**\n- Use only explicit evidence from the source document.\n- Preserve semantic intent without paraphrasing behavior into unsupported claims.\n- Normalize all identifiers to `snake_case`.\n\n---\n\n## Pass 2: Scene Decomposition\n\nAnalyse the skill's execution flow and decompose it into macro-level scenes.\n\n**Requirements**\n- Prefer 2–5 scenes when supported by the source. Only add more if the source describes clearly distinct phases.\n- Assign only allowed scene types from the enum table.\n- For each scene define: goal, entry_condition, exit_condition, next_scene_rules, inputs, outputs, entry_logic_step.\n\n**Constraints**\n- Every `next_scene_rules` target must resolve to another scene ID, `END_SUCCESS`, or `END_FAIL`.\n- Include a `RECOVER` scene when the source describes retry or error-recovery behaviour.\n\n---\n\n## Pass 3: Logic-Step Expansion\n\nExpand each scene into its sequence of atomic logic steps.\n\n**Split a step whenever any of the following changes:**\n- action type\n- resource boundary\n- execution effect\n- control-flow behaviour\n\n**Requirements**\n- Assign only allowed action types and resource scopes.\n- Use `$`-prefixed variable bindings for all named data (`$user_request`, `$selected_file`, `$generated_output`).\n- Do not use unnamed or free-form intermediate variables.\n\n---\n\n## Pass 4: Validation\n\nValidate the draft SSL JSON against all of the following rules:\n\n| Rule | Check |\n|---|---|\n| JSON syntax | Well-formed JSON |\n| Required fields | All top-level fields present |\n| Enum membership | All enum fields use allowed values only |\n| Unique identifiers | All scene IDs and step IDs are globally unique |\n| Entry pointer | `entry_scene` references an existing scene ID |\n| Scene entry pointer | `entry_logic_step` references an existing step ID |\n| Scene containment | All referenced scene IDs exist |\n| Logic-step containment | All referenced step IDs exist |\n| Transition validity | All transition targets are valid scene\u002Fstep IDs or terminal values |\n| Graph integrity | No unreachable scenes or dangling references |\n\n**Failure Handling**\n- Retry malformed generations within a bounded retry budget (recommend ≤ 3 retries).\n- Record each validation failure with the specific rule that was violated.\n- Reject records that remain invalid after retries; do not silently emit invalid JSON.\n\n---\n\n# Reporting\n\nGenerate a normalization report containing:\n\n- processed artifact count\n- valid SSL count\n- rejected SSL count\n- parse failures\n- schema failures\n- graph failures\n- enum failures\n- retry counts\n\nInclude per-artifact diagnostics with the specific Pass-4 rule that caused rejection.\n\nDo not expose secrets or credentials in reports.\n\n---\n\n# Success Criteria\n\nThe skill succeeds when:\n\n- a valid SSL JSON artifact is produced\n- all references resolve correctly\n- all enum values are valid\n- the output passes all Pass-4 validation rules\n- the output remains grounded in the source artifact with no invented behaviour\n\nThe skill fails when:\n\n- required graph structures are missing\n- transitions are invalid\n- unsupported inference is required to fill required fields\n- validation errors remain unresolved after retries\n\n---\n\n# Output Expectations\n\n## Primary Output\n\nA schema-valid SSL JSON file named `ssl.json` placed alongside the source `SKILL.md`. Top-level keys: `scheduling`, `scenes`, `logic_steps`.\n\n## Secondary Output\n\nA validation and normalization report summarizing accepted artifacts, rejected artifacts, per-artifact validation diagnostics, and retry behaviour.\n\n---\n\n# Safety Constraints\n\n- Never invent credentials or external systems.\n- Never infer unstated side effects.\n- Never fabricate execution logic not present in the source.\n- Never silently repair invalid graph structures.\n- Never emit malformed JSON intentionally.\n- Keep normalization deterministic where possible.\n\n---\n\n# Reuse Instructions\n\nTo apply this skill to a SKILL.md artifact:\n\n1. Invoke this skill with `skill_path` pointing to the target `SKILL.md`.\n2. The normalizer runs all four passes in sequence.\n3. If Pass 4 fails, the `RECOVER` pass retries generation up to the retry budget.\n4. The resulting `ssl.json` is written alongside the source file.\n5. Review the `validation_report` output to confirm acceptance.\n\nFor batch normalization, invoke this skill once per artifact and aggregate the per-artifact reports.\n",{"name":5,"tools":52,"inputs":59,"outputs":61,"description":7},[53,54,55,56,57,58],"read_file","write_file","search_files","json_validate","create_artifact","run_tests",[60],"skill_path",[62,63],"ssl_json","validation_report","main","8541229759617347888641eba917d3b0ad66a984",".github\u002Fskills\u002Fssl",625,"https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgh-aw","https:\u002F\u002Fgh.io\u002Fgh-aw","https:\u002F\u002Fgithub.com\u002Fgithub","https:\u002F\u002Fgithub.com\u002Fabout","How people build software.","2026-11-12 03:23:28",{"source":8,"skillName":5,"commands":75,"prompt":85,"zipAvailable":86},[76,79,82],{"tool":77,"command":78},"npx","npx skills add github\u002Fgh-aw --skill ssl-skill-normalizer",{"tool":80,"command":81},"bunx","bunx skills add github\u002Fgh-aw --skill ssl-skill-normalizer",{"tool":83,"command":84},"pnpm","pnpm dlx skills add github\u002Fgh-aw --skill ssl-skill-normalizer","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgh-aw\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fssl\u002FSKILL.md",true,[88],{"path":89,"resourceType":90,"resourceTypeDesc":91,"sizeBytes":92,"sourceHtmlUrl":93},"ssl.json","REFERENCE","参考文档",8348,"https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgh-aw\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fssl\u002Fssl.json",[95,120,137,162,188,205],{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":105,"publishedAt":47},"01M6ADC942STTXHFV410J4DH0X","GitHub Agentic Workflows","GitHub Agentic Workflows (`gh-aw`) is a GitHub CLI extension for writing Agentic Workflows in markdown and compiling them to GitHub Actions.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgh-aw\u002Fblob\u002Fmain\u002FSKILL.md",[101,104],{"categoryNo":102,"categoryName":103,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[9,106,107,108,109,110,111,112,113,114,115,116,117,118,119],"agentic","agentic workflows","github agentic workflows","workflows","github cli","gh","extension","for","compiling","cli","writing","actions","github actions","markdown",{"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":126,"publishedAt":47},"01M6ADC6ZXSA46N9XD6VNAP1MS","windows-compatibility","Cross-platform path handling and command patterns","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgh-aw\u002Fblob\u002Fmain\u002F.squad\u002Ftemplates\u002Fskills\u002Fwindows-compatibility\u002FSKILL.md",[],[127,128,129,130,27,131,132,133,134,135,136],"windows","windows compatibility","compatibility","bugs","high","platform","cross-platform","patterns","command","git",{"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},"01M6ADC44957SVQF96R5YY247P","versioning-policy","Semver versioning rules for Squad SDK and CLI — prevents prerelease version incidents","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgh-aw\u002Fblob\u002Fmain\u002F.squad\u002Ftemplates\u002Fskills\u002Fversioning-policy\u002FSKILL.md",[],[144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,113,160,115,161],"policy","versioning policy","versioning","incident","gate","implementation","version","Rules","workspace","pr","ci","npm","semver","release","squad","resolution","incidents","sdk",{"skillNo":163,"name":164,"nameZh":6,"description":165,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":166,"categories":167,"keywords":172,"publishedAt":47},"01M6ADC1PHMEAEVR87F8PDR89X","tiered-memory","Three-tier agent memory model (hot\u002Fcold\u002Fwiki) for context reduction per spawn","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgh-aw\u002Fblob\u002Fmain\u002F.squad\u002Ftemplates\u002Fskills\u002Ftiered-memory\u002FSKILL.md",[168,171],{"categoryNo":169,"categoryName":170,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[173,174,175,176,113,177,178,179,180,181,182,183,184,185,186,187],"tiered memory","memory","memory-management","model","cold","proposal","runtime","three","spawn","management","context","wiki","agent memory","performance","design",{"skillNo":189,"name":190,"nameZh":6,"description":191,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":192,"categories":193,"keywords":197,"publishedAt":47},"01M6ADBZTDGFM0E25EWRQEMYEH","test-discipline","Update tests when changing APIs — no exceptions","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgh-aw\u002Fblob\u002Fmain\u002F.squad\u002Ftemplates\u002Fskills\u002Ftest-discipline\u002FSKILL.md",[194],{"categoryNo":195,"categoryName":196,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[198,199,200,201,202,131,30,147,203,204],"test discipline","discipline","test","sync","when","quality","update",{"skillNo":206,"name":158,"nameZh":6,"description":207,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":208,"categories":209,"keywords":210,"publishedAt":47},"01M6ADBX5MJP4Z7CG4XTV8ZVT8","Squad's command catalog and interactive menu. Invoke via \u002Fsquad (slash command) or natural language (\"squad commands\", \"what can squad do\", \"show me squad options\"). Presents categorized operations (Install & Upgrade, Team Management, Issues & PRs, Plugins & Skills, Model & Cost, Sessions & State) as an interactive picker. Routes to the right squad CLI command or the Squad coordinator agent.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fgh-aw\u002Fblob\u002Fmain\u002F.squad\u002Ftemplates\u002Fskills\u002Fsquad\u002FSKILL.md",[],[158,211,212,213,214,215,216,217,218,219,220,221,222,135,176,223,224,225,226,227,228,229,115],"show","interactive menu","invoke","coordinator","as","commands","upgrade","options","me","natural language","do","install","team","show me","plugins","issues","state","squad commands","sessions"]