polish-claw-project
À propos
Cette compétence propose un processus structuré en 9 étapes pour contribuer par des revues de code axées sur la sécurité et des correctifs aux dépôts de l'écosystème OpenClaw. Elle met l'accent sur l'audit parallèle, la prévention des faux positifs et le recoupement des découvertes avec les problèmes existants afin d'identifier les modifications à fort impact. Utilisez-la lorsque vous souhaitez auditer de manière systématique et soumettre des demandes de pull à des projets tels que NVIDIA/OpenClaw ou NVIDIA/NemoClaw.
Installation rapide
Claude Code
Recommandé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-projectCopiez et collez cette commande dans Claude Code pour installer cette compétence
Documentation
Polish Claw Project
Structured workflow for OpenClaw ecosystem contributions. Novel value: Steps 5-7 — parallel audit, false positive prevention, cross-ref findings vs open issues → high-impact picks. Mechanical steps (fork, PR) → existing skills.
Use When
- Contribute to NVIDIA/OpenClaw, NVIDIA/NemoClaw, NVIDIA/NanoClaw, similar Claw repos
- First-time contributions to unfamiliar OSS w/ security-sensitive arch
- Want repeatable auditable workflow vs ad-hoc fixes
- Found Claw project accepting external contributions (check CONTRIBUTING.md)
In
- Required:
repo_url— GitHub URL of target Claw project (e.g.,https://github.com/NVIDIA/NemoClaw) - Optional:
contribution_count— n contributions (default: 1-3)focus—security,tests,docs,bugs,any(default:any)fork_org— fork target org/user (default: authenticated user)
Do
Step 1: Identify + Verify Target
Confirm project accepts external + actively maintained.
- Read
CONTRIBUTING.md,CODE_OF_CONDUCT.md,LICENSE - Check recent commit activity (last 30 days) + open PR merge rate
- Verify permissive or contribution-friendly license
- Read
SECURITY.mdif present → note disclosure rules - Identify primary language, test framework, CI
→ CONTRIBUTING.md exists, commits w/in 30 days, clear contribution guidelines.
If err: no CONTRIBUTING.md or no recent activity → doc why + stop. Stale projects rarely merge external PRs.
Step 2: Fork + Clone
Working copy of repo.
- Fork:
gh repo fork <repo_url> --clone - Upstream remote:
git remote add upstream <repo_url> - Verify:
git remote -vshowsorigin(fork) +upstream - Sync:
git fetch upstream && git checkout main && git merge upstream/main
→ Local clone w/ both remotes configured + up to date.
If err: fork fails → check gh auth status. Slow clone → --depth=1 for initial explore.
Step 3: Explore Codebase
Build mental model of arch.
- Read
README.mdfor arch overview + goals - ID entry points, core modules, public API surface
- Map test structure: where tests, framework, coverage
- Note style conventions: linter config, naming, import style
- Check Docker/container, CI config, deployment patterns
→ Clear understanding of structure, conventions, where contributions fit.
If err: arch unclear → focus on subsystem not whole project.
Step 4: Read Open Issues
Survey issues → understand needs + avoid duplicate work.
- List:
gh issue list --state open --limit 50 - Categorize: bugs, features, docs, security, good-first-issue
- Note
help wanted,good first issue,hacktoberfestlabels - Stale issues (>90 days, no recent comments) → may be abandoned
- Read linked PRs → understand attempted solutions
→ Categorized unclaimed issues w/ type labels.
If err: no open issues → Step 5, audit may uncover unlisted improvements.
Step 5: Parallel Audit
Run security + quality audits in parallel. Where novel findings emerge.
- Run
security-audit-codebaseagainst project root - Simultaneously run
review-codebasew/ scopequality - Critical: verify each finding vs project's threat model + arch
- "Hardcoded secret" in sandbox bootstrap = not vuln
- Missing input validation on internal-only fn = low severity
- Dep flagged vulnerable may already be mitigated by arch
- Rate verified: CRITICAL, HIGH, MEDIUM, LOW
- Doc false positives w/ reasoning → informs Pitfalls for future runs
→ Verified findings list w/ severity + false positive annotations.
If err: no findings → shift to test coverage gaps, docs, dev experience.
Step 6: Cross-Reference Findings
Map verified findings → open issues. Core judgment step.
- Per finding, search open issues for related discussions
- Categorize:
- Matches open issue — link finding to issue
- New finding — no existing issue
- Already fixed in PR — check open PRs for in-progress fixes
- Prioritize matching issues (highest merge prob)
- New findings → assess if maintainers welcome based on priorities
→ Prioritized list w/ finding-to-issue map + merge prob assessment.
If err: all findings already addressed → return Step 4, look for docs, tests, dev experience.
Step 7: Select Contributions
Pick 1-3 by impact, effort, expertise.
- Score each:
- Impact: Improvement? (security > bugs > tests > docs)
- Effort: Done well in focused session? (prefer small complete PRs)
- Expertise: Domain knowledge?
- Merge prob: Matches stated priorities?
- Pick top (default 1-3)
- Per: branch name, scope boundary, acceptance criteria, test plan
→ 1-3 selected contributions w/ clear scope + acceptance criteria.
If err: nothing scores well → file well-written issues instead of PRs.
Step 8: Implement
Branch per contribution + implement fix.
- Per contribution:
git checkout -b fix/<description> - Follow conventions exactly (linter, naming, imports)
- Add/update tests covering change
- Run test suite → verify all pass
- Run linter → verify no new warnings
- Keep PR focused — one logical change per branch
→ Clean impl w/ passing tests + no linter warnings.
If err: tests fail on pre-existing issues → doc them, ensure PR doesn't introduce new failures.
Step 9: Create PRs
Submit per CONTRIBUTING.md.
- Push:
git push origin fix/<description> - PR via
create-pull-requestskill - Ref related issue in body ("Fixes #123")
- Follow PR template if exists
- Responsive to reviewer feedback → iterate quickly
→ PRs created, linked to issues, following conventions.
If err: PR create fails → check branch protection + CLA.
Check
- All selected contributions impl + submitted as PRs
- Each PR refs related issue (if exists)
- All project tests pass on each PR branch
- No false positives submitted as real issues
- PR descriptions follow CONTRIBUTING.md template
Traps
- False positive overclaim: Claw uses sandbox arch — "vuln" inside sandbox may be by design. Verify vs threat model before reporting.
- Digest/signature chain disruption: Claw uses verification chains for model integrity. Changes must preserve or PR rejected.
- Convention mismatch: Claw enforces strict style. Run project's own linter, not generic. Match imports, docstrings, test patterns exactly.
- Scope creep: 3 focused PRs merge faster than 1 sprawling. Keep atomic.
- Stale fork: Always sync upstream before work (
git fetch upstream && git merge upstream/main).
→
- security-audit-codebase — used in Step 5 for security findings
- review-codebase — used in Step 5 for quality review
- create-pull-request — used in Step 9 for PR create
- create-github-issues — file issues from findings not addressed as PRs
- manage-git-branches — branch mgmt during impl
- commit-changes — commit workflow
Dépôt GitHub
Compétences associées
content-collections
MétaCette compétence propose une configuration éprouvée en production pour Content Collections, un outil axé sur TypeScript qui transforme des fichiers Markdown/MDX en collections de données typées de manière sûre avec une validation Zod. Utilisez-la lors de la création de blogs, de sites de documentation ou d'applications Vite + React riches en contenu pour garantir la sécurité de typage et la validation automatique du contenu. Elle couvre tout, de la configuration du plugin Vite et de la compilation MDX à l'optimisation des déploiements et la validation des schémas.
polymarket
MétaCette compétence permet aux développeurs de créer des applications avec la plateforme de marchés prédictifs Polymarket, incluant l'intégration d'API pour le trading et les données de marché. Elle fournit également une diffusion de données en temps réel via WebSocket pour surveiller les transactions en direct et l'activité du marché. Utilisez-la pour mettre en œuvre des stratégies de trading ou pour créer des outils traitant les mises à jour de marché en direct.
creating-opencode-plugins
MétaCette compétence aide les développeurs à créer des plugins OpenCode qui s'interconnectent avec plus de 25 types d'événements tels que les commandes, les fichiers et les opérations LSP. Elle fournit la structure du plugin, les spécifications de l'API événementielle et les modèles d'implémentation pour les modules JavaScript/TypeScript. Utilisez-la lorsque vous avez besoin d'intercepter, de surveiller ou d'étendre le cycle de vie de l'assistant IA OpenCode avec une logique personnalisée pilotée par les événements.
sglang
MétaSGLang est un framework de service LLM haute performance spécialisé dans la génération rapide et structurée pour les workflows JSON, regex et agentiques grâce à son cache de préfixe RadixAttention. Il offre une inférence nettement plus rapide, particulièrement pour les tâches avec des préfixes répétés, ce qui le rend idéal pour les sorties complexes et structurées ainsi que les conversations multi-tours. Choisissez SGLang plutôt que des alternatives comme vLLM lorsque vous avez besoin d'un décodage contraint ou que vous construisez des applications avec un partage étendu de préfixes.
