[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CWHZDYBE12Z15SPG67NWBA":3,"skill-same:01M6CWHZDYBE12Z15SPG67NWBA":49},{"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":18,"publishedAt":22,"linkOnly":23,"markdownContent":24,"markdownBody":25,"frontMatter":26,"refName":28,"commitSha":29,"skillDirectory":30,"forksCount":31,"repositoryHtmlUrl":32,"repositoryHomepageUrl":6,"ownerHtmlUrl":33,"ownerBlogUrl":34,"ownerDescription":6,"updatedAt":35,"install":36,"resources":48},"01M6CWHZDYBE12Z15SPG67NWBA","rfs-proposal",null,"File a Request for Skill (RFS) when a skill gap is detected during execution.","vyzn-tech\u002Fpo-agent","vyzn-tech","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F105369796?v=4","01M6CWH60BBPYSC3ESNZ69ESZ4","vyzn","01M6CWH64K4XNPQBTRT8NHP5PK",0,"MIT","https:\u002F\u002Fgithub.com\u002Fvyzn-tech\u002Fpo-agent\u002Fblob\u002Fmain\u002Fskills\u002Frfs-proposal\u002FSKILL.md",[],[19,20,21],"rfs proposal","file","execution","2026-11-10 10:12:30",false,"---\nname: rfs-proposal\ndescription: File a Request for Skill (RFS) when a skill gap is detected during execution.\ndisable-model-invocation: true\n---\n\n# Request for Skill (RFS) Proposal\n\nUse this skill when you detect a skill gap — a task type or behavioral pattern that no existing skill covers adequately.\n\n**Golden rule:** Never block on a gap. Complete the task first, then file the RFS at the end.\n\n## Rate Limit\n\n**At most 1 RFS per run.** If you detect multiple gaps, file the most impactful one and note the others in the issue body.\n\n## Step 1: Check for Duplicates\n\nBefore filing, search for existing RFS issues:\n\n```bash\ngh issue list --label \"rfs\" --state open --json number,title --jq '.[] | \"#\\(.number) \\(.title)\"'\n```\n\nIf a matching RFS already exists, skip filing. Optionally add a comment noting the new occurrence.\n\n## Step 2: Create the RFS Issue\n\nFile a GitHub Issue using the structured template:\n\n```bash\ngh issue create \\\n  --label \"rfs,rfs:proposed\" \\\n  --title \"RFS: \u003Cproposed-skill-name>\" \\\n  --body \"$(cat \u003C\u003C'BODY'\n## Request for Skill\n\n| Field | Value |\n|-------|-------|\n| **Skill name** | `\u003Ckebab-case-name>` |\n| **Gap type** | `new-skill` or `skill-extension` |\n| **Extends skill** | `\u003Cexisting-skill-name>` (if skill-extension, otherwise N\u002FA) |\n| **Installation target** | `consumer` (.po-agent\u002Fskills\u002F) or `framework` (built-in) |\n\n### Trigger Context\n\nWhat the agent was doing when the gap was detected:\n- Task type: \u003Cdescription>\n- Skills consulted: \u003Clist of \u002Fskill-name checked>\n- Why existing skills fell short: \u003Cexplanation>\n\n### Desired Behavior\n\nWhat the skill should teach the agent to do:\n\u003Cdetailed description of the behavioral pattern>\n\n### Draft SKILL.md\n\n\u003CIf you have enough context, draft the SKILL.md content here. Otherwise write \"Needs human authoring.\">\n\n```markdown\n---\nname: \u003Cskill-name>\ndescription: \u003Cone-line description>\ndisable-model-invocation: true\n---\n\n# \u003CSkill Title>\n\n\u003CInstructions>\n```\n\n### Additional Gaps (if any)\n\n\u003CList other gaps detected in this run that were NOT filed as separate RFS issues>\n\n### Source\n\n- Run: \u003Clink to the GitHub Actions run or PR, if available>\nBODY\n)\"\n```\n\nAdapt the template fields based on the actual gap detected. The key fields are:\n- **Skill name**: kebab-case, descriptive\n- **Gap type**: `new-skill` if nothing covers this area; `skill-extension` if an existing skill is close but lacks guidance\n- **Installation target**: `consumer` for project-specific skills, `framework` for skills that benefit all PO Agent users\n\n## Step 3: Notify on Current Thread\n\nAfter filing the RFS, add a short note to the current PR or thread:\n\n> ✅ Task completed. Filed [RFS #N](link) for a missing capability: **\u003Cskill-name>** — \u003Cone-sentence description of the gap>.\n\nThis goes in your normal response — do NOT create a separate comment just for the notification.\n\n## Step 4: Log to RFS Log\n\nAppend a row to `.po-agent\u002Frfs-log.md` (create the file if it doesn't exist):\n\n```bash\n# Create the log file with header if it doesn't exist\nif [ ! -f .po-agent\u002Frfs-log.md ]; then\n  mkdir -p .po-agent\n  cat > .po-agent\u002Frfs-log.md \u003C\u003C 'HEADER'\n# RFS Log\n\n| Date | RFS # | Skill Name | Gap Type | Status |\n|------|-------|------------|----------|--------|\nHEADER\nfi\n\n# Append the new entry\necho \"| $(date +%Y-%m-%d) | #\u003CNUMBER> | \\`\u003Cskill-name>\\` | \u003Cgap-type> | proposed |\" >> .po-agent\u002Frfs-log.md\n```\n\nCommit and push the log update:\n\n```bash\ngit add .po-agent\u002Frfs-log.md && git commit -m \"chore: log RFS #\u003CNUMBER>\" && git push\n```\n","# Request for Skill (RFS) Proposal\n\nUse this skill when you detect a skill gap — a task type or behavioral pattern that no existing skill covers adequately.\n\n**Golden rule:** Never block on a gap. Complete the task first, then file the RFS at the end.\n\n## Rate Limit\n\n**At most 1 RFS per run.** If you detect multiple gaps, file the most impactful one and note the others in the issue body.\n\n## Step 1: Check for Duplicates\n\nBefore filing, search for existing RFS issues:\n\n```bash\ngh issue list --label \"rfs\" --state open --json number,title --jq '.[] | \"#\\(.number) \\(.title)\"'\n```\n\nIf a matching RFS already exists, skip filing. Optionally add a comment noting the new occurrence.\n\n## Step 2: Create the RFS Issue\n\nFile a GitHub Issue using the structured template:\n\n```bash\ngh issue create \\\n  --label \"rfs,rfs:proposed\" \\\n  --title \"RFS: \u003Cproposed-skill-name>\" \\\n  --body \"$(cat \u003C\u003C'BODY'\n## Request for Skill\n\n| Field | Value |\n|-------|-------|\n| **Skill name** | `\u003Ckebab-case-name>` |\n| **Gap type** | `new-skill` or `skill-extension` |\n| **Extends skill** | `\u003Cexisting-skill-name>` (if skill-extension, otherwise N\u002FA) |\n| **Installation target** | `consumer` (.po-agent\u002Fskills\u002F) or `framework` (built-in) |\n\n### Trigger Context\n\nWhat the agent was doing when the gap was detected:\n- Task type: \u003Cdescription>\n- Skills consulted: \u003Clist of \u002Fskill-name checked>\n- Why existing skills fell short: \u003Cexplanation>\n\n### Desired Behavior\n\nWhat the skill should teach the agent to do:\n\u003Cdetailed description of the behavioral pattern>\n\n### Draft SKILL.md\n\n\u003CIf you have enough context, draft the SKILL.md content here. Otherwise write \"Needs human authoring.\">\n\n```markdown\n---\nname: \u003Cskill-name>\ndescription: \u003Cone-line description>\ndisable-model-invocation: true\n---\n\n# \u003CSkill Title>\n\n\u003CInstructions>\n```\n\n### Additional Gaps (if any)\n\n\u003CList other gaps detected in this run that were NOT filed as separate RFS issues>\n\n### Source\n\n- Run: \u003Clink to the GitHub Actions run or PR, if available>\nBODY\n)\"\n```\n\nAdapt the template fields based on the actual gap detected. The key fields are:\n- **Skill name**: kebab-case, descriptive\n- **Gap type**: `new-skill` if nothing covers this area; `skill-extension` if an existing skill is close but lacks guidance\n- **Installation target**: `consumer` for project-specific skills, `framework` for skills that benefit all PO Agent users\n\n## Step 3: Notify on Current Thread\n\nAfter filing the RFS, add a short note to the current PR or thread:\n\n> ✅ Task completed. Filed [RFS #N](link) for a missing capability: **\u003Cskill-name>** — \u003Cone-sentence description of the gap>.\n\nThis goes in your normal response — do NOT create a separate comment just for the notification.\n\n## Step 4: Log to RFS Log\n\nAppend a row to `.po-agent\u002Frfs-log.md` (create the file if it doesn't exist):\n\n```bash\n# Create the log file with header if it doesn't exist\nif [ ! -f .po-agent\u002Frfs-log.md ]; then\n  mkdir -p .po-agent\n  cat > .po-agent\u002Frfs-log.md \u003C\u003C 'HEADER'\n# RFS Log\n\n| Date | RFS # | Skill Name | Gap Type | Status |\n|------|-------|------------|----------|--------|\nHEADER\nfi\n\n# Append the new entry\necho \"| $(date +%Y-%m-%d) | #\u003CNUMBER> | \\`\u003Cskill-name>\\` | \u003Cgap-type> | proposed |\" >> .po-agent\u002Frfs-log.md\n```\n\nCommit and push the log update:\n\n```bash\ngit add .po-agent\u002Frfs-log.md && git commit -m \"chore: log RFS #\u003CNUMBER>\" && git push\n```\n",{"name":5,"description":7,"disable-model-invocation":27},true,"main","c0cb940776909c352a9af4133ae769afe6173548","skills\u002Frfs-proposal",1,"https:\u002F\u002Fgithub.com\u002Fvyzn-tech\u002Fpo-agent","https:\u002F\u002Fgithub.com\u002Fvyzn-tech","https:\u002F\u002Fvyzn.tech","2026-03-11 00:37:20",{"source":8,"skillName":5,"commands":37,"prompt":47,"zipAvailable":27},[38,41,44],{"tool":39,"command":40},"npx","npx skills add vyzn-tech\u002Fpo-agent --skill rfs-proposal",{"tool":42,"command":43},"bunx","bunx skills add vyzn-tech\u002Fpo-agent --skill rfs-proposal",{"tool":45,"command":46},"pnpm","pnpm dlx skills add vyzn-tech\u002Fpo-agent --skill rfs-proposal","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fvyzn-tech\u002Fpo-agent\u002Fblob\u002Fmain\u002Fskills\u002Frfs-proposal\u002FSKILL.md",[],[50,67,84,98,115,128],{"skillNo":51,"name":52,"nameZh":6,"description":53,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":54,"categories":55,"keywords":61,"publishedAt":22},"01M6CWJ1MQ9AP9FM23RDPZ247H","story-workflow","9-phase workflow for implementing user stories. Covers requirements through verification.","https:\u002F\u002Fgithub.com\u002Fvyzn-tech\u002Fpo-agent\u002Fblob\u002Fmain\u002Fskills\u002Fstory-workflow\u002FSKILL.md",[56],{"categoryNo":57,"categoryName":58,"taxonomyType":59,"taxonomyTypeDesc":60},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[62,63,64,65,66],"story workflow","Story","workflow","user","verification",{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":73,"publishedAt":22},"01M6CWHX5K4J8J8V525TDKD2QK","review-handling","Process review comments from AI review or human reviewers. Evaluate, respond, and resolve or escalate.","https:\u002F\u002Fgithub.com\u002Fvyzn-tech\u002Fpo-agent\u002Fblob\u002Fmain\u002Fskills\u002Freview-handling\u002FSKILL.md",[],[74,75,76,77,78,79,80,81,82,83],"review","review handling","grep","Bash","human","read","write","edit","process","process review",{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":90,"publishedAt":22},"01M6CWHV07QCRZ9JPS4TA7BF36","pr-creation","Create GitHub pull requests with proper format.","https:\u002F\u002Fgithub.com\u002Fvyzn-tech\u002Fpo-agent\u002Fblob\u002Fmain\u002Fskills\u002Fpr-creation\u002FSKILL.md",[],[91,92,77,93,94,95,96,97],"pr","pr creation","github","format","pull","pull requests","create",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":108,"publishedAt":22},"01M6CWHR63J75HXG37EB4823D9","playwright-verify","Browser verification using Playwright MCP. Navigate, interact, screenshot.","https:\u002F\u002Fgithub.com\u002Fvyzn-tech\u002Fpo-agent\u002Fblob\u002Fmain\u002Fskills\u002Fplaywright-verify\u002FSKILL.md",[104,107],{"categoryNo":105,"categoryName":106,"taxonomyType":59,"taxonomyTypeDesc":60},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":57,"categoryName":58,"taxonomyType":59,"taxonomyTypeDesc":60},[109,110,111,112,113,66,114,77],"playwright verify","verify","playwright","MCP","browser","screenshot",{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":121,"publishedAt":22},"01M6CWHP42RQ6XWRS8ZXN583ZR","merge-conflicts","Resolve merge conflicts by rebasing. Use when PR mergeable status is CONFLICTING.","https:\u002F\u002Fgithub.com\u002Fvyzn-tech\u002Fpo-agent\u002Fblob\u002Fmain\u002Fskills\u002Fmerge-conflicts\u002FSKILL.md",[],[122,123,124,125,126,91,127,77],"conflicts","merge conflicts","merge","use","status","resolve merge conflicts",{"skillNo":129,"name":130,"nameZh":6,"description":131,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":132,"categories":133,"keywords":139,"publishedAt":22},"01M6CWHKHZAG2S2NC98BNXZ639","mandatory-gates","Pre-implementation gates. MUST be followed before writing any code. Investigation, confidence assessment, and scope confirmation.","https:\u002F\u002Fgithub.com\u002Fvyzn-tech\u002Fpo-agent\u002Fblob\u002Fmain\u002Fskills\u002Fmandatory-gates\u002FSKILL.md",[134],{"categoryNo":135,"categoryName":136,"taxonomyType":137,"taxonomyTypeDesc":138},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[140,141,142,143,144,145,146],"mandatory gates","assessment","code","investigation","confirmation","implementation","writing"]