[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6RVB2QNGBNHBS8E8ECYNFA3":3,"skill-same:01M6RVB2QNGBNHBS8E8ECYNFA3":65},{"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":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":13,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":50,"install":51,"resources":64},"01M6RVB2QNGBNHBS8E8ECYNFA3","investor-materials",null,"Create and update pitch decks, one-pagers, investor memos, accelerator applications, financial models, and fundraising materials. Use when the user needs investor-facing documents, projections, use-of-funds tables, milestone plans, or materials that must stay internally consistent across multiple fundraising assets.","sakamoto-family-smile\u002Fagent_monorepo","sakamoto-family-smile","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F132812403?v=4","01M6RTAT3H8PMWX5SJ65KP3VYF","01M6RTAV321WB5RAHCWTZMX5CV",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fsakamoto-family-smile\u002Fagent_monorepo\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fecc\u002Finvestor-materials\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"materials","investor materials","milestone","when","tables","pitch","projections","plans","fundraising","across","documents","models","use","user","assets","applications","update","create","2026-11-10 10:12:30",false,"---\nname: iterate-pr\ndescription: \"Iterate on a PR until CI passes. Use when you need to fix CI failures, address review feedback, or continuously push fixes until all checks are green. Automates the feedback-fix-push-wait cycle.\"\nsource: \"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskills\u002Ftree\u002Fmain\u002Fplugins\u002Fsentry-skills\u002Fskills\u002Fiterate-pr\"\nrisk: safe\n---\n\n# Iterate on PR Until CI Passes\n\nContinuously iterate on the current branch until all CI checks pass and review feedback is addressed.\n\n## When to Use This Skill\n\nUse this skill when:\n- Fixing CI failures\n- Addressing review feedback\n- Continuously pushing fixes until all checks are green\n- Automating the feedback-fix-push-wait cycle\n- Ensuring PR meets all quality gates\n\n**Requires**: GitHub CLI (`gh`) authenticated and available.\n\n## Process\n\n### Step 1: Identify the PR\n\n```bash\ngh pr view --json number,url,headRefName,baseRefName\n```\n\nIf no PR exists for the current branch, stop and inform the user.\n\n### Step 2: Check CI Status First\n\nAlways check CI\u002FGitHub Actions status before looking at review feedback:\n\n```bash\ngh pr checks --json name,state,bucket,link,workflow\n```\n\nThe `bucket` field categorizes state into: `pass`, `fail`, `pending`, `skipping`, or `cancel`.\n\n**Important:** If any of these checks are still `pending`, wait before proceeding:\n- `sentry` \u002F `sentry-io`\n- `codecov`\n- `cursor` \u002F `bugbot` \u002F `seer`\n- Any linter or code analysis checks\n\nThese bots may post additional feedback comments once their checks complete. Waiting avoids duplicate work.\n\n### Step 3: Gather Review Feedback\n\nOnce CI checks have completed (or at least the bot-related checks), gather human and bot feedback:\n\n**Review Comments and Status:**\n```bash\ngh pr view --json reviews,comments,reviewDecision\n```\n\n**Inline Code Review Comments:**\n```bash\ngh api repos\u002F{owner}\u002F{repo}\u002Fpulls\u002F{pr_number}\u002Fcomments\n```\n\n**PR Conversation Comments (includes bot comments):**\n```bash\ngh api repos\u002F{owner}\u002F{repo}\u002Fissues\u002F{pr_number}\u002Fcomments\n```\n\nLook for bot comments from: Sentry, Codecov, Cursor, Bugbot, Seer, and other automated tools.\n\n### Step 4: Investigate Failures\n\nFor each CI failure, get the actual logs:\n\n```bash\n# List recent runs for this branch\ngh run list --branch $(git branch --show-current) --limit 5 --json databaseId,name,status,conclusion\n\n# View failed logs for a specific run\ngh run view \u003Crun-id> --log-failed\n```\n\nDo NOT assume what failed based on the check name alone. Always read the actual logs.\n\n### Step 5: Validate Feedback\n\nFor each piece of feedback (CI failure or review comment):\n\n1. **Read the relevant code** - Understand the context before making changes\n2. **Verify the issue is real** - Not all feedback is correct; reviewers and bots can be wrong\n3. **Check if already addressed** - The issue may have been fixed in a subsequent commit\n4. **Skip invalid feedback** - If the concern is not legitimate, move on\n\n### Step 6: Address Valid Issues\n\nMake minimal, targeted code changes. Only fix what is actually broken.\n\n### Step 7: Commit and Push\n\n```bash\ngit add -A\ngit commit -m \"fix: \u003Cdescriptive message of what was fixed>\"\ngit push origin $(git branch --show-current)\n```\n\n### Step 8: Wait for CI\n\nUse the built-in watch functionality:\n\n```bash\ngh pr checks --watch --interval 30\n```\n\nThis waits until all checks complete. Exit code 0 means all passed, exit code 1 means failures.\n\nAlternatively, poll manually if you need more control:\n\n```bash\ngh pr checks --json name,state,bucket | jq '.[] | select(.bucket != \"pass\")'\n```\n\n### Step 9: Repeat\n\nReturn to Step 2 if:\n- Any CI checks failed\n- New review feedback appeared\n\nContinue until all checks pass and no unaddressed feedback remains.\n\n## Exit Conditions\n\n**Success:**\n- All CI checks are green (`bucket: pass`)\n- No unaddressed human review feedback\n\n**Ask for Help:**\n- Same failure persists after 3 attempts (likely a flaky test or deeper issue)\n- Review feedback requires clarification or decision from the user\n- CI failure is unrelated to branch changes (infrastructure issue)\n\n**Stop Immediately:**\n- No PR exists for the current branch\n- Branch is out of sync and needs rebase (inform user)\n\n## Tips\n\n- Use `gh pr checks --required` to focus only on required checks\n- Use `gh run view \u003Crun-id> --verbose` to see all job steps, not just failures\n- If a check is from an external service, the `link` field in checks JSON provides the URL to investigate\n","# Iterate on PR Until CI Passes\n\nContinuously iterate on the current branch until all CI checks pass and review feedback is addressed.\n\n## When to Use This Skill\n\nUse this skill when:\n- Fixing CI failures\n- Addressing review feedback\n- Continuously pushing fixes until all checks are green\n- Automating the feedback-fix-push-wait cycle\n- Ensuring PR meets all quality gates\n\n**Requires**: GitHub CLI (`gh`) authenticated and available.\n\n## Process\n\n### Step 1: Identify the PR\n\n```bash\ngh pr view --json number,url,headRefName,baseRefName\n```\n\nIf no PR exists for the current branch, stop and inform the user.\n\n### Step 2: Check CI Status First\n\nAlways check CI\u002FGitHub Actions status before looking at review feedback:\n\n```bash\ngh pr checks --json name,state,bucket,link,workflow\n```\n\nThe `bucket` field categorizes state into: `pass`, `fail`, `pending`, `skipping`, or `cancel`.\n\n**Important:** If any of these checks are still `pending`, wait before proceeding:\n- `sentry` \u002F `sentry-io`\n- `codecov`\n- `cursor` \u002F `bugbot` \u002F `seer`\n- Any linter or code analysis checks\n\nThese bots may post additional feedback comments once their checks complete. Waiting avoids duplicate work.\n\n### Step 3: Gather Review Feedback\n\nOnce CI checks have completed (or at least the bot-related checks), gather human and bot feedback:\n\n**Review Comments and Status:**\n```bash\ngh pr view --json reviews,comments,reviewDecision\n```\n\n**Inline Code Review Comments:**\n```bash\ngh api repos\u002F{owner}\u002F{repo}\u002Fpulls\u002F{pr_number}\u002Fcomments\n```\n\n**PR Conversation Comments (includes bot comments):**\n```bash\ngh api repos\u002F{owner}\u002F{repo}\u002Fissues\u002F{pr_number}\u002Fcomments\n```\n\nLook for bot comments from: Sentry, Codecov, Cursor, Bugbot, Seer, and other automated tools.\n\n### Step 4: Investigate Failures\n\nFor each CI failure, get the actual logs:\n\n```bash\n# List recent runs for this branch\ngh run list --branch $(git branch --show-current) --limit 5 --json databaseId,name,status,conclusion\n\n# View failed logs for a specific run\ngh run view \u003Crun-id> --log-failed\n```\n\nDo NOT assume what failed based on the check name alone. Always read the actual logs.\n\n### Step 5: Validate Feedback\n\nFor each piece of feedback (CI failure or review comment):\n\n1. **Read the relevant code** - Understand the context before making changes\n2. **Verify the issue is real** - Not all feedback is correct; reviewers and bots can be wrong\n3. **Check if already addressed** - The issue may have been fixed in a subsequent commit\n4. **Skip invalid feedback** - If the concern is not legitimate, move on\n\n### Step 6: Address Valid Issues\n\nMake minimal, targeted code changes. Only fix what is actually broken.\n\n### Step 7: Commit and Push\n\n```bash\ngit add -A\ngit commit -m \"fix: \u003Cdescriptive message of what was fixed>\"\ngit push origin $(git branch --show-current)\n```\n\n### Step 8: Wait for CI\n\nUse the built-in watch functionality:\n\n```bash\ngh pr checks --watch --interval 30\n```\n\nThis waits until all checks complete. Exit code 0 means all passed, exit code 1 means failures.\n\nAlternatively, poll manually if you need more control:\n\n```bash\ngh pr checks --json name,state,bucket | jq '.[] | select(.bucket != \"pass\")'\n```\n\n### Step 9: Repeat\n\nReturn to Step 2 if:\n- Any CI checks failed\n- New review feedback appeared\n\nContinue until all checks pass and no unaddressed feedback remains.\n\n## Exit Conditions\n\n**Success:**\n- All CI checks are green (`bucket: pass`)\n- No unaddressed human review feedback\n\n**Ask for Help:**\n- Same failure persists after 3 attempts (likely a flaky test or deeper issue)\n- Review feedback requires clarification or decision from the user\n- CI failure is unrelated to branch changes (infrastructure issue)\n\n**Stop Immediately:**\n- No PR exists for the current branch\n- Branch is out of sync and needs rebase (inform user)\n\n## Tips\n\n- Use `gh pr checks --required` to focus only on required checks\n- Use `gh run view \u003Crun-id> --verbose` to see all job steps, not just failures\n- If a check is from an external service, the `link` field in checks JSON provides the URL to investigate\n",{"name":41,"risk":42,"source":43,"description":44},"iterate-pr","safe","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskills\u002Ftree\u002Fmain\u002Fplugins\u002Fsentry-skills\u002Fskills\u002Fiterate-pr","Iterate on a PR until CI passes. Use when you need to fix CI failures, address review feedback, or continuously push fixes until all checks are green. Automates the feedback-fix-push-wait cycle.","main","fbf4d3f6fb9300cbe74e1bea7d4e177911f3499b",".claude\u002Fskills\u002Fecc\u002Finvestor-materials","https:\u002F\u002Fgithub.com\u002Fsakamoto-family-smile\u002Fagent_monorepo","https:\u002F\u002Fgithub.com\u002Fsakamoto-family-smile","2026-11-08 20:29:14",{"source":8,"skillName":41,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add sakamoto-family-smile\u002Fagent_monorepo --skill iterate-pr",{"tool":57,"command":58},"bunx","bunx skills add sakamoto-family-smile\u002Fagent_monorepo --skill iterate-pr",{"tool":60,"command":61},"pnpm","pnpm dlx skills add sakamoto-family-smile\u002Fagent_monorepo --skill iterate-pr","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsakamoto-family-smile\u002Fagent_monorepo\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fecc\u002Finvestor-materials\u002FSKILL.md",true,[],[66,101,109,129,152,179],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":70,"categories":71,"keywords":80,"publishedAt":36},"01M6RW50THEFSKK42YNR8XFZA1","remotion-video-creation","Best practices for Remotion - Video creation in React. 29 domain-specific rules covering 3D, animations, audio, captions, charts, transitions, and more.","https:\u002F\u002Fgithub.com\u002Fsakamoto-family-smile\u002Fagent_monorepo\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fecc\u002Fremotion-video-creation\u002FSKILL.md",[72,77],{"categoryNo":73,"categoryName":74,"taxonomyType":75,"taxonomyTypeDesc":76},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",{"categoryNo":78,"categoryName":79,"taxonomyType":75,"taxonomyTypeDesc":76},"01JBSEEDCAT000000000000016","图像与多媒体",[81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100],"Video","remotion video","remotion video creation","creation","Remotion","Charts","Captions","Audio","3D","Composition","Animation","best practices","more","animations","domain-specific","domain","three","Rules","Lottie","for",{"skillNo":102,"name":103,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":36},"01M6VCJ23NPECPSZJKGY691F75","hotcook-recipes","https:\u002F\u002Fgithub.com\u002Fsakamoto-family-smile\u002Fagent_monorepo\u002Fblob\u002Fmain\u002Fhotcook-agent\u002Fdata\u002Fskills\u002Fhotcook-recipes\u002FSKILL.md",[],[107,108],"hotcook recipes","recipes",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":123,"publishedAt":36},"01M6VCHHE00X5XHSDRD1KH1BW2","code-helper","Code review and assistance skill","https:\u002F\u002Fgithub.com\u002Fsakamoto-family-smile\u002Fagent_monorepo\u002Fblob\u002Fmain\u002Fagent-system-2\u002Fskills\u002Fcode-helper\u002Fskill.md",[115,118],{"categoryNo":116,"categoryName":117,"taxonomyType":75,"taxonomyTypeDesc":76},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":119,"categoryName":120,"taxonomyType":121,"taxonomyTypeDesc":122},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[124,125,126,127,128],"code helper","helper","code","code review","review",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":141,"publishedAt":36},"01M6VCH3Q31A20H6SQ1H0J7JB2","research-assistant","Web research assistant skill using Brave Search MCP","https:\u002F\u002Fgithub.com\u002Fsakamoto-family-smile\u002Fagent_monorepo\u002Fblob\u002Fmain\u002Fagent-system-1\u002Fskills\u002Fresearch-assistant\u002Fskill.md",[135,138],{"categoryNo":136,"categoryName":137,"taxonomyType":75,"taxonomyTypeDesc":76},"01JBSEEDCAT000000000000021","资料检索与研究",{"categoryNo":139,"categoryName":140,"taxonomyType":75,"taxonomyTypeDesc":76},"01JBSEEDCAT000000000000023","Skill与智能体开发",[142,143,144,145,146,147,148,149,150,151],"research assistant","research","assistant","MCP","web","search","brave search","web research","brave","web research assistant",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":162,"publishedAt":36},"01M6VCGZZGPNVJSCZ1JTMNZAHY","x-api","X\u002FTwitter API integration for posting tweets, threads, reading timelines, search, and analytics. Covers OAuth auth patterns, rate limits, and platform-native content posting. Use when the user wants to interact with X programmatically.","https:\u002F\u002Fgithub.com\u002Fsakamoto-family-smile\u002Fagent_monorepo\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fecc\u002Fx-api\u002FSKILL.md",[158,161],{"categoryNo":159,"categoryName":160,"taxonomyType":75,"taxonomyTypeDesc":76},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":119,"categoryName":120,"taxonomyType":121,"taxonomyTypeDesc":122},[163,164,165,21,166,167,100,168,169,170,171,172,173,174,175,30,176,177,147,178],"x api","api","with","limits","rate","threads","reading","native","posting","platform","patterns","api integration","twitter","auth","analytics","OAuth",{"skillNo":180,"name":181,"nameZh":6,"description":182,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":186,"publishedAt":36},"01M6VCGVX6DGB1FKTA53QBBCQB","workspace-surface-audit","Audit the active repo, MCP servers, plugins, connectors, env surfaces, and harness setup, then recommend the highest-value ECC-native skills, hooks, agents, and operator workflows. Use when the user wants help setting up Claude Code or understanding what capabilities are actually available in their environment.","https:\u002F\u002Fgithub.com\u002Fsakamoto-family-smile\u002Fagent_monorepo\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fecc\u002Fworkspace-surface-audit\u002FSKILL.md",[185],{"categoryNo":139,"categoryName":140,"taxonomyType":75,"taxonomyTypeDesc":76},[187,188,189,190,145,191,192,126,193,194,195,196,30,197,198,199,200,170,201,21],"workspace surface audit","workspace","audit","hooks","workflows","connectors","capabilities","harness","repo","environment","up","harness setup","active","env","value"]