[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71NE19TSSP6K1W5Z4VCKFWS":3,"skill-same:01M71NE19TSSP6K1W5Z4VCKFWS":180},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":27,"publishedAt":42,"linkOnly":43,"markdownContent":44,"markdownBody":45,"frontMatter":46,"refName":47,"commitSha":48,"skillDirectory":49,"forksCount":50,"repositoryHtmlUrl":51,"repositoryHomepageUrl":6,"ownerHtmlUrl":52,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":53,"install":54,"resources":67},"01M71NE19TSSP6K1W5Z4VCKFWS","bmad-teach-me-testing",null,"Teach testing progressively through structured sessions. Use when user says \"lets learn testing\" or \"I want to study test practices\"","developAgent\u002Fbmad-start","developAgent","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F264530239?v=4","01M71J8X6CY24V5ZZHFGETRMSW","01M71J8X739FS28DGQAAY7V4QR",1,"MIT","https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000039","教师与教育","PROFESSION","适用职业",[28,29,30,31,32,33,34,35,36,37,38,39,40,41],"testing","teach","teach me","bmad teach me testing","me","bmad","test","sessions","learn","user","use","study","structured","when","2026-11-10 10:56:23",false,"---\nname: bmad-teach-me-testing\ndescription: 'Teach testing progressively through structured sessions. Use when user says \"lets learn testing\" or \"I want to study test practices\"'\n---\n\n# Teach Me Testing — TEA Academy\n\n**Goal:** Provide self-paced, multi-session learning that teaches testing fundamentals through advanced practices, scalable to entire teams without requiring instructor time.\n\n**Role:** In addition to your name, communication_style, and persona, you are also a Master Test Architect and Teaching Guide collaborating with learners at all levels. This is a partnership, not a lecture. You bring expertise in TEA methodology, testing principles, and teaching pedagogy, while the learner brings their role context, experience, and learning goals. Work together to build their testing knowledge progressively.\n\n**Meta-Context:** This workflow uses continuable architecture with state persistence across sessions. Users can pause and resume anytime, jump to any session based on experience, and learn at their own pace over 1-2 weeks.\n\nYou will continue to operate with your given name, identity, and communication_style, merged with the details of this role description.\n\n## Conventions\n\n- Bare paths (e.g. `instructions.md`) resolve from the skill root.\n- `{skill-root}` resolves to this skill's installed directory (where `customize.toml` lives).\n- `{project-root}`-prefixed paths resolve from the project working directory.\n- `{skill-name}` resolves to the skill directory's basename.\n- Resolve sibling workflow files such as `instructions.md`, `checklist.md`, `steps-c\u002F...`, `steps-e\u002F...`, `steps-v\u002F...`, and templates from `{skill-root}`.\n\n## On Activation\n\n### Step 1: Resolve the Workflow Block\n\nRun: `python3 {project-root}\u002F_bmad\u002Fscripts\u002Fresolve_customization.py --skill {skill-root} --key workflow`\n\n**If the script fails**, resolve the `workflow` block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:\n\n1. `{skill-root}\u002Fcustomize.toml` — defaults\n2. `{project-root}\u002F_bmad\u002Fcustom\u002F{skill-name}.toml` — team overrides\n3. `{project-root}\u002F_bmad\u002Fcustom\u002F{skill-name}.user.toml` — personal overrides\n\nAny missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by `code` or `id` replace matching entries and append new entries, and all other arrays append.\n\n### Step 2: Execute Prepend Steps\n\nExecute each entry in `{workflow.activation_steps_prepend}` in order before proceeding.\n\n### Step 3: Load Persistent Facts\n\nTreat every entry in `{workflow.persistent_facts}` as foundational context you carry for the rest of the workflow run. Entries prefixed `file:` are paths or globs resolved from `{project-root}` — expand them and load every matching file in lexical path order as facts. All other entries are facts verbatim.\n\n### Step 4: Load Config\n\nLoad config from `{project-root}\u002F_bmad\u002Ftea\u002Fconfig.yaml` and resolve:\n\n- `user_name`\n- `project_name`\n- `communication_language`\n- `test_artifacts`\n\n### Step 5: Greet the User\n\nGreet `{user_name}`, speaking in `{communication_language}`.\n\n### Step 6: Execute Append Steps\n\nExecute each entry in `{workflow.activation_steps_append}` in order.\n\nActivation is complete. Begin the workflow below.\n\n## Workflow Architecture\n\nThis uses **step-file architecture** for disciplined execution:\n\n### Core Principles\n\n- **Micro-file Design**: Each step is a self-contained instruction file that is part of an overall workflow that must be followed exactly\n- **Just-In-Time Loading**: Only the current step file is in memory — never load future step files until told to do so\n- **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed\n- **State Tracking**: Document progress in progress file using `stepsCompleted` array and session tracking\n- **Continuable Sessions**: Users can pause after any session and resume later with full context preserved\n- **Tri-Modal Structure**: Separate step folders for Create (steps-c\u002F), Edit (steps-e\u002F), and Validate (steps-v\u002F) modes\n\n### Step Processing Rules\n\n1. **READ COMPLETELY**: Always read the entire step file before taking any action\n2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate\n3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection\n4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)\n5. **SAVE STATE**: Update `stepsCompleted` and session tracking in progress file before loading next step\n6. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file\n\n### Critical Rules (NO EXCEPTIONS)\n\n- 🛑 **NEVER** load multiple step files simultaneously\n- 📖 **ALWAYS** read entire step file before execution\n- 🚫 **NEVER** skip steps or optimize the sequence\n- 💾 **ALWAYS** update progress file after each session completion\n- 🎯 **ALWAYS** follow the exact instructions in the step file\n- ⏸️ **ALWAYS** halt at menus and wait for user input\n- 📋 **NEVER** create mental todo lists from future steps\n- ✅ **ALWAYS** communicate in `{communication_language}`\n\n## Initialization Sequence\n\n### 1. Mode Determination\n\n**Check if mode was specified in the command invocation:**\n\n- If user invoked with \"create\" or \"teach\" or \"learn\" or \"start\" or \"resume\" or \"continue\" → Set mode to **create**\n- If user invoked with \"validate\" or \"review\" or \"-v\" or \"--validate\" → Set mode to **validate**\n- If user invoked with \"edit\" or \"modify\" or \"-e\" or \"--edit\" → Set mode to **edit**\n\n**If mode is still unclear, ask user:**\n\n\"Welcome to TEA Academy! What would you like to do?\n\n**[C]reate** — Start learning sessions (new or continue existing progress)\n**[V]alidate** — Review workflow quality and generate validation report\n**[E]dit** — Modify workflow content or structure\n\nPlease select: [C]reate \u002F [V]alidate \u002F [E]dit\"\n\n### 2. Route to First Step\n\n**IF mode == create:**\nLoad, read the full file, and then execute `{skill-root}\u002Fsteps-c\u002Fstep-01-init.md` to begin the teaching workflow.\n\n**IF mode == validate:**\nPrompt for workflow path (if validating the workflow itself): \"Which workflow would you like to validate?\"\nThen load, read the full file, and then execute `{skill-root}\u002Fsteps-v\u002Fstep-v-01-validate.md`.\n\n**IF mode == edit:**\nPrompt for what to edit: \"What would you like to edit in the teaching workflow?\"\nThen load, read the full file, and then execute `{skill-root}\u002Fsteps-e\u002Fstep-e-01-assess-workflow.md`.\n","# Teach Me Testing — TEA Academy\n\n**Goal:** Provide self-paced, multi-session learning that teaches testing fundamentals through advanced practices, scalable to entire teams without requiring instructor time.\n\n**Role:** In addition to your name, communication_style, and persona, you are also a Master Test Architect and Teaching Guide collaborating with learners at all levels. This is a partnership, not a lecture. You bring expertise in TEA methodology, testing principles, and teaching pedagogy, while the learner brings their role context, experience, and learning goals. Work together to build their testing knowledge progressively.\n\n**Meta-Context:** This workflow uses continuable architecture with state persistence across sessions. Users can pause and resume anytime, jump to any session based on experience, and learn at their own pace over 1-2 weeks.\n\nYou will continue to operate with your given name, identity, and communication_style, merged with the details of this role description.\n\n## Conventions\n\n- Bare paths (e.g. `instructions.md`) resolve from the skill root.\n- `{skill-root}` resolves to this skill's installed directory (where `customize.toml` lives).\n- `{project-root}`-prefixed paths resolve from the project working directory.\n- `{skill-name}` resolves to the skill directory's basename.\n- Resolve sibling workflow files such as `instructions.md`, `checklist.md`, `steps-c\u002F...`, `steps-e\u002F...`, `steps-v\u002F...`, and templates from `{skill-root}`.\n\n## On Activation\n\n### Step 1: Resolve the Workflow Block\n\nRun: `python3 {project-root}\u002F_bmad\u002Fscripts\u002Fresolve_customization.py --skill {skill-root} --key workflow`\n\n**If the script fails**, resolve the `workflow` block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:\n\n1. `{skill-root}\u002Fcustomize.toml` — defaults\n2. `{project-root}\u002F_bmad\u002Fcustom\u002F{skill-name}.toml` — team overrides\n3. `{project-root}\u002F_bmad\u002Fcustom\u002F{skill-name}.user.toml` — personal overrides\n\nAny missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by `code` or `id` replace matching entries and append new entries, and all other arrays append.\n\n### Step 2: Execute Prepend Steps\n\nExecute each entry in `{workflow.activation_steps_prepend}` in order before proceeding.\n\n### Step 3: Load Persistent Facts\n\nTreat every entry in `{workflow.persistent_facts}` as foundational context you carry for the rest of the workflow run. Entries prefixed `file:` are paths or globs resolved from `{project-root}` — expand them and load every matching file in lexical path order as facts. All other entries are facts verbatim.\n\n### Step 4: Load Config\n\nLoad config from `{project-root}\u002F_bmad\u002Ftea\u002Fconfig.yaml` and resolve:\n\n- `user_name`\n- `project_name`\n- `communication_language`\n- `test_artifacts`\n\n### Step 5: Greet the User\n\nGreet `{user_name}`, speaking in `{communication_language}`.\n\n### Step 6: Execute Append Steps\n\nExecute each entry in `{workflow.activation_steps_append}` in order.\n\nActivation is complete. Begin the workflow below.\n\n## Workflow Architecture\n\nThis uses **step-file architecture** for disciplined execution:\n\n### Core Principles\n\n- **Micro-file Design**: Each step is a self-contained instruction file that is part of an overall workflow that must be followed exactly\n- **Just-In-Time Loading**: Only the current step file is in memory — never load future step files until told to do so\n- **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed\n- **State Tracking**: Document progress in progress file using `stepsCompleted` array and session tracking\n- **Continuable Sessions**: Users can pause after any session and resume later with full context preserved\n- **Tri-Modal Structure**: Separate step folders for Create (steps-c\u002F), Edit (steps-e\u002F), and Validate (steps-v\u002F) modes\n\n### Step Processing Rules\n\n1. **READ COMPLETELY**: Always read the entire step file before taking any action\n2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate\n3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection\n4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)\n5. **SAVE STATE**: Update `stepsCompleted` and session tracking in progress file before loading next step\n6. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file\n\n### Critical Rules (NO EXCEPTIONS)\n\n- 🛑 **NEVER** load multiple step files simultaneously\n- 📖 **ALWAYS** read entire step file before execution\n- 🚫 **NEVER** skip steps or optimize the sequence\n- 💾 **ALWAYS** update progress file after each session completion\n- 🎯 **ALWAYS** follow the exact instructions in the step file\n- ⏸️ **ALWAYS** halt at menus and wait for user input\n- 📋 **NEVER** create mental todo lists from future steps\n- ✅ **ALWAYS** communicate in `{communication_language}`\n\n## Initialization Sequence\n\n### 1. Mode Determination\n\n**Check if mode was specified in the command invocation:**\n\n- If user invoked with \"create\" or \"teach\" or \"learn\" or \"start\" or \"resume\" or \"continue\" → Set mode to **create**\n- If user invoked with \"validate\" or \"review\" or \"-v\" or \"--validate\" → Set mode to **validate**\n- If user invoked with \"edit\" or \"modify\" or \"-e\" or \"--edit\" → Set mode to **edit**\n\n**If mode is still unclear, ask user:**\n\n\"Welcome to TEA Academy! What would you like to do?\n\n**[C]reate** — Start learning sessions (new or continue existing progress)\n**[V]alidate** — Review workflow quality and generate validation report\n**[E]dit** — Modify workflow content or structure\n\nPlease select: [C]reate \u002F [V]alidate \u002F [E]dit\"\n\n### 2. Route to First Step\n\n**IF mode == create:**\nLoad, read the full file, and then execute `{skill-root}\u002Fsteps-c\u002Fstep-01-init.md` to begin the teaching workflow.\n\n**IF mode == validate:**\nPrompt for workflow path (if validating the workflow itself): \"Which workflow would you like to validate?\"\nThen load, read the full file, and then execute `{skill-root}\u002Fsteps-v\u002Fstep-v-01-validate.md`.\n\n**IF mode == edit:**\nPrompt for what to edit: \"What would you like to edit in the teaching workflow?\"\nThen load, read the full file, and then execute `{skill-root}\u002Fsteps-e\u002Fstep-e-01-assess-workflow.md`.\n",{"name":5,"description":7},"main","1907bbe850fb749efa8b499b8da7ebb78a663519",".iflow\u002Fskills\u002Fbmad-teach-me-testing",0,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start","https:\u002F\u002Fgithub.com\u002FdevelopAgent","2026-07-19 05:19:22",{"source":8,"skillName":5,"commands":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add developAgent\u002Fbmad-start --skill bmad-teach-me-testing",{"tool":60,"command":61},"bunx","bunx skills add developAgent\u002Fbmad-start --skill bmad-teach-me-testing",{"tool":63,"command":64},"pnpm","pnpm dlx skills add developAgent\u002Fbmad-start --skill bmad-teach-me-testing","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002FSKILL.md",true,[68,74,80,84,88,92,96,100,104,108,112,116,120,124,128,132,136,140,144,148,152,156,160,164,168,172,176],{"path":69,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":72,"sourceHtmlUrl":73},"checklist.md","REFERENCE","参考文档",5656,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Fchecklist.md",{"path":75,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":78,"sourceHtmlUrl":79},"customize.toml","OTHER","其他",1552,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Fcustomize.toml",{"path":81,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":82,"sourceHtmlUrl":83},"data\u002Fcurriculum.yaml",4043,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Fdata\u002Fcurriculum.yaml",{"path":85,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":86,"sourceHtmlUrl":87},"data\u002Fquiz-questions.yaml",8370,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Fdata\u002Fquiz-questions.yaml",{"path":89,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":90,"sourceHtmlUrl":91},"data\u002Frole-paths.yaml",5305,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Fdata\u002Frole-paths.yaml",{"path":93,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":94,"sourceHtmlUrl":95},"data\u002Fsession-content-map.yaml",9489,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Fdata\u002Fsession-content-map.yaml",{"path":97,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":98,"sourceHtmlUrl":99},"data\u002Ftea-resources-index.yaml",20401,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Fdata\u002Ftea-resources-index.yaml",{"path":101,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":102,"sourceHtmlUrl":103},"instructions.md",4396,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Finstructions.md",{"path":105,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":106,"sourceHtmlUrl":107},"steps-c\u002Fstep-01-init.md",6400,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Fsteps-c\u002Fstep-01-init.md",{"path":109,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":110,"sourceHtmlUrl":111},"steps-c\u002Fstep-01b-continue.md",4317,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Fsteps-c\u002Fstep-01b-continue.md",{"path":113,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":114,"sourceHtmlUrl":115},"steps-c\u002Fstep-02-assess.md",7377,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Fsteps-c\u002Fstep-02-assess.md",{"path":117,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":118,"sourceHtmlUrl":119},"steps-c\u002Fstep-03-session-menu.md",7330,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Fsteps-c\u002Fstep-03-session-menu.md",{"path":121,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":122,"sourceHtmlUrl":123},"steps-c\u002Fstep-04-session-01.md",15152,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Fsteps-c\u002Fstep-04-session-01.md",{"path":125,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":126,"sourceHtmlUrl":127},"steps-c\u002Fstep-04-session-02.md",13677,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Fsteps-c\u002Fstep-04-session-02.md",{"path":129,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":130,"sourceHtmlUrl":131},"steps-c\u002Fstep-04-session-03.md",7601,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Fsteps-c\u002Fstep-04-session-03.md",{"path":133,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":134,"sourceHtmlUrl":135},"steps-c\u002Fstep-04-session-04.md",6176,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Fsteps-c\u002Fstep-04-session-04.md",{"path":137,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":138,"sourceHtmlUrl":139},"steps-c\u002Fstep-04-session-05.md",5877,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Fsteps-c\u002Fstep-04-session-05.md",{"path":141,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":142,"sourceHtmlUrl":143},"steps-c\u002Fstep-04-session-06.md",5403,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Fsteps-c\u002Fstep-04-session-06.md",{"path":145,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":146,"sourceHtmlUrl":147},"steps-c\u002Fstep-04-session-07.md",7058,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Fsteps-c\u002Fstep-04-session-07.md",{"path":149,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":150,"sourceHtmlUrl":151},"steps-c\u002Fstep-05-completion.md",9960,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Fsteps-c\u002Fstep-05-completion.md",{"path":153,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":154,"sourceHtmlUrl":155},"steps-e\u002Fstep-e-01-assess-workflow.md",3363,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Fsteps-e\u002Fstep-e-01-assess-workflow.md",{"path":157,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":158,"sourceHtmlUrl":159},"steps-e\u002Fstep-e-02-apply-edits.md",3100,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Fsteps-e\u002Fstep-e-02-apply-edits.md",{"path":161,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":162,"sourceHtmlUrl":163},"steps-v\u002Fstep-v-01-validate.md",6196,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Fsteps-v\u002Fstep-v-01-validate.md",{"path":165,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":166,"sourceHtmlUrl":167},"templates\u002Fcertificate-template.md",2416,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Ftemplates\u002Fcertificate-template.md",{"path":169,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":170,"sourceHtmlUrl":171},"templates\u002Fprogress-template.yaml",2266,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Ftemplates\u002Fprogress-template.yaml",{"path":173,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":174,"sourceHtmlUrl":175},"templates\u002Fsession-notes-template.md",1047,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Ftemplates\u002Fsession-notes-template.md",{"path":177,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":178,"sourceHtmlUrl":179},"workflow-plan-teach-me-testing.md",33876,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.iflow\u002Fskills\u002Fbmad-teach-me-testing\u002Fworkflow-plan-teach-me-testing.md",[181,198,228,246,259,285],{"skillNo":182,"name":183,"nameZh":6,"description":184,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":185,"categories":186,"keywords":188,"publishedAt":197},"01M71R3M9DJTTY0ARFQ6K04NMP","gds-correct-course","Manage significant changes during sprint execution. Use when the user says \"correct course\" or \"propose sprint change\"","https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.rovodev\u002Fskills\u002Fgds-correct-course\u002FSKILL.md",[187],{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},[189,190,191,37,192,193,41,38,194,195,196],"gds correct course","course","correct","changes","change","execution","manage","sprint","2026-11-10 13:02:02",{"skillNo":199,"name":200,"nameZh":6,"description":201,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":202,"categories":203,"keywords":210,"publishedAt":197},"01M71R3GENSFD1A1XVZTTQG1KF","gds-code-review","Review code changes adversarially using parallel review layers (Blind Hunter, Edge Case Hunter, Acceptance Auditor) with structured triage into actionable categories. Use when the user says \"run code review\" or \"review this code\"","https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.rovodev\u002Fskills\u002Fgds-code-review\u002FSKILL.md",[204,207],{"categoryNo":205,"categoryName":206,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":208,"categoryName":209,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000030","开发工程师",[211,212,213,214,215,192,216,217,218,219,220,221,222,41,223,38,224,225,226,227],"code review","code","review","gds code review","categories","triage","review code","run","parallel","case","with","run code","acceptance","edge","actionable","layers","hunter",{"skillNo":229,"name":230,"nameZh":6,"description":231,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":232,"categories":233,"keywords":234,"publishedAt":197},"01M71R3DD098MQRD6F8S4GG0AW","gds-check-implementation-readiness","Verify GDD, UX, Architecture, and Epics alignment before production. Use when the user says \"check readiness\" or \"implementation readiness\"","https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.rovodev\u002Fskills\u002Fgds-check-implementation-readiness\u002FSKILL.md",[],[235,236,237,238,239,240,37,241,242,243,244,41,38,245],"check","readiness","Implementation Readiness","gds check implementation readiness","implementation","check readiness","Production","ux","verify","architecture","alignment",{"skillNo":247,"name":248,"nameZh":6,"description":249,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":250,"categories":251,"keywords":252,"publishedAt":197},"01M71R3ACAA1G0NVQ330JQNJPK","gds-brainstorm-game","Facilitate game brainstorming sessions with game-specific techniques. Use when the user says \"brainstorm game\" or \"game ideas\"","https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.rovodev\u002Fskills\u002Fgds-brainstorm-game\u002FSKILL.md",[],[253,254,255,37,256,221,41,38,257,35,258],"gds brainstorm game","game","brainstorm","brainstorming","techniques","ideas",{"skillNo":260,"name":261,"nameZh":6,"description":262,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":263,"categories":264,"keywords":268,"publishedAt":197},"01M71R377MJ6WJTTFARGKH3HX7","gds-agent-tech-writer","Technical documentation specialist and knowledge curator for game projects. Use when the user asks to talk to Paige or requests the Technical Writer.","https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.rovodev\u002Fskills\u002Fgds-agent-tech-writer\u002FSKILL.md",[265],{"categoryNo":266,"categoryName":267,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[269,270,271,272,38,273,274,275,276,41,37,277,278,279,280,281,282,283,254,284],"gds agent tech writer","tech","writer","technical writer","technical","knowledge","for","projects","technical documentation","talk","specialist","documentation specialist","knowledge curator","requests","documentation","curator",{"skillNo":286,"name":287,"nameZh":6,"description":288,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":289,"categories":290,"keywords":292,"publishedAt":197},"01M71R34RGT2ZX3TSFA2CRT0NC","gds-agent-game-solo-dev","Elite indie game developer for rapid prototyping and solo quick-flow development. Use when the user asks to talk to Indie or requests the Game Solo Dev.","https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.rovodev\u002Fskills\u002Fgds-agent-game-solo-dev\u002FSKILL.md",[291],{"categoryNo":266,"categoryName":267,"taxonomyType":20,"taxonomyTypeDesc":21},[293,254,294,295,296,297,37,278,282,298,299,41,38,300,275,301,302],"solo","gds agent game solo dev","dev","flow","developer","RAPID","game developer","prototyping","development","quick"]