Öffentliches Register
Software-GesundheitsberichtSchema 0.27.0 · Metriken 1.13.0 · 2026-07-25 10:18 UTC

jnMetaCode / agency-agents-zh

🎭 267 个即插即用的 AI 专家角色 — 支持 Hermes Agent/Claude Code/Cursor/Copilot 等 18 种工具,覆盖工程/设计/营销/金融等 20 个部门。含 52 个中国市场原创智能体(小红书/抖音/微信/飞书/钉钉等)。搭配编排器 agency-orchestrator,一句话即可让多位专家按 DAG 自动协作。

Shell · PowerShellMIT★ 18.299 Sterne⑂ 3.053 Forksseit März 2026Auf GitHub ansehen ↗

jnMetaCode/agency-agents-zh erreicht einen Gesundheitsindex von 67 von 100 und liegt damit im Bereich Mittel. Am stärksten schneidet es bei Vitality (87/100) ab, am schwächsten bei AI Readiness (39/100). Zuletzt vor 1 Tag aktualisiert. Ein einzelner Mitwirkender trägt den Großteil der jüngsten Arbeit.

67
gesamt / 100
Mittel

Software-Gesundheitsindex

Metriken werden auf einer Skala von 1–100 in gewichtete Kategorien gruppiert. Der Gesamtwert beginnt als ihr Mittel; sobald öffentliche Evidenz die Richtlinie für Hochrisikojurisdiktionen auslöst, wird die Bewertung angepasst und erhält die Obergrenze 49 (Gefährdet). AI Readiness liegt außerhalb.

67
Exzellent85-100Vorbildlich; erfüllt im Wesentlichen alle geprüften Kriterien
Gut70-84Gesund; geringfügige Lücken
Mittel50-69Akzeptabel mit deutlichen Lücken; Überprüfung empfohlen
Gefährdet30-49Erhebliche Schwächen; eine Übernahme erfordert Vorsicht
Kritisch1-29Schwerwiegende Probleme (aufgegeben, nur ein Maintainer, keine Hygiene)
VitalitätCommunity &VerbreitungNachhaltigkeit &GovernanceEngineering-QualitätSicherheitAI Readiness

Bewertungsprofil

Jede Achse ist eine Kategorie. Die Form zählt mehr als der Durchschnitt — ein gesundes Projekt füllt die gesamte Fläche, während ein Profil aus Spitzen und Kratern bedeutet, dass Stärke in einer Dimension Risiken in einer anderen verdeckt.

Eigentümerschaft

AI不止语Persönliches Konto
688 Follower121 öffentliche Reposseit Apr. 2015 jnMetaCode@qq.com

Dieses Repository gehört einem persönlichen Konto. Ein Projekt mit nur einem Eigentümer trägt ein höheres Kontinuitätsrisiko als ein organisationsgetragenes.

Paket-Ökosysteme

RegistryPaketVersionDownloads / MonatVersionenZuletzt veröffentlichtTags
npmagency-agents-zh1.2.72.7178vor 5 Tagenai-agentspromptssystem-promptschinesemulti-agentagency-agentsllmclaudedeepseekroles

Metriken nach Kategorie

Vitalität

Lebt das Projekt — wird Code geschrieben und werden Releases ausgeliefert?

87Exzellent · 22 % des Gesamtindex
Wie die Bewertung erfolgt
36/36Push-Aktualität — letzter Push vor 1 Tagen
13.8/36Commit-Rhythmus — 20/52 Wochen mit Commits
18/18Commit-Volumen — 211 Commits im letzten Jahr
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 18 issue activity found in the last 90 days -- score normalized to 10
Verwendete Eingangsdaten
commits_last_year211
human_commit_share1
days_since_last_push1
active_weeks_last_year20

Release-Disziplin

100Exzellent
Wie die Bewertung erfolgt
27/27Liefert Releases aus — 6 Releases veröffentlicht
36/36Release-Aktualität — letztes Release vor 38 Tagen
27/27Release-Rhythmus — ein Release etwa alle 8,4 Tage
0/10OpenSSF Scorecard: Signed-Releases — keine Daten
Verwendete Eingangsdaten
releases_count6
latest_release_tagv1.2.6
releases_from_tagsnein
days_since_latest_release38
mean_days_between_releases8,4
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): OpenSSF Scorecard: Signed-Releases. Die verbleibenden Gewichte wurden renormalisiert.

Community & Verbreitung

Hat das Projekt Nutzer, Downloads, Aufmerksamkeit und ein einladendes Umfeld für Beitragende?

80Gut · 18 % des Gesamtindex
Wie die Bewertung erfolgt
60/60Stars — 18.299 Stars
25/25Forks — 3.053 Forks
11.1/15Watcher — 100 Watcher
Verwendete Eingangsdaten
forks3.053
stars18.299
watchers100
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Wie die Bewertung erfolgt
22.5/22.5README
22.5/22.5Lizenz — anerkannte Lizenz (MIT)
18/18CONTRIBUTING-Leitfaden
0/13.5Verhaltenskodex
0/7.2Issue-Vorlage
6.3/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licenseja
has_contributingja
has_issue_templatenein
has_code_of_conductnein
has_pull_request_templateja
Wie die Bewertung erfolgt
45.8/80Downloads pro Monat — 2.717 Downloads/Monat über npm
0/20Abhängige in der Registry — von diesem Ökosystem nicht ausgewiesen
Verwendete Eingangsdaten
packagesagency-agents-zh
dependents
ecosystemsnpm
total_downloads
monthly_downloads2.717
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Abhängige in der Registry. Die verbleibenden Gewichte wurden renormalisiert.

Nachhaltigkeit & Governance

Überdauert das Projekt die Menschen, die es tragen — Bus-Faktor, Reaktionsfähigkeit, Trägerschaft und Paketpflege?

64Mittel · 24 % des Gesamtindex
Wie die Bewertung erfolgt
9/54Bus-Faktor — 1 Beitragende decken die Hälfte aller Commits ab
2/22.5Commit-Verteilung — wichtigste beitragende Person verfasste 91 % der Commits
13.5/13.5Breite der Beitragenden — 14 Beitragende
3/10OpenSSF Scorecard: Contributors — project has 1 contributing companies or organizations -- score normalized to 3
Verwendete Eingangsdaten
bus_factor1
contributors_sampled14
top_contributor_share0,912
Wie die Bewertung erfolgt
44.7/46.8Issue-Lösungsquote — 96 % der Issues geschlossen
27.6/38.3PR-Annahme — 31/43 entschiedene PRs gemergt
1.5/15OpenSSF Scorecard: Code-Review — Found 3/28 approved changesets -- score normalized to 1
Verwendete Eingangsdaten
merged_prs31
open_issues2
closed_issues45
issue_closed_ratio0,957
closed_unmerged_prs12
Wie die Bewertung erfolgt
10/30Organisatorische Trägerschaft — persönliches (Nutzer-)Konto
0/20Verifizierte Domain — für Nutzerkonten nicht anwendbar
20.4/25Reichweite des Inhabers — 688 Follower von jnMetaCode
25/25Kontohistorie — 121 öffentliche Repos, Kontoalter ca. 11 Jahre
Verwendete Eingangsdaten
followers688
owner_typeUser
is_verified
owner_loginjnMetaCode
public_repos121
account_age_days4.110
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Verifizierte Domain. Die verbleibenden Gewichte wurden renormalisiert.

Paketpflege

100Exzellent
Wie die Bewertung erfolgt
25/25Veröffentlicht & auflösbar — 1 Paket(e) auf npm
35/35Veröffentlichungsaktualität — letzte Veröffentlichung vor 5 Tagen
20/20Versionshistorie — 8 veröffentlichte Versionen
20/20Nicht veraltet — aktiv, nicht veraltet oder zurückgezogen
Verwendete Eingangsdaten
packagesagency-agents-zh
ecosystemsnpm
any_deprecatednein
min_days_since_publish5

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

57Mittel · 20 % des Gesamtindex
Wie die Bewertung erfolgt
24/24CI-Workflows — 3 Workflow(s)
24/24Tests vorhanden
0/16Linter-Konfiguration
0/9.6Pre-Commit-Hooks
0/6.4.editorconfig
4/20OpenSSF Scorecard: CI-Tests — 1 out of 4 merged PRs checked by a CI test -- score normalized to 2
Verwendete Eingangsdaten
has_cija
has_testsja
has_editorconfignein
has_linter_confignein
has_precommit_confignein
Wie die Bewertung erfolgt
30/30README
0/25Dokumentationsverzeichnis
15/15Dokumentations-/Homepage-Site — https://ao.aiolaola.com/experts
10/10Repository-Beschreibung
10/10Topics — 19 Topics
0/10Wiki
Verwendete Eingangsdaten
topicsai-agents, chinese, claude, llm, prompt-engineering, copilot-agent, cursor-rules, qwen, system-prompt, claude-code, agent-definitions, ai-roles, deepseek, multi-agent, no-code, workflow, agency-orchestrator, hermes-agent, workbuddy
has_wikinein
homepagehttps://ao.aiolaola.com/experts
has_readmeja
has_docs_dirnein
has_descriptionja

Sicherheit

Sind die sichtbaren Sicherheits- und Lieferkettenpraktiken belastbar, ohne ungeklärte Exposition gegenüber Hochrisikojurisdiktionen?

40Gefährdet · 16 % des Gesamtindex

Sicherheitslage

