/**
 * Skill content for skyramp.md — installed at auto-discovery paths: ~/.claude/skills/skyramp/SKILLS.md, ~/.cursor/skills/skyramp/SKILLS.md, ~/.github/skills/skyramp.md
 * Follows the SKILL.md specification: https://agentskills.io/what-are-skills#the-skill-md-file
 */
export const SKYRAMP_MD_CONTENT = `---
name: skyramp
description: Generate, execute, and maintain API tests (smoke, contract, fuzz, load, integration, E2E, UI) using Skyramp MCP tools.
---

# Skyramp

## When to use this skill
Use this skill whenever the user asks to generate, run, or maintain API tests. Always read \`<workspace-root>/.skyramp/workspace.yml\` first to get \`language\`, \`framework\`, \`outputDir\`, and \`api.baseUrl\` — do not ask the user for values already present.

---

## Tools

### Workspace Setup
1. **\`skyramp_initialize_workspace\`** — Create or update \`.skyramp/workspace.yml\` in a git repository workspace. Scan the repo for all services before calling. Required before any other Skyramp tool.

### Test Generation
2. **\`skyramp_smoke_test_generation\`** — Verify an endpoint is reachable and returns a valid response.
3. **\`skyramp_contract_test_generation\`** — Validate implementation matches OpenAPI/Swagger schema.
4. **\`skyramp_fuzz_test_generation\`** — Send malformed or boundary inputs to find edge cases and security issues.
5. **\`skyramp_load_test_generation\`** — Test performance under concurrent load. Optional: \`loadDuration\`, \`loadNumThreads\`. Accepts \`trace\` instead of \`apiSchema\`/\`endpointURL\`.
6. **\`skyramp_integration_test_generation\`** — Multi-step workflows across one or more services. Supply one of: \`apiSchema\`+\`endpointURL\`, \`trace\`, or \`scenarioFile\`. Do not combine them.
7. **\`skyramp_e2e_test_generation\`** — Full user journey covering UI and backend. Requires \`trace\` and \`playwrightInput\` zip. Do not pass \`apiSchema\` or \`endpointURL\`.
8. **\`skyramp_ui_test_generation\`** — UI-only tests from Playwright recordings. Requires \`playwrightInput\` zip.

### Trace Generation
9. **\`skyramp_start_trace_collection\`** — Start capturing backend traffic. Set \`playwright: true\` for UI or E2E tests. Use an absolute path for \`outputDir\`.
10. **\`skyramp_stop_trace_collection\`** — Stop capture and save the trace. Use the same \`outputDir\` and \`playwrightEnabled\` values as start.
11. **\`skyramp_scenario_test_generation\`** — Scenario trace generation. Describe a multi-step flow in natural language to produce a scenario file. Pass output to \`skyramp_integration_test_generation\` via \`scenarioFile\`.

### Test Execution
12. **\`skyramp_execute_test\`** — Run a single Skyramp-generated test file. Required: \`workspacePath\`, \`language\`, \`testType\`, \`testFile\`. Optional: \`stateFile\` (writes execution results back for health analysis). For multiple tests, call sequentially to avoid env var conflicts.

### Test Analysis & Maintenance
13. **\`skyramp_analyze_changes\`** — Unified entry point: scans endpoints, discovers tests, computes diff. Takes \`repositoryPath\` and \`scope\`. Returns \`stateFile\` + recommendations.
14. **\`skyramp_analyze_test_health\`** — Drift and health assessment for existing tests. Takes \`stateFile\`. Returns LLM prompt for scoring.
15. **\`skyramp_actions\`** — Execute UPDATE / REGENERATE / VERIFY / DELETE actions. Takes \`stateFile\`. Call after analyze_test_health.

### Code Quality
16. **\`skyramp_fix_errors\`** — Fix compilation or runtime errors in a generated test file.
17. **\`skyramp_modularization\`** — Refactor a test file into reusable modules. Set \`isTraceBased: true\` for trace-based tests.
18. **\`skyramp_reuse_code\`** — Pull shared helpers from other Skyramp tests. Only when \`code_reuse\` was \`true\` at generation time.

### Authentication
19. **\`skyramp_login\`** — Log in to the Skyramp platform.
20. **\`skyramp_logout\`** — Log out from the Skyramp platform.

---

## Prompts

Prefer invoking a prompt over manually chaining tools — prompts run the full workflow automatically.

- **\`skyramp_trace_prompt\`** — Trace collection setup and execution.
- **\`skyramp_test_health_analysis\`** — Full maintenance flow (discover → drift → health → actions).
- **\`skyramp_testbot\`** — PR-scoped recommendations + maintenance + report. Required: \`prTitle\`, \`prDescription\`, \`summaryOutputFile\`, \`repositoryPath\`.

---

## Workflows

Use these when a prompt is not available.

**Generate and run a test**
Read \`.skyramp/workspace.yml\` → Call appropriate generation tool → \`skyramp_execute_test\`

**Trace-based test (integration / load / E2E / UI)**
\`skyramp_start_trace_collection\` (set \`playwright: true\` for UI/E2E) → User exercises the app → \`skyramp_stop_trace_collection\` → Call target generation tool with \`trace\` (and \`playwrightInput\` for E2E/UI)

**Scenario → integration test**
\`skyramp_scenario_test_generation\` → \`skyramp_integration_test_generation\` with \`scenarioFile\`

**Recommend tests for a PR**
\`skyramp_analyze_changes\` (with \`scope: "branch_diff"\`) → follow enrichment steps → \`skyramp_recommend_tests\` → Generate recommended tests

**Maintain existing tests**
\`skyramp_analyze_changes\` → \`skyramp_analyze_test_health\` → *(optional)* execute tests via \`skyramp_execute_test\` with \`stateFile\` param (writes results back) → \`skyramp_actions\` (do not skip)

---

## Conventions

- **\`endpointURL\`** — Full URL to a specific endpoint, not just the base URL. Build from \`api.baseUrl\` + path (e.g. \`http://localhost:8000/api/v1/users\`).
- **\`outputDir\`** — Use absolute paths for both test output and trace collection.
- **Mutually exclusive inputs** — \`apiSchema\`/\`endpointURL\`, \`trace\`, and \`scenarioFile\` are mutually exclusive for integration and load tests. Use exactly one.
- **Sequential execution** — Execute tests sequentially (not in parallel) to avoid environment variable conflicts with \`SKYRAMP_TEST_BASE_URL\`.
`;
