[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71QB75YACWYP8PW2BNCPBYK":3,"skill-same:01M71QB75YACWYP8PW2BNCPBYK":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":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":6,"ownerHtmlUrl":51,"ownerBlogUrl":52,"ownerDescription":6,"updatedAt":53,"install":54,"resources":66},"01M71QB75YACWYP8PW2BNCPBYK","docs-frontmatter",null,"Apply documentation-page frontmatter conventions — changelog entries and page owners — when creating or editing a docs page under any content root declared by the applicable docs profile (an in-repo .dev-workflows\u002Fdocs-profile.yml, else the built-in default). Use whenever you change a documentation page's content or frontmatter in a docs repository, or when the user mentions a page changelog, page owners, or docs frontmatter.","ihudak\u002Fai-workflows","ihudak","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F827159?v=4","01M71QAWS87D2T727PGSV234KJ","Ivan Gudak","01M71QAWT84GDCCC530H890X43",2,"MIT","https:\u002F\u002Fgithub.com\u002Fihudak\u002Fai-workflows\u002Fblob\u002Fmain\u002Fplugins\u002Fdocs-workflows\u002Fskills\u002Fdocs-frontmatter\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"docs frontmatter","frontmatter","docs","read","when","docs page","true","you","entries","default","edit","repo","editing","page","Bash","repository","changelog","documentation","change","workflows","2026-11-10 13:02:02",false,"---\nname: docs-frontmatter\ndescription: Apply documentation-page frontmatter conventions — changelog entries and page owners — when creating or editing a docs page under any content root declared by the applicable docs profile (an in-repo .dev-workflows\u002Fdocs-profile.yml, else the built-in default). Use whenever you change a documentation page's content or frontmatter in a docs repository, or when the user mentions a page changelog, page owners, or docs frontmatter.\nuser-invocable: true\nallowed-tools: Read, Edit, Glob, Grep, Bash\n---\n\n# Documentation frontmatter conventions\n\nApply when creating or editing `.md` pages under any `spaces[].content_root` declared by\nthe applicable docs profile. Three conventions, all in the\npage's YAML frontmatter, applied in the same pass: changelog entries, self-hosted-docs\nowners, and the core metadata fields.\n\n## 1. Changelog (changed existing pages only)\n\nFor every **changed existing** page (NOT brand-new pages — first publish uses the\n`published` timestamp instead), prepend a `changelog:` entry dated **today**:\n\n1. Get today's date: run `date +%F` (yields `YYYY-MM-DD`, two-digit month).\n2. Prepend the entry as the **first** list item under `changelog:` (newest first):\n   ```yaml\n   changelog:\n     - \u003Ctoday> \u003Cchange description>\n     - \u003Colder entries unchanged>\n   ```\n3. Keep each entry — including the leading `- ` and date — within **200 characters**.\n4. Write the description per the guidelines reference. The most-missed rule:\n   **the period rule — verify before finalizing each entry:**\n   - complete sentence → **ends with a period**;\n   - phrase \u002F fragment → **no period**.\n   Also: past tense; active verbs; meaningful and customer-facing; no \"documented\";\n   don't overuse \"added\"; no section titles; never expose \"hidden\"; no short forms\n   (\"info\", \"max\"); single paragraph.\n\nFull rules and worked examples (source of truth):\n`${CLAUDE_PLUGIN_ROOT}\u002Freferences\u002Fdocs-profiles\u002Fchangelog-guidelines.md`\n\n## 2. Owners (changed self-hosted pages only)\n\nFor changed pages in a space listed in `frontmatter.owners_spaces` that have — or should have — an\n`owners:` block, ensure every required ID is present. **Union only — never remove\nexisting owners.**\n\n1. Read the required IDs (ignore `#` comments and blank lines):\n   `${CLAUDE_PLUGIN_ROOT}\u002Freferences\u002Fdocs-profiles\u002Fdefault-owners.txt`\n2. If the page has no `owners:` block but one is warranted (most self-hosted pages\n   carry owners), add one containing the required IDs.\n3. If an `owners:` block exists, add any required IDs that are missing and leave\n   all existing owners in place.\n\nPages in a space not listed in `frontmatter.owners_spaces` are out of scope for the owners rule.\n\n## 3. Metadata fields (all pages)\n\nSet\u002Fvalidate the core frontmatter fields per the guidelines reference:\n\n- `title` — required; sentence case; no trailing period.\n- `description` — required; **120–160 characters** (SEO). Warn if outside the band.\n- `meta.content-type` — **mandatory on new pages**; one of the enum\n  (`how-to`, `tutorial`, `explanation`, `reference`, `get-started`,\n  `troubleshooting`, `upgrade`, `best-practices`, `app`, `extension`).\n  **Never `overview`** (deprecated); `release-notes` pages are\n  not authored here: `\u002Frelease-notes` drafts the note.\n- `meta.i18n-priority` — optional number (lower = higher priority).\n- `meta.generation` — `latest` \u002F `classic` array (advisory; a `latest`-only page\n  that surfaces in Self-hosted breaks the build — use both when unsure).\n- `published` — creation date on new pages only; never pair it with a first-publish\n  changelog entry.\n\nDetect which optional fields the neighbourhood uses by sampling 2–3 adjacent pages;\nnever strip unknown\u002Fpre-existing fields.\n\nFull field rules (source of truth):\n`${CLAUDE_PLUGIN_ROOT}\u002Freferences\u002Fdocs-profiles\u002Ffrontmatter-guidelines.md`\n\n## Notes\n\n- A warn-only `PostToolUse` hook (`changelog-owners-reminder`) reminds about these\n  same checks if this skill did not fire; applying the conventions here keeps it\n  silent.\n- This does not duplicate the repo's CI (`pnpm docs:lint`); it gets the\n  frontmatter right at edit time so the PR is not bounced later.\n","# Documentation frontmatter conventions\n\nApply when creating or editing `.md` pages under any `spaces[].content_root` declared by\nthe applicable docs profile. Three conventions, all in the\npage's YAML frontmatter, applied in the same pass: changelog entries, self-hosted-docs\nowners, and the core metadata fields.\n\n## 1. Changelog (changed existing pages only)\n\nFor every **changed existing** page (NOT brand-new pages — first publish uses the\n`published` timestamp instead), prepend a `changelog:` entry dated **today**:\n\n1. Get today's date: run `date +%F` (yields `YYYY-MM-DD`, two-digit month).\n2. Prepend the entry as the **first** list item under `changelog:` (newest first):\n   ```yaml\n   changelog:\n     - \u003Ctoday> \u003Cchange description>\n     - \u003Colder entries unchanged>\n   ```\n3. Keep each entry — including the leading `- ` and date — within **200 characters**.\n4. Write the description per the guidelines reference. The most-missed rule:\n   **the period rule — verify before finalizing each entry:**\n   - complete sentence → **ends with a period**;\n   - phrase \u002F fragment → **no period**.\n   Also: past tense; active verbs; meaningful and customer-facing; no \"documented\";\n   don't overuse \"added\"; no section titles; never expose \"hidden\"; no short forms\n   (\"info\", \"max\"); single paragraph.\n\nFull rules and worked examples (source of truth):\n`${CLAUDE_PLUGIN_ROOT}\u002Freferences\u002Fdocs-profiles\u002Fchangelog-guidelines.md`\n\n## 2. Owners (changed self-hosted pages only)\n\nFor changed pages in a space listed in `frontmatter.owners_spaces` that have — or should have — an\n`owners:` block, ensure every required ID is present. **Union only — never remove\nexisting owners.**\n\n1. Read the required IDs (ignore `#` comments and blank lines):\n   `${CLAUDE_PLUGIN_ROOT}\u002Freferences\u002Fdocs-profiles\u002Fdefault-owners.txt`\n2. If the page has no `owners:` block but one is warranted (most self-hosted pages\n   carry owners), add one containing the required IDs.\n3. If an `owners:` block exists, add any required IDs that are missing and leave\n   all existing owners in place.\n\nPages in a space not listed in `frontmatter.owners_spaces` are out of scope for the owners rule.\n\n## 3. Metadata fields (all pages)\n\nSet\u002Fvalidate the core frontmatter fields per the guidelines reference:\n\n- `title` — required; sentence case; no trailing period.\n- `description` — required; **120–160 characters** (SEO). Warn if outside the band.\n- `meta.content-type` — **mandatory on new pages**; one of the enum\n  (`how-to`, `tutorial`, `explanation`, `reference`, `get-started`,\n  `troubleshooting`, `upgrade`, `best-practices`, `app`, `extension`).\n  **Never `overview`** (deprecated); `release-notes` pages are\n  not authored here: `\u002Frelease-notes` drafts the note.\n- `meta.i18n-priority` — optional number (lower = higher priority).\n- `meta.generation` — `latest` \u002F `classic` array (advisory; a `latest`-only page\n  that surfaces in Self-hosted breaks the build — use both when unsure).\n- `published` — creation date on new pages only; never pair it with a first-publish\n  changelog entry.\n\nDetect which optional fields the neighbourhood uses by sampling 2–3 adjacent pages;\nnever strip unknown\u002Fpre-existing fields.\n\nFull field rules (source of truth):\n`${CLAUDE_PLUGIN_ROOT}\u002Freferences\u002Fdocs-profiles\u002Ffrontmatter-guidelines.md`\n\n## Notes\n\n- A warn-only `PostToolUse` hook (`changelog-owners-reminder`) reminds about these\n  same checks if this skill did not fire; applying the conventions here keeps it\n  silent.\n- This does not duplicate the repo's CI (`pnpm docs:lint`); it gets the\n  frontmatter right at edit time so the PR is not bounced later.\n",{"name":5,"description":7,"allowed-tools":44,"user-invocable":45},"Read, Edit, Glob, Grep, Bash",true,"main","bfa147fd87dd5ceb8121dffb1834820f9a241f41","plugins\u002Fdocs-workflows\u002Fskills\u002Fdocs-frontmatter",0,"https:\u002F\u002Fgithub.com\u002Fihudak\u002Fai-workflows","https:\u002F\u002Fgithub.com\u002Fihudak","dynatrace.com","2026-11-11 04:27:31",{"source":8,"skillName":5,"commands":55,"prompt":65,"zipAvailable":45},[56,59,62],{"tool":57,"command":58},"npx","npx skills add ihudak\u002Fai-workflows --skill docs-frontmatter",{"tool":60,"command":61},"bunx","bunx skills add ihudak\u002Fai-workflows --skill docs-frontmatter",{"tool":63,"command":64},"pnpm","pnpm dlx skills add ihudak\u002Fai-workflows --skill docs-frontmatter","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fihudak\u002Fai-workflows\u002Fblob\u002Fmain\u002Fplugins\u002Fdocs-workflows\u002Fskills\u002Fdocs-frontmatter\u002FSKILL.md",[],[68,81,86,91,96,101],{"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},"01M71QFDTG26ZYKHKXB4CSBZVF","reference","Read a shared workflows-core reference by name, and optionally one part of it.","https:\u002F\u002Fgithub.com\u002Fihudak\u002Fai-workflows\u002Fblob\u002Fmain\u002Fscripts\u002Ffixtures\u002Freference-parts\u002Fwrong_call_before_right_call\u002Fplugins\u002Fworkflows-core\u002Fskills\u002Freference\u002FSKILL.md",[],[70,38,75,22,76,77,78,79,80],"core","shared","name","it","by name","one",{"skillNo":82,"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":83,"categories":84,"keywords":85,"publishedAt":39},"01M71QFBEB5WDC147RMWK5VT37","https:\u002F\u002Fgithub.com\u002Fihudak\u002Fai-workflows\u002Fblob\u002Fmain\u002Fscripts\u002Ffixtures\u002Freference-parts\u002Fwrong_call_after_right_call\u002Fplugins\u002Fworkflows-core\u002Fskills\u002Freference\u002FSKILL.md",[],[70,78,38,75,22,76,77,79,80],{"skillNo":87,"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":88,"categories":89,"keywords":90,"publishedAt":39},"01M71QFA6J4A8KCGQ5NTA496P3","https:\u002F\u002Fgithub.com\u002Fihudak\u002Fai-workflows\u002Fblob\u002Fmain\u002Fscripts\u002Ffixtures\u002Freference-parts\u002Fwhole_load_before_free_sentence\u002Fplugins\u002Fworkflows-core\u002Fskills\u002Freference\u002FSKILL.md",[],[70,22,76,77,78,79,80,38,75],{"skillNo":92,"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":93,"categories":94,"keywords":95,"publishedAt":39},"01M71QF8YR6ZTH1PB4JNWAPN7Z","https:\u002F\u002Fgithub.com\u002Fihudak\u002Fai-workflows\u002Fblob\u002Fmain\u002Fscripts\u002Ffixtures\u002Freference-parts\u002Funknown_part_request\u002Fplugins\u002Fworkflows-core\u002Fskills\u002Freference\u002FSKILL.md",[],[70,38,75,22,76,77,78,79,80],{"skillNo":97,"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":98,"categories":99,"keywords":100,"publishedAt":39},"01M71QF7F9S397NQ00KX8A4CFW","https:\u002F\u002Fgithub.com\u002Fihudak\u002Fai-workflows\u002Fblob\u002Fmain\u002Fscripts\u002Ffixtures\u002Freference-parts\u002Ftwo_calls_one_sentence\u002Fplugins\u002Fworkflows-core\u002Fskills\u002Freference\u002FSKILL.md",[],[70,78,38,75,22,76,77,79,80],{"skillNo":102,"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":103,"categories":104,"keywords":105,"publishedAt":39},"01M71QF660FXJ9R9EG4P1QNVM2","https:\u002F\u002Fgithub.com\u002Fihudak\u002Fai-workflows\u002Fblob\u002Fmain\u002Fscripts\u002Ffixtures\u002Freference-parts\u002Ftwo_calls_one_paragraph\u002Fplugins\u002Fworkflows-core\u002Fskills\u002Freference\u002FSKILL.md",[],[70,75,22,76,77,78,79,80,38]]