[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ADJTKB33EC1NTZCP45EDED":3,"skill-same:01M6ADJTKB33EC1NTZCP45EDED":122},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":22,"linkOnly":23,"markdownContent":24,"markdownBody":25,"frontMatter":26,"refName":28,"commitSha":29,"skillDirectory":30,"forksCount":31,"repositoryHtmlUrl":32,"repositoryHomepageUrl":33,"ownerHtmlUrl":34,"ownerBlogUrl":35,"ownerDescription":36,"updatedAt":37,"install":38,"resources":51},"01M6ADJTKB33EC1NTZCP45EDED","changelog-entry",null,"Draft a CHANGELOG.md entry for the current changes in Keep a Changelog format. Use when releasing, tagging a version, or updating CHANGELOG.md.","davila7\u002Fclaude-with-skills","davila7","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6216945?v=4","01M6ADEWWFPS191NFM0Y1EX1JH","Daniel Avila","01M6ADJHY7XW1NT6J5EJ61Q42B",13,"MIT","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-with-skills\u002Fblob\u002Fmain\u002Fsrc\u002Fcontent\u002Fdocs\u002F01-basic\u002Flesson-03-repetitive-tasks\u002Fexamples\u002Fchangelog-entry\u002FSKILL.md",[],[19,20,21],"changelog","changelog entry","git","2026-11-10 10:12:30",false,"---\ntitle: \"changelog-entry\"\nname: changelog-entry\ndescription: Draft a CHANGELOG.md entry for the current changes in Keep a Changelog format. Use when releasing, tagging a version, or updating CHANGELOG.md.\nallowed-tools: Bash(git log *) Bash(git diff *)\n---\n\n## Instructions\n\n1. Find the most recent git tag:\n\n   ```\n   git describe --tags --abbrev=0\n   ```\n\n   If a tag exists, list commits since that tag:\n\n   ```\n   git log --oneline --no-merges \u003Clast-tag>..HEAD\n   ```\n\n   If no tag exists (the repository has no releases yet), list all commits:\n\n   ```\n   git log --oneline --no-merges\n   ```\n\n2. Read each commit subject line and classify it into one of the Keep a Changelog sections:\n\n   - **Added** — new features, new files, new API endpoints, new configuration options\n   - **Changed** — changes to existing behavior, updated dependencies, modified defaults\n   - **Fixed** — bug fixes, corrected behavior, resolved errors\n   - **Removed** — deleted features, removed files, dropped API endpoints\n   - **Deprecated** — features that still work but are marked for future removal\n   - **Security** — vulnerability patches, authentication improvements, permission changes\n\n   Ignore merge commits, version bump commits, and changelog update commits. Ignore commits whose subject line is obviously tooling noise (dependency lock file updates with no semantic change, CI config tweaks that do not affect users).\n\n3. Write the entry in Keep a Changelog format:\n\n   ```markdown\n   ## [Unreleased]\n\n   ### Added\n   - Description of added thing\n\n   ### Changed\n   - Description of change\n\n   ### Fixed\n   - Description of fix\n   ```\n\n   Omit sections that have no entries.\n\n   Write each bullet in present tense, starting with a verb: \"Add\", \"Fix\", \"Remove\", \"Update\". Do not start bullets with the commit type prefix (feat:, fix:, etc.) — strip those and rephrase.\n\n4. Output only the new CHANGELOG block. Do not output any surrounding explanation.\n","## Instructions\n\n1. Find the most recent git tag:\n\n   ```\n   git describe --tags --abbrev=0\n   ```\n\n   If a tag exists, list commits since that tag:\n\n   ```\n   git log --oneline --no-merges \u003Clast-tag>..HEAD\n   ```\n\n   If no tag exists (the repository has no releases yet), list all commits:\n\n   ```\n   git log --oneline --no-merges\n   ```\n\n2. Read each commit subject line and classify it into one of the Keep a Changelog sections:\n\n   - **Added** — new features, new files, new API endpoints, new configuration options\n   - **Changed** — changes to existing behavior, updated dependencies, modified defaults\n   - **Fixed** — bug fixes, corrected behavior, resolved errors\n   - **Removed** — deleted features, removed files, dropped API endpoints\n   - **Deprecated** — features that still work but are marked for future removal\n   - **Security** — vulnerability patches, authentication improvements, permission changes\n\n   Ignore merge commits, version bump commits, and changelog update commits. Ignore commits whose subject line is obviously tooling noise (dependency lock file updates with no semantic change, CI config tweaks that do not affect users).\n\n3. Write the entry in Keep a Changelog format:\n\n   ```markdown\n   ## [Unreleased]\n\n   ### Added\n   - Description of added thing\n\n   ### Changed\n   - Description of change\n\n   ### Fixed\n   - Description of fix\n   ```\n\n   Omit sections that have no entries.\n\n   Write each bullet in present tense, starting with a verb: \"Add\", \"Fix\", \"Remove\", \"Update\". Do not start bullets with the commit type prefix (feat:, fix:, etc.) — strip those and rephrase.\n\n4. Output only the new CHANGELOG block. Do not output any surrounding explanation.\n",{"name":5,"title":5,"description":7,"allowed-tools":27},"Bash(git log *) Bash(git diff *)","main","55e6468ba43345d07c8a68de983e58403db57c25","src\u002Fcontent\u002Fdocs\u002F01-basic\u002Flesson-03-repetitive-tasks\u002Fexamples\u002Fchangelog-entry",1,"https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-with-skills","https:\u002F\u002Fclaude-with-skills.vercel.app","https:\u002F\u002Fgithub.com\u002Fdavila7","https:\u002F\u002Fdanielavila.me","Building AI dev tools with LLMs","2026-05-15 21:54:25",{"source":8,"skillName":5,"commands":39,"prompt":49,"zipAvailable":50},[40,43,46],{"tool":41,"command":42},"npx","npx skills add davila7\u002Fclaude-with-skills --skill changelog-entry",{"tool":44,"command":45},"bunx","bunx skills add davila7\u002Fclaude-with-skills --skill changelog-entry",{"tool":47,"command":48},"pnpm","pnpm dlx skills add davila7\u002Fclaude-with-skills --skill changelog-entry","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-with-skills\u002Fblob\u002Fmain\u002Fsrc\u002Fcontent\u002Fdocs\u002F01-basic\u002Flesson-03-repetitive-tasks\u002Fexamples\u002Fchangelog-entry\u002FSKILL.md",true,[52,58,62,66,70,74,78,82,86,90,94,98,104,108,112,118],{"path":53,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":56,"sourceHtmlUrl":57},"assets\u002Ftemplates\u002Fadvanced\u002Fcomposite-action\u002Faction.yml","ASSET","资产文件",8777,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgithub-actions-writer\u002Fassets\u002Ftemplates\u002Fadvanced\u002Fcomposite-action\u002Faction.yml",{"path":59,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":60,"sourceHtmlUrl":61},"assets\u002Ftemplates\u002Fadvanced\u002Freusable-workflow.yml",9642,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgithub-actions-writer\u002Fassets\u002Ftemplates\u002Fadvanced\u002Freusable-workflow.yml",{"path":63,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":64,"sourceHtmlUrl":65},"assets\u002Ftemplates\u002Fcd\u002Faws-oidc-deploy.yml",9960,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgithub-actions-writer\u002Fassets\u002Ftemplates\u002Fcd\u002Faws-oidc-deploy.yml",{"path":67,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":68,"sourceHtmlUrl":69},"assets\u002Ftemplates\u002Fcd\u002Fkubernetes-gitops.yml",11020,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgithub-actions-writer\u002Fassets\u002Ftemplates\u002Fcd\u002Fkubernetes-gitops.yml",{"path":71,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":72,"sourceHtmlUrl":73},"assets\u002Ftemplates\u002Fcd\u002Fmulti-environment.yml",11500,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgithub-actions-writer\u002Fassets\u002Ftemplates\u002Fcd\u002Fmulti-environment.yml",{"path":75,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":76,"sourceHtmlUrl":77},"assets\u002Ftemplates\u002Fci\u002Fdocker-build-push.yml",7757,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgithub-actions-writer\u002Fassets\u002Ftemplates\u002Fci\u002Fdocker-build-push.yml",{"path":79,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":80,"sourceHtmlUrl":81},"assets\u002Ftemplates\u002Fci\u002Fmonorepo-selective.yml",10246,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgithub-actions-writer\u002Fassets\u002Ftemplates\u002Fci\u002Fmonorepo-selective.yml",{"path":83,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":84,"sourceHtmlUrl":85},"assets\u002Ftemplates\u002Fci\u002Fmulti-language-matrix.yml",8018,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgithub-actions-writer\u002Fassets\u002Ftemplates\u002Fci\u002Fmulti-language-matrix.yml",{"path":87,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":88,"sourceHtmlUrl":89},"assets\u002Ftemplates\u002Fci\u002Fnode-ci.yml",4979,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgithub-actions-writer\u002Fassets\u002Ftemplates\u002Fci\u002Fnode-ci.yml",{"path":91,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":92,"sourceHtmlUrl":93},"assets\u002Ftemplates\u002Fci\u002Fpython-ci.yml",6662,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgithub-actions-writer\u002Fassets\u002Ftemplates\u002Fci\u002Fpython-ci.yml",{"path":95,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":96,"sourceHtmlUrl":97},"assets\u002Ftemplates\u002Fsecurity\u002Fsecurity-scan.yml",12197,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgithub-actions-writer\u002Fassets\u002Ftemplates\u002Fsecurity\u002Fsecurity-scan.yml",{"path":99,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":102,"sourceHtmlUrl":103},"references\u002Fperformance-and-troubleshooting.md","REFERENCE","参考文档",10966,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgithub-actions-writer\u002Freferences\u002Fperformance-and-troubleshooting.md",{"path":105,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":106,"sourceHtmlUrl":107},"references\u002Fsecurity-best-practices.md",11914,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgithub-actions-writer\u002Freferences\u002Fsecurity-best-practices.md",{"path":109,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":110,"sourceHtmlUrl":111},"references\u002Fsyntax-quick-reference.md",11232,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgithub-actions-writer\u002Freferences\u002Fsyntax-quick-reference.md",{"path":113,"resourceType":114,"resourceTypeDesc":115,"sizeBytes":116,"sourceHtmlUrl":117},"scripts\u002Fsecurity_audit.py","SCRIPT","脚本",13884,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgithub-actions-writer\u002Fscripts\u002Fsecurity_audit.py",{"path":119,"resourceType":114,"resourceTypeDesc":115,"sizeBytes":120,"sourceHtmlUrl":121},"scripts\u002Fvalidate_workflow.py",10088,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgithub-actions-writer\u002Fscripts\u002Fvalidate_workflow.py",[123,138,147,153,160,170],{"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":22},"01M6ADNEC991ZW0GD2D4MY6NEP","tag-version","Bump the package version and create an annotated git tag. Accepts a semantic version number (1.2.0) or a bump type (patch, minor, major). Does not push — use the publish skill to push. Use as part of a release workflow.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-with-skills\u002Fblob\u002Fmain\u002Fsrc\u002Fcontent\u002Fdocs\u002F03-advanced\u002Flesson-08-plugins-and-distribution\u002Fexamples\u002Frelease-plugin\u002Fskills\u002Ftag-version\u002FSKILL.md",[],[130,131,132,133,21,134,135,136,137],"tag version","workflow","create","release","push","npm","package","publish",{"skillNo":139,"name":133,"nameZh":6,"description":140,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":143,"publishedAt":22},"01M6ADNCNHCXNHVAW43ZV43ZC8","Run the complete release workflow: changelog entry, version bump, git tag, and GitHub release. Invokes changelog-entry, tag-version, and publish in sequence. Use when releasing a new version of the project.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-with-skills\u002Fblob\u002Fmain\u002Fsrc\u002Fcontent\u002Fdocs\u002F03-advanced\u002Flesson-08-plugins-and-distribution\u002Fexamples\u002Frelease-plugin\u002Fskills\u002Frelease\u002FSKILL.md",[],[133,21,19,135,20,144,137,145,146,131],"run","status","github",{"skillNo":148,"name":137,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":152,"publishedAt":22},"01M6ADNAWDDDDX4CS69E1D496X","Push the current branch and all tags to origin, then create a GitHub release using the latest tag and its CHANGELOG.md entry. Use after tag-version to complete a release.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-with-skills\u002Fblob\u002Fmain\u002Fsrc\u002Fcontent\u002Fdocs\u002F03-advanced\u002Flesson-08-plugins-and-distribution\u002Fexamples\u002Frelease-plugin\u002Fskills\u002Fpublish\u002FSKILL.md",[],[137,134,146,132,133,21,19],{"skillNo":154,"name":5,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":158,"publishedAt":22},"01M6ADN9MP0ASQ6SX14NEPP5XE","Draft the changelog entry for all unreleased commits in Keep a Changelog format. Groups commits into Added, Changed, Fixed, Removed, and Security. Use before releasing a new version or when updating CHANGELOG.md.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-with-skills\u002Fblob\u002Fmain\u002Fsrc\u002Fcontent\u002Fdocs\u002F03-advanced\u002Flesson-08-plugins-and-distribution\u002Fexamples\u002Frelease-plugin\u002Fskills\u002Fchangelog-entry\u002FSKILL.md",[],[20,19,159,21],"security",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":22},"01M6ADN8243TD9X8FH7FCQ608R","auto-format-on-edit","Automatically format code files after every edit using Prettier and ESLint. Active in the background whenever Claude edits a file. Formatting is silent — no prompts, no output unless a formatter fails. Use when you want consistent formatting enforced automatically during a coding session.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-with-skills\u002Fblob\u002Fmain\u002Fsrc\u002Fcontent\u002Fdocs\u002F03-advanced\u002Flesson-07-hooks-in-skills\u002Fexamples\u002Fauto-format-on-edit\u002FSKILL.md",[],[167,168,169],"auto format on edit","code","file",{"skillNo":171,"name":172,"nameZh":6,"description":173,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":174,"categories":175,"keywords":181,"publishedAt":22},"01M6ADN5VVNV7Y2WPYQA13M4ZQ","code-quality-audit","Run a comprehensive code quality audit covering security, performance, and maintainability. Use for quarterly audits, pre-release reviews, or when onboarding to a large codebase.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-with-skills\u002Fblob\u002Fmain\u002Fsrc\u002Fcontent\u002Fdocs\u002F03-advanced\u002Flesson-06-context-window-mastery\u002Fexamples\u002Flightweight-orchestrator\u002FSKILL.md",[176],{"categoryNo":177,"categoryName":178,"taxonomyType":179,"taxonomyTypeDesc":180},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[182,183,168,184,185,144,133,186,159],"code quality audit","audit","code quality","performance","onboarding"]