Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when building custom Kiro AI agents or when user asks for agent configurations - provides JSON structure, tool configuration, prompt patterns, and security best practices for specialized development assistants
.claude/skills/majiayu000-creating-kiro-agents/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 84% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 90% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 100% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 77% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 61% | 0% |
Expert guidance for creating specialized Kiro AI agents with proper configuration, tools, and security.
Use when:
Don't use for:
json{ "name": "agent-name", "description": "One-line purpose", "prompt": "System instructions", "tools": ["fs_read", "fs_write"] }
.kiro/agents/<name>.json~/.kiro/agents/<name>.jsonfs_read - Read filesfs_write - Write files (requires allowedPaths)execute_bash - Run commands (requires allowedCommands)✅ Good: backend-api-specialist - Express.js REST APIs ❌ Bad: general-helper - does everything
Grant only necessary tools and paths.
json{ "toolsSettings": { "fs_write": { "allowedPaths": ["src/api/**", "tests/api/**"] }, "execute_bash": { "allowedCommands": ["npm test", "npm run build"] } } }
✅ Good:
markdownYou are a backend API expert specializing in Express.js and MongoDB. ## Focus Areas - RESTful API design - Security best practices (input validation, auth) - Error handling with proper status codes - MongoDB query optimization ## Standards - Always use async/await - Implement proper logging - Validate all inputs - Use TypeScript interfaces
❌ Bad: "You are a helpful coding assistant."
json{ "name": "backend-dev", "description": "Node.js/Express API development with MongoDB", "prompt": "Backend development expert. Focus on API design, database optimization, and security.\n\n## Core Principles\n- RESTful conventions\n- Input validation\n- Error handling\n- Query optimization", "tools": ["fs_read", "fs_write", "execute_bash"], "toolsSettings": { "fs_write": { "allowedPaths": ["src/api/**", "src/routes/**", "src/models/**"] } } }
json{ "name": "code-reviewer", "description": "Reviews code against team standards", "prompt": "You review code for:\n- Quality and readability\n- Security issues\n- Performance problems\n- Standard compliance\n\nProvide constructive feedback with examples.", "tools": ["fs_read"], "resources": ["file://.kiro/steering/review-checklist.md"] }
json{ "name": "test-writer", "description": "Writes comprehensive Vitest test suites", "prompt": "Testing expert using Vitest.\n\n## Test Requirements\n- Unit tests for all functions\n- Edge case coverage\n- Proper mocking\n- AAA pattern (Arrange, Act, Assert)\n- Descriptive test names", "tools": ["fs_read", "fs_write"], "toolsSettings": { "fs_write": { "allowedPaths": ["**/*.test.ts", "**/*.spec.ts", "tests/**"] } } }
json{ "name": "frontend-dev", "description": "React/Next.js development with TypeScript", "prompt": "Frontend expert in React, Next.js, and TypeScript.\n\n## Focus\n- Component architecture\n- Performance optimization\n- Accessibility (WCAG)\n- Responsive design", "tools": ["fs_read", "fs_write"], "toolsSettings": { "fs_write": { "allowedPaths": ["src/components/**", "src/app/**", "src/styles/**"] } } }
json{ "mcpServers": { "database": { "command": "mcp-server-postgres", "args": ["--host", "localhost"], "env": { "DB_URL": "${DATABASE_URL}" } }, "fetch": { "command": "mcp-server-fetch", "args": [] } }, "tools": ["fs_read", "db_query", "fetch"], "allowedTools": ["fetch"] }
json{ "hooks": { "agentSpawn": ["git fetch origin", "npm run db:check"], "userPromptSubmit": ["git status --short"] } }
json{ "resources": [ "file://.kiro/steering/api-standards.md", "file://.kiro/steering/security-policy.md" ] }
bash # Create in project touch .kiro/agents/my-agent.json
# Or global touch ~/.kiro/agents/my-agent.json
bash kiro agent use my-agent kiro "What can you help me with?"
| Mistake | Problem | Fix | |---------|---------|-----| | Granting all tools | Security risk | Only grant necessary tools | | Vague prompts | Ineffective agent | Be specific about domain and standards | | No path restrictions | Agent can modify any file | Use allowedPaths for fs_write | | Generic names | Hard to find/remember | Use descriptive names: react-component-creator | | Missing description | Unclear purpose | Add one-sentence description | | Multiple domains | Unfocused agent | Create separate specialized agents |
backend-specialist, not BackendSpecialistreact-testing-expert, not helperaws-infrastructure, mobile-ui-designerallowedPathsallowedCommandsallowedTools for safe operations.kiro/agents/.json extensionallowedPaths restrictionsallowedTools listbash# Install Kiro agent from registry prpm install @username/agent-name --as kiro --subtype agent # Publish your agent prpm init my-agent --subtype agent # Edit canonical format, then: prpm publish
Effective agents:
Example: A test-writer agent that only writes to test files prevents accidental modification of source code while ensuring comprehensive test coverage.
Key Takeaway: Specialize agents for specific domains, restrict tools to minimum necessary, and write clear prompts with concrete standards.
Other measured skills in the registry, with their headline benchmark lift.