[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71FD3EBE8KMSQ8C2QKCFDD0":3,"skill-same:01M71FD3EBE8KMSQ8C2QKCFDD0":84},{"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":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":58,"commitSha":59,"skillDirectory":60,"forksCount":13,"repositoryHtmlUrl":61,"repositoryHomepageUrl":6,"ownerHtmlUrl":62,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":63,"install":64,"resources":77},"01M71FD3EBE8KMSQ8C2QKCFDD0","github-auth",null,"Set up GitHub authentication for the agent using git (universally available) or the gh CLI. Covers HTTPS tokens, SSH keys, credential helpers, and gh auth — with a detection flow to pick the right method automatically.","gjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6","gjbvsjjvgm-sketch","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F278511911?v=4","01M71F3JXKZQ70H2KCHHTXKZDA","01M71F3JY8A79Z3NZBW08TF4JD",0,"MIT","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002F.yousef\u002Fskills\u002Fgithub\u002Fgithub-auth\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"github","auth","github auth","flow","helpers","set up github","gh-cli","Using git","up","gh cli","pick","SET","review","code-review","issues","git","authentication","code","workflow","cli","2026-11-10 10:12:30",false,"---\nname: github-auth\ndescription: Set up GitHub authentication for the agent using git (universally available) or the gh CLI. Covers HTTPS tokens, SSH keys, credential helpers, and gh auth — with a detection flow to pick the right method automatically.\nversion: 1.1.0\nauthor: YOUSEF SHTIWE\nlicense: MIT\nmetadata:\n  hermes:\n    tags: [GitHub, Authentication, Git, gh-cli, SSH, Setup]\n    related_skills: [github-pr-workflow, github-code-review, github-issues, github-repo-management]\n---\n\n# GitHub Authentication Setup\n\nThis skill sets up authentication so the agent can work with GitHub repositories, PRs, issues, and CI. It covers two paths:\n\n- **`git` (always available)** — uses HTTPS personal access tokens or SSH keys\n- **`gh` CLI (if installed)** — richer GitHub API access with a simpler auth flow\n\n## Detection Flow\n\nWhen a user asks you to work with GitHub, run this check first:\n\n```bash\n# Check what's available\ngit --version\ngh --version 2>\u002Fdev\u002Fnull || echo \"gh not installed\"\n\n# Check if already authenticated\ngh auth status 2>\u002Fdev\u002Fnull || echo \"gh not authenticated\"\ngit config --global credential.helper 2>\u002Fdev\u002Fnull || echo \"no git credential helper\"\n```\n\n**Decision tree:**\n1. If `gh auth status` shows authenticated → you're good, use `gh` for everything\n2. If `gh` is installed but not authenticated → use \"gh auth\" method below\n3. If `gh` is not installed → use \"git-only\" method below (no sudo needed)\n\n---\n\n## Method 1: Git-Only Authentication (No gh, No sudo)\n\nThis works on any machine with `git` installed. No root access needed.\n\n### Option A: HTTPS with Personal Access Token (Recommended)\n\nThis is the most portable method — works everywhere, no SSH config needed.\n\n**Step 1: Create a personal access token**\n\nTell the user to go to: **https:\u002F\u002Fgithub.com\u002Fsettings\u002Ftokens**\n\n- Click \"Generate new token (classic)\"\n- Give it a name like \"yousef-sovereign-core\"\n- Select scopes:\n  - `repo` (full repository access — read, write, push, PRs)\n  - `workflow` (trigger and manage GitHub Actions)\n  - `read:org` (if working with organization repos)\n- Set expiration (90 days is a good default)\n- Copy the token — it won't be shown again\n\n**Step 2: Configure git to store the token**\n\n```bash\n# Set up the credential helper to cache credentials\n# \"store\" saves to ~\u002F.git-credentials in plaintext (simple, persistent)\ngit config --global credential.helper store\n\n# Now do a test operation that triggers auth — git will prompt for credentials\n# Username: \u003Ctheir-github-username>\n# Password: \u003Cpaste the personal access token, NOT their GitHub password>\ngit ls-remote https:\u002F\u002Fgithub.com\u002F\u003Ctheir-username>\u002F\u003Cany-repo>.git\n```\n\nAfter entering credentials once, they're saved and reused for all future operations.\n\n**Alternative: cache helper (credentials expire from memory)**\n\n```bash\n# Cache in memory for 8 hours (28800 seconds) instead of saving to disk\ngit config --global credential.helper 'cache --timeout=28800'\n```\n\n**Alternative: set the token directly in the remote URL (per-repo)**\n\n```bash\n# Embed token in the remote URL (avoids credential prompts entirely)\ngit remote set-url origin https:\u002F\u002F\u003Cusername>:\u003Ctoken>@github.com\u002F\u003Cowner>\u002F\u003Crepo>.git\n```\n\n**Step 3: Configure git identity**\n\n```bash\n# Required for commits — set name and email\ngit config --global user.name \"Their Name\"\ngit config --global user.email \"their-email@example.com\"\n```\n\n**Step 4: Verify**\n\n```bash\n# Test push access (this should work without any prompts now)\ngit ls-remote https:\u002F\u002Fgithub.com\u002F\u003Ctheir-username>\u002F\u003Cany-repo>.git\n\n# Verify identity\ngit config --global user.name\ngit config --global user.email\n```\n\n### Option B: SSH Key Authentication\n\nGood for users who prefer SSH or already have keys set up.\n\n**Step 1: Check for existing SSH keys**\n\n```bash\nls -la ~\u002F.ssh\u002Fid_*.pub 2>\u002Fdev\u002Fnull || echo \"No SSH keys found\"\n```\n\n**Step 2: Generate a key if needed**\n\n```bash\n# Generate an ed25519 key (modern, secure, fast)\nssh-keygen -t ed25519 -C \"their-email@example.com\" -f ~\u002F.ssh\u002Fid_ed25519 -N \"\"\n\n# Display the public key for them to add to GitHub\ncat ~\u002F.ssh\u002Fid_ed25519.pub\n```\n\nTell the user to add the public key at: **https:\u002F\u002Fgithub.com\u002Fsettings\u002Fkeys**\n- Click \"New SSH key\"\n- Paste the public key content\n- Give it a title like \"yousef-sovereign-core-\u003Cmachine-name>\"\n\n**Step 3: Test the connection**\n\n```bash\nssh -T git@github.com\n# Expected: \"Hi \u003Cusername>! You've successfully authenticated...\"\n```\n\n**Step 4: Configure git to use SSH for GitHub**\n\n```bash\n# Rewrite HTTPS GitHub URLs to SSH automatically\ngit config --global url.\"git@github.com:\".insteadOf \"https:\u002F\u002Fgithub.com\u002F\"\n```\n\n**Step 5: Configure git identity**\n\n```bash\ngit config --global user.name \"Their Name\"\ngit config --global user.email \"their-email@example.com\"\n```\n\n---\n\n## Method 2: gh CLI Authentication\n\nIf `gh` is installed, it handles both API access and git credentials in one step.\n\n### Interactive Browser Login (Desktop)\n\n```bash\ngh auth login\n# Select: GitHub.com\n# Select: HTTPS\n# Authenticate via browser\n```\n\n### Token-Based Login (Headless \u002F SSH Servers)\n\n```bash\necho \"\u003CTHEIR_TOKEN>\" | gh auth login --with-token\n\n# Set up git credentials through gh\ngh auth setup-git\n```\n\n### Verify\n\n```bash\ngh auth status\n```\n\n---\n\n## Using the GitHub API Without gh\n\nWhen `gh` is not available, you can still access the full GitHub API using `curl` with a personal access token. This is how the other GitHub skills implement their fallbacks.\n\n### Setting the Token for API Calls\n\n```bash\n# Option 1: Export as env var (preferred — keeps it out of commands)\nexport GITHUB_TOKEN=\"\u003Ctoken>\"\n\n# Then use in curl calls:\ncurl -s -H \"Authorization: token $GITHUB_TOKEN\" \\\n  https:\u002F\u002Fapi.github.com\u002Fuser\n```\n\n### Extracting the Token from Git Credentials\n\nIf git credentials are already configured (via credential.helper store), the token can be extracted:\n\n```bash\n# Read from git credential store\ngrep \"github.com\" ~\u002F.git-credentials 2>\u002Fdev\u002Fnull | head -1 | sed 's|https:\u002F\u002F[^:]*:\\([^@]*\\)@.*|\\1|'\n```\n\n### Helper: Detect Auth Method\n\nUse this pattern at the start of any GitHub workflow:\n\n```bash\n# Try gh first, fall back to git + curl\nif command -v gh &>\u002Fdev\u002Fnull && gh auth status &>\u002Fdev\u002Fnull; then\n  echo \"AUTH_METHOD=gh\"\nelif [ -n \"$GITHUB_TOKEN\" ]; then\n  echo \"AUTH_METHOD=curl\"\nelif [ -f ~\u002F.yousef\u002F.env ] && grep -q \"^GITHUB_TOKEN=\" ~\u002F.yousef\u002F.env; then\n  export GITHUB_TOKEN=$(grep \"^GITHUB_TOKEN=\" ~\u002F.yousef\u002F.env | head -1 | cut -d= -f2 | tr -d '\\n\\r')\n  echo \"AUTH_METHOD=curl\"\nelif grep -q \"github.com\" ~\u002F.git-credentials 2>\u002Fdev\u002Fnull; then\n  export GITHUB_TOKEN=$(grep \"github.com\" ~\u002F.git-credentials | head -1 | sed 's|https:\u002F\u002F[^:]*:\\([^@]*\\)@.*|\\1|')\n  echo \"AUTH_METHOD=curl\"\nelse\n  echo \"AUTH_METHOD=none\"\n  echo \"Need to set up authentication first\"\nfi\n```\n\n---\n\n## Troubleshooting\n\n| Problem | Solution |\n|---------|----------|\n| `git push` asks for password | GitHub disabled password auth. Use a personal access token as the password, or switch to SSH |\n| `remote: Permission to X denied` | Token may lack `repo` scope — regenerate with correct scopes |\n| `fatal: Authentication failed` | Cached credentials may be stale — run `git credential reject` then re-authenticate |\n| `ssh: connect to host github.com port 22: Connection refused` | Try SSH over HTTPS port: add `Host github.com` with `Port 443` and `Hostname ssh.github.com` to `~\u002F.ssh\u002Fconfig` |\n| Credentials not persisting | Check `git config --global credential.helper` — must be `store` or `cache` |\n| Multiple GitHub accounts | Use SSH with different keys per host alias in `~\u002F.ssh\u002Fconfig`, or per-repo credential URLs |\n| `gh: command not found` + no sudo | Use git-only Method 1 above — no installation needed |\n","# GitHub Authentication Setup\n\nThis skill sets up authentication so the agent can work with GitHub repositories, PRs, issues, and CI. It covers two paths:\n\n- **`git` (always available)** — uses HTTPS personal access tokens or SSH keys\n- **`gh` CLI (if installed)** — richer GitHub API access with a simpler auth flow\n\n## Detection Flow\n\nWhen a user asks you to work with GitHub, run this check first:\n\n```bash\n# Check what's available\ngit --version\ngh --version 2>\u002Fdev\u002Fnull || echo \"gh not installed\"\n\n# Check if already authenticated\ngh auth status 2>\u002Fdev\u002Fnull || echo \"gh not authenticated\"\ngit config --global credential.helper 2>\u002Fdev\u002Fnull || echo \"no git credential helper\"\n```\n\n**Decision tree:**\n1. If `gh auth status` shows authenticated → you're good, use `gh` for everything\n2. If `gh` is installed but not authenticated → use \"gh auth\" method below\n3. If `gh` is not installed → use \"git-only\" method below (no sudo needed)\n\n---\n\n## Method 1: Git-Only Authentication (No gh, No sudo)\n\nThis works on any machine with `git` installed. No root access needed.\n\n### Option A: HTTPS with Personal Access Token (Recommended)\n\nThis is the most portable method — works everywhere, no SSH config needed.\n\n**Step 1: Create a personal access token**\n\nTell the user to go to: **https:\u002F\u002Fgithub.com\u002Fsettings\u002Ftokens**\n\n- Click \"Generate new token (classic)\"\n- Give it a name like \"yousef-sovereign-core\"\n- Select scopes:\n  - `repo` (full repository access — read, write, push, PRs)\n  - `workflow` (trigger and manage GitHub Actions)\n  - `read:org` (if working with organization repos)\n- Set expiration (90 days is a good default)\n- Copy the token — it won't be shown again\n\n**Step 2: Configure git to store the token**\n\n```bash\n# Set up the credential helper to cache credentials\n# \"store\" saves to ~\u002F.git-credentials in plaintext (simple, persistent)\ngit config --global credential.helper store\n\n# Now do a test operation that triggers auth — git will prompt for credentials\n# Username: \u003Ctheir-github-username>\n# Password: \u003Cpaste the personal access token, NOT their GitHub password>\ngit ls-remote https:\u002F\u002Fgithub.com\u002F\u003Ctheir-username>\u002F\u003Cany-repo>.git\n```\n\nAfter entering credentials once, they're saved and reused for all future operations.\n\n**Alternative: cache helper (credentials expire from memory)**\n\n```bash\n# Cache in memory for 8 hours (28800 seconds) instead of saving to disk\ngit config --global credential.helper 'cache --timeout=28800'\n```\n\n**Alternative: set the token directly in the remote URL (per-repo)**\n\n```bash\n# Embed token in the remote URL (avoids credential prompts entirely)\ngit remote set-url origin https:\u002F\u002F\u003Cusername>:\u003Ctoken>@github.com\u002F\u003Cowner>\u002F\u003Crepo>.git\n```\n\n**Step 3: Configure git identity**\n\n```bash\n# Required for commits — set name and email\ngit config --global user.name \"Their Name\"\ngit config --global user.email \"their-email@example.com\"\n```\n\n**Step 4: Verify**\n\n```bash\n# Test push access (this should work without any prompts now)\ngit ls-remote https:\u002F\u002Fgithub.com\u002F\u003Ctheir-username>\u002F\u003Cany-repo>.git\n\n# Verify identity\ngit config --global user.name\ngit config --global user.email\n```\n\n### Option B: SSH Key Authentication\n\nGood for users who prefer SSH or already have keys set up.\n\n**Step 1: Check for existing SSH keys**\n\n```bash\nls -la ~\u002F.ssh\u002Fid_*.pub 2>\u002Fdev\u002Fnull || echo \"No SSH keys found\"\n```\n\n**Step 2: Generate a key if needed**\n\n```bash\n# Generate an ed25519 key (modern, secure, fast)\nssh-keygen -t ed25519 -C \"their-email@example.com\" -f ~\u002F.ssh\u002Fid_ed25519 -N \"\"\n\n# Display the public key for them to add to GitHub\ncat ~\u002F.ssh\u002Fid_ed25519.pub\n```\n\nTell the user to add the public key at: **https:\u002F\u002Fgithub.com\u002Fsettings\u002Fkeys**\n- Click \"New SSH key\"\n- Paste the public key content\n- Give it a title like \"yousef-sovereign-core-\u003Cmachine-name>\"\n\n**Step 3: Test the connection**\n\n```bash\nssh -T git@github.com\n# Expected: \"Hi \u003Cusername>! You've successfully authenticated...\"\n```\n\n**Step 4: Configure git to use SSH for GitHub**\n\n```bash\n# Rewrite HTTPS GitHub URLs to SSH automatically\ngit config --global url.\"git@github.com:\".insteadOf \"https:\u002F\u002Fgithub.com\u002F\"\n```\n\n**Step 5: Configure git identity**\n\n```bash\ngit config --global user.name \"Their Name\"\ngit config --global user.email \"their-email@example.com\"\n```\n\n---\n\n## Method 2: gh CLI Authentication\n\nIf `gh` is installed, it handles both API access and git credentials in one step.\n\n### Interactive Browser Login (Desktop)\n\n```bash\ngh auth login\n# Select: GitHub.com\n# Select: HTTPS\n# Authenticate via browser\n```\n\n### Token-Based Login (Headless \u002F SSH Servers)\n\n```bash\necho \"\u003CTHEIR_TOKEN>\" | gh auth login --with-token\n\n# Set up git credentials through gh\ngh auth setup-git\n```\n\n### Verify\n\n```bash\ngh auth status\n```\n\n---\n\n## Using the GitHub API Without gh\n\nWhen `gh` is not available, you can still access the full GitHub API using `curl` with a personal access token. This is how the other GitHub skills implement their fallbacks.\n\n### Setting the Token for API Calls\n\n```bash\n# Option 1: Export as env var (preferred — keeps it out of commands)\nexport GITHUB_TOKEN=\"\u003Ctoken>\"\n\n# Then use in curl calls:\ncurl -s -H \"Authorization: token $GITHUB_TOKEN\" \\\n  https:\u002F\u002Fapi.github.com\u002Fuser\n```\n\n### Extracting the Token from Git Credentials\n\nIf git credentials are already configured (via credential.helper store), the token can be extracted:\n\n```bash\n# Read from git credential store\ngrep \"github.com\" ~\u002F.git-credentials 2>\u002Fdev\u002Fnull | head -1 | sed 's|https:\u002F\u002F[^:]*:\\([^@]*\\)@.*|\\1|'\n```\n\n### Helper: Detect Auth Method\n\nUse this pattern at the start of any GitHub workflow:\n\n```bash\n# Try gh first, fall back to git + curl\nif command -v gh &>\u002Fdev\u002Fnull && gh auth status &>\u002Fdev\u002Fnull; then\n  echo \"AUTH_METHOD=gh\"\nelif [ -n \"$GITHUB_TOKEN\" ]; then\n  echo \"AUTH_METHOD=curl\"\nelif [ -f ~\u002F.yousef\u002F.env ] && grep -q \"^GITHUB_TOKEN=\" ~\u002F.yousef\u002F.env; then\n  export GITHUB_TOKEN=$(grep \"^GITHUB_TOKEN=\" ~\u002F.yousef\u002F.env | head -1 | cut -d= -f2 | tr -d '\\n\\r')\n  echo \"AUTH_METHOD=curl\"\nelif grep -q \"github.com\" ~\u002F.git-credentials 2>\u002Fdev\u002Fnull; then\n  export GITHUB_TOKEN=$(grep \"github.com\" ~\u002F.git-credentials | head -1 | sed 's|https:\u002F\u002F[^:]*:\\([^@]*\\)@.*|\\1|')\n  echo \"AUTH_METHOD=curl\"\nelse\n  echo \"AUTH_METHOD=none\"\n  echo \"Need to set up authentication first\"\nfi\n```\n\n---\n\n## Troubleshooting\n\n| Problem | Solution |\n|---------|----------|\n| `git push` asks for password | GitHub disabled password auth. Use a personal access token as the password, or switch to SSH |\n| `remote: Permission to X denied` | Token may lack `repo` scope — regenerate with correct scopes |\n| `fatal: Authentication failed` | Cached credentials may be stale — run `git credential reject` then re-authenticate |\n| `ssh: connect to host github.com port 22: Connection refused` | Try SSH over HTTPS port: add `Host github.com` with `Port 443` and `Hostname ssh.github.com` to `~\u002F.ssh\u002Fconfig` |\n| Credentials not persisting | Check `git config --global credential.helper` — must be `store` or `cache` |\n| Multiple GitHub accounts | Use SSH with different keys per host alias in `~\u002F.ssh\u002Fconfig`, or per-repo credential URLs |\n| `gh: command not found` + no sudo | Use git-only Method 1 above — no installation needed |\n",{"name":5,"author":43,"license":14,"version":44,"metadata":45,"description":7},"YOUSEF SHTIWE","1.1.0",{"hermes":46},{"tags":47,"related_skills":53},[48,49,50,24,51,52],"GitHub","Authentication","Git","SSH","Setup",[54,55,56,57],"github-pr-workflow","github-code-review","github-issues","github-repo-management","main","93bbc269671fbb340afa15b36a8766f15dc30df2",".yousef\u002Fskills\u002Fgithub\u002Fgithub-auth","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch","2026-04-27 02:51:28",{"source":8,"skillName":5,"commands":65,"prompt":75,"zipAvailable":76},[66,69,72],{"tool":67,"command":68},"npx","npx skills add gjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6 --skill github-auth",{"tool":70,"command":71},"bunx","bunx skills add gjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6 --skill github-auth",{"tool":73,"command":74},"pnpm","pnpm dlx skills add gjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6 --skill github-auth","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002F.yousef\u002Fskills\u002Fgithub\u002Fgithub-auth\u002FSKILL.md",true,[78],{"path":79,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":82,"sourceHtmlUrl":83},"scripts\u002Fgh-env.sh","SCRIPT","脚本",2575,"https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002F.yousef\u002Fskills\u002Fgithub\u002Fgithub-auth\u002Fscripts\u002Fgh-env.sh",[85,124,152,168,187,208],{"skillNo":86,"name":87,"nameZh":6,"description":88,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":89,"categories":90,"keywords":107,"publishedAt":38},"01M71G6TJ2RAQ1J0PV3K6D9GQA","writing-plans","Use when you have a spec or requirements for a multi-step task. Creates comprehensive implementation plans with bite-sized tasks, exact file paths, and complete code examples.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002Fhermes_sovereign_data\u002Fskills\u002Fsoftware-development\u002Fwriting-plans\u002FSKILL.md",[91,96,99,104],{"categoryNo":92,"categoryName":93,"taxonomyType":94,"taxonomyTypeDesc":95},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":97,"categoryName":98,"taxonomyType":94,"taxonomyTypeDesc":95},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",{"categoryNo":105,"categoryName":106,"taxonomyType":102,"taxonomyTypeDesc":103},"01JBSEEDCAT000000000000036","内容创作者",[108,109,110,111,30,36,112,113,114,35,115,31,116,117,118,119,120,121,122,123],"writing","writing plans","plans","design","documentation","tasks","development","planning","subagent","superpowers","paths","test-driven-development","you","for","test-driven","when",{"skillNo":125,"name":119,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":137,"publishedAt":38},"01M71G6R81013R3T7W5VP56GCB","Use when implementing any feature or bugfix, before writing implementation code. Enforces RED-GREEN-REFACTOR cycle with test-first approach.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002Fhermes_sovereign_data\u002Fskills\u002Fsoftware-development\u002Ftest-driven-development\u002FSKILL.md",[129,132,135,136],{"categoryNo":130,"categoryName":131,"taxonomyType":94,"taxonomyTypeDesc":95},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":133,"categoryName":134,"taxonomyType":94,"taxonomyTypeDesc":95},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":97,"categoryName":98,"taxonomyType":94,"taxonomyTypeDesc":95},{"categoryNo":105,"categoryName":106,"taxonomyType":102,"taxonomyTypeDesc":103},[138,139,114,140,141,108,142,35,143,116,117,144,145,146,147,148,149,150,151,123],"test","test driven development","driven","testing","debugging","refactor","red-green-refactor","cycle","green","systematic","bugfix","implementing","systematic-debugging","test-first",{"skillNo":153,"name":150,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":158,"publishedAt":38},"01M71G6N0Y546JZEDF25E2PMCE","Use when encountering any bug, test failure, or unexpected behavior. 4-phase root cause investigation — NO fixes without understanding the problem first.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002Fhermes_sovereign_data\u002Fskills\u002Fsoftware-development\u002Fsystematic-debugging\u002FSKILL.md",[157],{"categoryNo":133,"categoryName":134,"taxonomyType":94,"taxonomyTypeDesc":95},[159,142,147,108,138,114,116,160,117,161,162,163,110,164,119,165,122,166,167,123],"systematic debugging","use","bug","root-cause","problem-solving","problem","fixes","phase","root cause",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":180,"publishedAt":38},"01M71G6J0DXEGY48GH4KVW2SJH","subagent-driven-development","Use when executing implementation plans with independent tasks. Dispatches fresh delegate_task per task with two-stage review (spec compliance then code quality).","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002Fhermes_sovereign_data\u002Fskills\u002Fsoftware-development\u002Fsubagent-driven-development\u002FSKILL.md",[174,175,176,177],{"categoryNo":97,"categoryName":98,"taxonomyType":94,"taxonomyTypeDesc":95},{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},{"categoryNo":105,"categoryName":106,"taxonomyType":102,"taxonomyTypeDesc":103},{"categoryNo":178,"categoryName":179,"taxonomyType":102,"taxonomyTypeDesc":103},"01JBSEEDCAT000000000000037","律师与法务",[114,181,116,140,108,30,36,182,113,35,183,31,184,185,117,110,186,119,122,123],"subagent driven development","code quality","delegation","parallel","delegate","fresh",{"skillNo":188,"name":189,"nameZh":6,"description":190,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":191,"categories":192,"keywords":195,"publishedAt":38},"01M71G6EFFBQX6634E6XHB09Y1","requesting-code-review","Pre-commit verification pipeline — static security scan, baseline-aware quality gates, independent reviewer subagent, and auto-fix loop. Use after code changes and before committing, pushing, or opening a PR.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002Fhermes_sovereign_data\u002Fskills\u002Fsoftware-development\u002Frequesting-code-review\u002FSKILL.md",[193,194],{"categoryNo":130,"categoryName":131,"taxonomyType":94,"taxonomyTypeDesc":95},{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},[196,30,35,197,108,198,31,199,200,201,202,116,203,204,205,117,119,206,207,122],"code review","requesting code review","commit","verification","security scan","pipeline","loop","reviewer","fix","auto","static","auto-fix",{"skillNo":209,"name":210,"nameZh":6,"description":211,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":212,"categories":213,"keywords":214,"publishedAt":38},"01M71G6CM8ANSWVFXCN9AAD58Y","plan","Plan mode for Hermes — inspect context, write a markdown plan into the active workspace's `.hermes\u002Fplans\u002F` directory, and do not execute the work.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002Fhermes_sovereign_data\u002Fskills\u002Fsoftware-development\u002Fplan\u002FSKILL.md",[],[210,108,215,36,114,115,216,116,217,218,219,220,221,222,110,223,224,225,121,226],"directory","markdown","workspace","work","write","implementation","do","active","plan mode","inspect","mode","plan-mode"]