[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7315DCYN5DXMY89EABDF30P":3,"skill-same:01M7315DCYN5DXMY89EABDF30P":72},{"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":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":49,"ownerHtmlUrl":50,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":51,"install":52,"resources":65},"01M7315DCYN5DXMY89EABDF30P","github-auth",null,"GitHub auth setup: HTTPS tokens, SSH keys, gh CLI login.","StarryCod\u002Fcogitum","StarryCod","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F200964623?v=4","01M7311AM3RY259SYKGHWBEDN0","OpenReason","01M7311AMRC1PBSTYZWSD1AQFJ",12,"MIT","https:\u002F\u002Fgithub.com\u002FStarryCod\u002Fcogitum\u002Fblob\u002Fmaster\u002Fcogitum\u002Fdata\u002Fskills\u002Fgithub\u002Fgithub-auth\u002FSKILL.md",[],[],"2026-11-11 15:11:14",false,"---\nname: github-auth\ndescription: \"GitHub auth setup: HTTPS tokens, SSH keys, gh CLI login.\"\nversion: 1.1.0\nauthor: Cogitum\nlicense: MIT\nplatforms: [linux, macos, windows]\nmetadata:\n  cogitum:\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 \"cogitum\"\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 \"cogitum-\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.config\u002Fcogitum\u002F.env ] && grep -q \"^GITHUB_TOKEN=\" ~\u002F.config\u002Fcogitum\u002F.env; then\n  export GITHUB_TOKEN=$(grep \"^GITHUB_TOKEN=\" ~\u002F.config\u002Fcogitum\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 \"cogitum\"\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 \"cogitum-\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.config\u002Fcogitum\u002F.env ] && grep -q \"^GITHUB_TOKEN=\" ~\u002F.config\u002Fcogitum\u002F.env; then\n  export GITHUB_TOKEN=$(grep \"^GITHUB_TOKEN=\" ~\u002F.config\u002Fcogitum\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":24,"license":15,"version":25,"metadata":26,"platforms":40,"description":7},"Cogitum","1.1.0",{"cogitum":27},{"tags":28,"related_skills":35},[29,30,31,32,33,34],"GitHub","Authentication","Git","gh-cli","SSH","Setup",[36,37,38,39],"github-pr-workflow","github-code-review","github-issues","github-repo-management",[41,42,43],"linux","macos","windows","master","a99de210a5d82a24b7aa5020afa1f904f595d14c","cogitum\u002Fdata\u002Fskills\u002Fgithub\u002Fgithub-auth",0,"https:\u002F\u002Fgithub.com\u002FStarryCod\u002Fcogitum","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fcogitum","https:\u002F\u002Fgithub.com\u002FStarryCod","2026-05-25 23:49:07",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add StarryCod\u002Fcogitum --skill github-auth",{"tool":58,"command":59},"bunx","bunx skills add StarryCod\u002Fcogitum --skill github-auth",{"tool":61,"command":62},"pnpm","pnpm dlx skills add StarryCod\u002Fcogitum --skill github-auth","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FStarryCod\u002Fcogitum\u002Fblob\u002Fmaster\u002Fcogitum\u002Fdata\u002Fskills\u002Fgithub\u002Fgithub-auth\u002FSKILL.md",true,[66],{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"scripts\u002Fgh-env.sh","SCRIPT","脚本",2574,"https:\u002F\u002Fgithub.com\u002FStarryCod\u002Fcogitum\u002Fblob\u002Fmaster\u002Fcogitum\u002Fdata\u002Fskills\u002Fgithub\u002Fgithub-auth\u002Fscripts\u002Fgh-env.sh",[73,80,87,94,101,108],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":19},"01M731AYJQFFAGEQ8T8NMPKM72","yuanbao","Yuanbao (元宝) groups: @mention users, query info\u002Fmembers.","https:\u002F\u002Fgithub.com\u002FStarryCod\u002Fcogitum\u002Fblob\u002Fmaster\u002Fcogitum\u002Fdata\u002Fskills\u002Fyuanbao\u002FSKILL.md",[],[],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":86,"publishedAt":19},"01M731AWAHBZQ4JG5HBRXSTEWP","tg-moderator","Telegram chat moderator\u002Fcompanion mode. No tools, conversational only.","https:\u002F\u002Fgithub.com\u002FStarryCod\u002Fcogitum\u002Fblob\u002Fmaster\u002Fcogitum\u002Fdata\u002Fskills\u002Ftg-moderator\u002FSKILL.md",[],[],{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":19},"01M731AS9N89S2E50MSW2Y9QYY","writing-plans","Write implementation plans: bite-sized tasks, paths, code.","https:\u002F\u002Fgithub.com\u002FStarryCod\u002Fcogitum\u002Fblob\u002Fmaster\u002Fcogitum\u002Fdata\u002Fskills\u002Fsoftware-development\u002Fwriting-plans\u002FSKILL.md",[],[],{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":19},"01M731ANESTYGBFV3XSAT0AS8Q","test-driven-development","TDD: enforce RED-GREEN-REFACTOR, tests before code.","https:\u002F\u002Fgithub.com\u002FStarryCod\u002Fcogitum\u002Fblob\u002Fmaster\u002Fcogitum\u002Fdata\u002Fskills\u002Fsoftware-development\u002Ftest-driven-development\u002FSKILL.md",[],[],{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":107,"publishedAt":19},"01M731AG1KE7ZHM0P1R890ZVB0","systematic-debugging","4-phase root cause debugging: understand bugs before fixing.","https:\u002F\u002Fgithub.com\u002FStarryCod\u002Fcogitum\u002Fblob\u002Fmaster\u002Fcogitum\u002Fdata\u002Fskills\u002Fsoftware-development\u002Fsystematic-debugging\u002FSKILL.md",[],[],{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":114,"publishedAt":19},"01M731ABWQ3DTCBY8E6WTYSBTT","subagent-driven-development","Execute plans via delegate_task subagents (2-stage review).","https:\u002F\u002Fgithub.com\u002FStarryCod\u002Fcogitum\u002Fblob\u002Fmaster\u002Fcogitum\u002Fdata\u002Fskills\u002Fsoftware-development\u002Fsubagent-driven-development\u002FSKILL.md",[],[]]