oss-contribution-scout
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseOpen-Source Contribution Scout
开源贡献任务侦察
Purpose
目标
This skill finds the highest-value open-source contribution opportunities for one contributor.
The objective is not to maximize:
- pull request count,
- GitHub activity,
- contribution streaks,
- easy merges,
- famous repository names,
- or work that merely matches the contributor's current stack.
The objective is to convert engineering ability into:
- Strong technical evidence
- External validation
- Useful maintainer relationships
- A coherent open-source reputation
- Better employment or internship prospects
It is better to return 6 excellent opportunities than 15 padded ones.
The scout must distinguish between:
- a good individual issue,
- a good repository for repeated contribution,
- a good technical stretch contribution,
- and a good opportunistic contribution when the contributor personally encounters a bug.
These are not the same thing.
本技能为贡献者寻找最高价值的开源贡献机会。
我们的目标并非最大化以下内容:
- PR数量
- GitHub活跃度
- 连续贡献记录
- 易合并的PR
- 知名仓库名称
- 仅匹配贡献者当前技术栈的工作
我们的目标是将工程能力转化为:
- 有力的技术证明
- 外部认可
- 有用的维护者关系
- 连贯的开源声誉
- 更好的就业或实习前景
提供6个优质机会,远胜于凑数的15个普通机会。
侦察过程中必须区分以下几类机会:
- 优质的单个任务
- 适合持续贡献的仓库
- 优质的技术拓展类贡献
- 贡献者个人遇到bug时的机会性贡献
这些并非同一类事物。
Input
输入
The user gives two dynamic inputs.
用户需提供两个动态输入项。
Input 1 — Project Set
输入1:项目集合
A list of projects or repositories.
It may also be:
- a URL containing repositories,
- a machine-generated inventory,
- a previous OSS scouting report,
- or multiple sources.
Keep the source for each project.
项目或仓库列表。
也可以是以下形式:
- 包含仓库的URL
- 机器生成的清单
- 之前的OSS侦察报告
- 或多种来源的组合
需记录每个项目的来源。
Input 2 — Contributor Profile
输入2:贡献者档案
The contributor profile can contain:
- skills,
- languages,
- experience level,
- personal projects,
- previous OSS work,
- career goals,
- technologies actively used,
- technologies the contributor is willing to learn,
- current employment/internship goals,
- and relevant constraints.
Ask for the contributor profile only when it was not supplied.
Do not assume that unfamiliar technology means poor fit.
If the contributor has demonstrated the ability to enter unfamiliar codebases, treat unfamiliarity mainly as an onboarding cost, not as a reason to reject technically valuable work.
贡献者档案可包含:
- 技能
- 编程语言
- 经验水平
- 个人项目
- 过往OSS工作经历
- 职业目标
- 当前常用技术
- 愿意学习的技术
- 当前就业/实习目标
- 相关限制条件
仅当未提供贡献者档案时才需主动询问。
不要假设不熟悉的技术就意味着适配性差。
如果贡献者已证明能够快速融入陌生代码库,应将技术陌生度主要视为入门成本,而非拒绝高价值技术工作的理由。
Core Principles
核心原则
1. Optimize for conversion, not activity
1. 以职业价值转化为目标,而非追求活跃度
A contribution is valuable when it improves the contributor's external career position.
Do not optimize for:
- "getting the contribution graph moving,"
- collecting many tiny merges,
- contributor badges,
- arbitrary GitHub visibility,
- or having many repositories listed on a résumé.
One technically meaningful, well-reviewed contribution can be worth more than ten trivial merges.
当一项贡献能够提升贡献者的外部职业地位时,它才具备价值。
不要以以下内容为优化目标:
- "让贡献记录动起来"
- 收集大量微小的合并记录
- 贡献者徽章
- 无意义的GitHub曝光度
- 简历上列出大量仓库
一次具有技术意义、经过充分评审的贡献,价值可能远超十次琐碎的合并。
2. Distinguish career signal from difficulty
2. 区分职业信号与任务难度
A difficult issue is not automatically a valuable issue.
Ask:
If this contribution is merged and explained in an interview, what does it prove?
Strong evidence may include:
- tracing and fixing a semantic compiler bug,
- safely redesigning concurrent operations,
- fixing protocol translation,
- improving production performance,
- implementing platform or OS protocols,
- debugging state synchronization,
- correcting subtle runtime behavior,
- addressing networking or streaming problems,
- changing architecture with regression coverage.
A large diff is not automatically impressive.
A small diff can still be highly impressive when the reasoning is deep.
难度高的任务并不自动具备高价值。
请思考:
如果这项贡献被合并,并在面试中解释清楚,它能证明什么?
有力的证明可能包括:
- 追踪并修复语义编译器bug
- 安全地重构并发操作
- 修复协议转换问题
- 提升生产环境性能
- 实现平台或OS协议
- 调试状态同步问题
- 修正微妙的运行时行为
- 解决网络或流处理问题
- 在保证回归覆盖的前提下调整架构
代码改动量大并不一定令人印象深刻。
即使代码改动量小,若背后的推理逻辑足够深入,同样能给人留下深刻印象。
3. Do not confuse acceptance probability with value
3. 不要将合并概率与价值混为一谈
A 95% chance of merging a trivial change does not automatically beat a 65% chance of merging a substantive contribution.
Acceptance probability matters because work that is never reviewed produces little external validation.
But acceptance is a multiplier on useful work, not the goal itself.
合并一个琐碎改动的概率为95%,并不一定优于合并一项实质性贡献的65%概率。
合并概率很重要,因为从未得到评审的工作几乎无法带来外部认可。
但合并只是高价值工作的乘数,而非最终目标。
4. Separate maintainer accessibility from professional network value
4. 区分维护者可达性与职业网络价值
Do not combine these into one score.
不要将这两项合并为单一评分。
Maintainer Accessibility
维护者可达性
How likely is a good outside contributor to:
- receive review,
- get useful feedback,
- discuss implementation choices,
- become recognizable,
- and build contributor trust?
优秀的外部贡献者有多大可能:
- 获得评审
- 得到有用的反馈
- 讨论实现方案选择
- 获得认可
- 建立贡献者信任?
Professional Network Value
职业网络价值
If the contributor becomes known in this community, how professionally useful could those relationships become?
Consider:
- ecosystem relevance,
- maintainers' roles,
- companies involved,
- adjacent communities,
- potential referral/hiring value,
- whether repeat contributors actually enter the project's social orbit.
A famous maintainer who barely interacts with contributors does not automatically provide high network value.
A less-famous maintainer who gives deep reviews may have excellent accessibility.
如果贡献者在该社区获得认可,这些关系能带来多大的职业价值?
需考虑:
- 生态系统相关性
- 维护者的职位
- 涉及的公司
- 相邻社区
- 潜在的推荐/招聘价值
- 持续贡献者是否真的能融入项目的社交圈
知名维护者若几乎不与贡献者互动,并不一定能提供高网络价值。
知名度较低但能提供深度评审的维护者,反而可能具备极佳的可达性。
5. Reconcile written contribution policy with current behavior
5. 协调书面贡献政策与实际行为
This is a critical rule.
Do not treat the CONTRIBUTING file, README, or issue templates as the sole source of truth.
Do not treat recent merge history as the sole source of truth either.
You must reconcile both.
这是一条关键规则。
不要将CONTRIBUTING文件、README或任务模板视为唯一的判断依据。
不要仅以近期合并历史作为唯一判断依据。
必须同时兼顾两者。
When policy sounds restrictive but recent behavior is welcoming
当政策看似严格但实际行为友好时
If written policy says things such as:
- unsolicited PRs may be ignored,
- contributors should discuss changes first,
- large PRs are discouraged,
- or maintainers reserve the right to close outside work,
but recent evidence shows:
- frequent external merges,
- substantive first-time contributors,
- active maintainer review,
- and repeat outside contributors,
do not reject the repository.
Instead classify it according to both realities.
Examples:
High Competition / External PRs AcceptedDiscuss FirstOpportunisticSmall Focused PRs Preferred
Explain the discrepancy.
如果书面政策包含以下内容:
- 未经请求的PR可能被忽略
- 贡献者应先讨论变更
- 不鼓励大型PR
- 或维护者保留关闭外部工作的权利
但近期证据显示:
- 频繁合并外部贡献
- 接受实质性的首次贡献
- 维护者积极评审
- 存在持续的外部贡献者
不要拒绝该仓库。
应结合两种实际情况进行分类。
示例:
竞争激烈 / 接受外部PR需先讨论机会性贡献偏好小而聚焦的PR
需解释政策与行为的差异。
When policy explicitly forbids unsolicited PRs
当政策明确禁止未经请求的PR时
If current policy explicitly says that outside code PRs are:
- invitation-only,
- normally closed without review,
- or not accepted unless maintainers request implementation,
then do not classify the repository as a normal actionable contribution target merely because external contributors occasionally appear in history.
Classify it as:
Invitation-OnlyIssue Analysis / Diagnosis First- or
Opportunistic by Invitation
Only recommend code contribution when there is evidence that an invitation is realistically obtainable for the specific issue.
如果当前政策明确指出:
- 仅接受受邀提交的外部代码PR
- 通常会关闭未经请求的PR且不予评审
- 或仅在维护者要求实现时才接受
那么即使历史上偶尔出现外部贡献者,也不要将该仓库归类为常规的可行动贡献目标。
应归类为:
仅接受受邀贡献先进行任务分析/诊断- 或
仅接受受邀的机会性贡献
仅当有证据表明特定任务确实有可能获得邀请时,才推荐代码贡献。
When policy and behavior conflict
当政策与行为冲突时
Prefer current behavior for estimating:
- contributor friendliness,
- review likelihood,
- and actual repository openness.
But preserve explicit policy constraints when they directly control whether unsolicited code is allowed.
Always state the conflict.
Never silently choose one side.
评估以下内容时优先参考实际行为:
- 贡献者友好度
- 评审可能性
- 仓库的实际开放程度
但当政策直接限制是否允许未经请求的代码时,需保留明确的政策约束。
必须明确说明冲突点,切勿单方面选择其中一方而不做说明。
6. Distinguish proactive hunting from opportunistic contribution
6. 区分主动寻找与机会性贡献
Some repositories are poor places to browse random issues but excellent places to contribute when the contributor personally encounters a bug.
Classify every repository as one of:
- Repeat-Contributor Target
- Proactive Target
- Stretch Target
- Opportunistic Only
- Invitation-Only / Diagnosis First
- Skip
Examples of :
Opportunistic Only- extremely crowded project,
- good issues get claimed quickly,
- contributor has unusually strong product intuition,
- worthwhile fixes appear organically during use,
- proactive issue hunting has poor expected value.
Do not reject such repositories outright.
有些仓库并不适合随机浏览任务,但当贡献者个人遇到bug时,却是极佳的贡献场所。
需将每个仓库归类为以下类型之一:
- 持续贡献目标
- 主动寻找目标
- 技术拓展目标
- 仅机会性贡献
- 仅受邀 / 先诊断
- 跳过
仅机会性贡献- 项目极其拥挤
- 优质任务被迅速认领
- 贡献者具备极强的产品直觉
- 在使用过程中自然发现值得修复的问题
- 主动寻找任务的预期价值极低
不要直接拒绝此类仓库。
7. Reward coherent contribution trajectories
7. 奖励连贯的贡献轨迹
Repeated substantive work in one ecosystem can be more valuable than unrelated work scattered across many repositories.
Look for trajectories such as:
bounded entry issue → substantive follow-up → recognized contributor
or:
ecosystem tool → adjacent package → deeper core contribution
or:
familiar project → reviewed contribution → architectural issue
The scout should explicitly identify these opportunities.
在同一生态系统中持续进行实质性工作,价值可能远超分散在多个仓库的无关工作。
寻找以下类型的轨迹:
入门级任务 → 实质性后续贡献 → 获得认可的贡献者
或:
生态系统工具 → 相邻包 → 深入核心贡献
或:
熟悉的项目 → 经过评审的贡献 → 架构级任务
侦察过程中应明确识别此类机会。
8. Do not overfit personalization
8. 不要过度个性化适配
Personalization is useful only when it changes expected execution quality.
Do not manufacture personal relevance.
Ask:
Does this contributor's prior experience materially improve their ability to reproduce, understand, implement, or explain this issue?
Examples of legitimate personal advantage:
- actively uses the affected feature,
- has experienced the bug,
- has built a similar subsystem,
- already understands the protocol,
- knows adjacent tooling,
- knows the language/runtime/environment.
Weak connections such as "the contributor uses Linux and this is a Linux app" should not receive large score boosts by themselves.
只有当个性化能够改变预期执行质量时,才具备价值。
不要刻意制造个人相关性。
请思考:
贡献者的过往经验是否能切实提升他们重现、理解、实现或解释该任务的能力?
合理的个人优势示例:
- 经常使用受影响的功能
- 遇到过该bug
- 构建过类似的子系统
- 已理解相关协议
- 熟悉相邻工具
- 熟悉该语言/运行时/环境
类似“贡献者使用Linux,而这是一个Linux应用”的弱关联,不应单独获得大幅评分提升。
Step 1 — Collect the Projects
步骤1:收集项目
Build a canonical list of candidate repositories from Input 1.
Record:
- repository URL,
- source,
- whether the contributor actively uses it,
- whether the contributor has the source locally,
- main languages,
- project category.
Deduplicate:
- forks,
- mirrors,
- renamed repositories,
- duplicated inventory entries.
根据输入1构建候选仓库的标准列表。
记录:
- 仓库URL
- 来源
- 贡献者是否经常使用该仓库
- 贡献者是否本地拥有源代码
- 主要编程语言
- 项目类别
去重:
- 分支仓库
- 镜像仓库
- 重命名的仓库
- 重复的清单条目
Step 2 — Cluster and Triage
步骤2:聚类与筛选
Do not deeply inspect every repository.
Create clusters such as:
- AI developer tooling
- editors
- terminals and shells
- compilers and language tooling
- browser tooling
- infrastructure and networking
- CLI utilities
- Python tooling
- Rust systems software
- web frameworks
- desktop Linux
- media tooling
- other relevant groups
Use the contributor profile to prioritize.
For each repository estimate:
- Domain Fit
- Onboarding Cost
- Potential Career Value
Do not reject a project merely because:
- the language is unfamiliar,
- the codebase is large,
- or the project is a monorepo.
Reject only when the opportunity cost is clearly poor.
无需深入检查每个仓库。
创建聚类,例如:
- AI开发者工具
- 编辑器
- 终端与Shell
- 编译器与语言工具
- 浏览器工具
- 基础设施与网络
- CLI工具
- Python工具
- Rust系统软件
- Web框架
- 桌面Linux
- 媒体工具
- 其他相关组别
结合贡献者档案进行优先级排序。
为每个仓库估算:
- 领域适配度
- 入门成本
- 潜在职业价值
不要仅因以下原因拒绝项目:
- 语言不熟悉
- 代码库庞大
- 项目是单体仓库
仅当机会成本明显过高时才拒绝。
Step 3 — Investigate Clusters with Subagents
步骤3:使用子代理调查聚类
Use one subagent per non-overlapping cluster.
Each subagent performs Steps 4 through 9 for its cluster.
Run them concurrently when supported.
Each subagent must return:
- repository-level findings,
- issue-level findings,
- rejected repositories,
- unresolved uncertainties,
- evidence URLs,
- and confidence.
Do not make one agent scan a huge heterogeneous repository set when clustering is possible.
为每个不重叠的聚类分配一个子代理。
每个子代理为其负责的聚类执行步骤4至步骤9。
支持并发执行。
每个子代理必须返回:
- 仓库级发现
- 任务级发现
- 被拒绝的仓库
- 未解决的不确定性
- 证据URL
- 置信度
当可以聚类时,不要让单个代理扫描大量异构仓库集合。
Step 4 — Evaluate Repository Reality
步骤4:评估仓库实际情况
Use current GitHub data.
Prefer:
gh repo viewgh pr listgh issue listgh api
Use sparingly.
gh searchFocus primarily on the last 30–90 days.
Older evidence may be used when current samples are thin, but label it as historical.
使用当前GitHub数据。
优先使用:
gh repo viewgh pr listgh issue listgh api
谨慎使用。
gh search主要关注最近的30–90天。
当当前样本不足时可使用较旧的证据,但需标记为历史数据。
4A. Read contribution policy
4A. 阅读贡献政策
Read:
- CONTRIBUTING
- README contribution sections
- issue templates
- PR templates
- relevant discussions
- recent maintainer comments
Extract:
- whether outside PRs are accepted,
- whether issue discussion is expected first,
- whether large PRs are discouraged,
- whether new contributors face special rules,
- whether invitation is required.
Do not stop here.
阅读以下内容:
- CONTRIBUTING文件
- README中的贡献部分
- 任务模板
- PR模板
- 相关讨论
- 近期维护者评论
提取:
- 是否接受外部PR
- 是否需要先讨论任务
- 是否不鼓励大型PR
- 新贡献者是否面临特殊规则
- 是否需要邀请
不要仅停留在这一步。
4B. Inspect actual recent behavior
4B. 检查近期实际行为
Read approximately 40–100 recent merged PRs where possible.
Determine:
- internal/core-team share,
- bot share,
- external contributor share,
- apparent first-time contributor share,
- substantive external merge share,
- typical review latency,
- typical merge latency,
- quality of maintainer interaction.
Do not count dependency bots as evidence of contributor friendliness.
Do not count typo-only merges as evidence that substantive external contributions are welcome.
尽可能查看约40–100个近期合并的PR。
确定:
- 内部/核心团队贡献占比
- 机器人贡献占比
- 外部贡献者占比
- 首次贡献者占比
- 实质性外部合并占比
- 典型评审延迟
- 典型合并延迟
- 维护者互动质量
不要将依赖机器人视为贡献者友好度的证据。
不要将仅修复拼写错误的合并视为接受实质性外部贡献的证据。
4C. Reconcile policy and behavior
4C. 协调政策与行为
Produce a short explicit note:
Written policy:
Observed behavior:
Conclusion:
Examples:
Written policy warns that unsolicited PRs may be ignored, but 18 substantive external PRs were merged in the last 45 days. Treat as contributor-friendly but high-competition; discuss larger changes first.
or:
Recent history includes outside contributors, but current policy explicitly says unsolicited code PRs are closed unless invited. Treat as invitation-only; recommend diagnosis/design contribution first.
This field is mandatory.
生成简短的明确说明:
书面政策:
观察到的行为:
结论:
示例:
书面政策警告未经请求的PR可能被忽略,但过去45天内有18个实质性外部PR被合并。归类为贡献者友好但竞争激烈;较大变更需先讨论。
或:
近期历史中有外部贡献者,但当前政策明确指出未经请求的代码PR会被关闭,除非获得邀请。归类为仅接受受邀贡献;建议先进行诊断/设计贡献。
此字段为必填项。
4D. Repository scores
4D. 仓库评分
Assign:
分配以下评分:
External Contribution Health
外部贡献健康度
- Excellent
- Good
- Mixed
- Poor
- Effectively Closed
- 优秀
- 良好
- 一般
- 较差
- 实际关闭
Maintainer Accessibility
维护者可达性
0–10
0–10分
Professional Network Value
职业网络价值
0–10
0–10分
Technical Reputation Potential
技术声誉潜力
0–10
0–10分
Competition
竞争程度
0–10
0–10分
Onboarding Cost
入门成本
0–10
0–10分
Recommended Role
推荐角色
One of:
- Repeat-Contributor Target
- Proactive Target
- Stretch Target
- Opportunistic Only
- Invitation-Only / Diagnosis First
- Skip
以下类型之一:
- 持续贡献目标
- 主动寻找目标
- 技术拓展目标
- 仅机会性贡献
- 仅受邀 / 先诊断
- 跳过
Step 5 — Reject or Downgrade Poor Targets
步骤5:拒绝或降级劣质目标
Reject or heavily downgrade when evidence shows:
- unsolicited outside PRs are normally closed;
- substantive external work is rarely merged;
- almost all merges are bots or core team;
- outside PRs sit untouched for long periods;
- required infrastructure is inaccessible;
- issues are routinely claimed immediately;
- maintainers are not triaging the tracker;
- project is effectively abandoned.
Do not reject merely for:
- high PR count,
- large codebase,
- difficult technology,
- unfamiliar language,
- restrictive wording that current behavior contradicts.
These belong in Competition, Onboarding Cost, or Policy/Behavior reconciliation.
当有证据显示以下情况时,拒绝或大幅降级:
- 未经请求的外部PR通常被关闭;
- 实质性外部工作很少被合并;
- 几乎所有合并均来自机器人或核心团队;
- 外部PR长期无人处理;
- 所需基础设施无法访问;
- 任务通常被立即认领;
- 维护者未处理任务追踪器;
- 项目已实际废弃。
不要仅因以下原因拒绝:
- PR数量多
- 代码库庞大
- 技术难度高
- 语言不熟悉
- 当前行为与之矛盾的限制性措辞
这些因素应归入竞争程度、入门成本或政策/行为协调部分。
Step 6 — Find Candidate Issues
步骤6:寻找候选任务
Search surviving repositories for:
- correctness bugs,
- regressions,
- performance problems,
- concurrency issues,
- state synchronization bugs,
- protocol incompatibilities,
- provider translation bugs,
- networking issues,
- parser/compiler bugs,
- platform-specific failures,
- integration bugs,
- architecture problems,
- maintainer-requested missing behavior,
- reproducible issues with no implementation,
- recently active maintainer-backed issues,
- older still-relevant actionable issues.
Do not restrict discovery to:
good first issuehelp wanted
在留存的仓库中搜索以下类型任务:
- 正确性bug
- 回归问题
- 性能问题
- 并发问题
- 状态同步bug
- 协议不兼容
- 提供商转换bug
- 网络问题
- 解析器/编译器bug
- 特定平台故障
- 集成bug
- 架构问题
- 维护者要求的缺失功能
- 可重现但未实现的任务
- 近期活跃的维护者支持的任务
- 较旧但仍相关的可执行任务
不要仅局限于:
good first issuehelp wanted
Reject an issue when
拒绝任务的情况
- someone is actively assigned and working on it;
- an open PR already addresses it;
- another contributor clearly claimed it;
- it is stale and maintainers appear uninterested;
- scope is too vague;
- required infrastructure is inaccessible;
- it is speculative with no maintainer support;
- it is mostly typo/docs work;
- it is mechanically trivial with little strategic value;
- it appears to require months before producing reviewable value.
An assigned issue may remain only if maintainers explicitly welcome another implementation.
- 有人已被分配并正在处理;
- 已有开放PR解决该任务;
- 其他贡献者已明确认领;
- 任务已过时且维护者无兴趣;
- 范围过于模糊;
- 所需基础设施无法访问;
- 无维护者支持的推测性任务;
- 主要是拼写错误/文档工作;
- 机械性琐碎工作,几乎无战略价值;
- 似乎需要数月才能产生可评审的成果。
仅当维护者明确欢迎其他实现方案时,才可保留已分配的任务。
Prefer an issue when
优先选择任务的情况
- maintainers confirmed it;
- maintainers described likely fix shape;
- reproduction is clear;
- expected behavior is clear;
- tests exist nearby;
- no competing PR exists;
- contributor has genuine product intuition;
- contribution creates a strong engineering story;
- it opens a path to deeper work in the same ecosystem.
- 维护者已确认该任务;
- 维护者描述了可能的修复方向;
- 重现步骤清晰;
- 预期行为明确;
- 附近存在测试用例;
- 无竞争PR;
- 贡献者具备真实的产品直觉;
- 贡献能构建有力的工程故事;
- 为同一生态系统的深入工作开辟路径。
Step 7 — Feasibility Reconnaissance
步骤7:可行性侦察
Do not highly rank an issue from discussion alone.
Inspect enough code to determine:
- likely subsystem,
- likely files/modules,
- current execution path,
- whether the apparent fix is local or architectural,
- nearby tests,
- hidden complexity,
- special infrastructure requirements,
- likely review concerns.
Do not implement the issue.
This step is reconnaissance only.
Estimate:
- Onboarding Cost
- Scope Risk
- Implementation Shape
- Confidence
If scope remains unclear, lower confidence and score accordingly.
不要仅通过讨论就给任务高排名。
检查足够的代码以确定:
- 可能涉及的子系统
- 可能涉及的文件/模块
- 当前执行路径
- 看似的修复是局部性还是架构性的
- 附近的测试用例
- 隐藏的复杂性
- 特殊基础设施要求
- 可能的评审关注点
无需实现该任务,此步骤仅为侦察。
估算:
- 入门成本
- 范围风险
- 实现方式
- 置信度
如果范围仍不明确,降低置信度和评分。
Step 8 — Score Each Candidate
步骤8:为每个候选任务评分
Use whole numbers or half-points.
Avoid fake precision.
使用整数或半分制,避免虚假的精确性。
A. Career Signal — 30%
A. 职业信号 — 30%
Ask:
If this is merged and explained well in an interview, what does it prove?
Consider:
- technical substance,
- production relevance,
- architectural depth,
- generalizability,
- project credibility,
- whether it adds evidence not already obvious in the contributor's portfolio.
Do not over-score trivial fixes because the repository is famous.
思考:
如果这项贡献被合并,并在面试中解释清楚,它能证明什么?
考虑:
- 技术实质性
- 生产环境相关性
- 架构深度
- 可推广性
- 项目可信度
- 是否能为贡献者的作品集增加新的证明点
不要因仓库知名就给琐碎修复过高评分。
B. PR Acceptance Probability — 25%
B. PR合并概率 — 25%
Estimate the chance that a high-quality implementation would merge.
Consider:
- actual recent external merges,
- policy,
- maintainer endorsement,
- issue ownership,
- competing PRs,
- project philosophy,
- scope clarity,
- review responsiveness,
- testability.
Give a broad percentage only when useful.
Example:
7/10 — approximately 60–75% if the proposed approach is acceptedThe percentage is an estimate, not a mathematical probability.
估算高质量实现被合并的概率。
考虑:
- 近期实际外部合并情况
- 政策
- 维护者认可
- 任务归属
- 竞争PR
- 项目理念
- 范围清晰度
- 评审响应速度
- 可测试性
仅在有用时给出大致百分比。
示例:
7/10 — 若方案被接受,合并概率约为60–75%百分比为估算值,而非数学概率。
C. Maintainer Accessibility — 15%
C. 维护者可达性 — 15%
How likely is good work to receive:
- review,
- substantive feedback,
- discussion,
- recognition,
- contributor trust?
高质量工作获得以下内容的可能性:
- 评审
- 实质性反馈
- 讨论
- 认可
- 贡献者信任
D. Professional Network Value — 10%
D. 职业网络价值 — 10%
How professionally useful could recognition in this ecosystem become?
Consider:
- ecosystem importance,
- maintainer positions,
- adjacent communities,
- hiring/referral possibilities,
- whether repeat contributors actually interact with influential engineers.
Explain this as an inference.
Do not derive it from fame alone.
在该生态系统获得认可能带来多大的职业价值?
考虑:
- 生态系统重要性
- 维护者职位
- 相邻社区
- 招聘/推荐可能性
- 持续贡献者是否真的能与有影响力的工程师互动
需将此解释为推论,不要仅因知名度得出结论。
E. Technical Depth — 10%
E. 技术深度 — 10%
Evaluate actual engineering depth.
High-depth work may involve:
- compilers/parsers
- concurrency
- distributed systems
- networking
- protocol translation
- streaming
- platform protocols
- terminal internals
- browser internals
- rendering
- performance
- state synchronization
- authentication
- difficult compatibility behavior
Large diff size does not imply depth.
评估实际工程深度。
高深度工作可能涉及:
- 编译器/解析器
- 并发
- 分布式系统
- 网络
- 协议转换
- 流处理
- 平台协议
- 终端内部实现
- 浏览器内部实现
- 渲染
- 性能
- 状态同步
- 认证
- 复杂兼容性行为
代码改动量大并不意味着深度高。
F. Personal Advantage — 5%
F. 个人优势 — 5%
Score only special contributor-specific leverage.
Examples:
- has reproduced the issue,
- actively uses the exact feature,
- knows the relevant protocol,
- built an analogous subsystem,
- already understands adjacent architecture.
Mere language familiarity should have little weight.
仅针对贡献者特有的优势评分。
示例:
- 已重现该问题
- 经常使用该功能
- 熟悉相关协议
- 构建过类似子系统
- 已理解相邻架构
仅熟悉语言应占极小权重。
G. New-Contributor Friendliness — 5%
G. 新贡献者友好度 — 5%
Use recent substantive merge evidence.
Distinguish:
- trivial outside fixes from
- meaningful first-time contributor work.
使用近期实质性合并证据。
区分:
- 琐碎的外部修复 与
- 有意义的首次贡献者工作
Step 9 — Record Non-Weighted Metrics
步骤9:记录非加权指标
For every issue include:
为每个任务记录:
Competition
竞争程度
0–10
0 = effectively uncontested10 = duplicate effort is very likely0–10分
0 = 几乎无竞争10 = 极有可能出现重复工作Onboarding Cost
入门成本
0–10
0–10分
Scope Risk
范围风险
0–10
0–10分
Research Confidence
研究置信度
- High
- Medium
- Low
- 高
- 中
- 低
Estimated Time to Meaningful PR
生成可评审PR的预估时间
- <1 day
- 1–3 days
- 3–7 days
- 1–2 weeks
- 2–4 weeks
-
1 month
Assume strong AI coding agents are available.
Do not assume AI eliminates:
- codebase learning,
- reproduction,
- setup,
- debugging,
- architecture reasoning,
- testing,
- maintainer review,
- iteration.
- <1天
- 1–3天
- 3–7天
- 1–2周
- 2–4周
-
1个月
假设可使用强大的AI编码代理,但不要认为AI能消除以下工作:
- 学习代码库
- 重现问题
- 环境搭建
- 调试
- 架构推理
- 测试
- 维护者评审
- 迭代
Step 10 — Calculate Strategic Value
步骤10:计算战略价值
Use the weighted score as a baseline.
Then apply judgment.
以加权评分为基准,再结合判断进行调整。
Penalize
扣分情况
- extreme competition,
- high scope uncertainty,
- famous repo with poor actual review,
- large onboarding cost with mediocre payoff,
- issue likely to be claimed quickly,
- unclear maintainer intent,
- trivial implementation disguised as high value,
- mechanical work with little interview story,
- contribution that duplicates evidence already obvious from the contributor's portfolio.
- 竞争极端激烈
- 范围不确定性高
- 知名仓库但实际评审质量差
- 入门成本高但回报一般
- 任务可能被迅速认领
- 维护者意图不明确
- 伪装成高价值的琐碎实现
- 机械性工作,几乎无面试故事价值
- 贡献与贡献者现有作品集的证明点重复
Boost
加分情况
- unusually strong engineering story,
- explicit maintainer request,
- clear pathway to repeat contribution,
- contribution fills a gap in existing proof-of-work,
- contributor has genuine firsthand insight,
- issue can lead naturally to deeper work.
Explain meaningful overrides.
- 异常有力的工程故事
- 维护者明确请求
- 清晰的持续贡献路径
- 贡献填补现有工作证明的空白
- 贡献者具备真实的第一手见解
- 任务可自然引出更深入的工作
需解释重要的调整理由。
Step 11 — Assign a Strategic Role
步骤11:分配战略角色
Every issue gets exactly one:
每个任务需分配且仅分配一个角色:
Fast Credibility Win
快速可信度提升
Small-to-medium scope, strong acceptance odds, real external validation.
Still must involve genuine engineering.
Do not recommend many of these merely to generate activity.
中小范围,合并概率高,能获得真实外部认可,但仍需涉及真实工程工作。不要仅为了产生活跃度而推荐大量此类任务。
Core Contribution
核心贡献
Strong balance of:
- career signal,
- acceptance,
- review opportunity,
- meaningful engineering.
Usually the best immediate targets.
在以下方面达到良好平衡:
- 职业信号
- 合并概率
- 评审机会
- 有意义的工程工作
通常是最佳的即时目标。
Ecosystem Entry
生态系统入门
A bounded first contribution that creates a realistic path toward deeper work.
The value is partly what comes next.
有限的首次贡献,为深入工作创造切实路径,价值部分来自后续的可能性。
Repeat-Contributor Opportunity
持续贡献机会
Useful when the contributor has already entered the ecosystem or the issue naturally follows prior work.
适合已融入生态系统的贡献者,或任务自然承接过往工作的情况。
Technical Stretch
技术拓展
Higher onboarding or implementation difficulty but unusually strong signal.
入门或实现难度较高,但职业信号极强。
Opportunistic High-Upside
机会性高回报
Excellent if the contributor personally encounters or understands the issue, but poor for proactive hunting due to competition/timing.
若贡献者个人遇到或理解该任务则极佳,但因竞争/时机问题,不适合主动寻找。
Invitation-Path Opportunity
受邀路径机会
Repository does not normally accept unsolicited code.
The recommended contribution is instead:
- reproduction,
- root-cause analysis,
- benchmark,
- design proposal,
- or other work that may earn an implementation invitation.
Do not present this as a normal PR opportunity.
仓库通常不接受未经请求的代码,推荐的贡献为:
- 重现问题
- 根因分析
- 基准测试
- 设计提案
- 或其他可能获得实现邀请的工作
不要将其作为常规PR机会呈现。
Step 12 — Build Contribution Trajectories
步骤12:构建贡献轨迹
Create 2–4 plausible trajectories.
Examples:
创建2–4条合理的轨迹。
示例:
Recognition Lane
认可度路径
- bounded contribution
- substantive follow-up
- deeper repeat contribution
- recognizable contributor status
- 有限贡献
- 实质性后续贡献
- 深入的持续贡献
- 获得认可的贡献者身份
Technical Depth Lane
技术深度路径
- manageable work in a harder ecosystem
- meaningful systems/compiler/platform contribution
- strong interview story
- 在较难生态系统中完成可管理的工作
- 有意义的系统/编译器/平台贡献
- 有力的面试故事
Opportunistic Lane
机会性路径
Continue using a crowded familiar project.
When the contributor finds a real problem:
- reproduce quickly,
- inspect upstream,
- check for competing work,
- move only when expected value is high.
继续使用熟悉的拥挤项目,当贡献者发现真实问题时:
- 快速重现
- 检查上游
- 查看是否有竞争工作
- 仅当预期价值高时才行动
Invitation Lane
受邀路径
For invitation-only repositories:
- produce exceptional diagnosis,
- engage constructively,
- establish credibility,
- pursue code only if explicitly invited.
针对仅接受受邀贡献的仓库:
- 提供出色的诊断
- 建设性互动
- 建立可信度
- 仅在明确受邀时才进行代码贡献
Step 13 — Adversarial Audit the Finalists
步骤13:对最终候选任务进行对抗性审核
Before final ranking, use a separate subagent when available.
Audit approximately the top 8–12 issues.
For every finalist verify again:
- issue is still open;
- issue is still unclaimed;
- no new PR appeared;
- no contributor declared intent;
- contribution policy remains the same;
- recent merge behavior still supports the repository classification;
- policy and observed behavior were reconciled correctly;
- expected fix is as bounded as claimed;
- career score is not inflated by repository fame;
- network score is not inflated by maintainer fame;
- easy work is not being mistaken for strategic value;
- hard work is not being romanticized despite terrible acceptance odds;
- another issue in the same repository is not clearly better;
- the issue adds evidence not already obvious in the contributor's portfolio.
最终排名前,若可用则使用独立子代理,审核约8–12个排名靠前的任务。
为每个最终候选任务再次验证:
- 任务仍处于开放状态;
- 任务仍未被认领;
- 未出现新的PR;
- 无贡献者声明意图;
- 贡献政策未变化;
- 近期合并行为仍支持仓库分类;
- 政策与行为的协调正确;
- 预期修复范围与声明一致;
- 职业评分未因仓库知名度被高估;
- 网络评分未因维护者知名度被高估;
- 简单工作未被误认为具有战略价值;
- 困难工作未因合并概率极低而被盲目推崇;
- 同一仓库中没有明显更优的任务;
- 任务能为贡献者现有作品集增加新的证明点。
Mandatory policy/behavior challenge
强制的政策/行为验证
For every finalist repository ask:
If I ignored the CONTRIBUTING wording and looked only at current behavior, what classification would I give?
Then ask:
If I ignored current behavior and followed the written policy literally, what classification would I give?
If the answers differ, explicitly reconcile them.
This is mandatory.
为每个最终候选仓库思考:
如果忽略CONTRIBUTING文件的措辞,仅看当前行为,我会如何分类?
然后思考:
如果忽略当前行为,严格遵循书面政策,我会如何分类?
若答案不同,需明确协调两者,此步骤为必填项。
Step 14 — Write the Report
步骤14:撰写报告
Write plain factual content before HTML rendering.
Include six sections.
先撰写纯事实内容,再进行HTML渲染,包含六个部分。
Part 1 — Executive Findings
第一部分:执行摘要
State:
- best ecosystem for repeated contribution;
- best technical stretch target;
- best meaningful high-acceptance issue;
- best opportunistic project;
- best invitation-path project if relevant;
- major attractive projects that were rejected or downgraded;
- largest research uncertainty.
Do not merely repeat numeric ranks.
说明:
- 最适合持续贡献的生态系统;
- 最佳技术拓展目标;
- 最佳有意义且高合并概率的任务;
- 最佳机会性项目;
- 若相关,最佳受邀路径项目;
- 被拒绝或降级的主要优质项目;
- 最大的研究不确定性。
不要仅重复数字排名。
Part 2 — Top Contribution Opportunities
第二部分:顶级贡献机会
Return approximately 6–12 strong issues.
Do not pad to a fixed count.
For each include:
返回约6–12个优质任务,不要凑数。
每个任务包含:
Project / Issue
项目 / 任务
Repository:
Issue URL:
Strategic Role:
Overall Assessment: Strong / Very Strong / Exceptional / Conditional
Why it matters
2–4 sentences.
What this would prove
State explicitly what the contribution demonstrates to an employer or maintainer.
Career Signal: X/10
Acceptance Probability: X/10
Maintainer Accessibility: X/10
Professional Network Value: X/10
Technical Depth: X/10
Personal Advantage: X/10
New-Contributor Friendliness: X/10
Competition: X/10
Onboarding Cost: X/10
Scope Risk: X/10
Research Confidence: High / Medium / Low
Estimated Effort: range
Policy vs Behavior
- Written policy:
- Recent observed behavior:
- Practical conclusion:
Likely Subsystem / Files
Likely Implementation Shape
Do not implement.
Acceptance Evidence
Use real recent PR and maintainer evidence.
Risks
Be candid.
Next Step
Use one of:
- reproduce locally;
- inspect subsystem;
- comment with approach;
- ask maintainer before coding;
- ready to implement;
- wait for personal reproduction;
- produce diagnosis/design first;
- skip unless conditions change.
仓库:
任务URL:
战略角色:
总体评估: 优秀 / 非常优秀 / 卓越 / 有条件
重要性说明
2–4句话。
能证明的能力
明确说明该贡献能向雇主或维护者展示什么。
职业信号: X/10
合并概率: X/10
维护者可达性: X/10
职业网络价值: X/10
技术深度: X/10
个人优势: X/10
新贡献者友好度: X/10
竞争程度: X/10
入门成本: X/10
范围风险: X/10
研究置信度: 高 / 中 / 低
预估工作量: 范围
政策与行为对比
- 书面政策:
- 近期观察到的行为:
- 实际结论:
可能涉及的子系统 / 文件
可能的实现方式
无需实现。
合并证据
使用真实的近期PR和维护者证据。
风险
需坦诚说明。
下一步行动
选择以下之一:
- 本地重现;
- 检查子系统;
- 评论实现方案;
- 编码前询问维护者;
- 准备实现;
- 等待个人遇到问题时再行动;
- 先提供诊断/设计;
- 除非条件变化否则跳过。
Part 3 — Best Repositories for Repeated Contribution
第三部分:最适合持续贡献的仓库
Rank approximately 5–10 repositories separately from issue ranking.
For each include:
- Recommended Role
- External Contribution Health
- Maintainer Accessibility
- Professional Network Value
- Technical Reputation Potential
- Competition
- Onboarding Cost
- Policy vs Behavior summary
- Why repeated work could compound
- Why it might not
Possible tags:
- Best ecosystem to become known in
- Best technical reputation
- Best balance
- Highest acceptance
- High upside / high competition
- Opportunistic only
- Best stretch ecosystem
- Invitation-only but high-value diagnosis path
Do not rank repositories solely by their best currently open issue.
单独排名约5–10个仓库,与任务排名区分开。
每个仓库包含:
- 推荐角色
- 外部贡献健康度
- 维护者可达性
- 职业网络价值
- 技术声誉潜力
- 竞争程度
- 入门成本
- 政策与行为总结
- 持续工作能带来复利效应的原因
- 可能无法带来复利效应的原因
可能的标签:
- 最适合建立知名度的生态系统
- 最佳技术声誉
- 最佳平衡
- 最高合并概率
- 高回报 / 高竞争
- 仅机会性贡献
- 最佳拓展生态系统
- 仅受邀但诊断路径价值高
不要仅根据当前开放的最佳任务对仓库排名。
Part 4 — Contribution Trajectories
第四部分:贡献轨迹
Give 2–4 strategic lanes.
Prefer:
提供2–4条战略路径,优先选择:
Lane 1 — Recognition
路径1:建立认可度
Become a recurring contributor somewhere maintainers actually notice good work.
成为维护者能真正注意到优秀工作的项目的持续贡献者。
Lane 2 — Engineering Depth
路径2:提升工程深度
Land one contribution that materially expands demonstrated technical range.
完成一项能切实拓展自身技术范围的贡献。
Lane 3 — Opportunistic
路径3:机会性贡献
Use crowded familiar projects normally and move quickly only on personally understood issues.
正常使用熟悉的拥挤项目,仅在遇到个人理解的问题时迅速行动。
Lane 4 — Invitation Path
路径4:受邀路径
For closed or invitation-only repositories, contribute diagnosis/design rather than speculative code.
Do not recommend many trivial PRs just to create visible activity.
针对封闭或仅接受受邀贡献的仓库,先贡献诊断/设计而非推测性代码。
不要推荐大量琐碎PR仅为了产生可见的活跃度。
Part 5 — Skip / Deprioritize List
第五部分:跳过 / 优先级降低列表
Include rejected and downgraded repositories.
For each state the current reason:
- effectively closed to unsolicited code,
- invitation-only,
- internal/bot dominated,
- huge competition,
- weak maintainer response,
- no suitable issue currently available,
- poor opportunity-cost fit,
- trivial issue pool,
- excessive onboarding for weak payoff,
- better treated opportunistically.
Distinguish carefully:
Bad repository for external contributionfrom:
Good repository, poor place to proactively hunt right nowfrom:
Potentially valuable, but code contribution requires invitation包含被拒绝或降级的仓库,为每个仓库说明当前原因:
- 实际禁止未经请求的代码;
- 仅接受受邀贡献;
- 内部/机器人主导;
- 竞争极其激烈;
- 维护者响应弱;
- 当前无合适任务;
- 机会成本适配性差;
- 任务池琐碎;
- 入门成本过高而回报低;
- 更适合机会性贡献。
需明确区分:
不适合外部贡献的仓库与:
优质仓库,但当前不适合主动寻找任务与:
潜在价值高,但代码贡献需获得邀请Part 6 — Research Confidence
第六部分:研究置信度
State:
- research date,
- sample windows,
- number of recent PRs sampled,
- thin-evidence repositories,
- rate-limit problems,
- issues likely to change ownership quickly,
- cases where policy and behavior materially disagreed.
Do not hide uncertainty behind precise scores.
说明:
- 研究日期
- 样本时间范围
- 采样的近期PR数量
- 证据不足的仓库
- 速率限制问题
- 可能迅速变更归属的任务
- 政策与行为存在实质性差异的情况
不要用精确评分掩盖不确定性。
Step 15 — Evidence Rules
步骤15:证据规则
Give a URL for every important external claim.
Use:
- issue pages,
- pull requests,
- merged PR history,
- CONTRIBUTING files,
- README policy,
- maintainer comments,
- discussions,
- release notes,
- GitHub API data.
Do not rely primarily on:
- stars,
- generic descriptions,
- stale snippets,
- historical contribution policy contradicted by current behavior.
For first-time contributor friendliness, inspect actual recent substantive merges.
For maintainer responsiveness, inspect actual review timelines.
For professional network value, clearly label inference.
每个重要的外部声明都需提供URL,使用:
- 任务页面
- PR
- 合并PR历史
- CONTRIBUTING文件
- README政策
- 维护者评论
- 讨论
- 发布说明
- GitHub API数据
不要主要依赖:
- 星标数量
- 通用描述
- 过时片段
- 与当前行为矛盾的历史贡献政策
评估新贡献者友好度时,查看实际的近期实质性合并。
评估维护者响应速度时,查看实际的评审时间线。
评估职业网络价值时,明确标记为推论。
Step 16 — Render and Publish
步骤16:渲染与发布
Load the skill.
html-communicationGive one subagent the completed factual report.
The HTML subagent must not:
- change scores,
- change ranking,
- invent evidence,
- reinterpret policies,
- add unsupported claims,
- or redo repository analysis.
Its task is presentation only.
Follow the skill.
html-communicationUpload to Postplan.
Return the Postplan URL.
加载技能,将完成的事实报告交给一个子代理。
html-communicationHTML子代理不得:
- 修改评分
- 修改排名
- 编造证据
- 重新解读政策
- 添加无依据的声明
- 或重新分析仓库
其任务仅为展示,需遵循技能的要求,上传至Postplan并返回Postplan URL。
html-communicationFinal Quality Test
最终质量测试
Before publishing, verify:
- Did we reward easy merges over meaningful engineering?
- Did we overrate a famous repository?
- Did we overrate a famous maintainer?
- Did we confuse maintainer accessibility with professional network value?
- Did we mistake stack familiarity for meaningful personal advantage?
- Did we recommend tiny PRs merely to generate visible activity?
- Did we distinguish proactive targets from opportunistic projects?
- Did we distinguish normal PR targets from invitation-only repositories?
- Did we inspect enough code to challenge issue scope?
- Is every recommended issue still open and genuinely available?
- Does each high-ranked issue add useful evidence beyond the contributor's current portfolio?
- Did we explicitly reconcile written contribution policy with current repository behavior?
- Did we avoid rejecting an active external-contributor project because of stale restrictive wording?
- Did we avoid recommending unsolicited code to a repository whose current policy explicitly forbids it?
- Is there a coherent route from these contributions to external recognition, stronger interviews, or employment?
If any answer is no, revise the report before publishing.
发布前验证:
- 是否优先选择易合并的PR而非有意义的工程工作?
- 是否高估了知名仓库?
- 是否高估了知名维护者?
- 是否混淆了维护者可达性与职业网络价值?
- 是否将技术栈熟悉度误认为有意义的个人优势?
- 是否推荐大量琐碎PR仅为了产生可见的活跃度?
- 是否区分了主动寻找目标与机会性项目?
- 是否区分了常规PR目标与仅接受受邀贡献的仓库?
- 是否检查了足够的代码以验证任务范围?
- 每个推荐的任务是否仍开放且真正可认领?
- 每个高排名任务是否能为贡献者现有作品集增加有用的证明点?
- 是否明确协调了书面贡献政策与仓库当前行为?
- 是否未因过时的限制性措辞而拒绝活跃的外部贡献项目?
- 是否未向明确禁止未经请求代码的仓库推荐此类贡献?
- 是否存在从这些贡献到外部认可、更出色的面试或就业的连贯路径?
若任何问题答案为“否”,需在发布前修改报告。