polish-claw-project
关于
This skill provides a structured 9-step workflow for contributing to OpenClaw ecosystem projects (OpenClaw, NemoClaw, NanoClaw). It focuses on high-impact contributions through parallel code auditing, cross-referencing findings with existing issues, and preventing false positives. Use it when you want to systematically audit and submit pull requests to these NVIDIA-related repositories while adhering to project conventions.
快速安装
Claude Code
推荐npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/polish-claw-project在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
Polish Claw Project
OpenClaw エコシステムプロジェクトへの貢献用の構造化されたワークフロー。新規価値はステップ5-7 にある: 並列監査、偽陽性防止、開いた issue と所見をクロス参照して高インパクトの貢献を選ぶ。機械的ステップ(フォーク、PR 作成)は既存スキルに委譲。
使用タイミング
- NVIDIA/OpenClaw、NVIDIA/NemoClaw、NVIDIA/NanoClaw、または同様の Claw エコシステムリポジトリへの貢献
- セキュリティに敏感なアーキテクチャを持つ馴染みのないオープンソースプロジェクトへの初貢献
- 場当たり的修正ではなく繰り返し可能で監査可能な貢献ワークフローが欲しいとき
- 外部貢献を受け入れる Claw プロジェクトを特定した後(CONTRIBUTING.md を確認)
入力
- 必須:
repo_url— ターゲット Claw プロジェクトの GitHub URL(例:https://github.com/NVIDIA/NemoClaw) - 任意:
contribution_count— 目指す貢献数(既定: 1-3)focus— 望む貢献タイプ:security、tests、docs、bugs、any(既定:any)fork_org— フォーク先の GitHub org/user(既定: 認証ユーザー)
手順
ステップ1: ターゲットを特定し検証する
プロジェクトが外部貢献を受け入れ、活発に維持されていることを確認する。
- リポジトリ URL を開き
CONTRIBUTING.md、CODE_OF_CONDUCT.md、LICENSEを読む - 最近のコミット活動(過去 30 日)と open PR マージ率を確認
- プロジェクトが寛容または貢献に親和的なライセンスを使うか検証
- 存在すれば
SECURITY.mdまたはセキュリティポリシーを読む — 責任ある開示ルールを記す - 主言語、テストフレームワーク、CI システムを特定
期待結果: CONTRIBUTING.md が存在、過去 30 日以内のコミット、明確な貢献ガイドライン。
失敗時: CONTRIBUTING.md がないまたは最近活動がないなら、理由を文書化して停止 — 古いプロジェクトは外部 PR を稀にしかマージしない。
ステップ2: フォークしクローンする
リポジトリの作業コピーを作成する。
- フォーク:
gh repo fork <repo_url> --clone - upstream リモートを設定:
git remote add upstream <repo_url> - 検証:
git remote -vがorigin(フォーク)とupstreamの両方を示す - 同期:
git fetch upstream && git checkout main && git merge upstream/main
期待結果: 両リモートが設定され最新のローカルクローン。
失敗時: フォークが失敗したら GitHub 認証を確認(gh auth status)。クローンが遅いなら、初期探索には --depth=1 を試す。
ステップ3: コードベースを探索する
プロジェクトアーキテクチャのメンタルモデルを構築する。
- アーキテクチャ概要とプロジェクト目標について
README.mdを読む - エントリポイント、コアモジュール、公開 API 面を特定
- テスト構造をマップ: テストがどこに住むか、どのフレームワーク、カバレッジレベル
- コードスタイル慣習を記す: linter 設定、命名パターン、import スタイル
- Docker/コンテナセットアップ、CI 設定、デプロイパターンを確認
期待結果: プロジェクト構造、慣習、貢献がどこに合うかの明確な理解。
失敗時: アーキテクチャが不明確なら、プロジェクト全体ではなく特定サブシステムに焦点を絞る。
ステップ4: 開いた issue を読む
プロジェクトのニーズを理解し重複作業を避けるため既存 issue を調査する。
- 開いた issue を列挙:
gh issue list --state open --limit 50 - タイプ別に分類: バグ、機能、ドキュメント、セキュリティ、good-first-issue
help wanted、good first issue、hacktoberfestラベルの issue を記す- 古い issue(>90 日開、最近コメントなし)を確認 — 放棄かもしれない
- 試みられた解決を理解するためリンクされた PR を読む
期待結果: タイプラベル付きの未請求 issue の分類リスト。
失敗時: 開いた issue がなければ、ステップ5 に進む — 監査がリストされていない改善を発掘するかもしれない。
ステップ5: 並列監査
並列にセキュリティとコード品質監査を実行する。新規所見が現れる場所。
- プロジェクトルートに対して
security-audit-codebaseスキルを実行 - 同時にスコープ
qualityでreview-codebaseスキルを実行 - 重要: プロジェクトの脅威モデルとアーキテクチャに対して各所見を検証する
- サンドボックスブートストラップスクリプトの「ハードコードされたシークレット」は脆弱性ではない
- 内部のみの関数の入力検証欠落は低重大度
- 脆弱としてフラグされた依存はプロジェクトのアーキテクチャで既に緩和されているかもしれない
- 検証された所見を評価: CRITICAL、HIGH、MEDIUM、LOW
- 偽陽性を理由付きで文書化 — 将来の実行のための Common Pitfalls に情報を与える
期待結果: 重大度評価と偽陽性注釈付きの検証された所見リスト。
失敗時: 所見が現れなければ、テストカバレッジギャップ、ドキュメント改善、または開発者体験向上に焦点をシフトする。
ステップ6: 所見をクロス参照する
検証された監査所見を開いた issue にマップ — コア判断ステップ。
- 各検証所見について、関連議論のため開いた issue を検索
- 各所見を分類:
- 開いた issue に一致 — 所見を issue にリンク
- 新所見 — 既存 issue がこれをカバーしない
- PR で既に修正済み — 進行中修正のため open PR を確認
- 既存 issue に一致する所見を優先(最高マージ確率)
- 新所見について、プロジェクト優先順位に基づいてメンテナーが修正を歓迎するかを評価
期待結果: 所見-to-issue マッピングとマージ確率評価付きの優先順位リスト。
失敗時: すべての所見が既に対処済みなら、ステップ4 に戻りドキュメント、テスト、または開発者体験貢献を探す。
ステップ7: 貢献を選ぶ
インパクト、努力、専門性に基づいて 1-3 貢献を選ぶ。
- 各候補を採点:
- インパクト: これがプロジェクトをどれだけ改善するか?(セキュリティ > バグ > テスト > ドキュメント)
- 努力: これは焦点的セッションでうまくできるか?(小さく完全な PR を選好)
- 専門性: 貢献者はこの修正のドメイン知識を持つか?
- マージ確率: これは述べられたプロジェクト優先順位に一致するか?
- トップ候補を選ぶ(既定: 1-3)
- 各々について定義: ブランチ名、スコープ境界、受け入れ基準、テスト計画
期待結果: 明確なスコープと受け入れ基準を持つ 1-3 の選ばれた貢献。
失敗時: どの貢献も良く採点されなければ、PR の代わりによく書かれた issue を出すことを検討する。
ステップ8: 実装する
貢献ごとにブランチを作成し修正を実装する。
- 各貢献について:
git checkout -b fix/<description> - プロジェクト慣習に正確に従う(linter、命名、import スタイル)
- 変更をカバーするテストを追加または更新
- プロジェクトのテストスイートを実行: すべてのテストがパスすることを検証
- プロジェクトの linter を実行: 新しい警告がないことを検証
- 各 PR を焦点的に保つ — ブランチごとに 1 つの論理変更
期待結果: パスするテストと linter 警告なしのクリーンな実装。
失敗時: 既存問題でテストが失敗するなら、それを文書化し PR が新しい失敗を導入しないことを保証する。
ステップ9: プルリクエストを作成する
プロジェクトの CONTRIBUTING.md に従って貢献を提出する。
- ブランチをプッシュ:
git push origin fix/<description> create-pull-requestスキルを使って PR を作成- PR 本文で関連 issue を参照(例: 「Fixes #123」)
- 存在すればプロジェクトの PR テンプレートに従う
- レビュアーフィードバックに応答的 — 素早く反復
期待結果: プロジェクト慣習に従い issue にリンクされて PR が作成される。
失敗時: PR 作成が失敗したら、ブランチ保護ルールと貢献者ライセンス契約を確認する。
バリデーション
- すべての選ばれた貢献が実装され PR として提出された
- 各 PR が関連 issue(あれば)を参照する
- 各 PR ブランチですべてのプロジェクトテストがパスする
- 偽陽性所見が実問題として提出されていない
- PR 説明がプロジェクトの CONTRIBUTING.md テンプレートに従う
よくある落とし穴
- 偽陽性過剰主張: Claw プロジェクトはサンドボックスアーキテクチャを使う — サンドボックス環境内の「脆弱性」は設計通りかもしれない。報告前に常にプロジェクトの脅威モデルに対して検証する。
- ダイジェスト/署名チェーン破壊: Claw プロジェクトはモデル整合性のため検証チェーンをしばしば使う。変更はこれらのチェーンを保たねばならず、さもなくば PR は拒否される。
- 慣習不一致: Claw プロジェクトは厳格なスタイルを強制する。汎用ではなくプロジェクト独自の linter を実行する。import 順序、docstring 形式、テストパターンを正確に一致させる。
- スコープクリープ: 焦点的 3 PR は一つの広範な PR より速くマージする。各貢献を atomic に保つ。
- 古いフォーク: 作業を始める前に常に upstream と同期(
git fetch upstream && git merge upstream/main)。
関連スキル
- security-audit-codebase — セキュリティ所見のためステップ5 で使用
- review-codebase — コード品質レビューのためステップ5 で使用
- create-pull-request — PR 作成のためステップ9 で使用
- create-github-issues — PR として対処されない所見からの issue 出願
- manage-git-branches — 実装中のブランチ管理
- commit-changes — コミットワークフロー
GitHub 仓库
相关推荐技能
content-collections
元Content Collections 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。
polymarket
元这个Claude Skill为开发者提供完整的Polymarket预测市场开发支持,涵盖API调用、交易执行和市场数据分析。关键特性包括实时WebSocket数据流,可监控实时交易、订单和市场动态。开发者可用它构建预测市场应用、实施交易策略并集成实时市场预测功能。
creating-opencode-plugins
元该Skill帮助开发者创建OpenCode插件,用于接入命令、文件、LSP等25+种事件。它提供了插件结构、事件API规范和JavaScript/TypeScript实现模式,适合需要拦截操作、扩展功能或自定义事件处理的场景。开发者可通过它快速构建响应式模块来增强OpenCode AI助手的能力。
sglang
元SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。
