Install
$ agentstack add skill-claude-dev-suite-claude-dev-suite-axios ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Axios - Quick Reference
When to Use This Skill
- HTTP requests in JavaScript/TypeScript applications
- Configuring interceptors for auth/error handling
- Creating Axios instances for specific APIs
- Request/response transformation
- File uploads and downloads
> Deep Knowledge: Use mcp__documentation__fetch_docs with technology: axios for comprehensive documentation.
Setup Base
npm install axios
Pattern Essenziali
GET Request
import axios from 'axios';
const response = await axios.get('/api/users');
const users = response.data;
// With params
const response = await axios.get('/api/users', {
params: { page: 1, limit: 10 }
});
POST Request
const response = await axios.post('/api/users', {
name: 'John',
email: 'john@example.com'
});
Axios Instance
const api = axios.create({
baseURL: 'https://api.example.com',
timeout: 10000,
headers: { 'Content-Type': 'application/json' }
});
// Use instance
const users = await api.get('/users');
Interceptors
// Request interceptor (add auth token)
api.interceptors.request.use(
(config) => {
const token = localStorage.getItem('token');
if (token) {
config.headers.Authorization = `Bearer ${token}`;
}
return config;
},
(error) => Promise.reject(error)
);
// Response interceptor (handle errors)
api.interceptors.response.use(
(response) => response,
(error) => {
if (error.response?.status === 401) {
// Handle unauthorized
window.location.href = '/login';
}
return Promise.reject(error);
}
);
TypeScript Types
interface User {
id: number;
name: string;
email: string;
}
const response = await api.get('/users');
const users: User[] = response.data;
Error Handling
try {
const response = await api.get('/users');
} catch (error) {
if (axios.isAxiosError(error)) {
console.error('API Error:', error.response?.data);
console.error('Status:', error.response?.status);
}
}
When NOT to Use This Skill
- Native Fetch API patterns (use
http-clientsskill) - ky or ofetch configuration (use
http-clientsskill) - GraphQL client setup (use
graphql-codegenskill) - tRPC client configuration (use
trpcskill) - WebSocket connections
Anti-Patterns
| Anti-Pattern | Why It's Bad | Solution | |--------------|--------------|----------| | No timeout configured | Requests hang indefinitely | Set timeout in axios.create() | | Hardcoded base URLs | Environment coupling | Use env variables for baseURL | | No error interceptor | Inconsistent error handling | Add response error interceptor | | Not typing responses | Loses type safety | Use generics: axios.get() | | Duplicating auth logic | Maintenance burden | Use request interceptor | | Ignoring response status | Silent failures | Check response.status or use validateStatus | | No request cancellation | Memory leaks on unmount | Use AbortController | | Logging sensitive data | Security risk | Redact tokens/passwords from logs |
Quick Troubleshooting
| Issue | Possible Cause | Solution | |-------|----------------|----------| | CORS errors | Server not allowing origin | Configure CORS on server, check preflight | | 401 Unauthorized | Missing or invalid token | Check interceptor, verify token | | Network Error | Server unreachable, CORS | Check baseURL, server status, CORS config | | Timeout errors | Request taking too long | Increase timeout or optimize endpoint | | Request canceled | AbortController triggered | Check component lifecycle, don't cancel needed requests | | Type errors | Response shape mismatch | Verify API response matches type definition | | Interceptor not firing | Interceptor added after request | Add interceptors during client setup | | Memory leaks | Not canceling requests on unmount | Use cleanup in useEffect |
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: claude-dev-suite
- Source: claude-dev-suite/claude-dev-suite
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.