[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M765AMMB570DN8W0W91YYWM6":3,"skill-same:01M765AMMB570DN8W0W91YYWM6":54},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":29,"ownerHtmlUrl":30,"ownerBlogUrl":31,"ownerDescription":32,"updatedAt":33,"install":34,"resources":47},"01M765AMMB570DN8W0W91YYWM6","test",null,"Run tests and auto-fix failures. Detects the test framework, executes tests, and iterates on fixes until all pass.","hashgraph-online\u002Fawesome-codex-plugins","hashgraph-online","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F160371962?v=4","01M6CNB6NRJVNNGN14TR01Q6D3","HOL (Hashgraph Online)","01M6JT1HSKKG9V68KQAQGBA7XP",1575,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FThis-HW\u002Fhiway-kit\u002Fskills\u002Ftest\u002FSKILL.md",[],[],"2026-11-12 13:55:43",false,"---\nname: test\ndescription: Run tests and auto-fix failures. Detects the test framework, executes tests, and iterates on fixes until all pass.\n---\n\n# 테스트 실행\n\n호출되면 바로 파이프라인을 시작한다. 단계가 바뀔 때 한 줄로 진행을 알린다.\n\n대상: $ARGUMENTS\n\n---\n\n## 파이프라인 구조\n\n```\n테스트 실행 (Bash) → 결과 판독 (이 세션, 러너 요약 줄·종료코드)\n                          │ 실패가 있으면\n                          ▼\n                    fix-bugs 위임 → 수정 반영 확인 → 재실행\n                    (전부 통과 · 또는 아래 상한에서 중단)\n```\n\n---\n\n## 1단계: 프로젝트 타입 감지 및 테스트 실행\n\n프로젝트에 맞는 테스트 명령 실행:\n\n```bash\n# Python 프로젝트\npytest $ARGUMENTS -v --tb=short\n\n# Node.js 프로젝트\nnpm test $ARGUMENTS\n\n# Go 프로젝트\ngo test $ARGUMENTS .\u002F...\n\n# Rust 프로젝트\ncargo test $ARGUMENTS\n```\n\n---\n\n## 위임 수단이 없는 하네스 — 강등 경로\n\n아래 `subagent_type:` 블록은 운송 수단일 뿐이고, 불변식은 블록의 `prompt:` 계약(검사 항목·출력\n형식·완료 선언)이다. 쓸 수 있는 수단을 호스트에 확인하고 위에서부터 한 칸씩 내려간다:\n**① 네이티브 서브에이전트**(블록 그대로) → **② 호스트의 다른 격리 위임 수단**(에이전트 정의\n본문 `\u003C플러그인 루트>\u002Fagents\u002F\u003C이름>.md` 를 **요약 없이** 넘기고 뒤에 `prompt:` 를\n붙인다 — 플러그인 루트 탐색은 `skills\u002Fplan-task\u002Freferences\u002Ftask-tools-fallback.md` §A. 회신 요약이 아니라 계약\n산출물로 판정한다) → **③ 이 세션에서 같은 계약을 직접 수행.** 수단이 없다고 단계를 건너뛰거나\n하지 않은 위임을 했다고 보고하지 않는다. ③은 격리가 없다 — 판정을 요약으로 대체하지 말고 테스트 러너의 실제 마지막 줄을 그대로 인용한다(종료코드를 파이프로 죽이지 말 것).\n\n## 2단계: 결과 검증\n\n러너의 요약 줄과 종료 코드를 직접 읽어 통과\u002F실패\u002F스킵 수를 확정한다(별도 에이전트 불필요).\n실패가 있으면 실패 출력을 그대로 3단계로 넘긴다 — 원인 분석은 fix-bugs 가 한다.\n\n---\n\n## 3단계: 실패 시 버그 수정\n\n실패가 있으면 fix-bugs 에이전트로 수정한다. **`fix-bugs` 는 `isolation: worktree` 라 수정이 격리 트리에\n남는다** — 이 세션의 트리에서 재실행하면 옛 코드를 검증한다. 그래서 위임 뒤에 **수정을 이 세션에\n반영**(에이전트가 돌려준 diff\u002F브랜치를 적용·병합)한 다음에만 재실행한다. 반영 방법은 호스트와\n`rules\u002Fparallel-worktree.md` 의 반환·통합 절을 따른다. 반영하지 못했으면 \"수정 미반영 — 재실행 불가\"로\n보고하고 멈춘다(재실행 결과를 수정 효과로 읽지 않는다).\n\n```\nTask tool 사용:\nsubagent_type: fix-bugs\nmodel: sonnet\nprompt: |\n  다음 테스트 실패를 수정해주세요:\n  [실패한 테스트 출력]\n\n  각 실패에 대해:\n  1. 실패한 테스트명\n  2. 에러 메시지\n  3. 예상 vs 실제 값\n  4. 코드 수정\n```\n\n---\n\n### 재시도 상한 [건너뛰기 금지]\n\n\"전부 통과할 때까지\"는 **무한 루프**다. 수정→반영→재실행을 **최대 3회**까지만 돌리고, 아래 중 하나면\n그 자리에서 멈춰 현재 상태(남은 실패·시도한 수정·마지막 러너 출력)를 사용자에게 보고한다:\n\n- 3회째 재실행에서도 실패가 남았다\n- **무진전 2회** — 연속 두 번의 재실행에서 실패한 테스트 집합이 줄지 않았다(같거나 늘었다)\n- 같은 테스트가 같은 메시지로 반복 실패한다(원인을 못 건드리고 있다는 신호다)\n\n(`rules\u002Floop-engineering.md` 의 안티-런어웨이 가드와 같은 취지다.)\n\n---\n\n## 출력 형식\n\n### 테스트 결과\n\n| 항목      | 결과 |\n| --------- | ---- |\n| 총 테스트 | N개  |\n| 통과      | N개  |\n| 실패      | N개  |\n| 스킵      | N개  |\n\n### 실패 상세 (있으면)\n\n[테스트별 원인과 수정 방안]\n\n### 수정 결과 (실패 시)\n\n[fix-bugs 에이전트 적용 결과]\n","# 테스트 실행\n\n호출되면 바로 파이프라인을 시작한다. 단계가 바뀔 때 한 줄로 진행을 알린다.\n\n대상: $ARGUMENTS\n\n---\n\n## 파이프라인 구조\n\n```\n테스트 실행 (Bash) → 결과 판독 (이 세션, 러너 요약 줄·종료코드)\n                          │ 실패가 있으면\n                          ▼\n                    fix-bugs 위임 → 수정 반영 확인 → 재실행\n                    (전부 통과 · 또는 아래 상한에서 중단)\n```\n\n---\n\n## 1단계: 프로젝트 타입 감지 및 테스트 실행\n\n프로젝트에 맞는 테스트 명령 실행:\n\n```bash\n# Python 프로젝트\npytest $ARGUMENTS -v --tb=short\n\n# Node.js 프로젝트\nnpm test $ARGUMENTS\n\n# Go 프로젝트\ngo test $ARGUMENTS .\u002F...\n\n# Rust 프로젝트\ncargo test $ARGUMENTS\n```\n\n---\n\n## 위임 수단이 없는 하네스 — 강등 경로\n\n아래 `subagent_type:` 블록은 운송 수단일 뿐이고, 불변식은 블록의 `prompt:` 계약(검사 항목·출력\n형식·완료 선언)이다. 쓸 수 있는 수단을 호스트에 확인하고 위에서부터 한 칸씩 내려간다:\n**① 네이티브 서브에이전트**(블록 그대로) → **② 호스트의 다른 격리 위임 수단**(에이전트 정의\n본문 `\u003C플러그인 루트>\u002Fagents\u002F\u003C이름>.md` 를 **요약 없이** 넘기고 뒤에 `prompt:` 를\n붙인다 — 플러그인 루트 탐색은 `skills\u002Fplan-task\u002Freferences\u002Ftask-tools-fallback.md` §A. 회신 요약이 아니라 계약\n산출물로 판정한다) → **③ 이 세션에서 같은 계약을 직접 수행.** 수단이 없다고 단계를 건너뛰거나\n하지 않은 위임을 했다고 보고하지 않는다. ③은 격리가 없다 — 판정을 요약으로 대체하지 말고 테스트 러너의 실제 마지막 줄을 그대로 인용한다(종료코드를 파이프로 죽이지 말 것).\n\n## 2단계: 결과 검증\n\n러너의 요약 줄과 종료 코드를 직접 읽어 통과\u002F실패\u002F스킵 수를 확정한다(별도 에이전트 불필요).\n실패가 있으면 실패 출력을 그대로 3단계로 넘긴다 — 원인 분석은 fix-bugs 가 한다.\n\n---\n\n## 3단계: 실패 시 버그 수정\n\n실패가 있으면 fix-bugs 에이전트로 수정한다. **`fix-bugs` 는 `isolation: worktree` 라 수정이 격리 트리에\n남는다** — 이 세션의 트리에서 재실행하면 옛 코드를 검증한다. 그래서 위임 뒤에 **수정을 이 세션에\n반영**(에이전트가 돌려준 diff\u002F브랜치를 적용·병합)한 다음에만 재실행한다. 반영 방법은 호스트와\n`rules\u002Fparallel-worktree.md` 의 반환·통합 절을 따른다. 반영하지 못했으면 \"수정 미반영 — 재실행 불가\"로\n보고하고 멈춘다(재실행 결과를 수정 효과로 읽지 않는다).\n\n```\nTask tool 사용:\nsubagent_type: fix-bugs\nmodel: sonnet\nprompt: |\n  다음 테스트 실패를 수정해주세요:\n  [실패한 테스트 출력]\n\n  각 실패에 대해:\n  1. 실패한 테스트명\n  2. 에러 메시지\n  3. 예상 vs 실제 값\n  4. 코드 수정\n```\n\n---\n\n### 재시도 상한 [건너뛰기 금지]\n\n\"전부 통과할 때까지\"는 **무한 루프**다. 수정→반영→재실행을 **최대 3회**까지만 돌리고, 아래 중 하나면\n그 자리에서 멈춰 현재 상태(남은 실패·시도한 수정·마지막 러너 출력)를 사용자에게 보고한다:\n\n- 3회째 재실행에서도 실패가 남았다\n- **무진전 2회** — 연속 두 번의 재실행에서 실패한 테스트 집합이 줄지 않았다(같거나 늘었다)\n- 같은 테스트가 같은 메시지로 반복 실패한다(원인을 못 건드리고 있다는 신호다)\n\n(`rules\u002Floop-engineering.md` 의 안티-런어웨이 가드와 같은 취지다.)\n\n---\n\n## 출력 형식\n\n### 테스트 결과\n\n| 항목      | 결과 |\n| --------- | ---- |\n| 총 테스트 | N개  |\n| 통과      | N개  |\n| 실패      | N개  |\n| 스킵      | N개  |\n\n### 실패 상세 (있으면)\n\n[테스트별 원인과 수정 방안]\n\n### 수정 결과 (실패 시)\n\n[fix-bugs 에이전트 적용 결과]\n",{"name":5,"description":7},"main","40706766fd37c03ca624f5206741fef55dd2a684","plugins\u002FThis-HW\u002Fhiway-kit\u002Fskills\u002Ftest",491,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins","https:\u002F\u002Fhol.org\u002Fplugins\u002Fbest-codex-plugins","https:\u002F\u002Fgithub.com\u002Fhashgraph-online","https:\u002F\u002Fhol.org","Open-source standards and developer tools for interoperable AI agents: discovery, identity, communication, payments, privacy and security.","2026-11-14 14:06:13",{"source":8,"skillName":5,"commands":35,"prompt":45,"zipAvailable":46},[36,39,42],{"tool":37,"command":38},"npx","npx skills add hashgraph-online\u002Fawesome-codex-plugins --skill test",{"tool":40,"command":41},"bunx","bunx skills add hashgraph-online\u002Fawesome-codex-plugins --skill test",{"tool":43,"command":44},"pnpm","pnpm dlx skills add hashgraph-online\u002Fawesome-codex-plugins --skill test","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FThis-HW\u002Fhiway-kit\u002Fskills\u002Ftest\u002FSKILL.md",true,[48],{"path":49,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":52,"sourceHtmlUrl":53},"agents\u002Fopenai.yaml","REFERENCE","参考文档",271,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FThis-HW\u002Fhiway-kit\u002Fskills\u002Ftest\u002Fagents\u002Fopenai.yaml",[55,65,73,81,89,97],{"skillNo":56,"name":57,"nameZh":6,"description":58,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":59,"licenseFileUrl":60,"sourceHtmlUrl":61,"categories":62,"keywords":63,"publishedAt":64},"01M7DV332YQMGD8WTRJ9DZQXTB","worktable-review-with-annotations","Create, inspect, reply to, update, or resolve situated Worktable annotations. Use when feedback belongs to a Doc section, block, text range, or HTML Doc, or when the user asks to address existing review feedback and coordinate a requested artifact edit.","MIT","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fworktable\u002Fworktable-plugin\u002Fskills\u002Fworktable-review-with-annotations\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fworktable\u002Fworktable-plugin\u002Fskills\u002Fworktable-review-with-annotations\u002FSKILL.md",[],[],"2026-11-15 14:19:17",{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":59,"licenseFileUrl":69,"sourceHtmlUrl":70,"categories":71,"keywords":72,"publishedAt":64},"01M7DV2YGHCZVBEB1AHYB6CGHE","worktable-find-and-synthesize-context","Find, assess, and synthesize context from Worktable Docs and Records. Use when the user asks what a workspace contains, wants workspace-backed research, needs current facts reconciled across artifacts, or requests a cited synthesis without changing workspace state.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fworktable\u002Fworktable-plugin\u002Fskills\u002Fworktable-find-and-synthesize-context\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fworktable\u002Fworktable-plugin\u002Fskills\u002Fworktable-find-and-synthesize-context\u002FSKILL.md",[],[],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":59,"licenseFileUrl":77,"sourceHtmlUrl":78,"categories":79,"keywords":80,"publishedAt":64},"01M7DV2TQN1H11ME2SAF9MXN7V","worktable-create-or-update-docs","Create, edit, rename, or maintain narrative Worktable Docs. Use for plans, decisions, briefs, notes, research syntheses, and other durable prose when the user requests a new artifact or a safe update to an existing one.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fworktable\u002Fworktable-plugin\u002Fskills\u002Fworktable-create-or-update-docs\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fworktable\u002Fworktable-plugin\u002Fskills\u002Fworktable-create-or-update-docs\u002FSKILL.md",[],[],{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":59,"licenseFileUrl":85,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":64},"01M7DV2NE452NEA8TXATKSNAJH","worktable-create-or-manage-records","Organize repeated structured information as durable Worktable Records. Use for research datasets, inventories, directories, pipelines, trackers, and other collections whose items need identity, fields, filtering, links, validation, or individual updates.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fworktable\u002Fworktable-plugin\u002Fskills\u002Fworktable-create-or-manage-records\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fworktable\u002Fworktable-plugin\u002Fskills\u002Fworktable-create-or-manage-records\u002FSKILL.md",[],[],{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":59,"licenseFileUrl":93,"sourceHtmlUrl":94,"categories":95,"keywords":96,"publishedAt":64},"01M7DV2HENRBR2KSCVM064WH0Y","worktable-create-or-manage-interactive-html","Create or improve durable visual and interactive artifacts in Worktable. Use for dashboards, trackers, calculators, mini apps, slide presentations, and other requests that benefit from a polished HTML Doc.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fworktable\u002Fworktable-plugin\u002Fskills\u002Fworktable-create-or-manage-interactive-html\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fworktable\u002Fworktable-plugin\u002Fskills\u002Fworktable-create-or-manage-interactive-html\u002FSKILL.md",[],[],{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":59,"licenseFileUrl":101,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":64},"01M7DV2CADR5R7RQFFYPNAGR9Y","worktable-collaborate-threads","Read, answer, and hand off messages through durable Worktable threads with users or other authenticated participants. Use when the user asks to check addressed messages, reply to a participant, continue a thread, request another agent's help, wait briefly for a response, or watch for comments and messages sent to the agent.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fworktable\u002Fworktable-plugin\u002Fskills\u002Fworktable-collaborate-threads\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fworktable\u002Fworktable-plugin\u002Fskills\u002Fworktable-collaborate-threads\u002FSKILL.md",[],[]]