From vscode-extensions-toolkit
Configures VSCode with httpYac for API testing: converts docs to .http files (10+ endpoints), auth pre-request scripts, response chaining, multi-file envs, Git CI/CD workflows.
How this skill is triggered — by the user, by Claude, or both
Slash command
/vscode-extensions-toolkit:vscode-httpyac-configThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
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.
README.mdassets/env.templateassets/http-file.templateassets/httpyac-config.templatereferences/ADVANCED_FEATURES.mdreferences/AUTHENTICATION_PATTERNS.mdreferences/CLI_CICD.mdreferences/COMMON_MISTAKES.mdreferences/DOCUMENTATION.mdreferences/ENVIRONMENT_MANAGEMENT.mdreferences/REQUEST_DEPENDENCIES.mdreferences/SCRIPTING_TESTING.mdreferences/SECURITY.mdreferences/SYNTAX.mdreferences/SYNTAX_CHEATSHEET.mdTransform 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:
npx claudepluginhub libukai/awesome-agent-skills --plugin vscode-extensions-toolkitGenerates `.connekt.kts` scripts for HTTP automation and API testing using the Connekt DSL. Activates when writing, creating, or editing Connekt scripts, testing REST APIs, or automating HTTP workflows.
Provides reference knowledge for Postman CLI commands (send-request, generate-spec, run-collection) and git sync file structure. Useful for API testing, spec validation, and CI/CD integration.
Tests REST API endpoints: validates requests/responses/auth, generates curl/Postman/scripts, load tests concurrency/response times, security scans injections/XSS/CORS.