40Gefährdet
Wie die Bewertung erfolgt
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
0.5/2.5CI-Tests — 1 out of 4 merged PRs checked by a CI test -- score normalized to 2
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0.8/7.5Code-Review — Found 3/28 approved changesets -- score normalized to 1
0.8/2.5Contributors — project has 1 contributing companies or organizations -- score normalized to 3
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Lizenz — license file detected
7.5/7.5Maintained — 30 commit(s) and 18 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — keine Daten
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — keine Daten
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Verwendete Eingangsdaten
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate4
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): packaging, signed_releases. Die verbleibenden Gewichte wurden renormalisiert.

AI Readiness

Wie gut ist das Repository dafür ausgestattet, mit KI-Coding-Agenten entwickelt und gepflegt zu werden? Ein unabhängiges, experimentelles Badge — Gewicht 0,0, es wird eigenständig ausgewiesen und verändert den Gesamt-Gesundheitswert nicht.

39Gefährdet · 0 % des Gesamtindex
Wie die Bewertung erfolgt
0/45Agentenanweisungen — keine CLAUDE.md / AGENTS.md / Editor-Regeln
0/15Maschinenlesbare Doku (llms.txt)
40/40Lesbare Commit-Historie — 98 von 100 menschlichen Commits benennen ihre Absicht (strukturierter Betreff oder erläuternder Text)
Verwendete Eingangsdaten
has_llms_txtnein
legible_history_share0,98
agent_instruction_files
agent_instruction_max_bytes
Wie die Bewertung erfolgt
0/18Bootstrap mit einem Befehl
22/22Automatisierte Tests
0/11Lint-/Format-Konfiguration
0/11Statische Typprüfung
0/10Reproduzierbare Umgebung
10/10Belegte Agentenpraxis — 27 der letzten 100 Commits von Agenten verfasst oder ihnen zugeschrieben
0/8Automatisierte Wartung — keine automatisierten Abhängigkeits-Updates beobachtet
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Verwendete Eingangsdaten
has_nixnein
has_testsja
lockfiles
has_dockerfilenein
typed_languagenein
bootstrap_files
has_devcontainernein
has_linter_confignein
typecheck_configs
agent_commit_share0,27
toolchain_manifests
dependency_bot_commit_share0
Wie die Bewertung erfolgt
0/45Typprüfbarer Code — Shell ohne Typprüfungs-Konfiguration
55/55Handhabbare Dateigrößen — 0/1 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languageShell
largest_source_bytes2.114
source_files_sampled1
oversized_source_files0
Wie die Bewertung erfolgt
0/40API-Schema (OpenAPI/GraphQL/proto)
0/20MCP-Server
40/40Lauffähige Beispiele — examples
Verwendete Eingangsdaten
example_dirsexamples
has_mcp_signalnein
api_schema_files

Eckdaten

18.299GitHub-Sterne
14Mitwirkende
211Commits, letzte 12 Monate
1Tage seit letztem Push
6Releases
1Bus-Faktor
2offene Issues
npmPaket-Ökosysteme

Warnungen zur Datenerhebung

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

Weitere Details

Stern- und Fork-Verlauf 0 ★ / 3.053 ⇿
0Sterne
3.053Forks
5Releases

Wann jeder Stern und Fork hinzugefügt wurde, von GitHub erfasst und nach Tagen gruppiert. Das kumulierte Wachstum steht direkt über den täglichen Zugängen, aus denen es besteht, sodass beide gegeneinander lesbar sind: stetiger organischer Zuwachs sieht ganz anders aus als ein abrupter, kurzlebiger Ausschlag. Wo dieser Unterschied messbar ist, wird er als Wachstumsauthentizität ausgewiesen.

Es wird nur die jüngste Historie angezeigt — dieses Repository überschreitet das Erfassungsfenster, sodass die früheste Historie nicht erfasst wird.

2.0002.2002.4002.6002.8003.0003.2003.053352026-052026-062026-07
Major 0Minor 0Patch 5
OpenSSF Scorecard 4.0 / 10
4.0Gesamtwert

Unabhängige, werkzeugneutrale Sicherheitsbewertung durch das quelloffene OpenSSF Scorecard. Jede Prüfung honoriert eine Sicherheits-Praxis, nicht das Werkzeug eines bestimmten Anbieters. Prüfungen, die Scorecard nicht ermitteln konnte, sind mit k. A. markiert und vom Sicherheitswert ausgeschlossen (nie als null gezählt).Scorecard v5.5.0 · 2026-07-25 10:18 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
2CI-Tests1 out of 4 merged PRs checked by a CI test -- score normalized to 2
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
1Code-ReviewFound 3/28 approved changesets -- score normalized to 1
3Contributorsproject has 1 contributing companies or organizations -- score normalized to 3
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 18 issue activity found in the last 90 days -- score normalized to 10
k. A.Packagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
k. A.Signed-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
10Vulnerabilities0 existing vulnerabilities detected
Alle Abhängigkeiten nicht erhoben

Der aufgelöste Abhängigkeitssatz konnte für diesen Bericht nicht erhoben werden: GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

