[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6VDSZ7BST48G8F9VFYGBA6Q":3,"skill-same:01M6VDSZ7BST48G8F9VFYGBA6Q":67},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":50,"ownerDescription":51,"updatedAt":52,"install":53,"resources":66},"01M6VDSZ7BST48G8F9VFYGBA6Q","bmad-sync-standards",null,"Sync engineering standards from a central catalog into the current project's docs\u002Fstandards\u002F folder, based on the project's engineering-standards.yml manifest. Also generates .cursor\u002Frules\u002F*.mdc and updates CLAUDE.md @imports for editor parity. Use when user says \"sync standards\", \"pull standards\", \"update standards\", or after editing engineering-standards.yml.","ElasticRun\u002Fdont-b-mad","ElasticRun","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F24962767?v=4","01M6RW3DEPYKV435NJTHBQY26T","Elasticrun","01M6RW3DK0HKQAA7C6ED3ECSRZ",0,"MIT","https:\u002F\u002Fgithub.com\u002FElasticRun\u002Fdont-b-mad\u002Fblob\u002Fmain\u002Fcursor\u002Fskills\u002Fbmad-sync-standards\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"standards","bmad sync standards","bmad","sync","project","when","imports","for","updates","folder","update","engineering standards","pull","editor","use","catalog","cursor","editing","Rules","manifest","2026-11-10 10:12:30",false,"---\nname: bmad-sync-standards\ndescription: >\n  Sync engineering standards from a central catalog into the current project's\n  docs\u002Fstandards\u002F folder, based on the project's engineering-standards.yml manifest.\n  Also generates .cursor\u002Frules\u002F*.mdc and updates CLAUDE.md @imports for editor parity.\n  Use when user says \"sync standards\", \"pull standards\", \"update standards\", or\n  after editing engineering-standards.yml.\n---\n\n# Sync Engineering Standards\n\nPull a project-specific subset of the central engineering-standards catalog into the project. BMAD skills (create-architecture, create-story, dev-story, code-review) read these from `docs\u002Fstandards\u002F` and treat constraints as binding.\n\n## When to Use\n\n- New project: after dropping `engineering-standards.yml` at root.\n- Updated manifest: added\u002Fremoved a domain.\n- Catalog refresh: standards repo got new docs.\n- Onboarding teammate: ensures their checkout has the latest synced standards.\n\n## What This Does\n\n1. Reads `engineering-standards.yml` at project root.\n2. Fetches catalog (local path or git URL, per manifest).\n3. Copies listed domain folders into `docs\u002Fstandards\u002F\u003Cdomain>\u002F`.\n4. Writes `docs\u002Fstandards\u002FINDEX.md` listing what's synced + summaries.\n5. Generates `.cursor\u002Frules\u002F\u003Cdomain>.mdc` for each domain (Cursor parity).\n6. Adds `@docs\u002Fstandards\u002FINDEX.md` to `CLAUDE.md` if not already present.\n7. Reports what changed.\n\n## Manifest Format\n\n`engineering-standards.yml` at project root:\n\n```yaml\ncatalog: \u002FUsers\u002FSachin\u002FWorkspace\u002Fengineering-standards   # local path OR git URL\nversion: main                                            # branch\u002Ftag\u002Fcommit (git only)\nstandards:\n  - frappe\n  - python-backend\n  - redis\n  - elasticrun-design\n```\n\nIf `catalog` starts with `http:\u002F\u002F`, `https:\u002F\u002F`, or `git@`, treat as git URL → clone shallow into `.standards-cache\u002F` (gitignored). Otherwise treat as local filesystem path → copy directly.\n\n## Process\n\n### 1. Validate manifest\n\n- Ensure `engineering-standards.yml` exists at project root. If not, halt with: \"No `engineering-standards.yml` found. Create one at project root listing the catalog and the domains this project uses.\"\n- Parse YAML. Validate keys: `catalog` (required), `standards` (required, list), `version` (optional).\n\n### 2. Fetch catalog\n\n**Local path:**\n- `cp -r \u003Ccatalog>\u002F\u003Cdomain>\u002F docs\u002Fstandards\u002F\u003Cdomain>\u002F` for each listed domain.\n- Skip domains not present in catalog. Warn user.\n\n**Git URL:**\n- If `.standards-cache\u002F` doesn't exist: `git clone --depth 1 -b \u003Cversion> \u003Ccatalog> .standards-cache\u002F`.\n- Else: `cd .standards-cache && git fetch && git checkout \u003Cversion> && git pull`.\n- Add `.standards-cache\u002F` to `.gitignore` if missing.\n- Then copy domain folders as in local case.\n\n### 3. Refresh `docs\u002Fstandards\u002F`\n\n- Wipe existing `docs\u002Fstandards\u002F` first (clean slate, no stale files).\n- Copy each domain folder.\n- Write `docs\u002Fstandards\u002FINDEX.md` (template below).\n\n### 4. Generate Cursor rules\n\nFor each synced domain, write `.cursor\u002Frules\u002Fstandards-\u003Cdomain>.mdc`:\n\n```mdc\n---\ndescription: \u003CDomain> engineering standards (synced from central catalog)\nglobs:\nalwaysApply: true\n---\n\n\u003Cconcatenated content of all .md files in docs\u002Fstandards\u002F\u003Cdomain>\u002F>\n```\n\n`alwaysApply: true` ensures Cursor loads them on every chat.\n\n### 5. Update CLAUDE.md\n\n- If `CLAUDE.md` doesn't exist at project root: skip (don't create one).\n- If exists: check for `@docs\u002Fstandards\u002FINDEX.md`. If missing, append a section:\n\n```markdown\n\n## Engineering Standards\n\n@docs\u002Fstandards\u002FINDEX.md\n\nThese rules are binding for all generated code.\n```\n\n### 6. Report\n\nPrint a table to user:\n\n| Domain | Files synced | Source |\n|---|---|---|\n| frappe | 10 | catalog\u002Ffrappe\u002F |\n| python-backend | 4 | catalog\u002Fpython-backend\u002F |\n| ... | ... | ... |\n\nPlus: cursor rules generated, CLAUDE.md updated\u002Fskipped.\n\n## INDEX.md Template\n\n```markdown\n# Engineering Standards (synced)\n\nLast synced: \u003CISO date>\nCatalog: \u003Ccatalog path or URL>\nVersion: \u003Cversion>\n\nThese standards are binding. BMAD skills (create-architecture, create-story, dev-story, code-review) treat constraints in these files as hard requirements unless explicitly overridden in project-context.md.\n\n## Domains\n\n### frappe\n- [Mental Model](frappe\u002Fmental-model.md)\n- [Doctype Patterns](frappe\u002Fdoctype-patterns.md)\n- ... (auto-list all .md files)\n\n### python-backend\n- ...\n\n(repeat per domain)\n\n## Override Rules\n\nIf a project rule conflicts with a standard, document the override in `project-context.md` under \"Standards Overrides\" with the reason. Otherwise, standards win.\n```\n\n## Rules\n\n- Never edit files inside `docs\u002Fstandards\u002F` by hand. They get wiped on next sync. Project-specific overrides go in `project-context.md`.\n- `.standards-cache\u002F` always gitignored.\n- If a listed domain doesn't exist in catalog, warn but don't fail. Skip it.\n- Idempotent. Running twice = same result.\n\n## Don't\n\n- Sync without a manifest. No silent defaults.\n- Skip cursor rule generation. 70% of team uses Cursor.\n- Modify catalog from a project. Catalog is upstream-only.\n- Commit `.standards-cache\u002F` to project repo.\n","# Sync Engineering Standards\n\nPull a project-specific subset of the central engineering-standards catalog into the project. BMAD skills (create-architecture, create-story, dev-story, code-review) read these from `docs\u002Fstandards\u002F` and treat constraints as binding.\n\n## When to Use\n\n- New project: after dropping `engineering-standards.yml` at root.\n- Updated manifest: added\u002Fremoved a domain.\n- Catalog refresh: standards repo got new docs.\n- Onboarding teammate: ensures their checkout has the latest synced standards.\n\n## What This Does\n\n1. Reads `engineering-standards.yml` at project root.\n2. Fetches catalog (local path or git URL, per manifest).\n3. Copies listed domain folders into `docs\u002Fstandards\u002F\u003Cdomain>\u002F`.\n4. Writes `docs\u002Fstandards\u002FINDEX.md` listing what's synced + summaries.\n5. Generates `.cursor\u002Frules\u002F\u003Cdomain>.mdc` for each domain (Cursor parity).\n6. Adds `@docs\u002Fstandards\u002FINDEX.md` to `CLAUDE.md` if not already present.\n7. Reports what changed.\n\n## Manifest Format\n\n`engineering-standards.yml` at project root:\n\n```yaml\ncatalog: \u002FUsers\u002FSachin\u002FWorkspace\u002Fengineering-standards   # local path OR git URL\nversion: main                                            # branch\u002Ftag\u002Fcommit (git only)\nstandards:\n  - frappe\n  - python-backend\n  - redis\n  - elasticrun-design\n```\n\nIf `catalog` starts with `http:\u002F\u002F`, `https:\u002F\u002F`, or `git@`, treat as git URL → clone shallow into `.standards-cache\u002F` (gitignored). Otherwise treat as local filesystem path → copy directly.\n\n## Process\n\n### 1. Validate manifest\n\n- Ensure `engineering-standards.yml` exists at project root. If not, halt with: \"No `engineering-standards.yml` found. Create one at project root listing the catalog and the domains this project uses.\"\n- Parse YAML. Validate keys: `catalog` (required), `standards` (required, list), `version` (optional).\n\n### 2. Fetch catalog\n\n**Local path:**\n- `cp -r \u003Ccatalog>\u002F\u003Cdomain>\u002F docs\u002Fstandards\u002F\u003Cdomain>\u002F` for each listed domain.\n- Skip domains not present in catalog. Warn user.\n\n**Git URL:**\n- If `.standards-cache\u002F` doesn't exist: `git clone --depth 1 -b \u003Cversion> \u003Ccatalog> .standards-cache\u002F`.\n- Else: `cd .standards-cache && git fetch && git checkout \u003Cversion> && git pull`.\n- Add `.standards-cache\u002F` to `.gitignore` if missing.\n- Then copy domain folders as in local case.\n\n### 3. Refresh `docs\u002Fstandards\u002F`\n\n- Wipe existing `docs\u002Fstandards\u002F` first (clean slate, no stale files).\n- Copy each domain folder.\n- Write `docs\u002Fstandards\u002FINDEX.md` (template below).\n\n### 4. Generate Cursor rules\n\nFor each synced domain, write `.cursor\u002Frules\u002Fstandards-\u003Cdomain>.mdc`:\n\n```mdc\n---\ndescription: \u003CDomain> engineering standards (synced from central catalog)\nglobs:\nalwaysApply: true\n---\n\n\u003Cconcatenated content of all .md files in docs\u002Fstandards\u002F\u003Cdomain>\u002F>\n```\n\n`alwaysApply: true` ensures Cursor loads them on every chat.\n\n### 5. Update CLAUDE.md\n\n- If `CLAUDE.md` doesn't exist at project root: skip (don't create one).\n- If exists: check for `@docs\u002Fstandards\u002FINDEX.md`. If missing, append a section:\n\n```markdown\n\n## Engineering Standards\n\n@docs\u002Fstandards\u002FINDEX.md\n\nThese rules are binding for all generated code.\n```\n\n### 6. Report\n\nPrint a table to user:\n\n| Domain | Files synced | Source |\n|---|---|---|\n| frappe | 10 | catalog\u002Ffrappe\u002F |\n| python-backend | 4 | catalog\u002Fpython-backend\u002F |\n| ... | ... | ... |\n\nPlus: cursor rules generated, CLAUDE.md updated\u002Fskipped.\n\n## INDEX.md Template\n\n```markdown\n# Engineering Standards (synced)\n\nLast synced: \u003CISO date>\nCatalog: \u003Ccatalog path or URL>\nVersion: \u003Cversion>\n\nThese standards are binding. BMAD skills (create-architecture, create-story, dev-story, code-review) treat constraints in these files as hard requirements unless explicitly overridden in project-context.md.\n\n## Domains\n\n### frappe\n- [Mental Model](frappe\u002Fmental-model.md)\n- [Doctype Patterns](frappe\u002Fdoctype-patterns.md)\n- ... (auto-list all .md files)\n\n### python-backend\n- ...\n\n(repeat per domain)\n\n## Override Rules\n\nIf a project rule conflicts with a standard, document the override in `project-context.md` under \"Standards Overrides\" with the reason. Otherwise, standards win.\n```\n\n## Rules\n\n- Never edit files inside `docs\u002Fstandards\u002F` by hand. They get wiped on next sync. Project-specific overrides go in `project-context.md`.\n- `.standards-cache\u002F` always gitignored.\n- If a listed domain doesn't exist in catalog, warn but don't fail. Skip it.\n- Idempotent. Running twice = same result.\n\n## Don't\n\n- Sync without a manifest. No silent defaults.\n- Skip cursor rule generation. 70% of team uses Cursor.\n- Modify catalog from a project. Catalog is upstream-only.\n- Commit `.standards-cache\u002F` to project repo.\n",{"name":5,"description":7},"main","a174da851acc09c83f7adc4e6e4af058e96a16bc","cursor\u002Fskills\u002Fbmad-sync-standards",1,"https:\u002F\u002Fgithub.com\u002FElasticRun\u002Fdont-b-mad","https:\u002F\u002Fgithub.com\u002FElasticRun","https:\u002F\u002Felastic.run","Network of possibilities","2026-06-05 20:05:30",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add ElasticRun\u002Fdont-b-mad --skill bmad-sync-standards",{"tool":59,"command":60},"bunx","bunx skills add ElasticRun\u002Fdont-b-mad --skill bmad-sync-standards",{"tool":62,"command":63},"pnpm","pnpm dlx skills add ElasticRun\u002Fdont-b-mad --skill bmad-sync-standards","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FElasticRun\u002Fdont-b-mad\u002Fblob\u002Fmain\u002Fcursor\u002Fskills\u002Fbmad-sync-standards\u002FSKILL.md",true,[],[68,91,99,107,115,123],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":39},"01M6VE2359GECTBFYYTFNZDMF6","dontbmad-grill","Interview the user relentlessly on a plan, decision, or artifact until every branch of the decision tree is resolved. One question at a time, with a recommended answer for each. Reads existing artifacts and codebase before asking. Use when the user says \"grill me\", \"stress-test this plan\", \"interrogate this\", or when invoked from a BMAD planning skill (architecture, PRD, story, UX) before finalizing the artifact.","https:\u002F\u002Fgithub.com\u002FElasticRun\u002Fdont-b-mad\u002Fblob\u002Fmain\u002Fcursor\u002Fskills\u002Fdontbmad-grill\u002FSKILL.md",[],[75,76,77,78,79,80,81,82,33,83,84,21,85,86,87,26,88,24,89,90],"grill","dontbmad grill","time","interrogate","decision","branch","question","interview","planning","stress-test","with","answer","tree","Existing","artifacts","architecture",{"skillNo":92,"name":93,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":96,"publishedAt":39},"01M6VE14TZHWD69KP6VMF3QQ25","dontbmad-graphify","https:\u002F\u002Fgithub.com\u002FElasticRun\u002Fdont-b-mad\u002Fblob\u002Fmain\u002Fcursor\u002Fskills\u002Fdontbmad-graphify\u002FSKILL.md",[],[97,98],"graphify","dontbmad graphify",{"skillNo":100,"name":101,"nameZh":6,"description":6,"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":104,"publishedAt":39},"01M6VE0SX76KZM3WQ41MX9G1Q8","dontbmad-graphify-query","https:\u002F\u002Fgithub.com\u002FElasticRun\u002Fdont-b-mad\u002Fblob\u002Fmain\u002Fcursor\u002Fskills\u002Fdontbmad-graphify-query\u002FSKILL.md",[],[97,105,106,98],"query","dontbmad graphify query",{"skillNo":108,"name":109,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":112,"publishedAt":39},"01M6VE02SYPW8PKZWX3ET6T7EA","dontbmad-graphify-path","https:\u002F\u002Fgithub.com\u002FElasticRun\u002Fdont-b-mad\u002Fblob\u002Fmain\u002Fcursor\u002Fskills\u002Fdontbmad-graphify-path\u002FSKILL.md",[],[97,113,114,98],"path","dontbmad graphify path",{"skillNo":116,"name":117,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":120,"publishedAt":39},"01M6VDZF28Z2HS226WQCPPBJMV","dontbmad-graphify-explain","https:\u002F\u002Fgithub.com\u002FElasticRun\u002Fdont-b-mad\u002Fblob\u002Fmain\u002Fcursor\u002Fskills\u002Fdontbmad-graphify-explain\u002FSKILL.md",[],[97,121,122,98],"explain","dontbmad graphify explain",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":129,"publishedAt":39},"01M6VDYWNT398QG10ZTDN5MPWS","dontbmad-compress-artifacts","Compress BMAD planning artifacts (PRDs, architecture docs, stories, project-context) into terse format to reduce input tokens when agents read them. Originals backed up as .original.md. Use when user says \"compress artifacts\", \"compress planning docs\", or \"shrink the docs\".","https:\u002F\u002Fgithub.com\u002FElasticRun\u002Fdont-b-mad\u002Fblob\u002Fmain\u002Fcursor\u002Fskills\u002Fdontbmad-compress-artifacts\u002FSKILL.md",[],[130,89,131,83,90,23,24,132,133,134,135,136,21,137,138,139,33,140,141,142],"dontbmad compress artifacts","compress","stories","reduce","project-context","input","as","tokens","docs","up","read","format","terse"]