Configure VSCode with httpYac for API testing and automation. This skill should be used specifically when converting API documentation to executable .http files (10+ endpoints), setting up authentication flows with pre-request scripts, implementing request chaining with response data, organizing multi-file collections with environment management, or establishing Git-based API testing workflows with CI/CD integration.
npx skills add https://github.com/libukai/awesome-agent-skills --skill vscode-httpyac-config
Transform API documentation into executable, testable .http files with httpYac. This skill provides workflow guidance for creating production-ready API collections with scripting, authentication, environment management, and CI/CD integration.
Objective: Understand API structure and propose file organization.
Key Questions:
Propose Structure to User:
Identified API modules:
- Authentication (2 endpoints)
- Users (5 endpoints)
- Articles (3 endpoints)
Recommended: Multi-file structure
- auth.http
- users.http
- articles.http
Proceed with this structure?
📖 Detailed Guide: references/WORKFLOW_GUIDE.md
🚨 MANDATORY: Always start with templates from assets/ directory.
Template Usage Sequence:
assets/http-file.templatereferences/SYNTAX.mdAvailable Templates:
assets/http-file.template → Complete .http file structureassets/httpyac-config.template → Configuration fileassets/env.template → Environment variablesKey Files to Create:
.http files → API requests.env → Environment variables (gitignored).env.example → Template with placeholders (committed).httpyac.json → Configuration (optional)📖 File Structure Guide: references/WORKFLOW_GUIDE.md#phase-2
Select Pattern Based on API Type:
| API Type | Pattern | Reference Location |
| ------------------ | ---------------- | --------------------------------------------------- |
| Static token | Simple Bearer | references/AUTHENTICATION_PATTERNS.md#pattern-1 |
| OAuth2 credentials | Auto-fetch token | references/AUTHENTICATION_PATTERNS.md#pattern-2 |
| Token refresh | Auto-refresh | references/AUTHENTICATION_PATTERNS.md#pattern-3 |
| API Key | Header or query | references/AUTHENTICATION_PATTERNS.md#pattern-5-6 |
Quick Example:
# @name login
POST {{baseUrl}}/auth/login
Content-Type: application/json
{
"email": "{{user}}",
"password": "{{password}}"
}
{{
// Store token for subsequent requests
if (response.statusCode === 200) {
exports.accessToken = response.parsedBody.access_token;
console.log('✓ Token obtained');
}
}}
###
# Use token in protected request
GET {{baseUrl}}/api/data
Authorization: Bearer {{accessToken}}
📖 Complete Patterns: references/AUTHENTICATION_PATTERNS.md
Search Pattern: grep -n "Pattern [0-9]:" references/AUTHENTICATION_PATTERNS.md
1. Environment Variables (from .env file)
@baseUrl = {{API_BASE_URL}}
@token = {{API_TOKEN}}
✅ Use @variable = {{ENV_VAR}} syntax at file top
2. Utility Functions (in script blocks)
{{
// ✅ CORRECT: Export with exports.
exports.validateResponse = function(response, actionName) {
return response.statusCode === 200;
};
}}
###
GET {{baseUrl}}/api/test
{{
// ✅ CORRECT: Call WITHOUT exports.
if (validateResponse(response, 'Test')) {
console.log('Success');
}
}}
3. Response Data (post-response only)
GET {{baseUrl}}/users
{{
// ✅ Store for next request
exports.userId = response.parsedBody.id;
}}
{{
// ❌ WRONG: Don't use exports/process.env for env vars
exports.baseUrl = process.env.API_BASE_URL; // NO!
// ❌ WRONG: Don't use exports when calling
if (exports.validateResponse(response)) { } // NO!
}}
### delimiter between requests@variable = {{ENV_VAR}}exports.func = function() {}.env.example created📖 Complete Syntax: references/SYNTAX.md
📖 Common Mistakes: references/COMMON_MISTAKES.md
📖 Cheatsheet: references/SYNTAX_CHEATSHEET.md
# ============================================================
# Article Endpoints - API Name
# ============================================================
# V1-Basic | V2-Metadata | V3-Full Content⭐
# Docs: https://api.example.com/docs
# ============================================================
@baseUrl = {{API_BASE_URL}}
### Get Articles V3 ⭐
# @name getArticlesV3
# @description Full content + Base64 HTML | Requires auth | Auto-decode
GET {{baseUrl}}/articles?page=1
Authorization: Bearer {{accessToken}}
DO:
# =============|: Detail 1 | Detail 2@description for hover detailsDON'T:
<!-- --> (visible in UI)### decorations📖 Complete Guide: See SKILL.md Phase 3.5 for before/after examples
# httpYac: Protect secrets
.env
.env.local
.env.*.local
.env.production
# httpYac: Ignore cache
.httpyac.cache
*.httpyac.cache
httpyac-output/
ALWAYS:
.env in .gitignore.env.example without real secretstoken.substring(0, 10) + '...'NEVER:
📖 Complete Guide: references/SECURITY.md
Search Pattern: grep -n "gitignore\|secrets" references/SECURITY.md
Load references when:
| Situation | File to Load | grep Search Pattern |
| ------------------------- | --------------------------------------- | ------------------------------------------ |
| Setting up authentication | references/AUTHENTICATION_PATTERNS.md | grep -n "Pattern [0-9]" |
| Script execution errors | references/SCRIPTING_TESTING.md | grep -n "Pre-Request\|Post-Response" |
| Environment switching | references/ENVIRONMENT_MANAGEMENT.md | grep -n "\.env\|\.httpyac" |
| Security configuration | references/SECURITY.md | grep -n "gitignore\|secrets" |
| Team documentation | references/DOCUMENTATION.md | grep -n "README\|CHANGELOG" |
| Advanced features | references/ADVANCED_FEATURES.md | grep -n "GraphQL\|WebSocket\|gRPC" |
| CI/CD integration | references/CLI_CICD.md | grep -n "GitHub Actions\|GitLab" |
| Complete syntax reference | references/SYNTAX.md | grep -n "@\|??\|{{" references/SYNTAX.md |
Quick References (Always Available):
references/SYNTAX_CHEATSHEET.md - Common syntax patternsreferences/COMMON_MISTAKES.md - Error preventionreferences/WORKFLOW_GUIDE.md - Complete workflowThis skill follows a 7-phase workflow. Phases 1-3 covered above. Remaining phases:
Phase 4: Scripting and Testing
references/SCRIPTING_TESTING.mdPhase 5: Environment Management
references/ENVIRONMENT_MANAGEMENT.mdPhase 6: Documentation
references/DOCUMENTATION.mdPhase 7: CI/CD Integration (Optional)
references/CLI_CICD.mdBefore completion, verify:
Structure:
###Syntax:
@var = {{ENV_VAR}}Security:
.env in .gitignore.env.example has placeholdersFunctionality:
Documentation:
| Symptom | Likely Cause | Solution |
| ----------------------- | --------------------- | ---------------------------------- |
| "Variable not defined" | Not declared with @ | Add @var = {{ENV_VAR}} at top |
| "Function not defined" | Not exported | Use exports.func = function() {} |
| Scripts not executing | Wrong syntax/position | Verify {{ }} placement |
| Token not persisting | Using local variable | Use exports.token instead |
| Environment not loading | Wrong file location | Place .env in project root |
📖 Complete Troubleshooting: references/TROUBLESHOOTING.md
Collection is production-ready when:
Before Generating Files:
While Generating:
assets/After Generation:
Common User Requests:
references/AUTHENTICATION_PATTERNS.md → Choose pattern{{ }} syntax, .env loaded# @name and exports variables{{ }} block with assertionsreferences/CLI_CICD.md → Provide examplesVersion: 2.0.0 (Refactored)
Last Updated: 2025-12-15
Based on: httpYac v6.x
Key Changes from v1.x:
Features:
Run Python code in the cloud with serverless containers, GPUs, and autoscaling. Use when deploying ML models, running batch processing jobs, scheduling compute-intensive tasks, or serving APIs that require GPU acceleration or dynamic scaling.
Advanced GitHub Actions workflow automation with AI swarm coordination, intelligent CI/CD pipelines, and comprehensive repository management
Google Cloud Platform CLI - manage GCP resources including Compute Engine, Cloud Run, GKE, Cloud Functions, Storage, BigQuery, and more.
Expert backend architect specializing in scalable API design, microservices architecture, and distributed systems. Masters REST/GraphQL/gRPC APIs, event-driven architectures, service mesh patterns, and modern backend frameworks. Handles service boundary definition, inter-service communication, resilience patterns, and observability. Use PROACTIVELY when creating new backend services or APIs.
Run Python code in the cloud with serverless containers, GPUs, and autoscaling. Use when deploying ML models, running batch processing jobs, scheduling compute-intensive tasks, or serving APIs that require GPU acceleration or dynamic scaling.
Aspire skill covering the Aspire CLI, AppHost orchestration, service discovery, integrations, MCP server, VS Code extension, Dev Containers, GitHub Codespaces, templates, dashboard, and deployment. Use when the user asks to create, run, debug, configure, deploy, or troubleshoot an Aspire distributed application.
Audits Python + BigQuery pipelines for cost safety, idempotency, and production readiness. Returns a structured report with exact patch locations.
Microsoft Store Developer CLI (msstore) for publishing Windows applications to the Microsoft Store. Use when asked to configure Store credentials, list Store apps, check submission status, publish submissions, manage package flights, set up CI/CD for Store publishing, or integrate with Partner Center. Supports Windows App SDK/WinUI, UWP, .NET MAUI, Flutter, Electron, React Native, and PWA applications.
Take libukai/vscode-httpyac-config from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.