[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ADJMSP0SHVE9T3PK3BN01H":3,"skill-same:01M6ADJMSP0SHVE9T3PK3BN01H":69},{"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":23,"publishedAt":28,"linkOnly":29,"markdownContent":30,"markdownBody":31,"frontMatter":32,"refName":33,"commitSha":34,"skillDirectory":35,"forksCount":36,"repositoryHtmlUrl":37,"repositoryHomepageUrl":38,"ownerHtmlUrl":39,"ownerBlogUrl":40,"ownerDescription":41,"updatedAt":42,"install":43,"resources":56},"01M6ADJMSP0SHVE9T3PK3BN01H","summarize-changes-headless",null,"Summarizes uncommitted git changes in a concise machine-readable format. Use in CI pipelines, scripts, or headless invocations where the output will be piped or captured.","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\u002Fexercises\u002Fsolutions\u002F02-headless\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",[24,25,26,27],"summarize","summarize changes headless","git","ci","2026-11-10 10:12:30",false,"---\ntitle: \"summarize-changes-headless\"\nname: summarize-changes-headless\ndescription: Summarizes uncommitted git changes in a concise machine-readable format. Use in CI pipelines, scripts, or headless invocations where the output will be piped or captured.\n---\n\n## Current changes\n\n!`git diff HEAD`\n\n## Instructions\n\nIf the diff above is empty, output exactly: `No uncommitted changes.`\n\nOtherwise, output the summary in the following format with no surrounding prose:\n\n```\nSUMMARY\n- [bullet point describing the first logical change]\n- [bullet point describing the second logical change]\n[continue as needed, two to five bullets maximum]\n\nRISKS\n- [risk] or NONE\n```\n\nRules for the SUMMARY section:\n- Each bullet describes a logical change, not a file change. If three files were modified to implement one feature, that is one bullet.\n- Use present tense: \"Add validation for email field\" not \"Added\" or \"Adding\".\n- Maximum 80 characters per bullet.\n\nRules for the RISKS section:\n- List only genuine risks: missing error handling, hardcoded credentials, removed tests, breaking API changes.\n- If there are no risks, write NONE on a single line.\n- Do not list stylistic observations as risks.\n\nOutput nothing else. No preamble, no \"Here is the summary:\", no closing remarks. The output must be parseable by a script that splits on the SUMMARY and RISKS headers.\n\n---\n\nNote: this skill is optimized for headless use with `claude -p \"\u002Fsummarize-changes-headless\"`. The concise, structured output can be captured with `claude -p \"\u002Fsummarize-changes-headless\" > summary.txt` and processed by downstream tools. Compare this to the interactive `summarize-changes` skill, which produces more readable prose suited to an interactive session. In headless mode, conciseness and consistent structure matter more than readability, because there is no follow-up turn to ask for clarification or a reformatted response.\n","## Current changes\n\n!`git diff HEAD`\n\n## Instructions\n\nIf the diff above is empty, output exactly: `No uncommitted changes.`\n\nOtherwise, output the summary in the following format with no surrounding prose:\n\n```\nSUMMARY\n- [bullet point describing the first logical change]\n- [bullet point describing the second logical change]\n[continue as needed, two to five bullets maximum]\n\nRISKS\n- [risk] or NONE\n```\n\nRules for the SUMMARY section:\n- Each bullet describes a logical change, not a file change. If three files were modified to implement one feature, that is one bullet.\n- Use present tense: \"Add validation for email field\" not \"Added\" or \"Adding\".\n- Maximum 80 characters per bullet.\n\nRules for the RISKS section:\n- List only genuine risks: missing error handling, hardcoded credentials, removed tests, breaking API changes.\n- If there are no risks, write NONE on a single line.\n- Do not list stylistic observations as risks.\n\nOutput nothing else. No preamble, no \"Here is the summary:\", no closing remarks. The output must be parseable by a script that splits on the SUMMARY and RISKS headers.\n\n---\n\nNote: this skill is optimized for headless use with `claude -p \"\u002Fsummarize-changes-headless\"`. The concise, structured output can be captured with `claude -p \"\u002Fsummarize-changes-headless\" > summary.txt` and processed by downstream tools. Compare this to the interactive `summarize-changes` skill, which produces more readable prose suited to an interactive session. In headless mode, conciseness and consistent structure matter more than readability, because there is no follow-up turn to ask for clarification or a reformatted response.\n",{"name":5,"title":5,"description":7},"main","55e6468ba43345d07c8a68de983e58403db57c25","src\u002Fcontent\u002Fdocs\u002F01-basic\u002Fexercises\u002Fsolutions\u002F02-headless",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":44,"prompt":54,"zipAvailable":55},[45,48,51],{"tool":46,"command":47},"npx","npx skills add davila7\u002Fclaude-with-skills --skill summarize-changes-headless",{"tool":49,"command":50},"bunx","bunx skills add davila7\u002Fclaude-with-skills --skill summarize-changes-headless",{"tool":52,"command":53},"pnpm","pnpm dlx skills add davila7\u002Fclaude-with-skills --skill summarize-changes-headless","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-with-skills\u002Fblob\u002Fmain\u002Fsrc\u002Fcontent\u002Fdocs\u002F01-basic\u002Fexercises\u002Fsolutions\u002F02-headless\u002FSKILL.md",true,[57,63],{"path":58,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":61,"sourceHtmlUrl":62},"agents\u002Fopenai.yaml","REFERENCE","参考文档",245,"https:\u002F\u002Fgithub.com\u002Fderseitenschneider\u002Fdotfiles\u002Fblob\u002Fmain\u002Fclaude-config\u002F.claude\u002Fskills\u002Fsuperset\u002Fskills\u002F10x\u002Fagents\u002Fopenai.yaml",{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},"scripts\u002Faudit.sh","SCRIPT","脚本",1901,"https:\u002F\u002Fgithub.com\u002Fderseitenschneider\u002Fdotfiles\u002Fblob\u002Fmain\u002Fclaude-config\u002F.claude\u002Fskills\u002Fsuperset\u002Fskills\u002F10x\u002Fscripts\u002Faudit.sh",[70,85,96,102,110,120],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":28},"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",[],[77,78,79,80,26,81,82,83,84],"tag version","workflow","create","release","push","npm","package","publish",{"skillNo":86,"name":80,"nameZh":6,"description":87,"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":28},"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",[],[80,26,91,82,92,93,84,94,95,78],"changelog","changelog entry","run","status","github",{"skillNo":97,"name":84,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":101,"publishedAt":28},"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",[],[84,81,95,79,80,26,91],{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":108,"publishedAt":28},"01M6ADN9MP0ASQ6SX14NEPP5XE","changelog-entry","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",[],[92,91,109,26],"security",{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":116,"publishedAt":28},"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",[],[117,118,119],"auto format on edit","code","file",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":131,"publishedAt":28},"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",[126],{"categoryNo":127,"categoryName":128,"taxonomyType":129,"taxonomyTypeDesc":130},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[132,133,118,134,135,93,80,136,109],"code quality audit","audit","code quality","performance","onboarding"]