[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CD70CTV4M327RQJ38C9BMM":3,"skill-same:01M6CD70CTV4M327RQJ38C9BMM":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":6,"ownerDescription":6,"updatedAt":52,"install":53,"resources":66},"01M6CD70CTV4M327RQJ38C9BMM","git-commit",null,"Use this skill when the user wants to make a Git commit or split changes into more than one commit. Also use it when the user types \"\u002Fcommit\" or asks for a conventional commit. The skill examines the diff, stages the related files, writes a Conventional Commits message, and runs git commit. Do not use it when the user wants only a commit message and no commit. Do not use it to push, open a pull request, rebase, or change the commit history.","OiAnthony\u002F.agents","OiAnthony","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F62509433?v=4","01M6CD610MSCRVWJ2Z2SQNVNCZ","Anthony","01M6CD614Y4BJ5DG22CQ2NHF48",10,"MIT","https:\u002F\u002Fgithub.com\u002FOiAnthony\u002F.agents\u002Fblob\u002Fmain\u002Fskills\u002Fgit-commit\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"commit","git","git commit","rebase","conventional commit","shell","pull request","change","conventional commits","commit message","use","files","only","open","option","commits","diff","history","push","pull","2026-11-10 10:12:30",false,"---\nname: git-commit\ndescription: 'Use this skill when the user wants to make a Git commit or split changes into more than one commit. Also use it when the user types \"\u002Fcommit\" or asks for a conventional commit. The skill examines the diff, stages the related files, writes a Conventional Commits message, and runs git commit. Do not use it when the user wants only a commit message and no commit. Do not use it to push, open a pull request, rebase, or change the commit history.'\nlicense: MIT\ncompatibility: 'Requires Git. The `--resolved` option of `git add` requires Git 2.56 or later. Older versions use the fallback in step 3.'\nallowed-tools: shell(git:*)\n---\n\n# Git Commit with Conventional Commits\n\nMake Git commits that follow the [Conventional Commits 1.0.0](https:\u002F\u002Fwww.conventionalcommits.org\u002Fen\u002Fv1.0.0\u002F) specification. Get the type, the scope, and the summary from the diff.\n\n## Message Format\n\n```text\n\u003Ctype>(\u003Cscope>): \u003Csummary>\n\n\u003Cbody>\n\n\u003Cfooter>\n```\n\n- The scope, the body, and the footer are optional. Without a scope, write `\u003Ctype>: \u003Csummary>`.\n- Write the summary in the imperative mood: \"add\", not \"added\" or \"adds\".\n- Keep the first line at 72 characters or less. Do not put a period at the end.\n- In the body, tell what changed and why.\n- Write each footer as `Token: value` or `Token #value`, for example `Refs: #456` or `Closes #123`. Conventional Commits accepts the two forms, but Git reads only `Token: value` as a trailer. In a token, use `-` in place of a space.\n\n## Types\n\nConventional Commits defines only `feat` and `fix`. The other types come from the Angular convention ([`@commitlint\u002Fconfig-conventional`](https:\u002F\u002Fgithub.com\u002Fconventional-changelog\u002Fcommitlint\u002Ftree\u002Fmaster\u002F%40commitlint\u002Fconfig-conventional)). If the repository has its own list, use that list.\n\n| Type       | Use it for                                     |\n| ---------- | ---------------------------------------------- |\n| `feat`     | A new feature                                  |\n| `fix`      | A bug fix                                      |\n| `docs`     | Documentation only                             |\n| `style`    | Formatting only, with no change to the logic   |\n| `refactor` | A code change that is not a feature or a fix   |\n| `perf`     | A performance improvement                      |\n| `test`     | New or changed tests                           |\n| `build`    | The build system or the dependencies           |\n| `ci`       | The CI configuration                           |\n| `chore`    | Other maintenance                              |\n| `revert`   | A revert of an earlier commit                  |\n\n## Breaking Changes\n\nPut `!` before the colon, or add a `BREAKING CHANGE:` footer. Write the token in uppercase. `BREAKING-CHANGE:` is also correct.\n\n```text\nfeat(api)!: remove the v1 endpoints\n\nBREAKING CHANGE: Clients must use the v2 endpoints.\n```\n\n## Workflow\n\n### 1. Read the repository rules\n\nFind the commit rules before you write a message:\n\n- A commitlint configuration, for example `commitlint.config.js` or `.commitlintrc.json`.\n- `CONTRIBUTING.md`.\n- The recent messages: `git log --oneline -10`.\n\nIf a repository rule is different from this skill, use the repository rule.\n\n### 2. Examine the changes\n\n```bash\ngit status --porcelain\ngit diff --staged\ngit diff\n```\n\nIf there are no changes, run the checks at the start of step 3. If they find `MERGE_HEAD`, continue. If not, tell the user what `git status --long` shows. Do not make an empty commit.\n\n### 3. Stage the files\n\nFirst, check for an operation in progress. Run each command alone. Do not chain them with `&&`. In a subdirectory, run every command in this step as `git -C \u003Croot> ...`. `git rev-parse --show-toplevel` prints the root.\n\n```bash\ngit rev-parse -q --verify --symbolic-full-name MERGE_HEAD\ngit rev-parse -q --verify --symbolic-full-name CHERRY_PICK_HEAD\ngit rev-parse -q --verify --symbolic-full-name REVERT_HEAD\ngit diff --name-only --diff-filter=U --no-relative\ngit status --long\n```\n\nA `rev-parse` command prints a ref name if its operation is in progress. If not, the command prints nothing and exits with status 1. The `git diff` command lists unmerged files. It finds conflicts that have no ref, for example from `git stash pop`. `git status --long` shows the other cases.\n\n**If an operation is in progress or there are unmerged files**, do not unstage files. Do not split the commit. The index holds the result of the operation. If you unstage a file, Git drops the changes of the other side or removes a conflict entry.\n\n- Stop and tell the user if `git status --long` shows \"rebase in progress\", \"You are in the middle of an am session\", \"Cherry-pick currently in progress\", or \"Revert currently in progress\".\n- Run `git status --porcelain=v2`. A line that starts with `u` shows an unmerged file. You can resolve the file only if all these conditions are true:\n  - The line starts with `u UU N...` or `u AA N...`.\n  - Each mode on the line is `100644`, `100755`, or `000000`.\n  - `git diff --no-relative` does not show `Binary files differ` for the file.\n- Ask the user how to resolve all other unmerged files. Git cannot find conflict markers in these files. `git add --resolved` and the checks below stage these files without a warning. Stage each of these files only after the user resolves it: `git add -- \u003Cpath>`.\n- With Git 2.56 or later, stage the files that you can resolve with `git add --resolved -- \u003Cpaths>`.\n- With older Git, check those files and stage them:\n\n```bash\ngit diff --check -- path\u002Fto\u002Ffile1 path\u002Fto\u002Ffile2\ngit add -- path\u002Fto\u002Ffile1 path\u002Fto\u002Ffile2\n```\n\n- Stage the files only if `git diff --check` finds no \"leftover conflict marker\" line. Ignore whitespace warnings from the other branch.\n- Then, with any Git version, run `git diff --name-only --no-relative` and `git ls-files --others --exclude-standard`. They list edits in other files. Skip the files that are still unmerged.\n- Show these paths to the user. Ask if they belong to the commit. Stage only the approved paths with `git add -- \u003Cpaths>`.\n- Git quotes some paths, for example paths with non-ASCII characters. `git add` fails for a quoted path. Ask the user about these files.\n\n**If there is no operation and no unmerged file**, put one logical change in each commit. If the staged files contain more than one change, first unstage the files of the other changes. Then stage the files for this change:\n\n```bash\ngit reset -q -- path\u002Fto\u002Fother-file1 path\u002Fto\u002Fother-file2\ngit add -- path\u002Fto\u002Ffile1 path\u002Fto\u002Ffile2\ngit add -- '*.test.*'\ngit add -- src\u002Fcomponents\u002F\n```\n\n- Put a glob in quotes. Without quotes, the shell expands the glob and does not find the files in subdirectories.\n- Do not use `git add -p` or `git add -i`. These commands wait for input from a person.\n- Examine the list of staged files with `git diff --staged --name-only`. Do not commit secrets, for example `.env` files, `credentials.json`, or private keys.\n\n### 4. Write the message\n\nGet each part from the diff:\n\n- **Type**: The kind of change.\n- **Scope**: The module or the area that the change affects.\n- **Summary**: What changed, in one line.\n\n### 5. Commit\n\nWhen step 3 finds `MERGE_HEAD`, `CHERRY_PICK_HEAD`, or `REVERT_HEAD`, run `git commit --no-edit` with no paths and no `--cleanup` option. This keeps the message that Git prepared. Do not write a new `-m` message. The message can keep the `Conflicts:` comment lines from Git. Do not remove them.\n\nIn all other cases:\n\nGive each paragraph with a different `-m` option. Git puts a blank line between the paragraphs. This command works in Bash, PowerShell, and other shells.\n\n```bash\ngit commit -m \"feat(auth): add token refresh\"\ngit commit -m \"fix(parser): accept empty input\" -m \"An empty file caused a crash.\" -m \"Closes: #123\"\n```\n\nFor a long message, write the message to a temporary file. Then run `git commit -F \u003Cfile>`.\n\n### 6. Make sure that the commit is correct\n\n```bash\ngit log -1 --stat --first-parent\ngit status --porcelain\n```\n\n## Safety Rules\n\n- Do not change the Git configuration.\n- Do not use `--no-verify` unless the user tells you to. Hooks can be in `.git\u002Fhooks` or in the Git configuration.\n- If a hook fails, Git does not make the commit. Fix the problem, stage the files again, and run the same `git commit` command again. Do not use `--amend`, because it changes the previous commit.\n- Do not change the commit history unless the user tells you to. Do not use `git reset --hard`, `git rebase`, or the experimental `git history` command.\n- Do not push unless the user tells you to. Do not force push to the default branch.\n","# Git Commit with Conventional Commits\n\nMake Git commits that follow the [Conventional Commits 1.0.0](https:\u002F\u002Fwww.conventionalcommits.org\u002Fen\u002Fv1.0.0\u002F) specification. Get the type, the scope, and the summary from the diff.\n\n## Message Format\n\n```text\n\u003Ctype>(\u003Cscope>): \u003Csummary>\n\n\u003Cbody>\n\n\u003Cfooter>\n```\n\n- The scope, the body, and the footer are optional. Without a scope, write `\u003Ctype>: \u003Csummary>`.\n- Write the summary in the imperative mood: \"add\", not \"added\" or \"adds\".\n- Keep the first line at 72 characters or less. Do not put a period at the end.\n- In the body, tell what changed and why.\n- Write each footer as `Token: value` or `Token #value`, for example `Refs: #456` or `Closes #123`. Conventional Commits accepts the two forms, but Git reads only `Token: value` as a trailer. In a token, use `-` in place of a space.\n\n## Types\n\nConventional Commits defines only `feat` and `fix`. The other types come from the Angular convention ([`@commitlint\u002Fconfig-conventional`](https:\u002F\u002Fgithub.com\u002Fconventional-changelog\u002Fcommitlint\u002Ftree\u002Fmaster\u002F%40commitlint\u002Fconfig-conventional)). If the repository has its own list, use that list.\n\n| Type       | Use it for                                     |\n| ---------- | ---------------------------------------------- |\n| `feat`     | A new feature                                  |\n| `fix`      | A bug fix                                      |\n| `docs`     | Documentation only                             |\n| `style`    | Formatting only, with no change to the logic   |\n| `refactor` | A code change that is not a feature or a fix   |\n| `perf`     | A performance improvement                      |\n| `test`     | New or changed tests                           |\n| `build`    | The build system or the dependencies           |\n| `ci`       | The CI configuration                           |\n| `chore`    | Other maintenance                              |\n| `revert`   | A revert of an earlier commit                  |\n\n## Breaking Changes\n\nPut `!` before the colon, or add a `BREAKING CHANGE:` footer. Write the token in uppercase. `BREAKING-CHANGE:` is also correct.\n\n```text\nfeat(api)!: remove the v1 endpoints\n\nBREAKING CHANGE: Clients must use the v2 endpoints.\n```\n\n## Workflow\n\n### 1. Read the repository rules\n\nFind the commit rules before you write a message:\n\n- A commitlint configuration, for example `commitlint.config.js` or `.commitlintrc.json`.\n- `CONTRIBUTING.md`.\n- The recent messages: `git log --oneline -10`.\n\nIf a repository rule is different from this skill, use the repository rule.\n\n### 2. Examine the changes\n\n```bash\ngit status --porcelain\ngit diff --staged\ngit diff\n```\n\nIf there are no changes, run the checks at the start of step 3. If they find `MERGE_HEAD`, continue. If not, tell the user what `git status --long` shows. Do not make an empty commit.\n\n### 3. Stage the files\n\nFirst, check for an operation in progress. Run each command alone. Do not chain them with `&&`. In a subdirectory, run every command in this step as `git -C \u003Croot> ...`. `git rev-parse --show-toplevel` prints the root.\n\n```bash\ngit rev-parse -q --verify --symbolic-full-name MERGE_HEAD\ngit rev-parse -q --verify --symbolic-full-name CHERRY_PICK_HEAD\ngit rev-parse -q --verify --symbolic-full-name REVERT_HEAD\ngit diff --name-only --diff-filter=U --no-relative\ngit status --long\n```\n\nA `rev-parse` command prints a ref name if its operation is in progress. If not, the command prints nothing and exits with status 1. The `git diff` command lists unmerged files. It finds conflicts that have no ref, for example from `git stash pop`. `git status --long` shows the other cases.\n\n**If an operation is in progress or there are unmerged files**, do not unstage files. Do not split the commit. The index holds the result of the operation. If you unstage a file, Git drops the changes of the other side or removes a conflict entry.\n\n- Stop and tell the user if `git status --long` shows \"rebase in progress\", \"You are in the middle of an am session\", \"Cherry-pick currently in progress\", or \"Revert currently in progress\".\n- Run `git status --porcelain=v2`. A line that starts with `u` shows an unmerged file. You can resolve the file only if all these conditions are true:\n  - The line starts with `u UU N...` or `u AA N...`.\n  - Each mode on the line is `100644`, `100755`, or `000000`.\n  - `git diff --no-relative` does not show `Binary files differ` for the file.\n- Ask the user how to resolve all other unmerged files. Git cannot find conflict markers in these files. `git add --resolved` and the checks below stage these files without a warning. Stage each of these files only after the user resolves it: `git add -- \u003Cpath>`.\n- With Git 2.56 or later, stage the files that you can resolve with `git add --resolved -- \u003Cpaths>`.\n- With older Git, check those files and stage them:\n\n```bash\ngit diff --check -- path\u002Fto\u002Ffile1 path\u002Fto\u002Ffile2\ngit add -- path\u002Fto\u002Ffile1 path\u002Fto\u002Ffile2\n```\n\n- Stage the files only if `git diff --check` finds no \"leftover conflict marker\" line. Ignore whitespace warnings from the other branch.\n- Then, with any Git version, run `git diff --name-only --no-relative` and `git ls-files --others --exclude-standard`. They list edits in other files. Skip the files that are still unmerged.\n- Show these paths to the user. Ask if they belong to the commit. Stage only the approved paths with `git add -- \u003Cpaths>`.\n- Git quotes some paths, for example paths with non-ASCII characters. `git add` fails for a quoted path. Ask the user about these files.\n\n**If there is no operation and no unmerged file**, put one logical change in each commit. If the staged files contain more than one change, first unstage the files of the other changes. Then stage the files for this change:\n\n```bash\ngit reset -q -- path\u002Fto\u002Fother-file1 path\u002Fto\u002Fother-file2\ngit add -- path\u002Fto\u002Ffile1 path\u002Fto\u002Ffile2\ngit add -- '*.test.*'\ngit add -- src\u002Fcomponents\u002F\n```\n\n- Put a glob in quotes. Without quotes, the shell expands the glob and does not find the files in subdirectories.\n- Do not use `git add -p` or `git add -i`. These commands wait for input from a person.\n- Examine the list of staged files with `git diff --staged --name-only`. Do not commit secrets, for example `.env` files, `credentials.json`, or private keys.\n\n### 4. Write the message\n\nGet each part from the diff:\n\n- **Type**: The kind of change.\n- **Scope**: The module or the area that the change affects.\n- **Summary**: What changed, in one line.\n\n### 5. Commit\n\nWhen step 3 finds `MERGE_HEAD`, `CHERRY_PICK_HEAD`, or `REVERT_HEAD`, run `git commit --no-edit` with no paths and no `--cleanup` option. This keeps the message that Git prepared. Do not write a new `-m` message. The message can keep the `Conflicts:` comment lines from Git. Do not remove them.\n\nIn all other cases:\n\nGive each paragraph with a different `-m` option. Git puts a blank line between the paragraphs. This command works in Bash, PowerShell, and other shells.\n\n```bash\ngit commit -m \"feat(auth): add token refresh\"\ngit commit -m \"fix(parser): accept empty input\" -m \"An empty file caused a crash.\" -m \"Closes: #123\"\n```\n\nFor a long message, write the message to a temporary file. Then run `git commit -F \u003Cfile>`.\n\n### 6. Make sure that the commit is correct\n\n```bash\ngit log -1 --stat --first-parent\ngit status --porcelain\n```\n\n## Safety Rules\n\n- Do not change the Git configuration.\n- Do not use `--no-verify` unless the user tells you to. Hooks can be in `.git\u002Fhooks` or in the Git configuration.\n- If a hook fails, Git does not make the commit. Fix the problem, stage the files again, and run the same `git commit` command again. Do not use `--amend`, because it changes the previous commit.\n- Do not change the commit history unless the user tells you to. Do not use `git reset --hard`, `git rebase`, or the experimental `git history` command.\n- Do not push unless the user tells you to. Do not force push to the default branch.\n",{"name":5,"license":15,"description":7,"allowed-tools":44,"compatibility":45},"shell(git:*)","Requires Git. The `--resolved` option of `git add` requires Git 2.56 or later. Older versions use the fallback in step 3.","main","a8a7694acd9ea1456273ce5a8a2e6fa6df725981","skills\u002Fgit-commit",0,"https:\u002F\u002Fgithub.com\u002FOiAnthony\u002F.agents","https:\u002F\u002Fgithub.com\u002FOiAnthony","2026-11-11 00:10:07",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add OiAnthony\u002F.agents --skill git-commit",{"tool":59,"command":60},"bunx","bunx skills add OiAnthony\u002F.agents --skill git-commit",{"tool":62,"command":63},"pnpm","pnpm dlx skills add OiAnthony\u002F.agents --skill git-commit","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FOiAnthony\u002F.agents\u002Fblob\u002Fmain\u002Fskills\u002Fgit-commit\u002FSKILL.md",true,[],[68,99,132,148,159,169],{"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":79,"publishedAt":39},"01M6M4FMTYJKAXC88CQVJZZKDM","vercel-composition-patterns","React composition patterns that scale. Use when refactoring components with boolean prop proliferation, building flexible component libraries, or designing reusable APIs. Triggers on tasks involving compound components, render props, context providers, or component architecture. Includes React 19 API changes.","https:\u002F\u002Fgithub.com\u002FOiAnthony\u002F.agents\u002Fblob\u002Fmain\u002Fskills\u002Fvercel-composition-patterns\u002FSKILL.md",[74],{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",[80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,29],"Composition","vercel","composition patterns","patterns","vercel composition patterns","libraries","with","react","api","react composition","architecture","components","tasks","react composition patterns","react 19","render","triggers","component architecture","reusable",{"skillNo":100,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":103,"sourceHtmlUrl":104,"categories":105,"keywords":114,"publishedAt":39},"01M6M4EX76TC0ES8RW244Q3S6T","humanizer","Rewrite AI-sounding text so it reads like the writer without changing what it says.\nUse when editing or reviewing prose for AI tells: not-X-but-Y contrasts, one-line\nclosers, staged openers, forced triads, dashes everywhere, inflated claims, sales\nlanguage, stock AI words, bold labels, or filler.","https:\u002F\u002Fgithub.com\u002FOiAnthony\u002F.agents\u002Fblob\u002Fmain\u002Fskills\u002Fhumanizer\u002FLICENSE","https:\u002F\u002Fgithub.com\u002FOiAnthony\u002F.agents\u002Fblob\u002Fmain\u002Fskills\u002Fhumanizer\u002FSKILL.md",[106,109],{"categoryNo":107,"categoryName":108,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":110,"categoryName":111,"taxonomyType":112,"taxonomyTypeDesc":113},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[101,115,116,117,118,29,119,120,121,122,123,124,125,126,127,128,129,130,131],"but","staged","sales","rewrite","editing","for","language","line","wikipedia","claims","text","writing","labels","prose","it","writer","stock",{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":138,"publishedAt":39},"01M6CD955XQYA5HPW55EQG0XPK","openspec-propose","Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.","https:\u002F\u002Fgithub.com\u002FOiAnthony\u002F.agents\u002Fblob\u002Fmain\u002Fskills\u002Fopenspec-propose\u002FSKILL.md",[],[139,140,141,92,142,143,29,144,145,26,146,147],"openspec propose","implementation","user","artifacts","Bash","cli","generated","design","ready",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":154,"publishedAt":39},"01M6CD938FZZZVAKK3P93RGJH4","openspec-explore","Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.","https:\u002F\u002Fgithub.com\u002FOiAnthony\u002F.agents\u002Fblob\u002Fmain\u002Fskills\u002Fopenspec-explore\u002FSKILL.md",[],[155,156,26,144,141,157,143,29,158],"explore","openspec explore","think","thinking partner",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":165,"publishedAt":39},"01M6CD91PAV1MYQ3TSY1SJ5ZV7","openspec-archive-change","Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.","https:\u002F\u002Fgithub.com\u002FOiAnthony\u002F.agents\u002Fblob\u002Fmain\u002Fskills\u002Fopenspec-archive-change\u002FSKILL.md",[],[166,167,26,141,143,168,29,144,140],"archive","openspec archive change","workflow",{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":173,"categories":174,"keywords":175,"publishedAt":39},"01M6CD8ZZB5HXYRKXFQFV73BK2","openspec-apply-change","Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.","https:\u002F\u002Fgithub.com\u002FOiAnthony\u002F.agents\u002Fblob\u002Fmain\u002Fskills\u002Fopenspec-apply-change\u002FSKILL.md",[],[176,26,177,178,141,92,143,29,144,140,179,180],"openspec apply change","implement","continue","work","start"]