[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6NWMNMHX2VTFADDFKG525GS":3,"skill-same:01M6NWMNMHX2VTFADDFKG525GS":64},{"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":26,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":14,"repositoryHtmlUrl":45,"repositoryHomepageUrl":6,"ownerHtmlUrl":46,"ownerBlogUrl":47,"ownerDescription":48,"updatedAt":49,"install":50,"resources":63},"01M6NWMNMHX2VTFADDFKG525GS","test",null,"Comprehensive testing workflow - unit tests ∥ integration tests → E2E tests","rubicanjr\u002FFinCognis","rubicanjr","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F234912519?v=4","01M6NT156NND8J474G34SB3923","Rubi","01M6NT15B70RWXE1N3YV0BZY8A",0,"MIT","https:\u002F\u002Fgithub.com\u002Frubicanjr\u002FFinCognis\u002Fblob\u002Fmain\u002Fskills\u002Ftest\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[5,27,28,29,30,31,32,33,34,35,36],"testing","workflow","integration tests","unit tests","e2e tests","integration","e2e","tests","testing workflow","unit","2026-11-10 10:12:30",false,"---\nname: test\ndescription: Comprehensive testing workflow - unit tests ∥ integration tests → E2E tests\n---\n\n# \u002Ftest - Testing Workflow\n\nRun comprehensive test suite with parallel execution.\n\n## When to Use\n\n- \"Run all tests\"\n- \"Test the feature\"\n- \"Verify everything works\"\n- \"Full test suite\"\n- Before releases or merges\n- After major changes\n\n## Workflow Overview\n\n```\n┌─────────────┐      ┌───────────┐\n│ diagnostics │ ──▶  │ arbiter  │ ─┐\n│ (type check)│      │ (unit)    │  │\n└─────────────┘      └───────────┘  │\n                                    ├──▶ ┌─────────┐\n                     ┌───────────┐  │    │  atlas  │\n                     │  arbiter  │ ─┘    │ (e2e)   │\n                     │ (integ)   │       └─────────┘\n                     └───────────┘\n\n  Pre-flight         Parallel              Sequential\n  (~1 second)        fast tests            slow tests\n```\n\n## Agent Sequence\n\n| # | Agent | Role | Execution |\n|---|-------|------|-----------|\n| 1 | **arbiter** | Unit tests, type checks, linting | Parallel |\n| 1 | **arbiter** | Integration tests | Parallel |\n| 2 | **atlas** | E2E\u002Facceptance tests | After 1 passes |\n\n## Why This Order?\n\n1. **Fast feedback**: Unit tests fail fast\n2. **Parallel efficiency**: No dependency between unit and integration\n3. **E2E gating**: Only run slow E2E tests if faster tests pass\n\n## Execution\n\n### Phase 0: Pre-flight Diagnostics (NEW)\n\nBefore running tests, check for type errors - they often cause test failures:\n\n```bash\ntldr diagnostics . --project --format text 2>\u002Fdev\u002Fnull | grep \"^E \" | head -10\n```\n\n**Why diagnostics first?**\n- Type check is instant (~1s), tests take longer\n- Diagnostics show ROOT CAUSE, tests show symptoms\n- \"Expected int, got str\" is clearer than \"AttributeError at line 50\"\n- Catches errors in untested code paths\n\n**If errors found:** Fix them BEFORE running tests. Type errors usually mean tests will fail anyway.\n\n**If clean:** Proceed to Phase 1.\n\n### Phase 0.5: Change Impact (Optional)\n\nFor large test suites, find only affected tests:\n\n```bash\ntldr change-impact --session\n# or for explicit files:\ntldr change-impact src\u002Fchanged_file.py\n```\n\nThis returns which tests to run based on what changed. Skip this for small projects or when you want full coverage.\n\n### Phase 1: Parallel Tests\n\n```\n# Run both in parallel\nTask(\n  subagent_type=\"arbiter\",\n  prompt=\"\"\"\n  Run unit tests for: [SCOPE]\n\n  Include:\n  - Unit tests\n  - Type checking\n  - Linting\n\n  Report: Pass\u002Ffail count, failures detail\n  \"\"\",\n  run_in_background=true\n)\n\nTask(\n  subagent_type=\"arbiter\",\n  prompt=\"\"\"\n  Run integration tests for: [SCOPE]\n\n  Include:\n  - Integration tests\n  - API tests\n  - Database tests\n\n  Report: Pass\u002Ffail count, failures detail\n  \"\"\",\n  run_in_background=true\n)\n\n# Wait for both\n[Check TaskOutput for both]\n```\n\n### Phase 2: E2E Tests (If Phase 1 Passes)\n\n```\nTask(\n  subagent_type=\"atlas\",\n  prompt=\"\"\"\n  Run E2E tests for: [SCOPE]\n\n  Include:\n  - End-to-end flows\n  - Acceptance tests\n  - UI tests if applicable\n\n  Report: Pass\u002Ffail count, screenshots on failure\n  \"\"\"\n)\n```\n\n## Test Scopes\n\n### Full Suite\n```\nUser: \u002Ftest\n→ All unit + integration + E2E tests\n```\n\n### Feature Scope\n```\nUser: \u002Ftest authentication\n→ Only auth-related tests\n```\n\n### Quick Check\n```\nUser: \u002Ftest --quick\n→ Only unit tests (skip integration and E2E)\n```\n\n## Example\n\n```\nUser: \u002Ftest the new payment feature\n\nClaude: Starting \u002Ftest workflow for payment feature...\n\nPhase 0: Pre-flight diagnostics...\n$ tldr diagnostics . --project --format text | grep \"^E \"\n(no type errors found)\n\nPhase 1: Running parallel tests...\n┌─────────────────────────────────────────┐\n│ arbiter: Running unit tests...          │\n│ arbiter: Running integration tests...   │\n└─────────────────────────────────────────┘\n\narbiter: ✅ 45\u002F45 unit tests passing\narbiter: ✅ 12\u002F12 integration tests passing\n\nPhase 2: Running E2E tests...\natlas: ✅ 8\u002F8 E2E tests passing\n\nTest Summary:\n┌─────────────┬─────────┬────────┐\n│ Type        │ Passed  │ Failed │\n├─────────────┼─────────┼────────┤\n│ Unit        │ 45      │ 0      │\n│ Integration │ 12      │ 0      │\n│ E2E         │ 8       │ 0      │\n├─────────────┼─────────┼────────┤\n│ TOTAL       │ 65      │ 0      │\n└─────────────┴─────────┴────────┘\n\nAll tests passing! ✅\n```\n\n### Example with Type Errors\n\n```\nUser: \u002Ftest\n\nClaude: Starting \u002Ftest workflow...\n\nPhase 0: Pre-flight diagnostics...\n$ tldr diagnostics . --project --format text | grep \"^E \"\nE src\u002Fpayment.py:45:12: Argument of type 'str' not assignable to 'int'\nE src\u002Frefund.py:23:8: Return type 'None' not assignable to 'float'\n\nFound 2 type errors. Fixing before running tests...\n\n[Claude fixes the type errors]\n\nRe-running diagnostics... clean.\n\nPhase 1: Running parallel tests...\n```\n\n## Failure Handling\n\nIf Phase 1 fails:\n```\narbiter: ❌ 43\u002F45 tests passing\n\n2 failures:\n- test_payment_validation: expected 'invalid' got 'valid'\n- test_refund_calculation: off by $0.01\n\nStopping workflow. Fix failures before running E2E tests.\n```\n\n## Flags\n\n- `--quick`: Unit tests only\n- `--no-e2e`: Skip E2E tests\n- `--coverage`: Include coverage report\n- `--watch`: Re-run on file changes\n","# \u002Ftest - Testing Workflow\n\nRun comprehensive test suite with parallel execution.\n\n## When to Use\n\n- \"Run all tests\"\n- \"Test the feature\"\n- \"Verify everything works\"\n- \"Full test suite\"\n- Before releases or merges\n- After major changes\n\n## Workflow Overview\n\n```\n┌─────────────┐      ┌───────────┐\n│ diagnostics │ ──▶  │ arbiter  │ ─┐\n│ (type check)│      │ (unit)    │  │\n└─────────────┘      └───────────┘  │\n                                    ├──▶ ┌─────────┐\n                     ┌───────────┐  │    │  atlas  │\n                     │  arbiter  │ ─┘    │ (e2e)   │\n                     │ (integ)   │       └─────────┘\n                     └───────────┘\n\n  Pre-flight         Parallel              Sequential\n  (~1 second)        fast tests            slow tests\n```\n\n## Agent Sequence\n\n| # | Agent | Role | Execution |\n|---|-------|------|-----------|\n| 1 | **arbiter** | Unit tests, type checks, linting | Parallel |\n| 1 | **arbiter** | Integration tests | Parallel |\n| 2 | **atlas** | E2E\u002Facceptance tests | After 1 passes |\n\n## Why This Order?\n\n1. **Fast feedback**: Unit tests fail fast\n2. **Parallel efficiency**: No dependency between unit and integration\n3. **E2E gating**: Only run slow E2E tests if faster tests pass\n\n## Execution\n\n### Phase 0: Pre-flight Diagnostics (NEW)\n\nBefore running tests, check for type errors - they often cause test failures:\n\n```bash\ntldr diagnostics . --project --format text 2>\u002Fdev\u002Fnull | grep \"^E \" | head -10\n```\n\n**Why diagnostics first?**\n- Type check is instant (~1s), tests take longer\n- Diagnostics show ROOT CAUSE, tests show symptoms\n- \"Expected int, got str\" is clearer than \"AttributeError at line 50\"\n- Catches errors in untested code paths\n\n**If errors found:** Fix them BEFORE running tests. Type errors usually mean tests will fail anyway.\n\n**If clean:** Proceed to Phase 1.\n\n### Phase 0.5: Change Impact (Optional)\n\nFor large test suites, find only affected tests:\n\n```bash\ntldr change-impact --session\n# or for explicit files:\ntldr change-impact src\u002Fchanged_file.py\n```\n\nThis returns which tests to run based on what changed. Skip this for small projects or when you want full coverage.\n\n### Phase 1: Parallel Tests\n\n```\n# Run both in parallel\nTask(\n  subagent_type=\"arbiter\",\n  prompt=\"\"\"\n  Run unit tests for: [SCOPE]\n\n  Include:\n  - Unit tests\n  - Type checking\n  - Linting\n\n  Report: Pass\u002Ffail count, failures detail\n  \"\"\",\n  run_in_background=true\n)\n\nTask(\n  subagent_type=\"arbiter\",\n  prompt=\"\"\"\n  Run integration tests for: [SCOPE]\n\n  Include:\n  - Integration tests\n  - API tests\n  - Database tests\n\n  Report: Pass\u002Ffail count, failures detail\n  \"\"\",\n  run_in_background=true\n)\n\n# Wait for both\n[Check TaskOutput for both]\n```\n\n### Phase 2: E2E Tests (If Phase 1 Passes)\n\n```\nTask(\n  subagent_type=\"atlas\",\n  prompt=\"\"\"\n  Run E2E tests for: [SCOPE]\n\n  Include:\n  - End-to-end flows\n  - Acceptance tests\n  - UI tests if applicable\n\n  Report: Pass\u002Ffail count, screenshots on failure\n  \"\"\"\n)\n```\n\n## Test Scopes\n\n### Full Suite\n```\nUser: \u002Ftest\n→ All unit + integration + E2E tests\n```\n\n### Feature Scope\n```\nUser: \u002Ftest authentication\n→ Only auth-related tests\n```\n\n### Quick Check\n```\nUser: \u002Ftest --quick\n→ Only unit tests (skip integration and E2E)\n```\n\n## Example\n\n```\nUser: \u002Ftest the new payment feature\n\nClaude: Starting \u002Ftest workflow for payment feature...\n\nPhase 0: Pre-flight diagnostics...\n$ tldr diagnostics . --project --format text | grep \"^E \"\n(no type errors found)\n\nPhase 1: Running parallel tests...\n┌─────────────────────────────────────────┐\n│ arbiter: Running unit tests...          │\n│ arbiter: Running integration tests...   │\n└─────────────────────────────────────────┘\n\narbiter: ✅ 45\u002F45 unit tests passing\narbiter: ✅ 12\u002F12 integration tests passing\n\nPhase 2: Running E2E tests...\natlas: ✅ 8\u002F8 E2E tests passing\n\nTest Summary:\n┌─────────────┬─────────┬────────┐\n│ Type        │ Passed  │ Failed │\n├─────────────┼─────────┼────────┤\n│ Unit        │ 45      │ 0      │\n│ Integration │ 12      │ 0      │\n│ E2E         │ 8       │ 0      │\n├─────────────┼─────────┼────────┤\n│ TOTAL       │ 65      │ 0      │\n└─────────────┴─────────┴────────┘\n\nAll tests passing! ✅\n```\n\n### Example with Type Errors\n\n```\nUser: \u002Ftest\n\nClaude: Starting \u002Ftest workflow...\n\nPhase 0: Pre-flight diagnostics...\n$ tldr diagnostics . --project --format text | grep \"^E \"\nE src\u002Fpayment.py:45:12: Argument of type 'str' not assignable to 'int'\nE src\u002Frefund.py:23:8: Return type 'None' not assignable to 'float'\n\nFound 2 type errors. Fixing before running tests...\n\n[Claude fixes the type errors]\n\nRe-running diagnostics... clean.\n\nPhase 1: Running parallel tests...\n```\n\n## Failure Handling\n\nIf Phase 1 fails:\n```\narbiter: ❌ 43\u002F45 tests passing\n\n2 failures:\n- test_payment_validation: expected 'invalid' got 'valid'\n- test_refund_calculation: off by $0.01\n\nStopping workflow. Fix failures before running E2E tests.\n```\n\n## Flags\n\n- `--quick`: Unit tests only\n- `--no-e2e`: Skip E2E tests\n- `--coverage`: Include coverage report\n- `--watch`: Re-run on file changes\n",{"name":5,"description":7},"main","70e1c350500ee750987420bbae48837afa906b7e","skills\u002Ftest","https:\u002F\u002Fgithub.com\u002Frubicanjr\u002FFinCognis","https:\u002F\u002Fgithub.com\u002Frubicanjr","linktr.ee\u002Ffinanskodu","Industrial Engineer & CIO @FinansKodu. Architecting AI-driven financial agents and autonomous workflows. 🏗️ Building systems, not just prompts.","2026-06-09 13:50:15",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add rubicanjr\u002FFinCognis --skill test",{"tool":56,"command":57},"bunx","bunx skills add rubicanjr\u002FFinCognis --skill test",{"tool":59,"command":60},"pnpm","pnpm dlx skills add rubicanjr\u002FFinCognis --skill test","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Frubicanjr\u002FFinCognis\u002Fblob\u002Fmain\u002Fskills\u002Ftest\u002FSKILL.md",true,[],[65,81,90,110,140,158],{"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":15,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":72,"publishedAt":37},"01M6NWS9DAXJTADT4T5MB49X8W","workflow-router","Goal-based workflow orchestration - routes tasks to specialist agents based on user goals","https:\u002F\u002Fgithub.com\u002Frubicanjr\u002FFinCognis\u002Fblob\u002Fmain\u002Fskills\u002Fworkflow-router\u002FSKILL.md",[71],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[73,28,74,75,76,77,78,79,80],"workflow router","router","orchestration","goals","goal","user","workflow orchestration","tasks",{"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":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":87,"publishedAt":37},"01M6NWS3RETSC0SHP16HP66E14","wiring","Wiring Verification","https:\u002F\u002Fgithub.com\u002Frubicanjr\u002FFinCognis\u002Fblob\u002Fmain\u002Fskills\u002Fwiring\u002FSKILL.md",[],[83,88,89],"verification","false",{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":99,"publishedAt":37},"01M6NWS0XW9CVQZBDA1EGW0TWC","websocket-patterns","Connection management, room patterns, reconnection strategies, message buffering, and binary protocol design.","https:\u002F\u002Fgithub.com\u002Frubicanjr\u002FFinCognis\u002Fblob\u002Fmain\u002Fskills\u002Fwebsocket-patterns\u002Fskill.md",[96],{"categoryNo":97,"categoryName":98,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",[100,101,102,103,104,105,106,107,108,109],"websocket","patterns","websocket patterns","design","protocol","management","message","strategies","binary","connection",{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":120,"publishedAt":37},"01M6NWRDQDX9ZNETAWRRMQWV52","visual-verdict","Screenshot comparison QA for frontend development. Takes a screenshot of the current implementation, scores it across multiple visual dimensions, and returns a structured PASS\u002FREVISE\u002FFAIL verdict with concrete fixes. Use when implementing UI from a design reference or verifying visual correctness.","https:\u002F\u002Fgithub.com\u002Frubicanjr\u002FFinCognis\u002Fblob\u002Fmain\u002Fskills\u002Fvisual-verdict\u002FSKILL.md",[116,119],{"categoryNo":117,"categoryName":118,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[121,122,123,124,125,126,127,128,129,130,131,132,133,103,134,135,136,137,138,139],"visual","verdict","visual verdict","ui","across","revise","comparison","correctness","implementing","for","fixes","dimensions","frontend","development","qa","screenshot","returns","use","frontend development",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":146,"publishedAt":37},"01M6NWR8HSNRS7MNDK2J02QYMN","verification-loop","Comprehensive verification system covering build, types, lint, tests, security, and diff review before a PR.","https:\u002F\u002Fgithub.com\u002Frubicanjr\u002FFinCognis\u002Fblob\u002Fmain\u002Fskills\u002Fverification-loop\u002FSKILL.md",[],[147,148,88,149,150,151,152,153,154,155,34,156,157],"verification loop","loop","lint","review","security","pr","system","diff","build","diff review","types",{"skillNo":159,"name":160,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":164,"publishedAt":37},"01M6NWR4HHSFR0VR5EXFRWA747","vector-db-patterns","Embedding strategies, ANN algorithms, hybrid search, RAG chunking strategies, and reranking for semantic search and retrieval.","https:\u002F\u002Fgithub.com\u002Frubicanjr\u002FFinCognis\u002Fblob\u002Fmain\u002Fskills\u002Fvector-db-patterns\u002Fskill.md",[],[165,166,167,168,101,169,170,171,172,107,173,174,175,176,177,130,178,179],"vector db patterns","vector db","db","vector","semantic search","search","embedding strategies","algorithms","chunking","semantic","retrieval","embedding","Hybrid Search","hybrid","rag"]