Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add ApexIQ/skillsmith --skill integration_backend_frontend_best_practicesgit clone --depth 1 https://github.com/ApexIQ/skillsmithWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/apexiq/skillsmith/integration_backend_frontend_best_practices)<a href="https://agentmods.dev/skills/apexiq/skillsmith/integration_backend_frontend_best_practices"><img src="https://agentmods.dev/badge/skills/apexiq/skillsmith/integration_backend_frontend_best_practices/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/apexiq/skillsmith/integration_backend_frontend_best_practices"><img src="https://agentmods.dev/badge/skills/apexiq/skillsmith/integration_backend_frontend_best_practices.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00026 | $0.00577 |
| Opus 5 | $0.00013 | $0.00289 |
| Sonnet 5 | $0.00005 | $0.00115 |
| Haiku 4.5 | $0.00003 | $0.00058 |
Grade A, and why
integration-testing scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
🔗 Integration Testing Best Practices
Goal: Ensure the "Handshake" between frontend and backend never breaks.
1. The Integration Pyramid
- Contract Tests:
- Verify API response shape matches frontend expectations.
- Use schema validation (Zod, Yup) on frontend to catch mismatches early.
- Flow Tests (E2E):
- Simulate full user journeys: Login -> Dashboard -> Action -> Logout.
- Tools: Playwright, Cypress, Puppeteer.
2. API Contract Strategy
- Single Source of Truth:
- Backend defines schemas (Pydantic, Zod).
- Generate frontend types from OpenAPI/JSON Schema.
- Never manually duplicate type definitions.
3. Testing Failure Scenarios
- Network Errors: What happens when API returns 500 or times out?
- Frontend should show error state, not crash.
- Optimistic updates should be reverted.
- Latency: Test with network throttling to verify loading states.
4. E2E Test Example (Playwright)
import { test, expect } from '@playwright/test';
test('user can complete checkout', async ({ page }) => {
// 1. Navigate
await page.goto('/products');
// 2. Interact
await page.getByRole('button', { version: 0.1.0
name: 'Add to Cart' }).click();
await page.getByRole('link', { version: 0.1.0
name: 'Checkout' }).click();
// 3. Fill form
await page.getByLabel('Email').fill('[email protected]');
await page.getByRole('button', { version: 0.1.0
name: 'Place Order' }).click();
// 4. Verify
await expect(page.getByText('Order Confirmed')).toBeVisible();
});
Examples
- Contract test: Fetch user endpoint -> Validate response matches schema.
- E2E test: Full signup flow across multiple pages.
Guidelines
- E2E tests are slow; use sparingly for critical paths only.
- Mock external services (payment, email) in E2E tests.
- Run E2E tests in CI before deployment.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 71 lines · 26 tokens per session scan A 4216c99657fa
integration-testing is a skill published in the GitHub repository ApexIQ/skillsmith (5 stars, last pushed 5mo ago), licensed MIT. It adds 26 tokens to every session and 577 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
e2e-testing
Use when writing or stabilizing Playwright tests that drive a real browser through multi-step journeys — durable locators, web-first assertions, storageState auth, trace/retries, and flakes that only bite in CI. NOT in-process component tests (that is testing-web), NOT WCAG auditing (that is accessibility), NOT the…
drive-automation-session
Drive an already-reserved Kobiton device from a natural-language intent. Opens an automation Appium session directly against the Kobiton WebDriver hub, runs an observe-decide-act loop with one action per iteration, pauses to ask the user when stuck (same-action repetition, screen unchanged, or model self-declared…
monitor-test-run
Watch a running Kobiton test run and narrate it to the user: read the org's live-remediation flag up front, poll the run until every execution is terminal, surface the live-remediation URL the moment an execution is blocked, and give a correct post-mortem so a COMPLETED-with-BLOCKERENCOUNTERED execution is never…
run-automation-suite
Run local Appium test scripts against Kobiton devices. Guides through app upload, device selection, capability parsing, and local execution. Use when the user asks to run mobile tests, validate an APK or IPA on Kobiton devices, or kick off an Appium suite from a local script directory. Trigger with "run kobiton tests"…
qa-e2e
End-to-end tests with Playwright or Cypress. Trigger when the user wants to create user journey tests, UI integration tests, or browser automation.
run-interactive-session
Perform interactive testing on Kobiton devices using natural language. Translates user intents into CLI commands - WebDriver actions (find elements, type, click, swipe), device operations (adb shell, screen capture, port forwarding), file management (push/pull), app management, and test execution. Use when the user…