痛点分析发布于 2026/05/30
痛点为 AI 基于上游原始证据的初步提炼;未包含额外中国市场检索。
痛点
在构建多智能体系统时,开发者需要手动设计每个智能体的角色、工具和协作流程,缺乏统一的元技能来抽象和复用这些配置。现有流程中,每次创建新团队都要重复定义智能体规格和技能生成逻辑,导致大量重复劳动和配置不一致。GitHub 上该仓库的 4223 颗星和 623 个 fork 表明社区对标准化智能体编排有强烈需求,但当前缺乏声明式框架来降低复杂度,使得团队协作时难以快速对齐智能体行为,增加了调试和迭代的时间成本。
README
README summary
<p align="center" <img src="harness_banner.png" alt="Harness Banner" width="600" </p
Repository
Repository metadata
- Owner
- revfactory
- License
- Apache-2.0
- Default branch
- main
- Days since created
- 65
- Days since last push
- 1
Signals
Repository signals
- Watchers
- 4,223
- Open issues
- 6
Topics
claude-codeclaude-code-pluginharnessharness-engineering
Contributors
Contributor snapshot
- Contributor count
- 5
- Top contributor share
- 0.902
- Top contributors
- revfactory, shaun0927, hnts03, hongsw, theendd-avatye
源数据· Raw Archive
- source
- GitHub Trending
- upstream_source
- github_trending
- upstream_item_id
- revfactory--harness
- daily_ranking_item_id
- dd69315c-119e-4a34-a40f-d5335c0a18ed
- rank_date
- 2026-05-31
- rank
- 5
- name
- harness
- tagline
- A meta-skill that designs domain-specific agent teams, defines specialized agents, and generates the skills they use.
- description
- A meta-skill that designs domain-specific agent teams, defines specialized agents, and generates the skills they use.
- votes_count
- 4,223
- source_url
- https://github.com/revfactory/harness
- website_url
- https://revfactory.github.io/harness/
- thumbnail_url
- https://github.com/revfactory.png
- og_image_url
- https://github.com/revfactory.png
topics
claude-codeclaude-code-pluginharnessharness-engineering
media / source-specific data
{
"topics": [
"claude-code",
"claude-code-plugin",
"harness",
"harness-engineering"
],
"is_fork": false,
"license": "Apache-2.0",
"language": "HTML",
"owner_type": "User",
"forks_total": 623,
"has_funding": false,
"is_archived": false,
"owner_login": "revfactory",
"stars_today": 80,
"stars_total": 4223,
"homepage_url": "https://revfactory.github.io/harness/",
"default_branch": "main",
"last_pushed_at": "2026-05-29T17:04:20Z",
"readme_summary": "<p align=\"center\" <img src=\"harness_banner.png\" alt=\"Harness Banner\" width=\"600\" </p",
"repo_full_name": "revfactory/harness",
"watchers_count": 4223,
"last_updated_at": "2026-05-30T22:00:14Z",
"top_contributors": [
{
"login": "revfactory",
"contributions": 37
},
{
"login": "shaun0927",
"contributions": 1
},
{
"login": "hnts03",
"contributions": 1
},
{
"login": "hongsw",
"contributions": 1
},
{
"login": "theendd-avatye",
"contributions": 1
}
],
"contributor_count": 5,
"funding_platforms": [],
"open_issues_count": 6,
"days_since_created": 65,
"created_at_on_source": "2026-03-26T21:22:07Z",
"days_since_last_push": 1,
"top_contributor_share": 0.902
}raw_payload
{
"fetched_at": "2026-05-30T22:00:33.746Z",
"trending_repo": {
"url": "https://github.com/revfactory/harness",
"name": "harness",
"rank": 5,
"forks": 623,
"owner": "revfactory",
"stars": 4223,
"fullName": "revfactory/harness",
"language": "HTML",
"avatarUrl": "https://github.com/revfactory.png",
"rawSummary": "<div class=\"float-right d-flex\">\n\n <div data-view-component=\"true\" class=\"BtnGroup d-flex\">\n <a href=\"/login?return_to=%2Frevfactory%2Fharness\" rel=\"nofollow\" data-hydro-click=\"{"event_type":"authentication.click","payload":{"location_in_page":"star button","repository_id":1193082155,"auth_type":"LOG_IN","originating_url":"https://github.com/trending?since=daily","user_id":null}}\" data-hydro-click-hmac=\"7c775099e0975a46e53b4c3a6e4bbd2dc67773f781bcdd1ef657c311a2e6c9a1\" aria-label=\"You must be signed in to star a repository\" data-view-component=\"true\" class=\"tooltipped tooltipped-sw btn-sm btn\"> <svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star v-align-text-bottom d-none d-md-inline-block mr-2 tmp-mr-2\">\n <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg><svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star mr-0 tmp-mr-0 v-align-text-bottom d-inline-block d-md-none\">\n <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg>\n <span data-view-component=\"true\" class=\"d-none d-md-inline\">\n Star\n</span>\n</a></div>\n </div>\n\n <h2 class=\"h3 lh-condensed\">\n <a data-hydro-click=\"{"event_type":"explore.click","payload":{"click_context":"TRENDING_REPOSITORIES_PAGE","click_target":"REPOSITORY","click_visual_representation":"REPOSITORY_NAME_HEADING","actor_id":null,"record_id":1193082155,"originating_url":"https://github.com/trending?since=daily","user_id":null}}\" data-hydro-click-hmac=\"e33d852b287b019e3b915443138314533cd2fe554a57080a182ac9fdb5d89168\" href=\"/revfactory/harness\" data-view-component=\"true\" class=\"Link\"><svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-repo mr-1 tmp-mr-1 color-fg-muted\">\n <path d=\"M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z\"></path>\n</svg>\n\n <span data-view-component=\"true\" class=\"text-normal\">\n revfactory /\n</span>\n harness</a> </h2>\n\n <p class=\"col-9 color-fg-muted my-1 tmp-pr-4\">\n A meta-skill that designs domain-specific agent teams, defines specialized agents, and generates the skills they use.\n </p>\n\n <div class=\"f6 color-fg-muted mt-2\">\n <span class=\"tmp-mr-3 d-inline-block ml-0 tmp-ml-0\">\n <span class=\"repo-language-color\" style=\"background-color: #e34c26\"></span>\n <span itemprop=\"programmingLanguage\">HTML</span>\n</span>\n\n\n <a href=\"/revfactory/harness/stargazers\" data-view-component=\"true\" class=\"tmp-mr-3 Link Link--muted d-inline-block\"><svg aria-label=\"star\" role=\"img\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star\">\n <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg>\n 4,223</a>\n <a href=\"/revfactory/harness/forks\" data-view-component=\"true\" class=\"tmp-mr-3 Link Link--muted d-inline-block\"><svg aria-label=\"fork\" role=\"img\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-repo-forked\">\n <path d=\"M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z\"></path>\n</svg>\n 623</a>\n <span data-view-component=\"true\" class=\"tmp-mr-3 d-inline-block\">\n Built by\n\n <a class=\"d-inline-block\" data-hydro-click=\"{"event_type":"explore.click","payload":{"click_context":"TRENDING_REPOSITORIES_PAGE","click_target":"CONTRIBUTING_DEVELOPER","click_visual_representation":"DEVELOPER_AVATAR","actor_id":null,"record_id":null,"originating_url":"https://github.com/trending/HTML?since=daily","user_id":null}}\" data-hydro-click-hmac=\"3cd88edd8fc01ec7053f442caae4ca482a462a671e046676be664f422dcdd6be\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/revfactory/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/revfactory\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/2889542?s=40&v=4\" width=\"20\" height=\"20\" alt=\"@revfactory\" /></a>\n <a class=\"d-inline-block\" data-hydro-click=\"{"event_type":"explore.click","payload":{"click_context":"TRENDING_REPOSITORIES_PAGE","click_target":"CONTRIBUTING_DEVELOPER","click_visual_representation":"DEVELOPER_AVATAR","actor_id":null,"record_id":null,"originating_url":"https://github.com/trending/HTML?since=daily","user_id":null}}\" data-hydro-click-hmac=\"3cd88edd8fc01ec7053f442caae4ca482a462a671e046676be664f422dcdd6be\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/claude/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/claude\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/81847?s=40&v=4\" width=\"20\" height=\"20\" alt=\"@claude\" /></a>\n <a class=\"d-inline-block\" data-hydro-click=\"{"event_type":"explore.click","payload":{"click_context":"TRENDING_REPOSITORIES_PAGE","click_target":"CONTRIBUTING_DEVELOPER","click_visual_representation":"DEVELOPER_AVATAR","actor_id":null,"record_id":null,"originating_url":"https://github.com/trending/HTML?since=daily","user_id":null}}\" data-hydro-click-hmac=\"3cd88edd8fc01ec7053f442caae4ca482a462a671e046676be664f422dcdd6be\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/hongsw/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/hongsw\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/1100974?s=40&v=4\" width=\"20\" height=\"20\" alt=\"@hongsw\" /></a>\n <a class=\"d-inline-block\" data-hydro-click=\"{"event_type":"explore.click","payload":{"click_context":"TRENDING_REPOSITORIES_PAGE","click_target":"CONTRIBUTING_DEVELOPER","click_visual_representation":"DEVELOPER_AVATAR","actor_id":null,"record_id":null,"originating_url":"https://github.com/trending/HTML?since=daily","user_id":null}}\" data-hydro-click-hmac=\"3cd88edd8fc01ec7053f442caae4ca482a462a671e046676be664f422dcdd6be\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/shaun0927/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/shaun0927\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/70629228?s=40&v=4\" width=\"20\" height=\"20\" alt=\"@shaun0927\" /></a>\n <a class=\"d-inline-block\" data-hydro-click=\"{"event_type":"explore.click","payload":{"click_context":"TRENDING_REPOSITORIES_PAGE","click_target":"CONTRIBUTING_DEVELOPER","click_visual_representation":"DEVELOPER_AVATAR","actor_id":null,"record_id":null,"originating_url":"https://github.com/trending/HTML?since=daily","user_id":null}}\" data-hydro-click-hmac=\"3cd88edd8fc01ec7053f442caae4ca482a462a671e046676be664f422dcdd6be\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/hnts03/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/hnts03\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/76718646?s=40&v=4\" width=\"20\" height=\"20\" alt=\"@hnts03\" /></a>\n</span>\n <span data-view-component=\"true\" class=\"d-inline-block float-sm-right\">\n <svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star\">\n <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg>\n 80 stars today\n</span> </div>",
"starsToday": 80,
"description": "A meta-skill that designs domain-specific agent teams, defines specialized agents, and generates the skills they use."
},
"snapshot_version": "github_trending_v2"
}source_raw_snapshot
{
"id": "ca4e5200-d5c0-4e34-ba1a-86176f7106f9",
"daily_ranking_item_id": "dd69315c-119e-4a34-a40f-d5335c0a18ed",
"source": "github_trending",
"external_id": "revfactory--harness",
"fetched_at": "2026-05-30T22:00:33.746Z",
"trending_page_raw": {
"url": "https://github.com/revfactory/harness",
"name": "harness",
"rank": 5,
"forks": 623,
"owner": "revfactory",
"stars": 4223,
"language": "HTML",
"full_name": "revfactory/harness",
"avatar_url": "https://github.com/revfactory.png",
"description": "A meta-skill that designs domain-specific agent teams, defines specialized agents, and generates the skills they use.",
"raw_summary": "<div class=\"float-right d-flex\">\n\n <div data-view-component=\"true\" class=\"BtnGroup d-flex\">\n <a href=\"/login?return_to=%2Frevfactory%2Fharness\" rel=\"nofollow\" data-hydro-click=\"{"event_type":"authentication.click","payload":{"location_in_page":"star button","repository_id":1193082155,"auth_type":"LOG_IN","originating_url":"https://github.com/trending?since=daily","user_id":null}}\" data-hydro-click-hmac=\"7c775099e0975a46e53b4c3a6e4bbd2dc67773f781bcdd1ef657c311a2e6c9a1\" aria-label=\"You must be signed in to star a repository\" data-view-component=\"true\" class=\"tooltipped tooltipped-sw btn-sm btn\"> <svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star v-align-text-bottom d-none d-md-inline-block mr-2 tmp-mr-2\">\n <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg><svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star mr-0 tmp-mr-0 v-align-text-bottom d-inline-block d-md-none\">\n <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg>\n <span data-view-component=\"true\" class=\"d-none d-md-inline\">\n Star\n</span>\n</a></div>\n </div>\n\n <h2 class=\"h3 lh-condensed\">\n <a data-hydro-click=\"{"event_type":"explore.click","payload":{"click_context":"TRENDING_REPOSITORIES_PAGE","click_target":"REPOSITORY","click_visual_representation":"REPOSITORY_NAME_HEADING","actor_id":null,"record_id":1193082155,"originating_url":"https://github.com/trending?since=daily","user_id":null}}\" data-hydro-click-hmac=\"e33d852b287b019e3b915443138314533cd2fe554a57080a182ac9fdb5d89168\" href=\"/revfactory/harness\" data-view-component=\"true\" class=\"Link\"><svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-repo mr-1 tmp-mr-1 color-fg-muted\">\n <path d=\"M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z\"></path>\n</svg>\n\n <span data-view-component=\"true\" class=\"text-normal\">\n revfactory /\n</span>\n harness</a> </h2>\n\n <p class=\"col-9 color-fg-muted my-1 tmp-pr-4\">\n A meta-skill that designs domain-specific agent teams, defines specialized agents, and generates the skills they use.\n </p>\n\n <div class=\"f6 color-fg-muted mt-2\">\n <span class=\"tmp-mr-3 d-inline-block ml-0 tmp-ml-0\">\n <span class=\"repo-language-color\" style=\"background-color: #e34c26\"></span>\n <span itemprop=\"programmingLanguage\">HTML</span>\n</span>\n\n\n <a href=\"/revfactory/harness/stargazers\" data-view-component=\"true\" class=\"tmp-mr-3 Link Link--muted d-inline-block\"><svg aria-label=\"star\" role=\"img\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star\">\n <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg>\n 4,223</a>\n <a href=\"/revfactory/harness/forks\" data-view-component=\"true\" class=\"tmp-mr-3 Link Link--muted d-inline-block\"><svg aria-label=\"fork\" role=\"img\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-repo-forked\">\n <path d=\"M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z\"></path>\n</svg>\n 623</a>\n <span data-view-component=\"true\" class=\"tmp-mr-3 d-inline-block\">\n Built by\n\n <a class=\"d-inline-block\" data-hydro-click=\"{"event_type":"explore.click","payload":{"click_context":"TRENDING_REPOSITORIES_PAGE","click_target":"CONTRIBUTING_DEVELOPER","click_visual_representation":"DEVELOPER_AVATAR","actor_id":null,"record_id":null,"originating_url":"https://github.com/trending/HTML?since=daily","user_id":null}}\" data-hydro-click-hmac=\"3cd88edd8fc01ec7053f442caae4ca482a462a671e046676be664f422dcdd6be\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/revfactory/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/revfactory\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/2889542?s=40&v=4\" width=\"20\" height=\"20\" alt=\"@revfactory\" /></a>\n <a class=\"d-inline-block\" data-hydro-click=\"{"event_type":"explore.click","payload":{"click_context":"TRENDING_REPOSITORIES_PAGE","click_target":"CONTRIBUTING_DEVELOPER","click_visual_representation":"DEVELOPER_AVATAR","actor_id":null,"record_id":null,"originating_url":"https://github.com/trending/HTML?since=daily","user_id":null}}\" data-hydro-click-hmac=\"3cd88edd8fc01ec7053f442caae4ca482a462a671e046676be664f422dcdd6be\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/claude/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/claude\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/81847?s=40&v=4\" width=\"20\" height=\"20\" alt=\"@claude\" /></a>\n <a class=\"d-inline-block\" data-hydro-click=\"{"event_type":"explore.click","payload":{"click_context":"TRENDING_REPOSITORIES_PAGE","click_target":"CONTRIBUTING_DEVELOPER","click_visual_representation":"DEVELOPER_AVATAR","actor_id":null,"record_id":null,"originating_url":"https://github.com/trending/HTML?since=daily","user_id":null}}\" data-hydro-click-hmac=\"3cd88edd8fc01ec7053f442caae4ca482a462a671e046676be664f422dcdd6be\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/hongsw/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/hongsw\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/1100974?s=40&v=4\" width=\"20\" height=\"20\" alt=\"@hongsw\" /></a>\n <a class=\"d-inline-block\" data-hydro-click=\"{"event_type":"explore.click","payload":{"click_context":"TRENDING_REPOSITORIES_PAGE","click_target":"CONTRIBUTING_DEVELOPER","click_visual_representation":"DEVELOPER_AVATAR","actor_id":null,"record_id":null,"originating_url":"https://github.com/trending/HTML?since=daily","user_id":null}}\" data-hydro-click-hmac=\"3cd88edd8fc01ec7053f442caae4ca482a462a671e046676be664f422dcdd6be\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/shaun0927/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/shaun0927\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/70629228?s=40&v=4\" width=\"20\" height=\"20\" alt=\"@shaun0927\" /></a>\n <a class=\"d-inline-block\" data-hydro-click=\"{"event_type":"explore.click","payload":{"click_context":"TRENDING_REPOSITORIES_PAGE","click_target":"CONTRIBUTING_DEVELOPER","click_visual_representation":"DEVELOPER_AVATAR","actor_id":null,"record_id":null,"originating_url":"https://github.com/trending/HTML?since=daily","user_id":null}}\" data-hydro-click-hmac=\"3cd88edd8fc01ec7053f442caae4ca482a462a671e046676be664f422dcdd6be\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/hnts03/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/hnts03\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/76718646?s=40&v=4\" width=\"20\" height=\"20\" alt=\"@hnts03\" /></a>\n</span>\n <span data-view-component=\"true\" class=\"d-inline-block float-sm-right\">\n <svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star\">\n <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg>\n 80 stars today\n</span> </div>",
"stars_today": 80
},
"repo_detail_raw": {
"id": 1193082155,
"url": "https://api.github.com/repos/revfactory/harness",
"fork": false,
"name": "harness",
"size": 9335,
"forks": 623,
"owner": {
"id": 2889542,
"url": "https://api.github.com/users/revfactory",
"type": "User",
"login": "revfactory",
"node_id": "MDQ6VXNlcjI4ODk1NDI=",
"html_url": "https://github.com/revfactory",
"gists_url": "https://api.github.com/users/revfactory/gists{/gist_id}",
"repos_url": "https://api.github.com/users/revfactory/repos",
"avatar_url": "https://avatars.githubusercontent.com/u/2889542?v=4",
"events_url": "https://api.github.com/users/revfactory/events{/privacy}",
"site_admin": false,
"gravatar_id": "",
"starred_url": "https://api.github.com/users/revfactory/starred{/owner}{/repo}",
"followers_url": "https://api.github.com/users/revfactory/followers",
"following_url": "https://api.github.com/users/revfactory/following{/other_user}",
"user_view_type": "public",
"organizations_url": "https://api.github.com/users/revfactory/orgs",
"subscriptions_url": "https://api.github.com/users/revfactory/subscriptions",
"received_events_url": "https://api.github.com/users/revfactory/received_events"
},
"topics": [
"claude-code",
"claude-code-plugin",
"harness",
"harness-engineering"
],
"git_url": "git://github.com/revfactory/harness.git",
"license": {
"key": "apache-2.0",
"url": "https://api.github.com/licenses/apache-2.0",
"name": "Apache License 2.0",
"node_id": "MDc6TGljZW5zZTI=",
"spdx_id": "Apache-2.0"
},
"node_id": "R_kgDORxz9Kw",
"private": false,
"ssh_url": "git@github.com:revfactory/harness.git",
"svn_url": "https://github.com/revfactory/harness",
"archived": false,
"disabled": false,
"has_wiki": true,
"homepage": "https://revfactory.github.io/harness/",
"html_url": "https://github.com/revfactory/harness",
"keys_url": "https://api.github.com/repos/revfactory/harness/keys{/key_id}",
"language": "HTML",
"tags_url": "https://api.github.com/repos/revfactory/harness/tags",
"watchers": 4223,
"blobs_url": "https://api.github.com/repos/revfactory/harness/git/blobs{/sha}",
"clone_url": "https://github.com/revfactory/harness.git",
"forks_url": "https://api.github.com/repos/revfactory/harness/forks",
"full_name": "revfactory/harness",
"has_pages": true,
"hooks_url": "https://api.github.com/repos/revfactory/harness/hooks",
"pulls_url": "https://api.github.com/repos/revfactory/harness/pulls{/number}",
"pushed_at": "2026-05-29T17:04:20Z",
"teams_url": "https://api.github.com/repos/revfactory/harness/teams",
"trees_url": "https://api.github.com/repos/revfactory/harness/git/trees{/sha}",
"created_at": "2026-03-26T21:22:07Z",
"events_url": "https://api.github.com/repos/revfactory/harness/events",
"has_issues": true,
"issues_url": "https://api.github.com/repos/revfactory/harness/issues{/number}",
"labels_url": "https://api.github.com/repos/revfactory/harness/labels{/name}",
"merges_url": "https://api.github.com/repos/revfactory/harness/merges",
"mirror_url": null,
"updated_at": "2026-05-30T22:00:14Z",
"visibility": "public",
"archive_url": "https://api.github.com/repos/revfactory/harness/{archive_format}{/ref}",
"commits_url": "https://api.github.com/repos/revfactory/harness/commits{/sha}",
"compare_url": "https://api.github.com/repos/revfactory/harness/compare/{base}...{head}",
"description": "A meta-skill that designs domain-specific agent teams, defines specialized agents, and generates the skills they use.",
"forks_count": 623,
"is_template": false,
"open_issues": 6,
"branches_url": "https://api.github.com/repos/revfactory/harness/branches{/branch}",
"comments_url": "https://api.github.com/repos/revfactory/harness/comments{/number}",
"contents_url": "https://api.github.com/repos/revfactory/harness/contents/{+path}",
"git_refs_url": "https://api.github.com/repos/revfactory/harness/git/refs{/sha}",
"git_tags_url": "https://api.github.com/repos/revfactory/harness/git/tags{/sha}",
"has_projects": true,
"releases_url": "https://api.github.com/repos/revfactory/harness/releases{/id}",
"statuses_url": "https://api.github.com/repos/revfactory/harness/statuses/{sha}",
"allow_forking": true,
"assignees_url": "https://api.github.com/repos/revfactory/harness/assignees{/user}",
"downloads_url": "https://api.github.com/repos/revfactory/harness/downloads",
"has_downloads": true,
"languages_url": "https://api.github.com/repos/revfactory/harness/languages",
"network_count": 623,
"default_branch": "main",
"milestones_url": "https://api.github.com/repos/revfactory/harness/milestones{/number}",
"stargazers_url": "https://api.github.com/repos/revfactory/harness/stargazers",
"watchers_count": 4223,
"deployments_url": "https://api.github.com/repos/revfactory/harness/deployments",
"git_commits_url": "https://api.github.com/repos/revfactory/harness/git/commits{/sha}",
"has_discussions": false,
"subscribers_url": "https://api.github.com/repos/revfactory/harness/subscribers",
"contributors_url": "https://api.github.com/repos/revfactory/harness/contributors",
"issue_events_url": "https://api.github.com/repos/revfactory/harness/issues/events{/number}",
"stargazers_count": 4223,
"subscription_url": "https://api.github.com/repos/revfactory/harness/subscription",
"temp_clone_token": null,
"collaborators_url": "https://api.github.com/repos/revfactory/harness/collaborators{/collaborator}",
"has_pull_requests": true,
"issue_comment_url": "https://api.github.com/repos/revfactory/harness/issues/comments{/number}",
"notifications_url": "https://api.github.com/repos/revfactory/harness/notifications{?since,all,participating}",
"open_issues_count": 6,
"subscribers_count": 32,
"web_commit_signoff_required": false,
"pull_request_creation_policy": "all"
},
"readme_raw": {
"summary": "<p align=\"center\" <img src=\"harness_banner.png\" alt=\"Harness Banner\" width=\"600\" </p",
"raw_text": "<p align=\"center\">\n <img src=\"harness_banner.png\" alt=\"Harness Banner\" width=\"600\">\n</p>\n\n<p align=\"center\">\n <img src=\"https://img.shields.io/badge/Version-1.2.0-brightgreen.svg\" alt=\"Version\">\n <a href=\"LICENSE\"><img src=\"https://img.shields.io/badge/License-Apache_2.0-blue.svg\" alt=\"License\"></a>\n <img src=\"https://img.shields.io/badge/Claude_Code-Plugin-purple.svg\" alt=\"Claude Code Plugin\">\n <img src=\"https://img.shields.io/badge/Patterns-6_Architectures-orange.svg\" alt=\"6 Architecture Patterns\">\n <img src=\"https://img.shields.io/badge/Mode-Agent_Teams-green.svg\" alt=\"Agent Teams\">\n <a href=\"https://github.com/revfactory/harness/stargazers\"><img src=\"https://img.shields.io/github/stars/revfactory/harness?style=social\" alt=\"GitHub Stars\"></a>\n</p>\n\n<p align=\"center\">\n <a href=\"#category--where-harness-sits\"><img src=\"https://img.shields.io/badge/Layer-L3%20Meta--Factory-orange\" alt=\"Layer\"></a>\n <a href=\"#category--where-harness-sits\"><img src=\"https://img.shields.io/badge/Sub--layer-Team--Architecture%20Factory-teal\" alt=\"Sub-layer\"></a>\n <a href=\"#\"><img src=\"https://img.shields.io/badge/README-EN%20%7C%20KO%20%7C%20JA-lightgrey\" alt=\"i18n\"></a>\n</p>\n\n# Harness — The Team-Architecture Factory for Claude Code\n\n**English** | [한국어](README_KO.md) | [日本語](README_JA.md)\n\n> **Harness is a team-architecture factory for Claude Code.** Say **\"build a harness for this project\"** (English) or **\"하네스 구성해줘\"** (한국어) or **\"ハーネスを構成して\"** (日本語), and the plugin turns your domain description into an agent team and the skills they use — picked from six pre-defined team-architecture patterns.\n\n## Overview\n\nHarness leverages Claude Code's agent team system to decompose complex tasks into coordinated teams of specialized agents. Say \"build a harness for this project\" and it automatically generates agent definitions (`.claude/agents/`) and skills (`.claude/skills/`) tailored to your domain.\n\n## Category — Where Harness Sits\n\nHarness lives at the **L3 Meta-Factory** layer of th",
"raw_text_truncated": true
},
"contributors_raw": {
"truncated": false,
"contributors": [
{
"type": "User",
"login": "revfactory",
"html_url": "https://github.com/revfactory",
"contributions": 37
},
{
"type": "User",
"login": "shaun0927",
"html_url": "https://github.com/shaun0927",
"contributions": 1
},
{
"type": "User",
"login": "hnts03",
"html_url": "https://github.com/hnts03",
"contributions": 1
},
{
"type": "User",
"login": "hongsw",
"html_url": "https://github.com/hongsw",
"contributions": 1
},
{
"type": "User",
"login": "theendd-avatye",
"html_url": "https://github.com/theendd-avatye",
"contributions": 1
}
]
},
"funding_raw": {
"path": null,
"exists": false,
"content": null
},
"stats_raw": {
"forks_total": 623,
"stars_today": 80,
"stars_total": 4223,
"watchers_count": 4223,
"open_issues_count": 6
},
"aux_raw": {
"selected_fields": {
"topics": [
"claude-code",
"claude-code-plugin",
"harness",
"harness-engineering"
],
"is_fork": false,
"license": "Apache-2.0",
"language": "HTML",
"owner_type": "User",
"forks_total": 623,
"has_funding": false,
"is_archived": false,
"owner_login": "revfactory",
"stars_today": 80,
"stars_total": 4223,
"homepage_url": "https://revfactory.github.io/harness/",
"default_branch": "main",
"last_pushed_at": "2026-05-29T17:04:20Z",
"readme_summary": "<p align=\"center\" <img src=\"harness_banner.png\" alt=\"Harness Banner\" width=\"600\" </p",
"repo_full_name": "revfactory/harness",
"watchers_count": 4223,
"last_updated_at": "2026-05-30T22:00:14Z",
"top_contributors": [
{
"login": "revfactory",
"contributions": 37
},
{
"login": "shaun0927",
"contributions": 1
},
{
"login": "hnts03",
"contributions": 1
},
{
"login": "hongsw",
"contributions": 1
},
{
"login": "theendd-avatye",
"contributions": 1
}
],
"contributor_count": 5,
"funding_platforms": [],
"open_issues_count": 6,
"days_since_created": 65,
"created_at_on_source": "2026-03-26T21:22:07Z",
"days_since_last_push": 1,
"top_contributor_share": 0.902
}
},
"selection_meta": {
"readme_status": "ok",
"funding_status": "ok",
"missing_enrichment": [],
"repo_detail_status": "ok",
"contributors_status": "ok"
},
"created_at": "2026-05-30T22:00:35.830Z",
"updated_at": "2026-05-30T22:00:35.830Z"
}