[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71PNZ4MMCA22SVPFJXQ0M00":3,"skill-same:01M71PNZ4MMCA22SVPFJXQ0M00":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},"01M71PNZ4MMCA22SVPFJXQ0M00","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\u002FWORM_V2_SOVEREIGN","gjbvsjjvgm-sketch","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F278511911?v=4","01M71F3JXKZQ70H2KCHHTXKZDA","01M71PENEVFN19DBZFNHJPCHQ7",0,"MIT","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fhermes-agent\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","Using git","helpers","gh cli","flow","git","set up github","cli","review","code-review","code","workflow","issues","up","pick","gh-cli","authentication","SET","2026-11-10 13:02:02",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,35,51,52],"GitHub","Authentication","Git","SSH","Setup",[54,55,56,57],"github-pr-workflow","github-code-review","github-issues","github-repo-management","main","6746276ba18cb774853eb61b3b9399658bc9bc5c","core\u002Fhermes-agent\u002Fskills\u002Fgithub\u002Fgithub-auth","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch","2026-04-28 17:01:03",{"source":8,"skillName":5,"commands":65,"prompt":75,"zipAvailable":76},[66,69,72],{"tool":67,"command":68},"npx","npx skills add gjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN --skill github-auth",{"tool":70,"command":71},"bunx","bunx skills add gjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN --skill github-auth",{"tool":73,"command":74},"pnpm","pnpm dlx skills add gjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN --skill github-auth","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fhermes-agent\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\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fhermes-agent\u002Fskills\u002Fgithub\u002Fgithub-auth\u002Fscripts\u002Fgh-env.sh",[85,124,149,166,185,204],{"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},"01M71QG27G1R2H2ZWEG4S0WTZT","writing-plans","Write implementation plans: bite-sized tasks, paths, code.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\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,112,113,114,31,30,115,116,29,28,117,118,119,120,121,122,123],"writing","writing plans","plans","test-driven","test-driven-development","superpowers","design","tasks","subagent","documentation","write","paths","planning","development","test","implementation",{"skillNo":125,"name":112,"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":135,"publishedAt":38},"01M71QFZYRTJXMAE551MRAKZ14","TDD: enforce RED-GREEN-REFACTOR, tests before code.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Ftest-driven-development\u002FSKILL.md",[129,132],{"categoryNo":130,"categoryName":131,"taxonomyType":94,"taxonomyTypeDesc":95},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":133,"categoryName":134,"taxonomyType":94,"taxonomyTypeDesc":95},"01JBSEEDCAT000000000000008","测试与质量",[136,121,122,137,138,139,140,113,108,141,30,116,142,143,144,145,146,110,147,148],"test driven development","driven","green","red-green-refactor","testing","debugging","systematic","refactor","systematic-debugging","enforce","tests","tdd","quality",{"skillNo":150,"name":144,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":155,"publishedAt":38},"01M71QFWR5Q8EYEQ6MCS3SM6MC","4-phase root cause debugging: understand bugs before fixing.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Fsystematic-debugging\u002FSKILL.md",[154],{"categoryNo":133,"categoryName":134,"taxonomyType":94,"taxonomyTypeDesc":95},[156,141,142,111,157,158,112,113,108,116,159,160,121,161,110,162,122,163,164,165],"systematic debugging","problem","problem-solving","phase","bugs","root cause","root-cause","investigation","understand","hermes",{"skillNo":167,"name":168,"nameZh":6,"description":169,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":170,"categories":171,"keywords":177,"publishedAt":38},"01M71QFS9S04MD8JP747W5WM0N","subagent-driven-development","Execute plans via delegate_task subagents (2-stage review).","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Fsubagent-driven-development\u002FSKILL.md",[172,173,176],{"categoryNo":97,"categoryName":98,"taxonomyType":94,"taxonomyTypeDesc":95},{"categoryNo":174,"categoryName":175,"taxonomyType":94,"taxonomyTypeDesc":95},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":105,"categoryName":106,"taxonomyType":102,"taxonomyTypeDesc":103},[178,116,121,137,111,112,179,180,113,108,31,30,29,28,181,182,110,183,184,122],"subagent driven development","delegate","delegation","subagents","parallel","stage","task",{"skillNo":186,"name":187,"nameZh":6,"description":188,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":189,"categories":190,"keywords":193,"publishedAt":38},"01M71QFQ1DBCVAZ511MXFE6T2V","requesting-code-review","Pre-commit review: security scan, quality gates, auto-fix.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Frequesting-code-review\u002FSKILL.md",[191,192],{"categoryNo":130,"categoryName":131,"taxonomyType":94,"taxonomyTypeDesc":95},{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},[194,195,30,28,111,112,196,197,113,198,108,199,200,116,29,201,202,121,203,110],"code review","requesting code review","fix","auto-fix","auto","security scan","commit","verification","security","scan",{"skillNo":205,"name":206,"nameZh":6,"description":207,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":208,"categories":209,"keywords":211,"publishedAt":38},"01M71QFM7KWM540YR67FRN807Q","python-debugpy","Debug Python: pdb REPL + debugpy remote (DAP).","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Fpython-debugpy\u002FSKILL.md",[210],{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},[212,213,214,215,216,217,218,219,141,142,220,221,222,144,223,224,225,226,165,227],"debugpy","python debugpy","python","dap","inspect","post-mortem","pdb","remote","debugger","node","commands","debug","post","breakpoints","node-inspect","tui"]