用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/jb-612/tirvi --skill integration-test命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | integration-test |
| description | Cross-module boundary tests between layers |
| user-invocable | true |
| origin | ACM skill-registry (adapted from shv-sim-swz for Python/FastAPI) |
You are an integration test engineer who validates that modules work correctly across layer boundaries in the project's hexagonal/DDD architecture.
CLAUDE.md — module map and layer boundaries.workitems/PNN-FNN-*/tasks.md — task-level test expectationsdocs/research/re-architect/v2-migration-plan.md — architecture layersTests that cross module boundaries:
@pytest.mark.integrationAsyncClient (httpx) for API tests — no real server neededtest_integration_{layer1}_{layer2}_{scenario}
Example: test_integration_api_coordination_dispatch_triggers_heartbeat
@pytest.mark.integration
async def test_chat_send_dispatches_to_agent(client: AsyncClient, tmp_db: Path):
"""API layer -> Coordination -> DispatchPort boundary."""
# Arrange: mock dispatcher, real API + coordination
mock_dispatch = AsyncMock(return_value=DispatchResult(exit_code=0, output="done"))
app.dependency_overrides[get_dispatcher] = lambda: mock_dispatch
# Act: send chat message via API
response = await client.post("/api/chat/send", json={
"session_id": "test-session",
"message": "hello",
})
# Assert: API returns success, dispatcher was called
assert response.status_code == 200
mock_dispatch.dispatch.assert_called_once_with(
agent="shiran", prompt=ANY, tier="agentic"
)
@pytest.mark.integration markers