graduate-backlog
Graduate a project's in-repo backlog (roadmap phases, sprint deliverables, ADRs) onto a forge issue tracker at a thin-hybrid default, once the backlog outgrows a single contributor. Use when a team needs to see and claim work that currently lives only in docs/roadmap and docs/spr
供给资产档案
编程与开发 Agent
代码审查、仓库分析、测试、CI、GitHub、DevOps 与开发工作流 Skill。
场景
GitHub automation
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
适配 Agent
Claude Code + CLI + Codex
适用于 Codex、Claude Code、Cursor、CLI 或自定义 Agent。
安装
就绪
npx skills add jrjsmrtn/project-orchestration-skills --skill graduate-backlog
维护状态
新鲜
距上次推送 2 天
风险
需审查
Permission surface may require sandboxing
GitHub 质量
14
58/100 质量 · 71/100 信任
覆盖标签
审查说明
Permission surface may require sandboxing · Low GitHub adoption signal
Agent 采用评分卡
一眼查看信任、审计与安装准备度
这些分数综合公开仓库元数据、OpenAgentSkill 审查信号、维护新鲜度与安装准备度。它用于候选筛选,不替代人工审查。
质量
有潜力有用的候选项,但采用前应与替代方案比较。
信任
仅限沙盒有用但信任信号不足或混杂的候选项。在结果闭环证明任务匹配前,请保持在隔离工作区内使用。
审计
需审查对安装准备度、安全元数据、维护情况与采用风险的机器可读审查。
OpenAgentSkill 信任评分 v5
安装前需人工审查
仅在沙盒中运行,并在用于真实工作前比较接近的替代方案。
Stars
14 个 GitHub Stars
仓库活跃度
14 个 Star,0 个 Fork
维护状态
距上次推送 2 天
许可证
MIT
安装
npx skills add jrjsmrtn/project-orchestration-skills --skill graduate-backlog
安装安全性
标准软件包或运行时安装路径
权限范围
shell or command execution, filesystem or document access
Agent 结果
暂未有 Agent 结果数据
文档
README/SKILL.md 上下文充分
风险摘要
生产前审查
- Low GitHub adoption signal
- Quality score needs review
- Permission surface needs review: shell or command execution, filesystem or document access
- GitHub adoption: 14 GitHub stars
安装准备度
安装路径可用
- 安装路径可用
- 仓库证据可用
- 已声明许可证
- 暂无 Agent 验证结果证据
Agent 可读元数据
这个 Skill 的机器可读决策数据。
使用此区块或内嵌 JSON 判断 Agent 是否应安装该 Skill、选择替代方案,或先请求人工审查。
适用任务
- GitHub automation 工作流
- Claude Code 团队
- builders willing to evaluate younger projects
- Inspect repository metadata
适用 Agent
安装决策
- 命令
- npx skills add jrjsmrtn/project-orchestration-skills --skill graduate-backlog
- 策略
- 阻止
- 人工审查
- 是
信任与风险
- 信任
- 63/100
- 审计
- 75/100
- 风险级别
- 需审查
结果闭环
- 端点
- /api/agent/outcome
- 事件 ID
- resolve
- 结果
- 5
安装命令
npx skills add jrjsmrtn/project-orchestration-skills --skill graduate-backlog不适用场景
- 需要厂商支持 SLA 的团队
- production agents without a repository review
- Low GitHub adoption signal
- 高风险权限提示:Shell or command execution, Secrets or environment access
- Permission surface may require sandboxing
替代 Skill
Code Review
168.6K Stars
npx skills add mattpocock/skills --skill code-review
替代 Skill
Grill With Docs
164.7K Stars
npx skills add mattpocock/skills --skill grill-with-docs
替代 Skill
To Spec
164.7K Stars
npx skills add mattpocock/skills --skill to-spec
替代 Skill
To Tickets
176.7K Stars
npx skills add mattpocock/skills --skill to-tickets
Agent 安全 v2
35/100 · 避免自动安装
This skill should not be selected by an agent without explicit human security review.
Do not auto-install. Inspect the source, dependencies, and permission surface first.
高
Shell 或命令执行
Skill 元数据引用了终端、CLI、Shell、子进程或命令执行工作流。
中
网络访问
Skill 可能访问远程页面、API、仓库或外部服务。
中
文件系统访问
Skill 可能读取或写入项目文件、文档、生成产物或本地工作区状态。
高
Secrets or environment access
Skill metadata references credentials, tokens, environment variables, or secret-bearing workflows.
- 高风险权限提示:Shell or command execution, Secrets or environment access
- Permission surface may require sandboxing
安装目标
在你的 Agent 工作流中安装此 Skill
通过公开安装端点获取命令、安全清单、目标提示词和该 Skill 的规范链接。
OpenAgentSkill CLI
Resolve policy, run the source installer safely, and report a verified install receipt.
$ npx --yes https://github.com/Leon-Drq/openagentskill/releases/download/cli-v0.2.1/openagentskill-0.2.1.tgz install jrjsmrtn-graduate-backlogAgent 解析计划
让 Agent 在安装前验证匹配度。
Resolve API 返回首选 Skill、替代方案、安全策略、审计说明、安装目标和可直接执行的提示词,无需抓取此页面。
打开 JSON
/api/agent/resolve?task=Use%20graduate-backlog%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve 文本
/api/agent/resolve?task=Use%20graduate-backlog%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
安装交接
/api/skills/jrjsmrtn-graduate-backlog/install
Agent 应检查
- 从 Resolve API 检查任务匹配与替代方案。
- 检查审计评分、信任评分和安全策略警告。
- 检查 Codex、Claude Code、Cursor 或 CLI 的安装目标兼容性。
复制提示词
Task: Use graduate-backlog in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20graduate-backlog%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/jrjsmrtn-graduate-backlog/install
Install command: npx skills add jrjsmrtn/project-orchestration-skills --skill graduate-backlog
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent 交接
把安装路径交给 Agent,而不是再给一个目录页。
通过公开安装端点获取命令、安全清单、目标提示词和该 Skill 的规范链接。
安装交接
/api/skills/jrjsmrtn-graduate-backlog/install
LLM 文本格式
/api/skills/jrjsmrtn-graduate-backlog/install?format=text
寻找替代方案
/api/skills/search?q=graduate-backlog&limit=3
Agent 提示词
Use graduate-backlog for this task. Review https://www.openagentskill.com/api/skills/jrjsmrtn-graduate-backlog/install, then install with: npx skills add jrjsmrtn/project-orchestration-skills --skill graduate-backlogRegistry 元数据
用于自动选择 Skill 的 Agent 可读档案。
本页通过 Registry API 提供相同的决策、信任、审计、场景和安装信号,让 Agent 无需抓取界面即可排序。
Agent 决策面板
Fallback candidate for GitHub automation
先用此 Skill 做原型验证,并保留备选方案。
栈中角色
备选候选
主要匹配
GitHub automation
信任标签
先做原型验证
安装路径
命令已就绪
适用场景
- GitHub automation 工作流
- Claude Code 团队
- builders willing to evaluate younger projects
证据
- 仓库近期活跃
- 已提供安装命令或 GitHub 仓库
- 58/100 质量档案
- 4 个 OpenAgentSkill 交互事件
先审查
- Low GitHub adoption signal
实施路径
- 1在沙盒 Agent 中安装它,并端到端完成一次GitHub automation任务。
- 2Compare output quality, latency, and failure behavior against at least one alternative.
- 3Promote it into production only after reviewing repository permissions, license, and maintenance signals.
信任档案
仅限沙盒
有用但信任信号不足或混杂的候选项。在结果闭环证明任务匹配前,请保持在隔离工作区内使用。
GitHub 采用度
修复14 个 GitHub Stars
Star/Fork 活跃度
修复14 个 Star,0 个 Fork; 当前元数据中没有议题活跃度信息
近期维护
通过距上次推送 2 天
许可证清晰度
通过MIT
积极信号
- AI 审查已通过
- 安装路径可用
- 仓库证据可用
- 近期维护的仓库
- 安装命令未发现明显高风险模式
- 结果闭环已就绪,但需要首次真实 Agent 运行
安装前审查
- Low GitHub adoption signal
- Quality score needs review
- Permission surface needs review: shell or command execution, filesystem or document access
- GitHub adoption: 14 GitHub stars
- Stars/forks activity: 14 stars, 0 forks; issue activity unavailable in current metadata
- Permission surface: shell or command execution, filesystem or document access
- 暂未有真实 Agent 结果报告
- 无人值守安装前需要人工审查
建议操作
仅在沙盒中运行,并在用于真实工作前比较接近的替代方案。
质量档案
有潜力 适用于 Agent 工作流的候选
有用的候选项,但采用前应与替代方案比较。
工作流匹配
在这些场景使用此 Skill
Manage repositories
GitHub automation
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
Build and ship code
Coding agents
I need a coding agent that can understand a repository, edit code, and review pull requests.
Operate web apps
Browser automation
I need my agent to control a browser, fill forms, and verify web app workflows.
工作流匹配
加入完整工作流
Inspect, patch, and verify code
Coding review agent
A workflow for software agents that inspect repositories, review pull requests, generate tests, and turn findings into shippable patches.
Operate and verify web apps
Browser QA agent
A workflow for agents that navigate products, fill forms, take screenshots, and verify real user flows across web applications.
Turn skills into distribution
Content growth agent
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
替代方案短名单
安装前对比
可能适合该任务的相近 Skill。
Code Review
Review a branch or diff against repository standards and the originating spec in two independent analysis passes.
Grill With Docs
A relentless interview that pressure-tests a plan against the codebase, sharpens domain language, and updates CONTEXT.md and ADRs when decisions become durable.
To Spec
Turn the current conversation and codebase context into a structured implementation spec, then publish it to the configured project issue tracker.
To Tickets
Break a plan, spec, or conversation into independently actionable tracer-bullet tickets with explicit blocking relationships.
概览
--- name: graduate-backlog description: Graduate a project's in-repo backlog (roadmap phases, sprint deliverables, ADRs) onto a forge issue tracker at a thin-hybrid default, once the backlog outgrows a single contributor. Use when a team needs to see and claim work that currently lives only in docs/roadmap and docs/sprints, when a repo has a mature in-repo roadmap but an empty tracker, when open-sourcing a project, or when deciding what work should stay in-repo versus live on a GitHub, GitLab, Codeberg/Forgejo, or self-hosted internal tracker. metadata: author: "Georges Martin <jrjsmrtn@gmail.com>" version: "0.1.34" license: MIT ---
# Backlog Graduation
Bridge a project's **in-repo backlog** onto a **forge issue tracker** at the moment the backlog outgrows a single contributor. The orchestration skills author a rich in-repo backlog — `docs/roadmap/roadmap.md` (phases → target versions → task lists), `docs/sprints/*.md` (plans/retrospectives), a Nygard ADR sequence, and a Keep-a-Changelog `CHANGELOG.md`. Once more than one person needs to see and claim that work, they need a tracker — but that transform is manual and uncodified.
This skill performs it **conservatively**. The default is **thin-hybrid**: planning stays in-repo, and the tracker holds only incoming/reactive work plus — at most — the current milestone's tactical items. That is *light externalization*, not a board build-out. A richer board is opt-in (the `roadmap-visible` level), justified by a real need for roadmap visibility.
> **The trigger is team scale, not exposure.** Graduation is driven by *who needs to see the work* > — the same signal as the t0→t1 tier bump ("more than one contributor"). It is **not** gated on > the **Public** distribution profile: a corporate team on an internal GitLab needs a board without > ever open-sourcing, and a solo public repo may never need one. Exposure gates *compliance > controls*, not *work organization*. (Workspace decision records: "Distribution-Profile Axis for > Compliance Qualification", "Work-Organization Graduation: Thin-Hybrid Backlog Externalization", > "Plugin Taxonomy by Lifecycle, Not Exposure" — cited by title because bare numbers would collide > with the *target project's* own ADR sequence, which Phase 3 writes into.)
> **Establish vs operate.** This skill *establishes* tracker structure from the backlog; > `incoming-issue` (**project-maintenance-skills**) *operates* it afterward. Where that plugin is > installed it owns the richer contributor-facing setup — issue templates, `good first issue`, the > full triage taxonomy. This skill creates only the minimal labels it needs, so it works standalone > in contexts where the maintenance plugin is absent.
## When to Use
- When a project's backlog outgrows one contributor and the team needs claimable work items - When a repo has a mature in-repo roadmap but an empty or default-only tracker - When deciding the **hybrid boundary** — what stays canonical in-repo vs what the tracker owns - At the `public-release` go/no-go gate (project-maintenance-skills), deciding how work is organized publicly - Re-running incrementally after new phases or sprints land (the skill is idempotent)
**Not for:** Solo projects with no collaborators — the backlog stays in-repo; say so and stop. Building a heavy Projects-v2 board unless roadmap visibility is an explicit goal. Re-cutting already-shipped work as issues.
## Required Inputs
1. **Repository** — the forge and `owner/repo`, auto-detected from git remotes. 2. **Scope** — what to run: - `plan` — Phases 1–2: analyze the in-repo backlog and emit the hybrid-boundary decision; **no writes** (dry run) - `milestones` — Phase 4: seed milestones from **open** roadmap phases - `issues` — Phase 5: create labels, then issues from **current-sprint open deliverables** - `full` — Phases 1–6 in sequence: plan → confirm → record the boundary ADR (Phase 3) → milestones → issues → reconcile (Phase 6). Phases 3 and 6 are what produce the skill's headline output and anti-drift rule, so `full` is the only scope that satisfies this skill's own Validation. 3. **Externalization level** (default `thin`): - `thin` — milestones for open phases + issues for current-sprint deliverables only (default) - `roadmap-visible` — Phase 5b: additionally mirror open roadmap phases as tracked issues, for team and stakeholder visibility of the longer arc
## Workflow
### Phase 1: Detect Context & Confirm Eligibility
1. **Detect the forge** from remotes: ```bash git remote -v ``` - `github.com` → `gh` - `gitlab.com` / self-hosted GitLab → `glab` - `codeberg.org` / self-hosted Forgejo/Gitea → `tea` (the Gitea/Forgejo CLI), or the Gitea REST API
The hybrid-boundary decision (Phases 2–3, 6) is **forge-independent** — only the seeding commands in Phases 4–5 branch by forge. See the [Forge Command Reference](#forge-command-reference) for the per-forge equivalents. A **self-hosted** GitLab or Forgejo/Gitea instance is a first-class target: point the CLI at it (`glab auth login --hostname gitlab.internal.example`, `tea login add --url …`) — the workflow is identical. An internal corporate forge is a normal case, not an exception.
2. **Confirm the backlog has outgrown one contributor.** Graduation is triggered by **team scale**, not exposure — do *not* check the distribution profile: ```bash git shortlog -sn --since="6 months ago" HEAD | head ``` Proceed if any of these hold: more than one recent committer; the project accepts contributions from beyond the maintainer (an open contributor base is a team, whatever the exposure); or the maintainer states that collaborators need claimable work. **If it is a genuinely solo project with no collaborators, stop** — a tracker adds ceremony without a reader. Say so plainly rather than seeding an audience-free board.
3. **Locate source artifacts** (skip gracefully if absent): - `docs/roadmap/roadmap.md` — phases, target versions, task lists, Sprint History - `docs/sprints/` — current sprint plan (open deliverables) + `README.md` index - `docs/adr/` (+ `index.yml` if present) — decision log (back-link targets) - `CHANGELOG.md` — the `[Unreleased]` section (authoritative shipped-work record)
4. **Check tracker preconditions:** do the labels this skill maps onto exist? ```bash gh label list # glab label list | tea labels ls ``` Type labels (`enhancement` / `bug` / `documentation`) are GitHub defaults and usually exist already; on GitLab/Forgejo they may not. The `priority: *` labels rarely exist anywhere. **Create only what is missing** (Phase 5) — this skill is self-sufficient and must not assume another plugin has run.
If `incoming-issue` (project-maintenance-skills) *is* available and the project is **Public**, prefer running it (scope: `setup`) first: it establishes the full contributor-facing taxonomy and issue templates, of which these labels are a subset. Treat it as an **enrichment, not a prerequisite** — a corporate consumer may not have that plugin installed at all.
### Phase 2: Analyze the In-Repo Backlog (scope: `plan`)
Parse and classify — **read-only**, no forge writes:
- **Roadmap phases** → each `{title, target version, status}`. Split into **open** (candidate milestones) and **completed** (never re-cut). - **Current sprint deliverables** → the open, discrete, titled items from the latest `docs/sprints/sprint-NNNN-plan.md` (candidate issues). - **ADR index** → id/title/status, for back-linking. - **CHANGELOG `[Unreleased]`** → the trustworthy record of what actually shipped.
> **Trust the changelog over checkboxes.** Roadmap `- [ ]` checkbox state is frequently stale > (shipped features left unticked). Corroborate any "done" against `CHANGELOG.md` before excluding it, > and derive issues from **sprint deliverables**, not from roadmap checkboxes.
Output a plan: candidate milestones, candidate issues, and the proposed hybrid boundary. In `plan` scope, stop here and present it for confirmation.
### Phase 3: Decide & Record the Hybrid Boundary
Adopt the **thin-hybrid** default and record it as a **project-local** ADR in the target project's own `docs/adr/` (use its `setup-adrs` adrtools numbering — title `# N. Work-Organization Boundary`). This is the target project's decision, distinct from the workspace ADR that defines the stance:
| Concern | Canonical home | Rationale | |---|---|---| | Strategic roadmap (phases, target versions) | **in-repo** `roadmap.md` | version-controlled north star | | Architecture decisions | **in-repo** `docs/adr/` | the "why"; back-link target for issues | | Sprint retrospectives | **in-repo** `docs/sprints/` | narrative record | | Incoming / community / reactive work | **tracker** | contributor-facing | | Current-milestone tactical items | **tracker** (thin) | claimable by contributors | | Per-issue / milestone status | **tracker** (single source of truth) | avoids table drift |
Record the **single source of truth for tactical status** explicitly, so hand-maintained tables (roadmap Sprint History, `docs/sprints/README.md`) don't drift against the board.
### Phase 4: Seed Milestones — Open Phases Only (scope: `milestones`)
Create one milestone per **open** roadmap phase. **Idempotent** — check for an existing milestone of the same title before creating:
```bash # List existing milestone titles gh api "repos/{owner}/{repo}/milestones?state=open" --jq '.[].title'
# Create only if absent gh api "repos/{owner}/{repo}/milestones" \ -f title="Phase 3 — v0.2.0" \ -f state="open" \ -f description="Graduated from docs/roadmap/roadmap.md Phase 3. Canonical roadmap stays in-repo." ```
- **Skip completed phases** — no retroactive re-cut. - A roadmap phase maps to a **milestone**, never a label. - On GitLab (`glab`) or Forgejo (`tea`), use the equivalent from the [Forge Command Reference](#forge-command-reference); the open-phases-only and idempotency rules are unchanged.
### Phase 5: Seed Issues — Current-Sprint Deliverables (scope: `issues`)
Create issues from **current-sprint open deliverables** (Phase 2), each **back-linked** and **idempotent** (search by a stable title before creating).
#### Step 1 — Create the labels first
Applying a label that does not exist fails the issue creation, so **this step precedes Step 2**. Idempotent — each `label create` no-ops if the label is already there:
```bash # Type labels: GitHub defaults, but absent on a fresh GitLab/Forgejo project gh label create "enhancement" --color a2eeef --description "New feature or request" 2>/dev/null || true gh label create "bug" --color d73a4a --description "Something isn't working" 2>/dev/null || true gh label create "documentation" --color 0075ca --description "Improvements or additions to documentation" 2>/dev/null || true
# Priority labels: rarely present on any forge gh label create "priority: high" --color d93f0b --description "Severe impact" 2>/dev/null || true gh label create "priority: medium" --color e4e669 --description "Moderate impact" 2>/dev/null || true gh label create "priority: low" --color c2e0c6 --description "Minor impact" 2>/dev/null || true ```
> **Colours are part of the contract, not decoration.** They match `incoming-issue`'s taxonomy > exactly. Because `label create` is made idempotent with `|| true`, **first writer wins** — a wrong > colour here would survive silently forever once this skill runs first, and the two plugins would > disagree with no error ever surfacing. Do not "improve" them.
See the [Forge Command Reference](#forge-command-reference) for the `glab`/`tea` equivalents.
#### Step 2 — Seed the issues
```bash # Idempotency guard gh issue list --search "in:title \"Wire the audit CI job\"" --state all --json number --jq '.[].number'
# Create, attach to milestone, apply the mapped priority/type labels (see the table below) gh i
技术详情
- 版本
- 1.0.0
- 许可证
- MIT
- 最近更新
- 2026年8月21日
- 发布时间
- 2026年8月21日
决策摘要
备选候选
仓库近期活跃
Agent 验证证据
Agent 验证证据
来自解析、审查、安装和一次小范围运行后的结果报告。
- 成功率
- —
- 近期失败
- —
- 结果
- 0
- 输出质量
- —
- 失败
- 0
- 不相关
- 0
- 安装次数
- 0
- 风险拦截
- 0
- 需要配置
- 0
- 生产环境
- 0
暂时没有 Agent 结果数据。首次 Agent 执行可以通过 /api/agent/outcome 报告成功、需要设置、风险拦截、失败或不相关。
增长闭环
分享工具包
为 graduate-backlog 准备的场景化草稿,可手动发布到 X。
graduate-backlog: Graduate a project's in-repo backlog (roadmap phases, sprint deliverables, ADRs) onto a forge... 14 stars https://www.openagentskill.com/skills/jrjsmrtn-graduate-backlog?ref=x
可选:带安装命令的回复
Listing + install path for graduate-backlog: https://www.openagentskill.com/skills/jrjsmrtn-graduate-backlog?ref=x Install: npx skills add jrjsmrtn/project-orchestration-skills --skill graduate-backlog
收录来源
Registry 收录
此列表来自公开来源,维护者认领获批前不会标记为官方。
- 创作者
- jrjsmrtn
- 收录方
- OpenAgentSkill 社区索引
归属链接指向公开仓库或创作者主页。创作者可认领列表以更新所有权信号。
认领此 Skill所有者认领
认领此 Skill 页面
这条 Registry 收录 列表归属于 jrjsmrtn,但尚未标记为官方。认领后可增加已验证所有者信号,使后续发布、安装和审计更新更值得信赖。
创作者外链工具包
将证据徽章加入你的 README
在开发者评估仓库的位置展示规范页面、当前信任与审计信号,以及真实的 Agent 验证证据。
[](https://www.openagentskill.com/skills/jrjsmrtn-graduate-backlog)
[](https://www.openagentskill.com/skills/jrjsmrtn-graduate-backlog)
[](https://www.openagentskill.com/skills/jrjsmrtn-graduate-backlog/audit)
[](https://www.openagentskill.com/skills/jrjsmrtn-graduate-backlog)作者
jrjsmrtn
@jrjsmrtn
平台适配
健康信号
- GitHub Stars
- 14
- 质量评分
- 31/100
- 最近 GitHub 推送
- 2026年8月21日
- 框架提示
- 未知
- OpenAgentSkill 浏览量
- 4
- 复制安装命令
- 0
- 跳转点击
- 0
社区信号
告诉我们这个 Skill 是否对你的 Agent 工作流有帮助。汇总反馈会持续改善排序。
信任与安全
仅限沙盒
- GitHub 采用度14 个 GitHub Stars修复
- Star/Fork 活跃度14 个 Star,0 个 Fork; 当前元数据中没有议题活跃度信息修复
- 近期维护距上次推送 2 天通过
- 许可证清晰度MIT通过
- README/SKILL.md 完整度元数据包含足够的用法与工作流上下文通过
- 依赖与运行时风险command execution surface, network or browser surface信息
相关 Skill
Code Review
Review a branch or diff against repository standards and the originating spec in two independent analysis passes.
168.6K StarsGrill With Docs
A relentless interview that pressure-tests a plan against the codebase, sharpens domain language, and updates CONTEXT.md and ADRs when decisions become durable.
164.7K StarsTo Spec
Turn the current conversation and codebase context into a structured implementation spec, then publish it to the configured project issue tracker.
164.7K StarsTo Tickets
Break a plan, spec, or conversation into independently actionable tracer-bullet tickets with explicit blocking relationships.
176.7K Stars