[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7CZ1A9ZESSXMJS6PWW2W93S":3,"skill-same:01M7CZ1A9ZESSXMJS6PWW2W93S":50},{"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":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":28,"commitSha":29,"skillDirectory":30,"forksCount":14,"repositoryHtmlUrl":31,"repositoryHomepageUrl":6,"ownerHtmlUrl":32,"ownerBlogUrl":33,"ownerDescription":34,"updatedAt":35,"install":36,"resources":49},"01M7CZ1A9ZESSXMJS6PWW2W93S","speckit-git-commit",null,"Auto-commit changes after a Spec Kit command completes","arrrrny\u002Fzuraffa_storage","arrrrny","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F48218623?v=4","01M7AT2E1VCEKRXW66PKN6VF10","Ahmet TOK","01M7CYXNFVWW2C7VQXKZMN55N8",0,"MIT","https:\u002F\u002Fgithub.com\u002Farrrrny\u002Fzuraffa_storage\u002Fblob\u002Fmaster\u002F.specify\u002Fextensions\u002Fgit\u002F.specify-dev\u002Fagent-commands\u002Fkimi\u002Fspeckit-git-commit\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: speckit-git-commit\ndescription: Auto-commit changes after a Spec Kit command completes\ncompatibility: Requires spec-kit project structure with .specify\u002F directory\nmetadata:\n  author: github-spec-kit\n  source: git:commands\u002Fspeckit.git.commit.md\n---\n\n# Auto-Commit Changes\n\nAutomatically stage and commit all changes after a Spec Kit command completes.\n\n## Behavior\n\nThis command is invoked as a hook after (or before) core commands. It:\n\n1. Determines the event name from the hook context (e.g., if invoked as an `after_specify` hook, the event is `after_specify`; if `before_plan`, the event is `before_plan`)\n2. Checks `.specify\u002Fextensions\u002Fgit\u002Fgit-config.yml` for the `auto_commit` section\n3. Looks up the specific event key to see if auto-commit is enabled\n4. Falls back to `auto_commit.default` if no event-specific key exists\n5. Determines the commit message based on `commit_style` (see below)\n6. If enabled and there are uncommitted changes, runs `git add .` + `git commit`\n\n## Commit Message Styles\n\nControlled by the `commit_style` key in `.specify\u002Fextensions\u002Fgit\u002Fgit-config.yml`:\n\n- **`fixed`** (default): use the per-command `message` if configured, otherwise a generic `[Spec Kit] Auto-commit \u003Cphase> \u003Ccommand>` message.\n- **`conventional`**: inspect the actual changes (`git diff` \u002F `git status`) since the last commit and generate a single-line [Conventional Commit](https:\u002F\u002Fwww.conventionalcommits.org\u002F) message (`type(scope): subject`, e.g. `feat: add OAuth specification` or `docs: update implementation plan`) that accurately summarizes the change. Write this message to a temporary file and pass the file's path to the script (see Execution below). The configured `message` values are ignored in this mode.\n\n## Execution\n\nDetermine the event name from the hook that triggered this command, then run the script:\n\n- **Bash**: `.specify\u002Fextensions\u002Fgit\u002Fscripts\u002Fbash\u002Fauto-commit.sh \u003Cevent_name> [--message-file \u003Cpath>]`\n- **PowerShell**: `.specify\u002Fextensions\u002Fgit\u002Fscripts\u002Fpowershell\u002Fauto-commit.ps1 \u003Cevent_name> [-MessageFile \u003Cpath>]`\n\nReplace `\u003Cevent_name>` with the actual hook event (e.g., `after_specify`, `before_plan`, `after_implement`). Only pass a generated message when `commit_style: conventional` is configured — first check `.specify\u002Fextensions\u002Fgit\u002Fgit-config.yml` for the value of `commit_style`:\n\n- If `conventional`: inspect the diff and generate a Conventional Commit message. **Do not interpolate the generated message directly into a shell command string** — its content is derived from repository changes and may contain characters (quotes, `$(...)`, backticks) that a shell would execute or that would break command quoting. Instead, write the message to a temporary file using your file-editing tool (not a shell `echo`\u002F`printf`), then pass that file's path via `--message-file \u003Cpath>` (Bash) or `-MessageFile \u003Cpath>` (PowerShell).\n- If `fixed` or absent: run the script with just `\u003Cevent_name>`; it uses the configured\u002Fstatic message.\n\n## Configuration\n\nIn `.specify\u002Fextensions\u002Fgit\u002Fgit-config.yml`:\n\n```yaml\n# \"fixed\" (default) uses the messages below; \"conventional\" asks the agent\n# to generate a Conventional Commit message from the diff instead.\ncommit_style: fixed\n\nauto_commit:\n  default: false          # Global toggle — set true to enable for all commands\n  after_specify:\n    enabled: true          # Override per-command\n    message: \"[Spec Kit] Add specification\"\n  after_plan:\n    enabled: false\n    message: \"[Spec Kit] Add implementation plan\"\n```\n\n## Graceful Degradation\n\n- If Git is not available or the current directory is not a repository: skips with a warning\n- If no config file exists: skips (disabled by default)\n- If no changes to commit: skips with a message\n- If `commit_style: conventional` is set and no generated message was supplied: fails with a clear error instead of silently falling back to the fixed message format","# Auto-Commit Changes\n\nAutomatically stage and commit all changes after a Spec Kit command completes.\n\n## Behavior\n\nThis command is invoked as a hook after (or before) core commands. It:\n\n1. Determines the event name from the hook context (e.g., if invoked as an `after_specify` hook, the event is `after_specify`; if `before_plan`, the event is `before_plan`)\n2. Checks `.specify\u002Fextensions\u002Fgit\u002Fgit-config.yml` for the `auto_commit` section\n3. Looks up the specific event key to see if auto-commit is enabled\n4. Falls back to `auto_commit.default` if no event-specific key exists\n5. Determines the commit message based on `commit_style` (see below)\n6. If enabled and there are uncommitted changes, runs `git add .` + `git commit`\n\n## Commit Message Styles\n\nControlled by the `commit_style` key in `.specify\u002Fextensions\u002Fgit\u002Fgit-config.yml`:\n\n- **`fixed`** (default): use the per-command `message` if configured, otherwise a generic `[Spec Kit] Auto-commit \u003Cphase> \u003Ccommand>` message.\n- **`conventional`**: inspect the actual changes (`git diff` \u002F `git status`) since the last commit and generate a single-line [Conventional Commit](https:\u002F\u002Fwww.conventionalcommits.org\u002F) message (`type(scope): subject`, e.g. `feat: add OAuth specification` or `docs: update implementation plan`) that accurately summarizes the change. Write this message to a temporary file and pass the file's path to the script (see Execution below). The configured `message` values are ignored in this mode.\n\n## Execution\n\nDetermine the event name from the hook that triggered this command, then run the script:\n\n- **Bash**: `.specify\u002Fextensions\u002Fgit\u002Fscripts\u002Fbash\u002Fauto-commit.sh \u003Cevent_name> [--message-file \u003Cpath>]`\n- **PowerShell**: `.specify\u002Fextensions\u002Fgit\u002Fscripts\u002Fpowershell\u002Fauto-commit.ps1 \u003Cevent_name> [-MessageFile \u003Cpath>]`\n\nReplace `\u003Cevent_name>` with the actual hook event (e.g., `after_specify`, `before_plan`, `after_implement`). Only pass a generated message when `commit_style: conventional` is configured — first check `.specify\u002Fextensions\u002Fgit\u002Fgit-config.yml` for the value of `commit_style`:\n\n- If `conventional`: inspect the diff and generate a Conventional Commit message. **Do not interpolate the generated message directly into a shell command string** — its content is derived from repository changes and may contain characters (quotes, `$(...)`, backticks) that a shell would execute or that would break command quoting. Instead, write the message to a temporary file using your file-editing tool (not a shell `echo`\u002F`printf`), then pass that file's path via `--message-file \u003Cpath>` (Bash) or `-MessageFile \u003Cpath>` (PowerShell).\n- If `fixed` or absent: run the script with just `\u003Cevent_name>`; it uses the configured\u002Fstatic message.\n\n## Configuration\n\nIn `.specify\u002Fextensions\u002Fgit\u002Fgit-config.yml`:\n\n```yaml\n# \"fixed\" (default) uses the messages below; \"conventional\" asks the agent\n# to generate a Conventional Commit message from the diff instead.\ncommit_style: fixed\n\nauto_commit:\n  default: false          # Global toggle — set true to enable for all commands\n  after_specify:\n    enabled: true          # Override per-command\n    message: \"[Spec Kit] Add specification\"\n  after_plan:\n    enabled: false\n    message: \"[Spec Kit] Add implementation plan\"\n```\n\n## Graceful Degradation\n\n- If Git is not available or the current directory is not a repository: skips with a warning\n- If no config file exists: skips (disabled by default)\n- If no changes to commit: skips with a message\n- If `commit_style: conventional` is set and no generated message was supplied: fails with a clear error instead of silently falling back to the fixed message format",{"name":5,"metadata":24,"description":7,"compatibility":27},{"author":25,"source":26},"github-spec-kit","git:commands\u002Fspeckit.git.commit.md","Requires spec-kit project structure with .specify\u002F directory","master","8b0e4c74e366704445e70fe51cd0e49aa034e828",".specify\u002Fextensions\u002Fgit\u002F.specify-dev\u002Fagent-commands\u002Fkimi\u002Fspeckit-git-commit","https:\u002F\u002Fgithub.com\u002Farrrrny\u002Fzuraffa_storage","https:\u002F\u002Fgithub.com\u002Farrrrny","https:\u002F\u002Farrrrny.com","AI Engineer @ ZikZak AI Moscow, Russia","2026-11-14 17:00:02",{"source":8,"skillName":5,"commands":37,"prompt":47,"zipAvailable":48},[38,41,44],{"tool":39,"command":40},"npx","npx skills add arrrrny\u002Fzuraffa_storage --skill speckit-git-commit",{"tool":42,"command":43},"bunx","bunx skills add arrrrny\u002Fzuraffa_storage --skill speckit-git-commit",{"tool":45,"command":46},"pnpm","pnpm dlx skills add arrrrny\u002Fzuraffa_storage --skill speckit-git-commit","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Farrrrny\u002Fzuraffa_storage\u002Fblob\u002Fmaster\u002F.specify\u002Fextensions\u002Fgit\u002F.specify-dev\u002Fagent-commands\u002Fkimi\u002Fspeckit-git-commit\u002FSKILL.md",true,[],[51,58,65,72,79,86],{"skillNo":52,"name":53,"nameZh":6,"description":54,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":55,"categories":56,"keywords":57,"publishedAt":19},"01M7CZ31Q1BR7CMYA0QCPQZMXR","speckit-tdd-verify","Audit TDD discipline by delegating to zfa tdd verify (mutation testing, evidence integrity); the LLM interprets the verdict and drives remediation","https:\u002F\u002Fgithub.com\u002Farrrrny\u002Fzuraffa_storage\u002Fblob\u002Fmaster\u002F.specify\u002Fextensions\u002Ftdd\u002F.specify-dev\u002Fagent-commands\u002Fkimi\u002Fspeckit-tdd-verify\u002FSKILL.md",[],[],{"skillNo":59,"name":60,"nameZh":6,"description":61,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":62,"categories":63,"keywords":64,"publishedAt":19},"01M7CZ2Y3WQD6V5QBB45PSDMRN","speckit-tdd-setup","Detect the test stack and write .specify\u002Fmemory\u002Ftdd-profile.md; zuraffa-wired projects record zfa commands as the engine","https:\u002F\u002Fgithub.com\u002Farrrrny\u002Fzuraffa_storage\u002Fblob\u002Fmaster\u002F.specify\u002Fextensions\u002Ftdd\u002F.specify-dev\u002Fagent-commands\u002Fkimi\u002Fspeckit-tdd-setup\u002FSKILL.md",[],[],{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":71,"publishedAt":19},"01M7CZ2SBPC3AP1D7WDM6KNZZV","speckit-tdd-run","Drive the red-green-refactor loop by delegating to zfa tdd run (deterministic engine); the LLM handles only honest stops — fixing genuine reds and remediation — never re-driving what zfa drives","https:\u002F\u002Fgithub.com\u002Farrrrny\u002Fzuraffa_storage\u002Fblob\u002Fmaster\u002F.specify\u002Fextensions\u002Ftdd\u002F.specify-dev\u002Fagent-commands\u002Fkimi\u002Fspeckit-tdd-run\u002FSKILL.md",[],[],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":78,"publishedAt":19},"01M7CZ2NVQQPHYA4SFVHCQ7896","speckit-tdd-plan","Derive the feature's test list by delegating to zfa tdd plan (deterministic engine); falls back to LLM-guided derivation only when zfa is unavailable","https:\u002F\u002Fgithub.com\u002Farrrrny\u002Fzuraffa_storage\u002Fblob\u002Fmaster\u002F.specify\u002Fextensions\u002Ftdd\u002F.specify-dev\u002Fagent-commands\u002Fkimi\u002Fspeckit-tdd-plan\u002FSKILL.md",[],[],{"skillNo":80,"name":81,"nameZh":6,"description":82,"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":19},"01M7CZ2HM7QXA65G81F4X1THY9","speckit-spec-stats-runs","On-demand execution — reads verified suite command from .specify\u002Fmemory\u002Ftdd-profile.md, runs it for selected specs (--all, spec id\u002Fslug, or default active feature), captures pass\u002Ffail + duration + tail, appends run record to .specify\u002Fstats\u002Fruns.json, refreshes dashboard health column","https:\u002F\u002Fgithub.com\u002Farrrrny\u002Fzuraffa_storage\u002Fblob\u002Fmaster\u002F.specify\u002Fextensions\u002Fspec-stats\u002F.specify-dev\u002Fagent-commands\u002Fkimi\u002Fspeckit-spec-stats-runs\u002FSKILL.md",[],[],{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":19},"01M7CZ2D62KGVPA1MD6JMHPBSN","speckit-spec-stats-report","Main generator — scans all specs\u002F*\u002F, derives per-feature stage, task progress, health, last updated; when the TDD extension is installed, adds a deep TDD table (acceptance\u002Funit\u002Fcharacterization counts, DONE, loop mode, tasks.md state); renders dashboard to configurable output path and writes .specify\u002Fstats\u002Fstats.json snapshot","https:\u002F\u002Fgithub.com\u002Farrrrny\u002Fzuraffa_storage\u002Fblob\u002Fmaster\u002F.specify\u002Fextensions\u002Fspec-stats\u002F.specify-dev\u002Fagent-commands\u002Fkimi\u002Fspeckit-spec-stats-report\u002FSKILL.md",[],[]]