[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F6WSST63FR8S6B4BN1PYXP":3,"skill-same:01M6F6WSST63FR8S6B4BN1PYXP":75},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":29,"commitSha":55,"skillDirectory":56,"forksCount":57,"repositoryHtmlUrl":58,"repositoryHomepageUrl":6,"ownerHtmlUrl":59,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":60,"install":61,"resources":74},"01M6F6WSST63FR8S6B4BN1PYXP","git-commit-message",null,"Generates conventional-commit messages from staged changes: type prefix + English imperative subject (≤50 chars) + optional body explaining why. Use when the user asks to write, generate, or polish a git commit message.","boisenoise\u002Fskills-collections","boisenoise","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F193180?v=4","01M6CDBDQK6BDN55ZMA6B6PKBM","01M6CDBDVSJ3JPTBYN26FZ7TZK",13,"MIT","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-git-commit-message\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"commit","git commit","git commit message","git","commit message","message","use","when","conventional-commits","english","type","main","community","en","agent-skills","gemini","commits","messages","license","development","codex","2026-11-10 10:12:30",false,"---\nname: git-commit-message\ndescription: \"Generates conventional-commit messages from staged changes: type prefix + English imperative subject (≤50 chars) + optional body explaining why. Use when the user asks to write, generate, or polish a git commit message.\"\ncategory: development\nrisk: safe\nsource: https:\u002F\u002Fgithub.com\u002Falapha888\u002Fagent-skills-en\nsource_repo: alapha888\u002Fagent-skills-en\nsource_type: community\ndate_added: \"2026-10-01\"\nauthor: alapha888\ntags: [git, commit-messages, conventional-commits]\ntools: [claude, cursor, gemini, codex]\nlicense: MIT\nlicense_source: https:\u002F\u002Fgithub.com\u002Falapha888\u002Fagent-skills-en\u002Fblob\u002Fmain\u002FLICENSE\n---\n\n# Git Commit Message Generation\n\nGenerate a commit message from the actual staged changes (`git diff --cached`). The message must let a reader know \"what changed and why\" without opening the diff.\n\n## When to Use\n\n- Use when the user asks to write, generate, or polish a git commit message.\n- Use when staged changes need a conventional-commit message with a why-focused body.\n\n## Workflow\n\n1. **Look at the changes**: run `git status --short`, `git diff --cached --stat`, and `git diff --cached` to confirm there is something staged. If staging is empty, use an explicitly supplied diff or change description when available and label that evidence; otherwise request the intended changes. Do not stage files implicitly.\n2. **Pick a type**: choose exactly one type prefix based on the changes (if one commit mixes types, ask the user to split it):\n   - `feat`: new feature\n   - `fix`: bug fix\n   - `docs`: documentation only\n   - `refactor`: refactor (behavior unchanged)\n   - `test`: add or change tests\n   - `chore`: build, dependencies, misc\n3. **Write the subject**: format `type: English imperative phrase`, ≤50 characters. Start with a verb: \"Add…\", \"Fix…\", \"Remove…\", \"Unify…\". Ban empty subjects like \"update code\", \"some changes\", \"fix bug\".\n4. **Write the body (optional but recommended)**: 1–3 lines explaining *why*, not a play-by-play of *how*. Bug fixes must state the trigger conditions; features should describe the user-visible change.\n5. **Output**: return the message in the format requested. If supplying a shell command, quote it safely: commit text containing `$()`, backticks, or quotes must not execute as shell code. For a multiline message prefer writing it verbatim to a temporary file and using `git commit -F \u003Cmessage-file>`.\n\n## Rules\n\n- The subject is for skimmers; the body is for future-you in three months. Keep the two jobs separate.\n- A change mixing a feature and a refactor should become two commits, not one `feat` that papers over the mess.\n- No meta-commentary in the message (\"generated by AI\", etc.) — the message is about the change, nothing else.\n\n## Minimal example (runnable)\n\n```bash\n# 1. Look at the changes first\ngit status --short\ngit diff --cached --stat\n\n# 2. Suppose the change: added CAPTCHA verification to the login endpoint\n# Generated commit:\ngit commit -m \"feat: add CAPTCHA verification to login endpoint\" -m \"Blocks automated credential stuffing; CAPTCHA valid 5 minutes, account locks 10 minutes after 3 failures.\"\n```\n\nAnother example (bug fixes must state trigger conditions):\n\n```bash\ngit commit -m \"fix: keep order-list filters across pagination\" -m \"Trigger: filter first, then turn the page. Cause: page turns dropped the query params.\"\n```\n\n## Limitations\n\n- Only writes the message. Staging, splitting, committing and pushing remain the user's decision, and the skill never runs `git commit` on its own.\n- The 50-character subject and imperative-mood conventions are the common default; repositories with their own commit convention (Gitmoji, Jira prefixes, project overrides) take precedence over this skill.\n- It reads the staged diff, so it cannot describe intent that the diff alone does not show. When the \"why\" is not inferable, the skill asks instead of inventing it.\n- Generated or vendored changes (lockfiles, minified output) are summarized collectively rather than listed line by line.\n\n## Anti-patterns\n\n- ❌ Writing a message for an empty staging area: no `git diff --cached`, no commit message.\n- ❌ Catch-all `chore`: labeling every feat and fix as `chore` until the type system means nothing.\n- ❌ Novel-length subjects: `feat: add a really useful feature that greatly improves the user experience` — the subject says *what*, leave praise to the user.\n- ❌ Body as implementation log: \"first changed line 20 of a.py, then b.py…\" — the diff already shows that; the body explains why.\n","# Git Commit Message Generation\n\nGenerate a commit message from the actual staged changes (`git diff --cached`). The message must let a reader know \"what changed and why\" without opening the diff.\n\n## When to Use\n\n- Use when the user asks to write, generate, or polish a git commit message.\n- Use when staged changes need a conventional-commit message with a why-focused body.\n\n## Workflow\n\n1. **Look at the changes**: run `git status --short`, `git diff --cached --stat`, and `git diff --cached` to confirm there is something staged. If staging is empty, use an explicitly supplied diff or change description when available and label that evidence; otherwise request the intended changes. Do not stage files implicitly.\n2. **Pick a type**: choose exactly one type prefix based on the changes (if one commit mixes types, ask the user to split it):\n   - `feat`: new feature\n   - `fix`: bug fix\n   - `docs`: documentation only\n   - `refactor`: refactor (behavior unchanged)\n   - `test`: add or change tests\n   - `chore`: build, dependencies, misc\n3. **Write the subject**: format `type: English imperative phrase`, ≤50 characters. Start with a verb: \"Add…\", \"Fix…\", \"Remove…\", \"Unify…\". Ban empty subjects like \"update code\", \"some changes\", \"fix bug\".\n4. **Write the body (optional but recommended)**: 1–3 lines explaining *why*, not a play-by-play of *how*. Bug fixes must state the trigger conditions; features should describe the user-visible change.\n5. **Output**: return the message in the format requested. If supplying a shell command, quote it safely: commit text containing `$()`, backticks, or quotes must not execute as shell code. For a multiline message prefer writing it verbatim to a temporary file and using `git commit -F \u003Cmessage-file>`.\n\n## Rules\n\n- The subject is for skimmers; the body is for future-you in three months. Keep the two jobs separate.\n- A change mixing a feature and a refactor should become two commits, not one `feat` that papers over the mess.\n- No meta-commentary in the message (\"generated by AI\", etc.) — the message is about the change, nothing else.\n\n## Minimal example (runnable)\n\n```bash\n# 1. Look at the changes first\ngit status --short\ngit diff --cached --stat\n\n# 2. Suppose the change: added CAPTCHA verification to the login endpoint\n# Generated commit:\ngit commit -m \"feat: add CAPTCHA verification to login endpoint\" -m \"Blocks automated credential stuffing; CAPTCHA valid 5 minutes, account locks 10 minutes after 3 failures.\"\n```\n\nAnother example (bug fixes must state trigger conditions):\n\n```bash\ngit commit -m \"fix: keep order-list filters across pagination\" -m \"Trigger: filter first, then turn the page. Cause: page turns dropped the query params.\"\n```\n\n## Limitations\n\n- Only writes the message. Staging, splitting, committing and pushing remain the user's decision, and the skill never runs `git commit` on its own.\n- The 50-character subject and imperative-mood conventions are the common default; repositories with their own commit convention (Gitmoji, Jira prefixes, project overrides) take precedence over this skill.\n- It reads the staged diff, so it cannot describe intent that the diff alone does not show. When the \"why\" is not inferable, the skill asks instead of inventing it.\n- Generated or vendored changes (lockfiles, minified output) are summarized collectively rather than listed line by line.\n\n## Anti-patterns\n\n- ❌ Writing a message for an empty staging area: no `git diff --cached`, no commit message.\n- ❌ Catch-all `chore`: labeling every feat and fix as `chore` until the type system means nothing.\n- ❌ Novel-length subjects: `feat: add a really useful feature that greatly improves the user experience` — the subject says *what*, leave praise to the user.\n- ❌ Body as implementation log: \"first changed line 20 of a.py, then b.py…\" — the diff already shows that; the body explains why.\n",{"name":5,"risk":44,"tags":45,"tools":47,"author":50,"source":51,"license":14,"category":37,"date_added":52,"description":7,"source_repo":53,"source_type":30,"license_source":54},"safe",[21,46,26],"commit-messages",[48,49,33,38],"claude","cursor","alapha888","https:\u002F\u002Fgithub.com\u002Falapha888\u002Fagent-skills-en","2026-10-01","alapha888\u002Fagent-skills-en","https:\u002F\u002Fgithub.com\u002Falapha888\u002Fagent-skills-en\u002Fblob\u002Fmain\u002FLICENSE","7bf2279c8a65758319526a721d5c4b75683aec9c","skills\u002Fantigravity-git-commit-message",3,"https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections","https:\u002F\u002Fgithub.com\u002Fboisenoise","2026-11-14 14:18:11",{"source":8,"skillName":5,"commands":62,"prompt":72,"zipAvailable":73},[63,66,69],{"tool":64,"command":65},"npx","npx skills add boisenoise\u002Fskills-collections --skill git-commit-message",{"tool":67,"command":68},"bunx","bunx skills add boisenoise\u002Fskills-collections --skill git-commit-message",{"tool":70,"command":71},"pnpm","pnpm dlx skills add boisenoise\u002Fskills-collections --skill git-commit-message","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-git-commit-message\u002FSKILL.md",true,[],[76,104,130,156,175,198],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":80,"licenseFileUrl":81,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":39},"01M6WNH92BHVFXHGPDZCPJ0AG0","web-access","Use Treg for public web or platform data only when existing search, browser and connected tools cannot cover the task, with explicit cost and data boundaries.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-web-access\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-web-access\u002FSKILL.md",[],[85,86,87,88,37,89,90,91,92,93,94,95,96,97,98,99,100,101,102,25,103],"web","access","web access","official","browser","search","data","Tools","read","fetch","only","youtube","free tools","platform","critical","free","cover","normal","2026",{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":80,"licenseFileUrl":108,"sourceHtmlUrl":109,"categories":110,"keywords":116,"publishedAt":39},"01M6WNF9XAYAB2CZDDJBAKNM93","treg","Use the Treg CLI or MCP catalog to discover, price and call authorized external tools with team-scoped credentials and a user-approved budget.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-treg\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-treg\u002FSKILL.md",[111],{"categoryNo":112,"categoryName":113,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[106,117,118,119,88,37,36,92,120,121,122,123,24,124,125,99,126,127,128,129,103],"MCP","cli","github","Budget","credentials","team","catalog","call","discover","external tools","with","scoped","blob",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":80,"licenseFileUrl":134,"sourceHtmlUrl":135,"categories":136,"keywords":142,"publishedAt":39},"01M6WN93MEAZ4E41DYAHJRPHQT","recruit","Turn a job description into an evidence-linked candidate shortlist through Treg, with job-related ranking and optional authorized business contact enrichment.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-recruit\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-recruit\u002FSKILL.md",[137],{"categoryNo":138,"categoryName":139,"taxonomyType":140,"taxonomyTypeDesc":141},"01JBSEEDCAT000000000000038","人力资源","PROFESSION","适用职业",[132,119,88,36,143,144,145,146,147,148,99,149,150,151,127,152,153,154,155,129,106,103],"https","email","enrichment","business","evidence","phone","ranking","post","job description","for","person","candidate","reason",{"skillNo":157,"name":158,"nameZh":6,"description":159,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":80,"licenseFileUrl":160,"sourceHtmlUrl":161,"categories":162,"keywords":163,"publishedAt":39},"01M6WN8R5RXSMHM9B4D9FAFX42","rea-growth","Analyze a company’s public growth and content through Treg, distinguish observations from hypotheses, and produce an evidence-linked playbook within an approved budget.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-rea-growth\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-rea-growth\u002FSKILL.md",[],[164,165,166,119,88,36,167,168,143,169,120,170,171,172,147,99,173,174,129,106,103],"growth","rea","rea growth","produce","content","playbook","marketing","analyze","public","observations","company",{"skillNo":176,"name":177,"nameZh":6,"description":178,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":80,"licenseFileUrl":179,"sourceHtmlUrl":180,"categories":181,"keywords":182,"publishedAt":39},"01M6WN2EVE3RQRGWAKBT4S7YT2","make-ugc","Create original AI UGC-style product videos through Treg: research hooks, approve a licensed presenter and voice, generate clips, add captions and report costs.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-make-ugc\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-make-ugc\u002FSKILL.md",[],[183,184,119,185,88,186,36,187,188,189,190,191,99,192,193,194,195,196,197,129],"make","make ugc","research","create","Video","Captions","ads","short","hooks","head","style","niche","trending","talking-head","approve",{"skillNo":199,"name":200,"nameZh":6,"description":201,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":80,"licenseFileUrl":202,"sourceHtmlUrl":203,"categories":204,"keywords":205,"publishedAt":39},"01M6WN10ARAA63Y8K1YNGXJ2RM","lead-signals","Find and qualify public buying signals through Treg, rank fitting business accounts and optionally enrich authorized business contact information.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-lead-signals\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-lead-signals\u002FSKILL.md",[],[206,207,208,119,88,36,209,210,146,211,212,99,213,214,215,216,217,218,219,129],"signals","lead","lead signals","how","find","ready","as","how to","qualify","people","information","enrich","changes","funding"]