JSON-Rohbericht maschinenlesbar
{
  "data": {
    "repo": {
      "topics": [
        "ai-agents",
        "chinese",
        "claude",
        "llm",
        "prompt-engineering",
        "copilot-agent",
        "cursor-rules",
        "qwen",
        "system-prompt",
        "claude-code",
        "agent-definitions",
        "ai-roles",
        "deepseek",
        "multi-agent",
        "no-code",
        "workflow",
        "agency-orchestrator",
        "hermes-agent",
        "workbuddy"
      ],
      "is_fork": false,
      "size_kb": 3899,
      "has_wiki": false,
      "homepage": "https://ao.aiolaola.com/experts",
      "languages": {
        "Shell": 79488,
        "JavaScript": 2114,
        "PowerShell": 36932
      },
      "pushed_at": "2026-07-23T11:40:36Z",
      "created_at": "2026-03-06T11:11:51Z",
      "owner_type": "User",
      "updated_at": "2026-07-25T10:09:48Z",
      "description": "🎭 267 个即插即用的 AI 专家角色 — 支持 Hermes Agent/Claude Code/Cursor/Copilot 等 18 种工具,覆盖工程/设计/营销/金融等 20 个部门。含 52 个中国市场原创智能体(小红书/抖音/微信/飞书/钉钉等)。搭配编排器 agency-orchestrator,一句话即可让多位专家按 DAG 自动协作。",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "Shell",
      "significant_languages": [
        "Shell",
        "PowerShell"
      ]
    },
    "owner": {
      "blog": null,
      "name": "AI不止语",
      "type": "User",
      "login": "jnMetaCode",
      "company": " jnMetaCode@qq.com",
      "location": null,
      "followers": 688,
      "avatar_url": "https://avatars.githubusercontent.com/u/12096460?v=4",
      "created_at": "2015-04-24T08:21:49Z",
      "is_verified": null,
      "public_repos": 121,
      "account_age_days": 4110
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v1.2.6",
          "kind": "patch",
          "published_at": "2026-06-16T17:58:53Z"
        },
        {
          "tag": "v1.2.5",
          "kind": "patch",
          "published_at": "2026-06-16T17:54:42Z"
        },
        {
          "tag": "v1.2.4",
          "kind": "patch",
          "published_at": "2026-06-16T15:56:12Z"
        },
        {
          "tag": "v1.2.3",
          "kind": "patch",
          "published_at": "2026-06-16T12:33:08Z"
        },
        {
          "tag": "v1.2.2",
          "kind": "patch",
          "published_at": "2026-06-16T12:02:59Z"
        },
        {
          "tag": "v1.2.0",
          "kind": "minor",
          "published_at": "2026-05-05T15:21:36Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "77f3f4c1477702e66ab56b1bf54e9b922c9d46db",
          "body": null,
          "is_bot": false,
          "headline": "README(繁體):新增免費配套課程導流(連結繁體站雙課)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-23T11:40:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1d2345927e4a70c426472c37771e31f9333d7e0a",
          "body": null,
          "is_bot": false,
          "headline": "README:配套课程导流升级为双课(编程180节+智能体40节)并附6语言站入口;去掉绝对化的「永久免费」表述 (#101)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-23T07:03:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e7d7fa6c58c849d30b5f4d8cb0461966b8b873fd",
          "body": null,
          "is_bot": false,
          "headline": "docs: 更新多元探索 banner 为暖橙波浪版",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-22T09:52:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cf086f76a225f7b287db0953940f76df6df8d1e3",
          "body": "- 还原 PR #99 误改的 GitHub Actions 工作流 name(Detection Engineering Pipeline),仅保留 frontmatter 消歧\n- PR #100 新增香港股市合规审查专家后,补齐计数一致性:总数 268、中国市场原创 53、金融部 9\n- 同步 README / README.zh-TW / AGENT-LIST 全部计数引用",
          "is_bot": false,
          "headline": "fix: 合并 PR #99/#100 后修正回归与计数",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-20T03:45:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9e85d0beeb3d9d4b9991c9220779a8972684600c",
          "body": "feat: add Hong Kong Stock Market Compliance Reviewer agent",
          "is_bot": false,
          "headline": "Merge PR #100: 新增香港股市合规审查专家",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-20T03:37:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ef4dc0b77864b173b85ad0c071b0f54958cfee10",
          "body": "fix: 消除重复的 agent frontmatter name(威胁检测/招聘)",
          "is_bot": false,
          "headline": "Merge PR #99: 消除重复的 agent frontmatter name(威胁检测/招聘)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-20T03:37:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "18b993057c892195f817d24e451a31d788de6581",
          "body": "- New agent: Hong Kong Stock Market Compliance Review Expert (香港股市合规审查专家)\n- Covers HKEX Listing Rules, SFO Cap.571, Companies Ordinance Cap.622\n- Provides pre-IPO compliance review, continuing obligations advisory,\n  connected transaction compliance, disclosure review, and regulatory\n  response guid\n[…]\n ratio test quick reference, compliance checklists\n  for prospectus review, connected transactions, and disclosure\n- Full integration: CATALOG.md and AGENT-LIST.md updated\n- Category: Finance (中国市场原创)",
          "is_bot": false,
          "headline": "feat: add Hong Kong Stock Market Compliance Reviewer agent",
          "author_name": "vieuxloup",
          "author_login": "vieuxloup",
          "committed_at": "2026-07-20T01:34:23Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6d446b28c802f7ffbbe7885e22b43aa0561d1043",
          "body": null,
          "is_bot": false,
          "headline": "docs: npm 版本徽章(包已随 AO 依赖长期发布,徽章一直缺失)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-19T14:30:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "465aa4a5a40a376e9ef6c2e151889997992215b9",
          "body": "国内网络工程师(8e2895e)加入后未更新计数,check:counts 门禁一直红着,\n卡住发布。本次补齐:\n\n- AGENT-LIST.md:头部总数/概览框/工程部(42)/两处总计/来源统计,并补上\n  该角色的工程部表格条目(此前完全缺失)\n- CATALOG.md:工程部 (42) + 新角色速查行\n- README.md / README.zh-TW.md:项目规模表 267/215/52,全部散落的 266\n  与一处更早滞后的 216、原创 50 一并修正\n- package.json:描述 267,版本 bump 1.2.7(check:counts 已绿,发布待批)",
          "is_bot": false,
          "headline": "chore(release): 计数补齐至 267 + v1.2.7 发布准备",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-19T10:58:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c8eaedbc7f181afb770ba92bb3f8ed37873fe157",
          "body": "Two pairs shared the same `name` field, which breaks tool/agent\nregistries that key on display name (Claude Code, etc.):\n\n- 威胁检测工程师: engineering vs security\n- 招聘专家: hr vs specialized\n\nRename only the YAML `name` (body titles unchanged for readability):\n\n| File | New name |\n|---|---|\n| engineering-th\n[…]\nion-engineer | 威胁检测工程师(安全运营) |\n| hr-recruiter | 招聘专家(HR 全流程) |\n| specialized/recruitment-specialist | 人才获取专家 |\n\nAvoided 招聘运营专家 because support/support-recruitment-specialist.md\nalready uses that name.",
          "is_bot": false,
          "headline": "fix: disambiguate duplicate agent frontmatter names",
          "author_name": "yuanjia",
          "author_login": "YUANJIA",
          "committed_at": "2026-07-19T06:50:57Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "244c37a188c5e4b8fbfdc62f1786a446836eabaf",
          "body": null,
          "is_bot": false,
          "headline": "docs: 徽章行新增桌面客户端与在线体验入口",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-17T13:01:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ddd74babc567266c540c87c9f6d6a1d409f53a0f",
          "body": null,
          "is_bot": false,
          "headline": "docs: 开头介绍段新增桌面客户端引导",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-17T11:06:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2177856ec24265ed0e97fbc871efab965f58b2c0",
          "body": null,
          "is_bot": false,
          "headline": "docs: 多元探索 banner 图再次更新",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-17T10:55:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7a7d897e0ca990cf843f8557834ad28340fd18f8",
          "body": null,
          "is_bot": false,
          "headline": "docs: 更新多元探索赞助商 banner 图",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-17T10:46:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fb87156ade3f802a38d483eb9a6b5ce11c28afc8",
          "body": null,
          "is_bot": false,
          "headline": "docs: 优云智算赞助位移到最后,火山引擎下面",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-15T10:31:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "beeae74e71e2551087034db74f33b3673d09f897",
          "body": null,
          "is_bot": false,
          "headline": "docs: 新增多元探索赞助商",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-15T10:26:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8e2895e2e24279bc8a613783f06e6c74e593be4c",
          "body": "面向国产网络设备的企业网工程专家,覆盖园区网/数据中心/广域网的 VLAN、\nSTP、OSPF、BGP、VXLAN 设计与排障,含华为 VRP / 华三 Comware 配置示例、\n排障命令速查,以及信创国产化替代与等保 2.0 合规组网内容。README 工程部\n表格同步新增一行。\n\ncloses #95",
          "is_bot": false,
          "headline": "feat: 新增国内网络工程师 agent,支持华为/华三/锐捷等国产设备",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-12T13:57:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "76123f72d727a7b83025f8704572ee3ce8638576",
          "body": "add color navy and slate",
          "is_bot": false,
          "headline": "Update convert.sh (#94)",
          "author_name": "Zyx-A",
          "author_login": "Zyx-A",
          "committed_at": "2026-07-12T13:06:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "03d11b06d4b58161a50ea9af0f3418f69acdaf59",
          "body": null,
          "is_bot": false,
          "headline": "docs: 修正繁体版标题和开头结构,与简体版对齐",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-12T03:19:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "44d4d7527f9b3a8fa0cf5bb9b10098711dec96c8",
          "body": null,
          "is_bot": false,
          "headline": "docs: 火山引擎描述改回原始文案,不做改写",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-12T03:14:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "063f74a9c11f39affa63071893881481bd70262c",
          "body": null,
          "is_bot": false,
          "headline": "docs: 繁体版换行方式与简体版保持一致",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-12T03:05:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "03e4be87b696b1446b114a8932579981b77c1f6b",
          "body": null,
          "is_bot": false,
          "headline": "docs: 火山引擎优惠提示单独换行展示",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-12T03:03:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "932aa31e5401f053b86d0863a84658f8a865cf07",
          "body": null,
          "is_bot": false,
          "headline": "Update README.md",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-12T02:55:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ff087b25145fdc990e7a41f160d3f34b4d08b5e9",
          "body": null,
          "is_bot": false,
          "headline": "docs: 新增火山引擎赞助商",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-12T02:48:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9ddd3cc3d47aec1bb00d67a4594542ee0fc78b98",
          "body": null,
          "is_bot": false,
          "headline": "docs: CCSub 描述移除 DeepSeek(已下架)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-07T06:51:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0bf90638e870424f5648c031d4f5079252fe50a5",
          "body": null,
          "is_bot": false,
          "headline": "docs: Cubence 优惠码段落加粗强调",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-07T06:40:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9f663a61929fcad2988bd8f54773496a2bab31fb",
          "body": null,
          "is_bot": false,
          "headline": "docs: 恢复 Cubence 原始描述文案",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-07T06:36:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "71d8971b357074b0996e2b826175e59a87bbb211",
          "body": null,
          "is_bot": false,
          "headline": "docs: 赞助商优惠提示合并回正文,不单独换行",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-07T05:49:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0b395e12db223d686a6c95d0ace47cebff12ee49",
          "body": null,
          "is_bot": false,
          "headline": "docs: 新增 CCSub 赞助商,Cubence 优惠码单独换行高亮",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-07T05:25:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7a9eaf35b6fc39d7ed2d2670145a038b8a129880",
          "body": null,
          "is_bot": false,
          "headline": "docs: 新增 Cubence 赞助商",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-06T07:37:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "033fd332f4dce30fb28eab29f38141d8626eb7d4",
          "body": "拆回两张独立表格(不再共用列宽,避免和优云智算强制同宽的限制),\nRootFlowAI 图片列宽度独立设为 25%,图片本身填满该列(不再额外\n用 img width 缩小),文字列相应扩到 75%,起始位置更靠左。",
          "is_bot": false,
          "headline": "fix: RootFlowAI 图片再缩小,文字列往左移",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-05T05:57:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "add50ea3fe10699b66c1b17171aacfb23e26f47a",
          "body": "上一版用 colspan + 嵌套 <table> 来给 RootFlowAI 单独控制图片列宽度,\nGitHub 的 markdown 渲染器不能正确处理这种嵌套表格,导致实际页面上\n布局错位(图片和文字没有正确分栏)。改回和优云智算一样的扁平双行\n表格结构,图片列宽度保持一致(55%/45%),RootFlowAI 图片本身用\nwidth=\"65%\" 显得比优云智算的略小。",
          "is_bot": false,
          "headline": "fix: 修复 RootFlowAI 赞助区块在 GitHub 上的表格渲染错位",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-05T05:50:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "232dc05337a0bf9939515127aa886ccd88c40a49",
          "body": "优云智算和 RootFlowAI 中间由粗分隔线改为表格自带的细边框线,\nAPINEBULA 与优云智算之间的粗线保持不变;RootFlowAI 优惠文案并入\n正文同段落,去掉多余空行。",
          "is_bot": false,
          "headline": "docs: RootFlowAI 与优云智算合并进同一张表格",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-05T05:46:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ff061fcee1928cc53170037fa7b0fd39b08ac2c2",
          "body": "聚合 Claude/GPT/Gemini 等大模型 API 的聚合平台,采用图左文右布局\n(图片列 35%,小于优云智算的 55%),中英文 README 同步更新。",
          "is_bot": false,
          "headline": "docs: 上线 RootFlowAI 赞助商区块",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-05T04:40:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fcf6da4a8065b01a5c26a9aec5f90d89586a78c4",
          "body": null,
          "is_bot": false,
          "headline": "docs: 优云智算赞助文案补充支持GLM5.2",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-07-01T06:54:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "80c30a09d308b0aecbb831d6b38fbd5642483e7d",
          "body": null,
          "is_bot": false,
          "headline": "docs: 主 README CTA 补 UTM + 角色数 266->216",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-20T01:50:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8cdb92b94b98fe17d668b00c82a0d29a231d30fc",
          "body": "中文+繁体 README 的\"在线体验\"入口从首页 ao.aiolaola.com 改为\n直达专家库页 /experts,与下方\"在线专家库\"卡片一致。\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(README): 在线体验链接直达 ao.aiolaola.com/experts 专家库",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-20T00:12:57Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "79ae6a7804449ffaf9f2408be10b6e80df4af09b",
          "body": "交流段:公众号二维码改左右紧凑布局",
          "is_bot": false,
          "headline": "Merge pull request #92 from jnMetaCode/chore/wechat-qr-layout",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-19T23:05:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8edc1ae0a972e4f22673db8b342a6def9c4e8777",
          "body": "aiolaola 块从顶部移回正文",
          "is_bot": false,
          "headline": "Merge pull request #93 from jnMetaCode/chore/aiolaola-top-to-body",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-19T23:04:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b8bed171c734d657ef83304fb0d325774412f190",
          "body": "去掉顶部 aiolaola:start/end 块,把免费配套学习放回正文原位置(含本仓钩子)。",
          "is_bot": false,
          "headline": "docs: aiolaola 块从顶部移回正文(顶部太靠前压住标题)",
          "author_name": "AI不止语",
          "author_login": "asdtasdt",
          "committed_at": "2026-06-19T22:56:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "91c62389f5a3d6b27dd8b3ed3484a5d13bcbc435",
          "body": "二维码与公众号文字/渠道并排,不再竖排占大段高度。原渠道内容全保留。",
          "is_bot": false,
          "headline": "docs: 交流段公众号二维码改左右紧凑布局(省竖向空间)",
          "author_name": "AI不止语",
          "author_login": "asdtasdt",
          "committed_at": "2026-06-19T22:16:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2ee3956b476ce3ad7b521029c2a0379251771378",
          "body": "去重:删正文里重复的免费配套学习行(顶部标记块已有)",
          "is_bot": false,
          "headline": "Merge pull request #91 from jnMetaCode/chore/dedup-aiolaola-block",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-19T22:11:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1139dccb138d518bcdb73c0af582ad584bffb048",
          "body": null,
          "is_bot": false,
          "headline": "docs: 去掉正文里重复的免费配套学习行(顶部 aiolaola 标记块已有)",
          "author_name": "AI不止语",
          "author_login": "asdtasdt",
          "committed_at": "2026-06-19T22:04:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4d45d73e779cace5b0daf7efd372d118baf0f026",
          "body": null,
          "is_bot": false,
          "headline": "docs: 顶部加 aiOlaOla 免费配套学习 CTA + 姐妹项目互链",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-19T19:44:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a59fa6c5b8c9885d2741b7c302a92141e0d80df7",
          "body": "配套学习文案统一(免费 + 统一书名)",
          "is_bot": false,
          "headline": "Merge pull request #90 from jnMetaCode/chore/aiolaola-unify",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-19T15:34:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b8698160822e56f8b274fe190ad98106833ed5cf",
          "body": "链接文字用「从零学会 AI 编程」(不写品牌名),统一书名《AI 编程实战三卷书》,\n与其他仓对齐。266 角色钩子保留。",
          "is_bot": false,
          "headline": "docs: 配套学习文案统一(从零学会 AI 编程 + 书名《AI 编程实战三卷书》)",
          "author_name": "AI不止语",
          "author_login": "asdtasdt",
          "committed_at": "2026-06-19T15:21:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0ba91bca2eabf9098b020b48e0568d2ddb991eb7",
          "body": "配套阅读链接改为 aiOlaOla 平台 (aiolaola.com)",
          "is_bot": false,
          "headline": "Merge pull request #89 from jnMetaCode/chore/aiolaola-link",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-19T02:43:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "524c5a866193cc5c78251fb176fe6239f245e9c2",
          "body": "原指向单本书 book.aibuzhiyu.com,改为母平台 aiOlaOla:\n180 节免费课 + 《方法论三卷书》+ 实战社区,一个账号解锁全部。角色数不变。",
          "is_bot": false,
          "headline": "docs: 配套阅读改为 aiOlaOla 平台(aiolaola.com)",
          "author_name": "AI不止语",
          "author_login": "asdtasdt",
          "committed_at": "2026-06-19T02:39:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "160ab6c640004910df32bda47024a2707097cdb8",
          "body": "- description 角色数从陈旧的 216 改为实际 266(与 README/AGENT-LIST 对齐)\n- files 白名单补上 gis/ 与 security/ 两个新部门(此前 23 个 agent 不会发到 npm)\n- check-counts.mjs 新增 package.json 描述数校验,从根因防止再次漂移\n\n已验证:JSON 合法、20 个部门目录全部存在、check-counts 266 通过、\n新校验能抓到故意注入的 999 漂移、catalog 生成器(ko/ru/ar/id/pt-BR)实测零空行。\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(package): 同步角色数 216→266,补 gis/security 到 files,并加 package.json 计数校验",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-18T19:11:42Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "6a05b7c11ddb5ab7265f7eda2bae7b1a8a375284",
          "body": "明确三类会被直接 close 的 PR:绑定具体雇主/公司品牌、在 prompt 主体\n嵌入第三方工具的 API/Plugin 说明、以翻译或新增为名的软推广改动。\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(CONTRIBUTING): 新增内容红线章节",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-18T16:49:47Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ef446efedd4ba47eb5a7af94db8560ea4a65b235",
          "body": "- generate-{ar,id,ko,pt-BR,ru}-catalog.sh:扫描区域仓 frontmatter 生成\n  CATALOG.md,覆盖全部 19 个部门(academic…supply-chain/gis/security)\n- translate-to-lang.sh:基于 Claude CLI 把上游 agency-agents 批量翻译到\n  目标语言,默认 pin 上游 commit 93f3c5f(含 gis/security 部门)\n- generate-regional-agent.sh:用 Opus 生成区域专属原创 agent\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(scripts): 新增多语言 catalog 生成与翻译/区域 agent 工具",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-18T16:49:47Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "9254572c681af4831523a17fabd43a2eb0754350",
          "body": "CodeWhale(Hmbown/CodeWhale,38k⭐,Rust 终端编程 Agent)从\n~/.codewhale/skills/<slug>/SKILL.md 加载技能,格式与 WorkBuddy/Hermes 一致。\n\n- convert.sh:新增 convert_codewhale(输出 SKILL.md,name+description frontmatter)\n  + 加入 valid_tools / tools_to_run / dispatch\n- install.sh:新增 install_codewhale(装到 ~/.codewhale/skills/)\n  +\n[…]\n令块/工具表/详细说明补 CodeWhale\n- AGENT-LIST:支持工具 17→18\n\n已端到端验证:convert 出 266 个 SKILL.md、install 到临时 HOME 成功、\nintegrations/codewhale 已被 gitignore 不会误提交。\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: 新增 CodeWhale(原 DeepSeek-TUI)工具支持 (#81)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-18T01:03:16Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "743799de4d78f06425b6d1f581581fb4f3646b83",
          "body": "Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "polish: 策略对决 → 策略对决推演师(角色名更完整),同步 CATALOG/AGENT-LIST",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-17T21:34:43Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "1e078bc2691dab9d057379be6bb4634c67149595",
          "body": "审计发现并修复:\n- README(中文+繁体)智能体阵容里 4 处死链,指向已删的\n  specialized/compliance-auditor、specialized/blockchain-security-auditor\n  → 改指 security/ 下的新路径\n- UPSTREAM.md 路径映射表 1 处陈旧目标\n  support/support-supply-chain-strategist(不存在)→ supply-chain/supply-chain-strategist\n\n全仓库复检:0 死链、与上游 parity、CATALOG 各部门计数对齐、check-counts 266、lint 0 错误。\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(docs): 修复同步遗留的死链与陈旧路径映射",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-17T21:31:16Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "96c31b3c6e261c6ed26a2852e4c0fdaa9318a123",
          "body": "同步上游 783f6a7 之后(GIS/Security 之外)零散新增的 29 个 agent:\n- engineering 6:WordPress/Drupal 购物车工程师、IT 服务经理、多智能体系统架构师、OrgScript/Prompt 工程师\n- marketing 6:AEO 基础架构师、邮件营销、全球播客、多平台发布、PR 传播、X/Twitter 情报\n- specialized 14:商业战略家、变革管理、CFO、客户成功、数据隐私官、ESG、资助申请、M&A 整合、医疗编码、运营经理、组织心理学家、个人成长导师、定价分析师、策略对决\n- design/sales/pro\n[…]\n计数:智能体 239 → 266,英文翻译 188 → 215。更新 CATALOG/AGENT-LIST/UPSTREAM/README(中文+繁体),check-counts 通过(266 一致),lint 0 错误。\n至此本仓库已覆盖上游全部 agent(文件级 parity)。\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: 补译上游零散新增 29 个 agent + 去重,达成与上游 parity",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-17T21:15:37Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "a1ad310f098c98af2863a5bbd987333af520c728",
          "body": "Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs: 姊妹项目新增 codepet(码宠 桌面养成桌宠)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-17T20:48:45Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "187c7e7d9edccd9ab148267edd0ee65c7d840de6",
          "body": "上游 783f6a7 之后新增了 gis/ 与 security/ 两个部门(对应 #572),本次同步翻译:\n- gis/ 13 个:GIS 分析师、空间数据工程师/科学家、地理处理、Web GIS、GeoAI/ML、\n  无人机实景测绘、BIM/GIS、地图制图、三维场景、质检、解决方案、技术顾问\n- security/ 10 个:应用安全、安全架构、云安全、区块链审计、合规审计、事件响应、\n  渗透测试、高级安全运营、威胁检测、威胁情报\n- 智能体总数 216 → 239,英文翻译 165 → 188,部门 → 含 GIS/安全\n- 更新 CATALOG / AGENT-LIST / U\n[…]\n体)\n- convert.sh / install.sh / lint-agents.sh 的部门目录列表加入 gis、security\n\n注:上游同期还有零散新增 agent(engineering/specialized 等)尚未同步,已在 UPSTREAM.md 记为 TODO。\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: 同步上游 GIS(13) + Security(10) 两个新部门并翻译为中文 (#86)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-17T20:16:22Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e1ca17a5a54308c4f3d8664a392f3964407d5937",
          "body": "Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(zh-TW): 项目规模数字同步到中文(197→216 智能体, 147→165 英文翻译)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-17T11:21:17Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "6b3fc99e3730a0bca9a74001308cff00a680ffe4",
          "body": "- 还原 APINEBULA 繁体文案(甲方提供,不改)\n- 新增「让角色库跑起来 · Agency Orchestrator」板块\n- 新增「在线浏览全部专家」板块 + 专家库图片\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(zh-TW): 补齐中文有而繁体缺的板块",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-17T11:13:59Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "aad37d5869aeb3af551a8b7816df791154f0581c",
          "body": "Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs: 繁体 APINEBULA 文案与中文对齐(去掉「即可」「點擊」措辞差异)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-17T11:09:39Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "e2fe8f5e4e51c473ad0bb2c9c0aff3ef64929ae9",
          "body": "Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs: 赞助商分隔线改为全宽(GitHub 忽略 hr 的 width/align)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-17T11:00:37Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "5ee8cb8c8f6dfc80392b3d1ab92ee6195e6402cf",
          "body": "Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs: 赞助商区两家之间加居中分隔线,便于区分",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-17T10:59:19Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "c84fdbfff29740409b54cb74a124223140786c33",
          "body": "- 中文 README:赞助商区标题下、优云智算上方插入 APINEBULA 全宽 banner + 文案\n- 繁体 README:原本无赞助商板块,新建完整区块(APINEBULA + 优云智算,繁体文案)\n- 新增 banner 图 assets/sponsor-apinebula.jpeg\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs: 新增赞助商 APINEBULA(大屏赞助)到中文/繁体 README",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-17T10:40:34Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "5f1cf60c41fa1b77fbe0d35404bfa0221cd47aab",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 1.2.6 — 同步移除第三方链接到 npm",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-16T17:58:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ca72ec1efba6fe99b11d408d9e02f7bf8c9d1991",
          "body": null,
          "is_bot": false,
          "headline": "docs: 移除 README 里的第三方编排 skill 链接(未核实,不在官方 README 背书)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-16T17:57:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b9e93d670f73f17bf9621a0de741d00e49e04d99",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 1.2.5 — README 在线展示区 + 精简 Orchestrator 区块同步到 npm",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-16T17:54:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "23364d8e4f854a593a1fb8ce6e412ea6106cbfcf",
          "body": null,
          "is_bot": false,
          "headline": "docs: 精简 Orchestrator 区块(已有客户端,去掉冗长表格/ASCII 块,保留核心)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-16T17:38:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "89ad8a390431110bf7e2fce41f1f2b54c260c304",
          "body": "紧凑展示(width 640)专家库画面,点击跳转 ao.aiolaola.com/experts——搜索/筛选/查看复制全部 216 位专家的提示词,无需安装。",
          "is_bot": false,
          "headline": "docs: README 新增「在线浏览全部专家」展示区(截图 + 在线专家库链接)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-16T17:08:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e3f7844fc1b5a757611d7fc91f7cf77810973274",
          "body": "手动把 AGENT-LIST.md / CATALOG.md 补到 216(加服装工厂规划工程师、修计数);\n新增 scripts/check-counts.mjs(npm run check:counts):校验文档总数与实际角色文件一致,\n防止计数再悄悄滞后;package.json 描述 215→216。",
          "is_bot": false,
          "headline": "docs: AGENT-LIST/CATALOG 补齐到 216 + 加角色计数守卫 (1.2.4)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-16T15:54:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2e4189055e59a435ee9c7c226bf66ffa8b764a56",
          "body": "角色库用户多不用命令行,Orchestrator 区块补桌面客户端(原生 App,图形界面跑这些角色)下载入口;真实角色数 216(README 同步);修正 LLM 计数为 10 家/7 免费。AGENT-LIST.md(自动生成)仍 215,待生成脚本重跑。",
          "is_bot": false,
          "headline": "docs: README 加桌面客户端下载入口 + 计数 215→216 + LLM 7免费/10总",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-16T12:32:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d2c8632e30c90929e044137f51651cf68f566857",
          "body": "README 增加社区编排方案链接(Staok/agency-agents-router-skill);版本 1.2.1→1.2.2(含 #85 翻译、#87 Hermes Windows 目录修复)。",
          "is_bot": false,
          "headline": "docs+chore: README 致谢社区编排 skill (#77) + 版本 1.2.2",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-16T12:01:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1ae077fee5f5e3c166eda6ad47a3e264dfe84907",
          "body": "install_hermes 按优先级解析目录:HERMES_HOME 环境变量 > ${LOCALAPPDATA}/hermes(Windows 新版默认) > ~/.hermes(传统)。修复 Windows 原生 Hermes Desktop 装到 LOCALAPPDATA 时 skills 读不到的问题。",
          "is_bot": false,
          "headline": "fix(install): Hermes skills 安装目录适配 Windows 原生路径 (#82) (#87)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-16T11:52:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "72ba5bbf298245d4958d2e5bd4195c90dc62af1f",
          "body": "YAML frontmatter 已是中文,但 markdown 主体全部为英文未翻译,跟其他已翻译的中文 agent 文件风格不一致。",
          "is_bot": false,
          "headline": "fix(marketing): 翻译 marketing-ai-citation-strategist 主体为中文 (#85)",
          "author_name": "CH-CV",
          "author_login": "CH-CV",
          "committed_at": "2026-06-16T11:51:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "14c437a8d84dbf7084cdd6c0ed915bbfe8b9a105",
          "body": null,
          "is_bot": false,
          "headline": "docs: 姊妹项目表新增 local-agent-toolkit(agent 本地记忆/技能/追踪三件套)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-12T23:20:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e21725941c735a84bfb520209373fb8d96fc1ade",
          "body": "Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(readme): 赞助联系入口定为显示商务邮箱(明文+mailto),最通用零门槛 (#80)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-03T15:32:01Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "0c6175b9a51471aa0e6073597ea9b02f6f6a0dc9",
          "body": "mailto 依赖默认邮件客户端,无客户端时点击无反应。改为指向预填好的\n\"赞助/商务合作\"新建 Issue 页面,点击在浏览器直接打开,100% 可用。\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(readme): 赞助联系入口改为预填 GitHub Issue 链接,点击即开、不暴露邮箱 (#79)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-03T15:21:51Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "446666801c6a641267fd9c5ad13f1835c567f9a1",
          "body": "Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(readme): 赞助联系处显示邮箱明文,避免 mailto 无默认邮件客户端时点击无反应 (#78)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-03T09:05:28Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "891d335bdfb6ac8174209f367f1941ace321db2d",
          "body": "* docs(readme): 赞助商版块移到\"这是什么\"上方并改为左右两栏紧凑版式\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\n\n* docs(readme): 赞助商版块上移到介绍区之后、Agency Orchestrator 之前(方案A)\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\n\n* docs(readme): 赞助商文案改用赞助方提供的完整原文\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthrop\n[…]\ns 4.8 <noreply@anthropic.com>\n\n* docs(readme): 赞助商标题旁加\"想出现在这里?\"招商入口,移除右栏联系行\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(readme): 优化赞助商版块(位置/版式/文案/招商入口) (#76)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-01T15:14:28Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "164fdccf4951e7dc23fc50cb8bdf6e3a050ba933",
          "body": "在\"这是什么?\"之后新增赞助商版块,含横幅图(可点击跳转)、平台介绍\n与注册 CTA:国模 Agent Plan 套餐低至 49 元/月起,支持 Claude Code/Codex/API,\n通过专属链接注册可领 5 元体验金。\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(readme): 新增赞助商版块 — 优云智算(UCloud AI 云平台) (#75)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-01T14:15:24Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "25d08118634854f7c39266e74feea8ad04af983e",
          "body": "整合并修正 #72 的内容:补充 8 类外语考试(IELTS/TOEFL、DELE、DELF、\nGoethe、JLPT、TOPIK、ТРКИ、CILS)的等级体系、学习路径与重难点,\n归整到学业规划的考试备考区,并修正原 PR 的 Markdown 列表缩进/括号格式。\n\n原始贡献:@tamatobleed (#72)\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(academic): study-planner 增加雅思托福与西/法/德/日/韩/俄/意备考策略 (#74)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-01T13:48:13Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "2949bc068c5727cba0fb941d6582d62bc357f3d6",
          "body": "…1 报错 (#73)\n\nWindows PowerShell 5.1 的 Join-Path 不支持三参数形式(-AdditionalChildPath 为 PS7+),\n改为嵌套 Join-Path 以兼容 5.1 与 7+。\n\nCloses #71\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(install): 修复 install.ps1 Gemini CLI 三参数 Join-Path 在 PowerShell 5.…",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-06-01T13:44:18Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "4eb891f88f6c8feb7eb5af09a9bf2b39f0782206",
          "body": "Kiro 自定义子智能体要求 ~/.kiro/agents/<name>.md 格式(带 YAML\nfrontmatter),而非之前的 .json + prompts/ 分离结构。\n\n修复内容:\n- convert.sh/ps1: convert_kiro 直接生成 .md 文件\n- install.sh/ps1: install_kiro 复制 .md 文件而非 .json\n\n参考:https://kiro.dev/docs/chat/subagents/",
          "is_bot": false,
          "headline": "fix(kiro): 修复 Kiro 智能体格式为 .md + YAML frontmatter (#65)",
          "author_name": "cloudQuant",
          "author_login": "cloudQuant",
          "committed_at": "2026-06-01T13:32:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "02a6eb8081b9f5d47e0f9b4103ee042eb061b799",
          "body": "* feat(supply-chain): 新增服装工厂规划工程师角色 - 全球多基地服装工厂规划专家\n\n- 覆盖牛仔/羽绒服/无痕内衣/针织四大品类产线全流程设计\n- 包含产能测算、设备选型、产线平衡、合规验厂等专业模块\n- 针对摩洛哥/柬埔寨/马达加斯加/埃及等多国场景提供本地化建议\n- 包含完整的技术交付物范例(产能测算表/Layout参数/设备对比)\n\n* Refine garment factory planning engineer role description\n\nUpdated the description of the garment factory planning engineer role to enhance clarity and remove redundancy.\n\n---------\n\nCo-authored-by: zheng <zejun.zheng@gmail.com>",
          "is_bot": false,
          "headline": "feat(supply-chain): 新增服装工厂规划工程师角色 - 全球多基地服装工厂规划专家 (#63)",
          "author_name": "jack-112",
          "author_login": "jack-112",
          "committed_at": "2026-06-01T13:32:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "13b8800f6f666e8e10ac64f67f1194d2baeefbe0",
          "body": "新仓库:https://github.com/jnMetaCode/ai-shortfilm-prompts\n内容:Mx-Shell《丧尸清道夫》5 段式提示词方法论 + Claude Code Skill\n适用:Seedance / 小云雀 / Sora / 可灵 / 即梦等视频模型",
          "is_bot": false,
          "headline": "docs: 在姊妹项目表加 ai-shortfilm-prompts",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-05-18T16:39:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "15d982ebae700e347998cad413cb479214ed4000",
          "body": null,
          "is_bot": false,
          "headline": "docs: switch book link to book.aibuzhiyu.com subdomain",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-05-14T16:09:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d732bce34fbc20ca57f86c0c09183970f76d7bdb",
          "body": "lint warning 数 51 → 28,sales/paid-media 部门全部静默通过。\n\npaid-media(7 个文件):\n  - 将 \"## 核心能力\" 统一为 \"## 核心使命与能力\"\n  - 各自新增 \"## 关键规则\"(领域定制,如审计师的\"严重程度三级\"、\n    PPC 的\"出价策略迁移成本\"、Tracking 的\"PII 一律哈希\"等纪律红线)\n\nsales(4 个文件):\n  - sales-deal-strategist: 角色定义→身份与记忆,核心能力→核心使命与能力,\n    新增关键规则(MEDDPICC 八项必齐、Compelling Event 缺失\n[…]\n核心能力→核心使命与能力,新增关键规则\n  - sales-outbound-strategist: 新增核心使命,行为准则→关键规则\n\n剩余 28 个 warning 集中在 supply-chain / specialized / 散落部门,\n属于 plan A 范围,本次未触碰。\n\nCo-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(agents): 补齐 sales + paid-media 11 个 agent 的核心使命/关键规则章节",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-05-11T15:48:04Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "28c09a74e47db04062e185622db850c1689c07ac",
          "body": "Add cross-promo block after project stats table linking to\naibuzhiyu.com (《AI 编程实战 · 方法论三卷书》). Gives the existing\naudience a path to the methodology guide that pairs with the 215\nagents in this repo.",
          "is_bot": false,
          "headline": "docs(readme): add aibuzhiyu.com companion-reading callout",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-05-09T14:14:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a80f57d83d518e7a4ff917748340fd4cd3196bbc",
          "body": "PR #61 重写 lint-agents.sh 时把章节列表改成 6 个独立项分别检查\n(\"身份\" \"核心使命\" \"关键规则\" \"Identity\" \"Core Mission\" \"Critical Rules\"),\n导致中文 agent 即使有 ## 身份/核心使命/关键规则,仍会触发\"缺少 Identity/\nCore Mission/Critical Rules\"等英文章节告警,单文件多产生 3 条无效 WARN。\n\n恢复成 3 个 OR-pattern:中英文任一匹配即视为存在。warning 数从 649 降到 51,\n剩下的全是真实需要补章节的 agent,信号噪声比恢复。\n\nCo-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(lint): 推荐章节中英文按 OR 匹配,warning 数 649→51",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-05-09T11:34:36Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "e5b0c77a3c8f6f495a1f3a32f36b92e1987511c7",
          "body": "PR #61 引入 emoji 必填 + supply-chain-strategist 重分类(support →\nsupply-chain),但 PR 本身未同步索引。本次补齐:\n\n1. engineering-mechanical-design-engineer.md 补 emoji ⚙️,\n   通过新版 lint-agents.sh 校验\n\n2. AGENT-LIST.md / CATALOG.md / README.md / README.zh-TW.md:\n   - 顶部部门统计:支持部 8→7、供应链部 3→4\n   - 底部按部门占比表:支持部 3.7%→3.3%、供应链部 \n[…]\n链部表新增 supply-chain-strategist 行\n   - 链接路径全部从 support/ 切到 supply-chain/\n\n3. 在新位置 supply-chain-strategist 的 Agent ID 同步为去掉\n   support- 前缀(与文件名一致)\n\nlint-agents.sh 全量校验:0 errors, 649 warnings, 200 files ✅",
          "is_bot": false,
          "headline": "fix: PR #61 合入后的索引同步与新 agent emoji 补齐",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-05-06T06:59:12Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "773818773caf476d21b07faa0d7f4daf257f8133",
          "body": "全部 214 角色补 emoji 字段 + lint-agents.sh 同步上游 + supply-chain-strategist\n归位(support → supply-chain)。\n\nemoji 字段供下游 agency-orchestrator 的 executor.ts 在执行日志渲染角色,\n中文版此前缺失导致输出空白。\n\nlint-agents.sh 升级:\n- emoji 加入必填 frontmatter\n- 新增 strategy 目录扫描\n- 中英文 section 标题双向兼容\n\n后续 commit 会补:support 8→7、supply-chain 3→4 索引同步,以及给\n新合入的机械设计 agent 补 emoji(lint 现要求必填)。\n\nCo-Authored-By: Holee12356 <Holee12356@users.noreply.github.com>",
          "is_bot": false,
          "headline": "feat: 补充全部角色 emoji 字段 + 新增 lint-agents.sh + 修复 supply-chain 分类 (#61)",
          "author_name": "Holee12356",
          "author_login": "Holee12356",
          "committed_at": "2026-05-06T06:56:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "785d0a9657d3271e6184b865230e642f0165503c",
          "body": "新增 1 个原创智能体(214→215,原创 49→50,工程部 34→35):\n  engineering/engineering-mechanical-design-engineer.md\n  - 通用机械产品设计专家:方案选型、传动/机构/结构件/连接设计\n  - 计算校核四件套(强度/刚度/疲劳/振动)—— 振动按 issue #60\n    要求作为重中之重单列,给出避开共振 ±20% 的硬指标\n  - DFMA 检查清单(零件数/对称化/防呆/标准件占比)\n  - GB/ISO/JIS 标准件优先 + GB/T 1800/1804/3480/T 17450 等国标体系\n  - 8 \n[…]\n运动机构/\n连接/流体气动液压/材料热处理 + 计算校核 + DFMA + 国标),#59\n由 @liliy886 提出的\"装好了不触发\"反馈定位为文档缺失。\n\nCo-Authored-By: H-i-m-s <H-i-m-s@users.noreply.github.com>\nCo-Authored-By: liliy886 <liliy886@users.noreply.github.com>",
          "is_bot": false,
          "headline": "feat: 新增机械设计工程师 + 完善 Trae 集成文档 (closes #60 #59)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-05-06T06:55:41Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f345a139b95f01395e27b629af40ea3e4d1e45c2",
          "body": null,
          "is_bot": false,
          "headline": "chore: release 1.2.0",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-05-05T15:20:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d5457b4db609e6716b67141019e9288b457a4838",
          "body": "旧版只列 10 类共 77 个,但基线声称 184,差 107 没体现。\n本轮按 783f6a7 实际目录结构补齐:\n\n- 覆盖率表新增 academic / finance / game-development / paid-media /\n  sales 五个分类,总计与基线一致(184)\n- 标注 strategy/ 是运营文档不计入智能体(消除 16 的虚增)\n- 新增\"上下游路径差异\"区块,记录 4 个改名/重组映射\n  (bilibili-content/customer-service/sales-outreach/supply-chain-strategist)\n- 中国市场原创从手列 4 个改为指向 AGENT-LIST.md 标签筛选\n- 新增\"本地额外目录\"区块(hr / legal / supply-chain,共 7 个)",
          "is_bot": false,
          "headline": "docs: 刷新 UPSTREAM.md 覆盖率表",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-05-05T07:45:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "04f181de305e7918060eaa88b7480c97abea6de5",
          "body": "新增 2 个原创智能体(212→214,原创 47→49):\n\n1. marketing/marketing-daily-news-briefing.md —— 新闻情报官(来自 PR #48)\n   - 国内外多源新闻实时采集(10+ 信源)+ 交叉验证 + 结构化简报\n   - 内容生产线第一环,下游内容创作 agent 的素材供应商\n\n2. specialized/livestock-archive-auditor.md —— 养殖档案核对员(来自 PR #52)\n   - 畜禽养殖档案 Excel + 生产日报错填漏填核对\n   - 子表独立审计、生产日报交叉核对、批号 FIFO 复核\n[…]\nOG/README/README.zh-TW/package.json 全部\n对齐到 214/49 原创/营销 36/专项 46。\n\nCo-Authored-By: 1602329415-star <1602329415-star@users.noreply.github.com>\nCo-Authored-By: HJW6686 <HJW6686@users.noreply.github.com>",
          "is_bot": false,
          "headline": "feat: 合入两个社区智能体 (closes #48 #52)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-05-02T17:20:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2676df3027289b322690298d4b42528109013334",
          "body": "工程部第 34 位成员,专注 Qt/QML 桌面上位机开发:\n- Qt Widgets/Quick 框架与线程模型(UI/通信/持久化分离)\n- QSerialPort、Modbus RTU/TCP、CAN 工业协议(含粘包/CRC/超时重传)\n- QChart/QCustomPlot 实时数据可视化(OpenGL 加速、抽稀)\n- 跨平台打包(windeployqt/AppImage)与国产化适配(麒麟/UOS/龙芯)\n\n同步索引:211→212、原创 46→47、工程部 33→34;README 双语 +\nAGENT-LIST/CATALOG/package.json 全部对齐。\n\n参考 issue #30 中 @u8-1 提出的需求与维护者给出的 agent 模板大纲。\n\nCo-Authored-By: u8-1 <u8-1@users.noreply.github.com>",
          "is_bot": false,
          "headline": "feat: 新增上位机工程师智能体 (closes #30)",
          "author_name": "AI不止语",
          "author_login": "jnMetaCode",
          "committed_at": "2026-05-02T16:02:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b9cb8369118ee845406a73c27757475bd4a55615",
          "body": "新增 Qoder 作为第 17 个支持的 AI 编程工具:\n\n- `scripts/convert.sh` 新增 `convert_qoder()` 与 `get_qoder_tools()`,按目录推荐 Qoder 工具权限\n- `scripts/install.sh` 新增 `detect_qoder()` / `install_qoder()`,安装到项目级 `.qoder/agents/`\n- README 双语同步:16→17 工具、新增 Qoder 详细安装说明\n- 实测 211 个智能体全部转换成功,frontmatter 与 Qoder SubAgent 规范一致\n\nCloses #49\n\nCo-authored-by: dougsong <dougsong@users.noreply.github.com>",
          "is_bot": false,
          "headline": "feat: 新增 Qoder 自定义子智能体支持 (#57)",
          "author_name": "zheng",
          "author_login": "dougsong",
          "committed_at": "2026-05-02T15:43:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8fdf7583a6f63f190077324c3365433613c29d2e",
          "body": ".DS_Store 是 macOS 元数据;.codex/ 是 Codex CLI 工具的项目级目录\n(install.sh 也用 .codex/agents/ 作为安装目标)。两者均不应入库。\n\nCo-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: gitignore 补 .DS_Store 与 .codex/",
          "author_name": "jiangnan",
          "author_login": "jnMetaCode",
          "committed_at": "2026-04-30T14:28:56Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "a1f13f372b2720d39d2833ea577c94db9b8fbf52",
          "body": "OpenCode 解析 frontmatter color 字段时 \"slate\" 不被支持,导致项目配置无法加载。\n改为 \"#708090\"(slate gray hex)。仓库其它智能体均使用 hex 或 OpenCode 兼容的色名,\n本文件是唯一一个用 slate 的。\n\nCo-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix: 最小变更工程师 color 改为 hex 修复 OpenCode 加载失败 (#50)",
          "author_name": "jiangnan",
          "author_login": "jnMetaCode",
          "committed_at": "2026-04-30T14:19:52Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "42ef6e0395dbc04cb2b1b0e05aaf82aa06828be6",
          "body": null,
          "is_bot": false,
          "headline": "docs: 为高 star 姊妹项目补上 star badge(本项目 + superpowers-zh)",
          "author_name": "jiangnan",
          "author_login": "jnMetaCode",
          "committed_at": "2026-04-19T12:02:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a24b28a818a0cb30839099f57184a3d755ef44f4",
          "body": null,
          "is_bot": false,
          "headline": "docs: 姊妹项目表情绪钩子回补,与 superpowers-zh 同步",
          "author_name": "jiangnan",
          "author_login": "jnMetaCode",
          "committed_at": "2026-04-19T11:50:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 6,
      "commits_last_year": 211,
      "latest_release_at": "2026-06-16T17:58:53Z",
      "latest_release_tag": "v1.2.6",
      "releases_from_tags": false,
      "days_since_last_push": 1,
      "active_weeks_last_year": 20,
      "days_since_latest_release": 38,
      "mean_days_between_releases": 8.4
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 71,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "agency-agents-zh",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "ai-agents",
            "prompts",
            "system-prompts",
            "chinese",
            "multi-agent",
            "agency-agents",
            "llm",
            "claude",
            "deepseek",
            "roles"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/agency-agents-zh",
          "is_deprecated": false,
          "latest_version": "1.2.7",
          "repository_url": "https://github.com/jnMetaCode/agency-agents-zh",
          "versions_count": 8,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 2717,
          "first_published_at": "2026-03-21T23:50:05.760000Z",
          "latest_published_at": "2026-07-19T12:47:53.261000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 5
        }
      ]
    },
    "popularity": {
      "forks": 3053,
      "stars": 18299,
      "watchers": 100,
      "fork_history": {
        "days": [
          {
            "date": "2026-05-16",
            "count": 11
          },
          {
            "date": "2026-05-17",
            "count": 24
          },
          {
            "date": "2026-05-18",
            "count": 30
          },
          {
            "date": "2026-05-19",
            "count": 32
          },
          {
            "date": "2026-05-20",
            "count": 27
          },
          {
            "date": "2026-05-21",
            "count": 35
          },
          {
            "date": "2026-05-22",
            "count": 28
          },
          {
            "date": "2026-05-23",
            "count": 12
          },
          {
            "date": "2026-05-24",
            "count": 20
          },
          {
            "date": "2026-05-25",
            "count": 17
          },
          {
            "date": "2026-05-26",
            "count": 15
          },
          {
            "date": "2026-05-27",
            "count": 24
          },
          {
            "date": "2026-05-28",
            "count": 20
          },
          {
            "date": "2026-05-29",
            "count": 11
          },
          {
            "date": "2026-05-30",
            "count": 10
          },
          {
            "date": "2026-05-31",
            "count": 8
          },
          {
            "date": "2026-06-01",
            "count": 18
          },
          {
            "date": "2026-06-02",
            "count": 13
          },
          {
            "date": "2026-06-03",
            "count": 20
          },
          {
            "date": "2026-06-04",
            "count": 17
          },
          {
            "date": "2026-06-05",
            "count": 20
          },
          {
            "date": "2026-06-06",
            "count": 11
          },
          {
            "date": "2026-06-07",
            "count": 10
          },
          {
            "date": "2026-06-08",
            "count": 18
          },
          {
            "date": "2026-06-09",
            "count": 12
          },
          {
            "date": "2026-06-10",
            "count": 14
          },
          {
            "date": "2026-06-11",
            "count": 23
          },
          {
            "date": "2026-06-12",
            "count": 9
          },
          {
            "date": "2026-06-13",
            "count": 11
          },
          {
            "date": "2026-06-14",
            "count": 6
          },
          {
            "date": "2026-06-15",
            "count": 16
          },
          {
            "date": "2026-06-16",
            "count": 11
          },
          {
            "date": "2026-06-17",
            "count": 10
          },
          {
            "date": "2026-06-18",
            "count": 8
          },
          {
            "date": "2026-06-19",
            "count": 10
          },
          {
            "date": "2026-06-20",
            "count": 6
          },
          {
            "date": "2026-06-21",
            "count": 11
          },
          {
            "date": "2026-06-22",
            "count": 12
          },
          {
            "date": "2026-06-23",
            "count": 14
          },
          {
            "date": "2026-06-24",
            "count": 10
          },
          {
            "date": "2026-06-25",
            "count": 8
          },
          {
            "date": "2026-06-26",
            "count": 8
          },
          {
            "date": "2026-06-27",
            "count": 6
          },
          {
            "date": "2026-06-28",
            "count": 17
          },
          {
            "date": "2026-06-29",
            "count": 25
          },
          {
            "date": "2026-06-30",
            "count": 25
          },
          {
            "date": "2026-07-01",
            "count": 13
          },
          {
            "date": "2026-07-02",
            "count": 17
          },
          {
            "date": "2026-07-03",
            "count": 12
          },
          {
            "date": "2026-07-04",
            "count": 11
          },
          {
            "date": "2026-07-05",
            "count": 14
          },
          {
            "date": "2026-07-06",
            "count": 8
          },
          {
            "date": "2026-07-07",
            "count": 14
          },
          {
            "date": "2026-07-08",
            "count": 8
          },
          {
            "date": "2026-07-09",
            "count": 14
          },
          {
            "date": "2026-07-10",
            "count": 16
          },
          {
            "date": "2026-07-11",
            "count": 8
          },
          {
            "date": "2026-07-12",
            "count": 5
          },
          {
            "date": "2026-07-13",
            "count": 5
          },
          {
            "date": "2026-07-14",
            "count": 10
          },
          {
            "date": "2026-07-15",
            "count": 6
          },
          {
            "date": "2026-07-16",
            "count": 11
          },
          {
            "date": "2026-07-17",
            "count": 8
          },
          {
            "date": "2026-07-18",
            "count": 15
          },
          {
            "date": "2026-07-19",
            "count": 16
          },
          {
            "date": "2026-07-20",
            "count": 18
          },
          {
            "date": "2026-07-21",
            "count": 16
          },
          {
            "date": "2026-07-22",
            "count": 8
          },
          {
            "date": "2026-07-23",
            "count": 9
          },
          {
            "date": "2026-07-24",
            "count": 10
          },
          {
            "date": "2026-07-25",
            "count": 5
          }
        ],
        "complete": false,
        "collected": 1000,
        "total_forks": 3053
      },
      "star_history": null,
      "open_issues_and_prs": 2
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 2114,
      "source_files_sampled": 1,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "package.json"
      ],
      "advisories": {
        "error": null,
        "scope": null,
        "source": null,
        "findings": [],
        "collected": false,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 0,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [],
      "all_dependencies": {
        "error": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
        "source": null,
        "packages": [],
        "collected": false,
        "truncated": false,
        "total_count": null,
        "direct_count": null,
        "indirect_count": null
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 31,
        "open_issues": 2,
        "closed_ratio": 0.957,
        "closed_issues": 45,
        "closed_unmerged_prs": 12
      },
      "bus_factor": 1,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "jnMetaCode",
          "commits": 186,
          "avatar_url": "https://avatars.githubusercontent.com/u/12096460?v=4"
        },
        {
          "type": "User",
          "login": "asdtasdt",
          "commits": 5,
          "avatar_url": "https://avatars.githubusercontent.com/u/100402768?v=4"
        },
        {
          "type": "User",
          "login": "Johnson-Jia",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/13517143?v=4"
        },
        {
          "type": "User",
          "login": "CH-CV",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/188217381?v=4"
        },
        {
          "type": "User",
          "login": "Holee12356",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/129417177?v=4"
        },
        {
          "type": "User",
          "login": "kechengzhang28",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/110980185?v=4"
        },
        {
          "type": "User",
          "login": "lizijing98",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/60205774?v=4"
        },
        {
          "type": "User",
          "login": "hobostay",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/110803307?v=4"
        },
        {
          "type": "User",
          "login": "Zyx-A",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/18498974?v=4"
        },
        {
          "type": "User",
          "login": "cloudQuant",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/164971269?v=4"
        }
      ],
      "contributors_sampled": 14,
      "top_contributor_share": 0.912
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "ci.yml",
        "lint-agents.yml",
        "sync-to-gitee.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 2,
            "reason": "1 out of 4 merged PRs checked by a CI test -- score normalized to 2",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 1,
            "reason": "Found 3/28 approved changesets -- score normalized to 1",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 3,
            "reason": "project has 1 contributing companies or organizations -- score normalized to 3",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 18 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 10,
            "reason": "0 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "77f3f4c1477702e66ab56b1bf54e9b922c9d46db",
        "ran_at": "2026-07-25T10:18:03Z",
        "aggregate_score": 4,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-23T11:40:47Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": "2026-07-23T07:03:26Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 97,
          "created_at": "2026-07-06T01:34:20Z",
          "last_comment_at": "2026-07-12T13:11:52Z",
          "last_comment_author": "jnMetaCode"
        },
        {
          "number": 102,
          "created_at": "2026-07-23T09:05:49Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/jnMetaCode/agency-agents-zh",
    "host": "github.com",
    "name": "agency-agents-zh",
    "owner": "jnMetaCode"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 67,
      "inputs": {
        "security": 40,
        "vitality": 87,
        "community": 80,
        "governance": 64,
        "engineering": 57
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 87,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "good",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 78,
            "inputs": {
              "commits_last_year": 211,
              "human_commit_share": 1,
              "days_since_last_push": 1,
              "active_weeks_last_year": 20
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 1 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 1
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "20/52 weeks with commits",
                "points": 13.8,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 20
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "211 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 211
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 18 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "releases_count": 6,
              "latest_release_tag": "v1.2.6",
              "releases_from_tags": false,
              "days_since_latest_release": 38,
              "mean_days_between_releases": 8.4
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "6 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 6
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 38 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 38
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~8.4 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 8.4
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "unverified",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": "repository_too_young",
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": null,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "maintenance record not established from the collected data",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_unverified",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "good",
        "name": "Community & Adoption",
        "value": 80,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "excellent",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 96,
            "inputs": {
              "forks": 3053,
              "stars": 18299,
              "watchers": 100,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "18,299 stars",
                "points": 60,
                "status": "met",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 18299
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "3,053 forks",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 3053
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "100 watchers",
                "points": 11.1,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "good",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 77,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 57,
            "inputs": {
              "packages": [
                "agency-agents-zh"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 2717
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "2,717 downloads/month across npm",
                "points": 45.8,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 2717,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 64,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 28,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 14,
              "top_contributor_share": 0.912
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 91% of commits",
                "points": 2,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 91
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "14 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 14
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 1 contributing companies or organizations -- score normalized to 3",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 74,
            "inputs": {
              "merged_prs": 31,
              "open_issues": 2,
              "closed_issues": 45,
              "issue_closed_ratio": 0.957,
              "closed_unmerged_prs": 12
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "96% of issues closed",
                "points": 44.7,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 96
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "31/43 decided PRs merged",
                "points": 27.6,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 31,
                      "decided": 43
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 3/28 approved changesets -- score normalized to 1",
                "points": 1.5,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "verified_domain"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 69,
            "inputs": {
              "followers": 688,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "jnMetaCode",
              "public_repos": 121,
              "account_age_days": 4110
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "personal (user) account",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_personal",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": "not applicable to user accounts",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_applicable_to_user_accounts",
                    "params": {}
                  }
                ],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "688 followers of jnMetaCode",
                "points": 20.4,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 688,
                      "login": "jnMetaCode"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "121 public repos, account ~11 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 121
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 11
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "agency-agents-zh"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 5
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 5 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "8 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 8
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "moderate",
        "name": "Engineering Quality",
        "value": 57,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 52,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "3 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "1 out of 4 merged PRs checked by a CI test -- score normalized to 2",
                "points": 4,
                "status": "partial",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 65,
            "inputs": {
              "topics": [
                "ai-agents",
                "chinese",
                "claude",
                "llm",
                "prompt-engineering",
                "copilot-agent",
                "cursor-rules",
                "qwen",
                "system-prompt",
                "claude-code",
                "agent-definitions",
                "ai-roles",
                "deepseek",
                "multi-agent",
                "no-code",
                "workflow",
                "agency-orchestrator",
                "hermes-agent",
                "workbuddy"
              ],
              "has_wiki": false,
              "homepage": "https://ao.aiolaola.com/experts",
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://ao.aiolaola.com/experts",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "19 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 19
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 40,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 40,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 4
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "1 out of 4 merged PRs checked by a CI test -- score normalized to 2",
                "points": 0.5,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 3/28 approved changesets -- score normalized to 1",
                "points": 0.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 1 contributing companies or organizations -- score normalized to 3",
                "points": 0.8,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 18 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "0 existing vulnerabilities detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 2
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "at_risk",
        "name": "AI Readiness",
        "value": 39,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.98,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "98 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 98,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "at_risk",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 32,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": false,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0.27,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "27 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 27,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "moderate",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "primary_language": "Shell",
              "largest_source_bytes": 2114,
              "source_files_sampled": 1,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Shell without a type-check config",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_typecheck_config_language",
                    "params": {
                      "language": "Shell"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/1 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 1,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "examples"
              ],
              "has_mcp_signal": false,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "examples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-25T10:18:16.288810Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/j/jnMetaCode/agency-agents-zh.svg",
  "full_name": "jnMetaCode/agency-agents-zh",
  "license_state": "standard",
  "license_spdx": "MIT"
}

Bewertungen sind Signale, keine Garantien. Sie spiegeln öffentlich sichtbare Praxis auf GitHub wider — kein Code-Audit und keine Sicherheitsgarantie.

Fehlende Daten werden ausgeschlossen und die Gewichte neu normiert, nie als null bewertet. Die Methodik ist versioniert und offen: Metriken v1.13.0, Schema v0.27.0 — vollständige Methodik · Metriken-Wiki.

Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte Statistikennpm.