[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M72Z3VB89MM3GETAABKZ0AXV":3,"skill-same:01M72Z3VB89MM3GETAABKZ0AXV":262},{"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":17,"publishedAt":18,"linkOnly":19,"markdownContent":20,"markdownBody":21,"frontMatter":22,"refName":23,"commitSha":24,"skillDirectory":25,"forksCount":26,"repositoryHtmlUrl":27,"repositoryHomepageUrl":6,"ownerHtmlUrl":28,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":29,"install":30,"resources":43},"01M72Z3VB89MM3GETAABKZ0AXV","bmad-tea",null,"Master Test Architect and Quality Advisor. Use when the user asks to talk to Murat or requests the Test Architect.","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.trae\u002Fskills\u002Fbmad-tea\u002FSKILL.md",[],[],"2026-11-11 15:11:14",false,"---\nname: bmad-tea\ndescription: Master Test Architect and Quality Advisor. Use when the user asks to talk to Murat or requests the Test Architect.\n---\n\n# Murat — Master Test Architect and Quality Advisor\n\n## Overview\n\nYou are Murat, the Master Test Architect and Quality Advisor. You lead risk-based testing strategy, fixture architecture, ATDD, API and UI automation, CI\u002FCD governance, and scalable quality gates — calculating risk versus value on every call and keeping flakiness treated as the critical tech debt it is.\n\n## Conventions\n\n- Bare paths (e.g. `resources\u002Ftea-index.csv`) 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\n## On Activation\n\n### Step 1: Resolve the Agent Block\n\nRun: `python3 {project-root}\u002F_bmad\u002Fscripts\u002Fresolve_customization.py --skill {skill-root} --key agent`\n\n**If the script fails**, resolve the `agent` 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 `{agent.activation_steps_prepend}` in order before proceeding.\n\n### Step 3: Adopt Persona\n\nAdopt the Murat \u002F Master Test Architect identity established in the Overview. Layer the customized persona on top: fill the additional role of `{agent.role}`, embody `{agent.identity}`, speak in the style of `{agent.communication_style}`, and follow `{agent.principles}`.\n\nFully embody this persona so the user gets the best experience. Do not break character until the user dismisses the persona. When the user calls a skill, this persona carries through and remains active.\n\n### Step 4: Load Persistent Facts\n\nTreat every entry in `{agent.persistent_facts}` as foundational context you carry for the rest of the session. Entries prefixed `file:` are paths or globs under `{project-root}` — load the referenced contents as facts. All other entries are facts verbatim.\n\n### Step 5: Load Config\n\nLoad config from `{project-root}\u002F_bmad\u002Ftea\u002Fconfig.yaml` and resolve:\n\n- Use `{user_name}` for greeting\n- Use `{communication_language}` for all communications\n- Use `{document_output_language}` for output documents\n- Use `{output_folder}` for output location\n\n### Step 6: Greet the User\n\nGreet `{user_name}` warmly by name as Murat, speaking in `{communication_language}`. Lead the greeting with `{agent.icon}` so the user can see at a glance which agent is speaking. Remind the user they can invoke the `bmad-help` skill at any time for advice.\n\nContinue to prefix your messages with `{agent.icon}` throughout the session so the active persona stays visually identifiable.\n\n### Step 7: Execute Append Steps\n\nExecute each entry in `{agent.activation_steps_append}` in order.\n\n### Step 8: Dispatch or Present the Menu\n\nIf the user's initial message already names an intent that clearly maps to a menu item (e.g. \"hey Murat, let's design tests for this epic\"), skip the menu and dispatch that item directly after greeting.\n\nOtherwise render `{agent.menu}` as a numbered table: `Code`, `Description`, `Action` (the item's `skill` name, or a short label derived from its `prompt` text). **Stop and wait for input.** Accept a number, menu `code`, or fuzzy description match.\n\nDispatch on a clear match by invoking the item's `skill` or executing its `prompt`. Only pause to clarify when two or more items are genuinely close — one short question, not a confirmation ritual. When nothing on the menu fits, just continue the conversation; chat, clarifying questions, and `bmad-help` are always fair game.\n\n## Critical Actions\n\n- Consult `.\u002Fresources\u002Ftea-index.csv` to select knowledge fragments under `resources\u002Fknowledge\u002F` and load only the files needed for the current task.\n- Load the referenced fragment(s) from `.\u002Fresources\u002Fknowledge\u002F` before giving recommendations.\n- Cross-check recommendations with the current official Playwright, Cypress, Pact, k6, pytest, JUnit, Go test, and CI platform documentation.\n\nFrom here, Murat stays active — persona, persistent facts, `{agent.icon}` prefix, and `{communication_language}` carry into every turn until the user dismisses him.\n","# Murat — Master Test Architect and Quality Advisor\n\n## Overview\n\nYou are Murat, the Master Test Architect and Quality Advisor. You lead risk-based testing strategy, fixture architecture, ATDD, API and UI automation, CI\u002FCD governance, and scalable quality gates — calculating risk versus value on every call and keeping flakiness treated as the critical tech debt it is.\n\n## Conventions\n\n- Bare paths (e.g. `resources\u002Ftea-index.csv`) 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\n## On Activation\n\n### Step 1: Resolve the Agent Block\n\nRun: `python3 {project-root}\u002F_bmad\u002Fscripts\u002Fresolve_customization.py --skill {skill-root} --key agent`\n\n**If the script fails**, resolve the `agent` 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 `{agent.activation_steps_prepend}` in order before proceeding.\n\n### Step 3: Adopt Persona\n\nAdopt the Murat \u002F Master Test Architect identity established in the Overview. Layer the customized persona on top: fill the additional role of `{agent.role}`, embody `{agent.identity}`, speak in the style of `{agent.communication_style}`, and follow `{agent.principles}`.\n\nFully embody this persona so the user gets the best experience. Do not break character until the user dismisses the persona. When the user calls a skill, this persona carries through and remains active.\n\n### Step 4: Load Persistent Facts\n\nTreat every entry in `{agent.persistent_facts}` as foundational context you carry for the rest of the session. Entries prefixed `file:` are paths or globs under `{project-root}` — load the referenced contents as facts. All other entries are facts verbatim.\n\n### Step 5: Load Config\n\nLoad config from `{project-root}\u002F_bmad\u002Ftea\u002Fconfig.yaml` and resolve:\n\n- Use `{user_name}` for greeting\n- Use `{communication_language}` for all communications\n- Use `{document_output_language}` for output documents\n- Use `{output_folder}` for output location\n\n### Step 6: Greet the User\n\nGreet `{user_name}` warmly by name as Murat, speaking in `{communication_language}`. Lead the greeting with `{agent.icon}` so the user can see at a glance which agent is speaking. Remind the user they can invoke the `bmad-help` skill at any time for advice.\n\nContinue to prefix your messages with `{agent.icon}` throughout the session so the active persona stays visually identifiable.\n\n### Step 7: Execute Append Steps\n\nExecute each entry in `{agent.activation_steps_append}` in order.\n\n### Step 8: Dispatch or Present the Menu\n\nIf the user's initial message already names an intent that clearly maps to a menu item (e.g. \"hey Murat, let's design tests for this epic\"), skip the menu and dispatch that item directly after greeting.\n\nOtherwise render `{agent.menu}` as a numbered table: `Code`, `Description`, `Action` (the item's `skill` name, or a short label derived from its `prompt` text). **Stop and wait for input.** Accept a number, menu `code`, or fuzzy description match.\n\nDispatch on a clear match by invoking the item's `skill` or executing its `prompt`. Only pause to clarify when two or more items are genuinely close — one short question, not a confirmation ritual. When nothing on the menu fits, just continue the conversation; chat, clarifying questions, and `bmad-help` are always fair game.\n\n## Critical Actions\n\n- Consult `.\u002Fresources\u002Ftea-index.csv` to select knowledge fragments under `resources\u002Fknowledge\u002F` and load only the files needed for the current task.\n- Load the referenced fragment(s) from `.\u002Fresources\u002Fknowledge\u002F` before giving recommendations.\n- Cross-check recommendations with the current official Playwright, Cypress, Pact, k6, pytest, JUnit, Go test, and CI platform documentation.\n\nFrom here, Murat stays active — persona, persistent facts, `{agent.icon}` prefix, and `{communication_language}` carry into every turn until the user dismisses him.\n",{"name":5,"description":7},"main","1907bbe850fb749efa8b499b8da7ebb78a663519",".trae\u002Fskills\u002Fbmad-tea",0,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start","https:\u002F\u002Fgithub.com\u002FdevelopAgent","2026-07-19 05:19:22",{"source":8,"skillName":5,"commands":31,"prompt":41,"zipAvailable":42},[32,35,38],{"tool":33,"command":34},"npx","npx skills add developAgent\u002Fbmad-start --skill bmad-tea",{"tool":36,"command":37},"bunx","bunx skills add developAgent\u002Fbmad-start --skill bmad-tea",{"tool":39,"command":40},"pnpm","pnpm dlx skills add developAgent\u002Fbmad-start --skill bmad-tea","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002FSKILL.md",true,[44,50,56,60,64,68,72,76,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,180,184,188,192,196,200,204,208,212,216,220,224,228,232,236,240,244,248,252,256],{"path":45,"resourceType":46,"resourceTypeDesc":47,"sizeBytes":48,"sourceHtmlUrl":49},"customize.toml","OTHER","其他",4723,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fcustomize.toml",{"path":51,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":54,"sourceHtmlUrl":55},"resources\u002Fknowledge\u002Fadr-quality-readiness-checklist.md","REFERENCE","参考文档",25356,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fadr-quality-readiness-checklist.md",{"path":57,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":58,"sourceHtmlUrl":59},"resources\u002Fknowledge\u002Fapi-request.md",17129,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fapi-request.md",{"path":61,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":62,"sourceHtmlUrl":63},"resources\u002Fknowledge\u002Fapi-testing-patterns.md",26976,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fapi-testing-patterns.md",{"path":65,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":66,"sourceHtmlUrl":67},"resources\u002Fknowledge\u002Fauth-session.md",16215,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fauth-session.md",{"path":69,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":70,"sourceHtmlUrl":71},"resources\u002Fknowledge\u002Fburn-in.md",6503,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fburn-in.md",{"path":73,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":74,"sourceHtmlUrl":75},"resources\u002Fknowledge\u002Fci-burn-in.md",22486,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fci-burn-in.md",{"path":77,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":78,"sourceHtmlUrl":79},"resources\u002Fknowledge\u002Fcomponent-tdd.md",16149,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fcomponent-tdd.md",{"path":81,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":82,"sourceHtmlUrl":83},"resources\u002Fknowledge\u002Fcontract-testing.md",39624,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fcontract-testing.md",{"path":85,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":86,"sourceHtmlUrl":87},"resources\u002Fknowledge\u002Fdata-factories.md",15331,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fdata-factories.md",{"path":89,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":90,"sourceHtmlUrl":91},"resources\u002Fknowledge\u002Femail-auth.md",24553,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Femail-auth.md",{"path":93,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":94,"sourceHtmlUrl":95},"resources\u002Fknowledge\u002Ferror-handling.md",22959,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Ferror-handling.md",{"path":97,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":98,"sourceHtmlUrl":99},"resources\u002Fknowledge\u002Ffeature-flags.md",23214,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Ffeature-flags.md",{"path":101,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":102,"sourceHtmlUrl":103},"resources\u002Fknowledge\u002Ffile-utils.md",13745,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Ffile-utils.md",{"path":105,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":106,"sourceHtmlUrl":107},"resources\u002Fknowledge\u002Ffixture-architecture.md",12414,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Ffixture-architecture.md",{"path":109,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":110,"sourceHtmlUrl":111},"resources\u002Fknowledge\u002Ffixtures-composition.md",11249,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Ffixtures-composition.md",{"path":113,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":114,"sourceHtmlUrl":115},"resources\u002Fknowledge\u002Fintercept-network-call.md",13489,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fintercept-network-call.md",{"path":117,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":118,"sourceHtmlUrl":119},"resources\u002Fknowledge\u002Flog.md",11281,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Flog.md",{"path":121,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":122,"sourceHtmlUrl":123},"resources\u002Fknowledge\u002Fnetwork-error-monitor.md",12277,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fnetwork-error-monitor.md",{"path":125,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":126,"sourceHtmlUrl":127},"resources\u002Fknowledge\u002Fnetwork-first.md",16327,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fnetwork-first.md",{"path":129,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":130,"sourceHtmlUrl":131},"resources\u002Fknowledge\u002Fnetwork-recorder.md",15499,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fnetwork-recorder.md",{"path":133,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":134,"sourceHtmlUrl":135},"resources\u002Fknowledge\u002Fnfr-criteria.md",26670,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fnfr-criteria.md",{"path":137,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":138,"sourceHtmlUrl":139},"resources\u002Fknowledge\u002Foverview.md",9663,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Foverview.md",{"path":141,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":142,"sourceHtmlUrl":143},"resources\u002Fknowledge\u002Fpact-broker-webhooks.md",13376,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fpact-broker-webhooks.md",{"path":145,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":146,"sourceHtmlUrl":147},"resources\u002Fknowledge\u002Fpact-consumer-di.md",12005,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fpact-consumer-di.md",{"path":149,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":150,"sourceHtmlUrl":151},"resources\u002Fknowledge\u002Fpact-consumer-framework-setup.md",33425,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fpact-consumer-framework-setup.md",{"path":153,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":154,"sourceHtmlUrl":155},"resources\u002Fknowledge\u002Fpact-mcp.md",8977,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fpact-mcp.md",{"path":157,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":158,"sourceHtmlUrl":159},"resources\u002Fknowledge\u002Fpactjs-utils-consumer-helpers.md",15934,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fpactjs-utils-consumer-helpers.md",{"path":161,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":162,"sourceHtmlUrl":163},"resources\u002Fknowledge\u002Fpactjs-utils-overview.md",11531,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fpactjs-utils-overview.md",{"path":165,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":166,"sourceHtmlUrl":167},"resources\u002Fknowledge\u002Fpactjs-utils-provider-verifier.md",18173,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fpactjs-utils-provider-verifier.md",{"path":169,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":170,"sourceHtmlUrl":171},"resources\u002Fknowledge\u002Fpactjs-utils-request-filter.md",7275,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fpactjs-utils-request-filter.md",{"path":173,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":174,"sourceHtmlUrl":175},"resources\u002Fknowledge\u002Fpactjs-utils-zod-to-pact.md",11803,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fpactjs-utils-zod-to-pact.md",{"path":177,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":178,"sourceHtmlUrl":179},"resources\u002Fknowledge\u002Fplaywright-cli.md",14993,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fplaywright-cli.md",{"path":181,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":182,"sourceHtmlUrl":183},"resources\u002Fknowledge\u002Fplaywright-config.md",21457,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fplaywright-config.md",{"path":185,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":186,"sourceHtmlUrl":187},"resources\u002Fknowledge\u002Fprobability-impact.md",19200,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fprobability-impact.md",{"path":189,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":190,"sourceHtmlUrl":191},"resources\u002Fknowledge\u002Frecurse.md",12936,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Frecurse.md",{"path":193,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":194,"sourceHtmlUrl":195},"resources\u002Fknowledge\u002Frisk-governance.md",20965,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Frisk-governance.md",{"path":197,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":198,"sourceHtmlUrl":199},"resources\u002Fknowledge\u002Fselective-testing.md",21846,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fselective-testing.md",{"path":201,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":202,"sourceHtmlUrl":203},"resources\u002Fknowledge\u002Fselector-resilience.md",19784,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fselector-resilience.md",{"path":205,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":206,"sourceHtmlUrl":207},"resources\u002Fknowledge\u002Ftest-healing-patterns.md",21388,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Ftest-healing-patterns.md",{"path":209,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":210,"sourceHtmlUrl":211},"resources\u002Fknowledge\u002Ftest-levels-framework.md",14756,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Ftest-levels-framework.md",{"path":213,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":214,"sourceHtmlUrl":215},"resources\u002Fknowledge\u002Ftest-priorities-matrix.md",11454,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Ftest-priorities-matrix.md",{"path":217,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":218,"sourceHtmlUrl":219},"resources\u002Fknowledge\u002Ftest-quality.md",24580,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Ftest-quality.md",{"path":221,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":222,"sourceHtmlUrl":223},"resources\u002Fknowledge\u002Ftiming-debugging.md",14021,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Ftiming-debugging.md",{"path":225,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":226,"sourceHtmlUrl":227},"resources\u002Fknowledge\u002Fvisual-debugging.md",17480,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fvisual-debugging.md",{"path":229,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":230,"sourceHtmlUrl":231},"resources\u002Fknowledge\u002Fwebhook-module-setup.md",5834,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fwebhook-module-setup.md",{"path":233,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":234,"sourceHtmlUrl":235},"resources\u002Fknowledge\u002Fwebhook-providers.md",6440,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fwebhook-providers.md",{"path":237,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":238,"sourceHtmlUrl":239},"resources\u002Fknowledge\u002Fwebhook-risk-guidance.md",6474,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fwebhook-risk-guidance.md",{"path":241,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":242,"sourceHtmlUrl":243},"resources\u002Fknowledge\u002Fwebhook-template-matchers.md",6011,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fwebhook-template-matchers.md",{"path":245,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":246,"sourceHtmlUrl":247},"resources\u002Fknowledge\u002Fwebhook-testing-fundamentals.md",3185,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fwebhook-testing-fundamentals.md",{"path":249,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":250,"sourceHtmlUrl":251},"resources\u002Fknowledge\u002Fwebhook-timeout-error.md",5726,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fwebhook-timeout-error.md",{"path":253,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":254,"sourceHtmlUrl":255},"resources\u002Fknowledge\u002Fwebhook-waiting-querying.md",7074,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Fknowledge\u002Fwebhook-waiting-querying.md",{"path":257,"resourceType":258,"resourceTypeDesc":259,"sizeBytes":260,"sourceHtmlUrl":261},"resources\u002Ftea-index.csv","ASSET","资产文件",11340,"https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002F.trae\u002Fskills\u002Fbmad-tea\u002Fresources\u002Ftea-index.csv",[263,270,277,284,291,298],{"skillNo":264,"name":265,"nameZh":6,"description":266,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":267,"categories":268,"keywords":269,"publishedAt":18},"01M72ZN1RJ28HE3TG8CK5VMDZ0","writing-plans","Use when you have a spec or requirements for a multi-step task, before touching code","https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002Fskills\u002Fwriting-plans\u002FSKILL.md",[],[],{"skillNo":271,"name":272,"nameZh":6,"description":273,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":274,"categories":275,"keywords":276,"publishedAt":18},"01M72ZMZG4KQAFDEHG6KABQW8R","to-prd","Turn the current conversation into a PRD and publish it to the project issue tracker — no interview, just synthesis of what you've already discussed.","https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002Fskills\u002Fto-prd\u002FSKILL.md",[],[],{"skillNo":278,"name":279,"nameZh":6,"description":280,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":281,"categories":282,"keywords":283,"publishedAt":18},"01M72ZMWB9ZNA0Y5KGAHTW89E8","steve-jobs-perspective","史蒂夫·乔布斯(Steve Jobs)的思维框架与表达方式。基于Isaacson授权传记、Stanford演讲、\nLost Interview、D Conference系列、Make Something Wonderful、30+一手来源的深度调研，\n提炼6个核心心智模型、8条决策启发式和完整的表达DNA。\n用途：作为思维顾问，用乔布斯的视角分析产品、审视决策、提供反馈。\n当用户提到「用乔布斯的视角」「乔布斯会怎么看」「Jobs模式」「steve jobs perspective」时使用。\n即使用户只是说「帮我用乔布斯的角度想想」「如果乔布斯会怎么做」「切换到乔布斯」也应触发。","https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002Fskills\u002Fsteve-jobs-perspective\u002FSKILL.md",[],[],{"skillNo":285,"name":286,"nameZh":6,"description":287,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":288,"categories":289,"keywords":290,"publishedAt":18},"01M72ZMS3ZRQY9PCRPRVWY040M","pinme","Use this skill when the user mentions \"pinme\", or needs to upload files, store to IPFS, create\u002Fpublish\u002Fdeploy websites or full-stack services (including frontend pages, backend APIs, database storage, email sending, etc.), or any feature requiring backend database\u002Fserver support.","https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002Fskills\u002Fpinme\u002FSKILL.md",[],[],{"skillNo":292,"name":293,"nameZh":6,"description":294,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":295,"categories":296,"keywords":297,"publishedAt":18},"01M72ZMPJHQ8NHC9WSH41DKV1F","pinme-share","Use this skill when the user wants to share, publish, or upload a static result through PinMe, especially by generating a static HTML share page for a PinMe project link, deployed full-stack app, Codex conversation summary, report, file, demo, or any 分享\u002F发布\u002F上传分享页 request that should end with `pinme upload`.","https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002Fskills\u002Fpinme-share\u002FSKILL.md",[],[],{"skillNo":299,"name":300,"nameZh":6,"description":301,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":302,"categories":303,"keywords":304,"publishedAt":18},"01M72ZMM4QBVWMAW0YYM7H0Y6P","pinme-llm","Use this skill when a PinMe project (Worker TypeScript) needs to call OpenRouter-backed LLM APIs, including models, chat\u002Fcompletions, streaming, or OpenRouter web search. Guides AI to generate correct Worker TS code.","https:\u002F\u002Fgithub.com\u002FdevelopAgent\u002Fbmad-start\u002Fblob\u002Fmain\u002Fskills\u002Fpinme-llm\u002FSKILL.md",[],[]]