| name | frontend-development |
| description | Frontend development - React, Vue, component architecture, state management |
| sasmp_version | 1.3.0 |
| bonded_agent | 02-frontend-development |
| bond_type | PRIMARY_BOND |
| atomic | true |
| single_responsibility | frontend_implementation |
| parameters | [object Object] |
| returns | [object Object] |
| retry | [object Object] |
| logging | [object Object] |
Frontend Development Skill
Atomic skill for frontend development including component creation, state management, and build optimization.
Responsibility
Single Purpose: Implement frontend components and configure client-side architecture
Actions
create_component
Create a new React/Vue component with proper patterns.
// Input
{
action: "create_component",
framework: "react",
component_type: "compound",
typescript: true
}
// Output
{
success: true,
code: "import { memo } from 'react';\n...",
files: [
{ path: "components/MyComponent.tsx", content: "..." },
{ path: "components/MyComponent.test.tsx", content: "..." }
],
performance_impact: { bundle_size: "+2kb", render_time: "5ms" }
}
manage_state
Configure state management solution.
configure_routing
Set up client-side routing.
optimize_build
Optimize bundle size and build performance.
Validation Rules
function validateParams(params: SkillParams): ValidationResult {
if (!params.action) {
return { valid: false, error: "action is required" };
}
if (params.action === 'create_component' && !params.component_type) {
return { valid: false, error: "component_type required for create_component" };
}
return { valid: true };
}
Error Handling
| Error Code | Description | Recovery |
|---|---|---|
| INVALID_FRAMEWORK | Unsupported framework | Check supported frameworks |
| A11Y_VIOLATION | Accessibility issue detected | Apply accessible pattern |
| BUNDLE_BUDGET_EXCEEDED | Component too large | Suggest code splitting |
Logging Hooks
{
"on_invoke": "log.info('frontend-development invoked', { action, framework })",
"on_success": "log.info('Component created', { files, bundle_impact })",
"on_error": "log.error('Frontend skill failed', { error })"
}
Unit Test Template
import { describe, it, expect } from 'vitest';
import { frontendDevelopment } from './frontend-development';
describe('frontend-development skill', () => {
describe('create_component', () => {
it('should create React component with TypeScript', async () => {
const result = await frontendDevelopment({
action: 'create_component',
framework: 'react',
component_type: 'presentational',
typescript: true
});
expect(result.success).toBe(true);
expect(result.code).toContain('interface');
expect(result.files).toHaveLength(2); // Component + test
});
it('should include accessibility attributes', async () => {
const result = await frontendDevelopment({
action: 'create_component',
framework: 'react',
component_type: 'presentational'
});
expect(result.code).toMatch(/aria-|role=/);
});
});
describe('manage_state', () => {
it('should configure zustand for simple state', async () => {
const result = await frontendDevelopment({
action: 'manage_state',
framework: 'react'
});
expect(result.success).toBe(true);
});
});
});
Integration
- Bonded Agent: 02-frontend-development
- Upstream Skills: fullstack-basics
- Downstream Skills: fullstack-testing
Version History
| Version | Date | Changes |
|---|---|---|
| 1.0.0 | 2024-01 | Initial release |
| 2.0.0 | 2025-01 | Production-grade upgrade with React 19 patterns |