Hands on labs
Skill timwukp/agent-skills-best-practice/skills-workshop/hands-on-labs
35 portable agent skills (Agent Skills spec) for Kiro & Claude Code: Scrum DevSecOps roles, PCI-DSS/MAS TRM compliance, AWS Well-Architected reviews — each with evals and a 4-layer tested methodologyFrom the repository description
npx -y skills add timwukp/agent-skills-best-practice --skill hands-on-labsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 3 commands, including `mkdir -p ~/.kiro/skills/project-docs` and 2 more.
SKILL.md
6.3 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it
Lab 1: Build a Simple Document Creation Skill
Duration: 30 minutes
Difficulty: Beginner
Prerequisites: Kiro IDE or CLI installed
Objective
Build a skill that creates standardized project documentation with your team's templates.
Skills You'll Practice
- SKILL.md structure
- YAML frontmatter
- Basic instructions
- Testing triggering
Scenario
Your team needs to create project documentation for every new project. The documentation should include:
- Project README with standard sections
- CONTRIBUTING.md with team guidelines
- LICENSE file
- .gitignore for your tech stack
Currently, team members copy-paste from old projects or forget sections. You'll create a skill to automate this.
Step 1: Plan Your Skill (10 minutes)
Define Use Cases
Use Case 1: Create new project documentation
- Trigger: "Set up project docs", "create project documentation", "initialize project files"
- Steps: Create README, CONTRIBUTING, LICENSE, .gitignore
- Result: Complete documentation set
Use Case 2: Add missing documentation
- Trigger: "Add CONTRIBUTING file", "create LICENSE"
- Steps: Create specific missing file
- Result: Single file created
Define Success Criteria
Quantitative:
- Triggers on 90% of "project docs" queries
- Creates all 4 files in < 30 seconds
- 0 formatting errors
Qualitative:
- Team members don't need to ask what sections to include
- Consistent documentation across all projects
Step 2: Create SKILL.md (20 minutes)
Create Folder Structure
mkdir -p ~/.kiro/skills/project-docs
cd ~/.kiro/skills/project-docs
touch SKILL.md
Write SKILL.md
---
name: project-docs
description: Creates standardized project documentation including README,
CONTRIBUTING, LICENSE, and .gitignore files. Use when user says "set up
project docs", "create project documentation", "initialize project files",
or "add project README".
metadata:
author: Your Name
version: 1.0.0
category: documentation
---
# Project Documentation Creator
Creates complete, standardized project documentation for new projects.
## Instructions
### Step 1: Gather Project Information
Ask the user for:
- Project name
- Project description (1-2 sentences)
- Tech stack (e.g., Python, Node.js, React)
- License type (MIT, Apache-2.0, or other)
### Step 2: Create README.md
Generate README with these sections:
```markdown
# [Project Name]
[Project Description]
## Features
- [Key feature 1]
- [Key feature 2]
- [Key feature 3]
## Installation
\`\`\`bash
# Installation commands based on tech stack
\`\`\`
## Usage
\`\`\`bash
# Basic usage examples
\`\`\`
## Contributing
See CONTRIBUTING.md for guidelines.
## License
This project is licensed under the [License Type] License - see LICENSE file.
Step 3: Create CONTRIBUTING.md
Generate CONTRIBUTING with:
- Code of conduct
- How to report bugs
- How to suggest features
- Pull request process
- Coding standards
Step 4: Create LICENSE
Generate LICENSE file based on user's choice:
- MIT License
- Apache 2.0 License
- Or other specified license
Step 5: Create .gitignore
Generate .gitignore based on tech stack:
- Python:
__pycache__/,*.pyc,.env,venv/ - Node.js:
node_modules/,.env,dist/ - General:
.DS_Store,*.log,.vscode/
Step 6: Confirm Completion
List all created files and their locations.
Examples
Example 1: New Python Project
User says: "Set up project docs for a new Python API"
Actions:
- Ask for project name, description, license
- Create README.md with Python-specific installation
- Create CONTRIBUTING.md
- Create LICENSE (MIT)
- Create .gitignore with Python patterns
Result: 4 files created in current directory
Example 2: Add Missing File
User says: "Add a CONTRIBUTING file"
Actions:
- Create only CONTRIBUTING.md
- Use team's standard guidelines
Result: CONTRIBUTING.md created
Troubleshooting
Error: File already exists
Cause: Documentation files already present
Solution: Ask user if they want to overwrite or skip
Error: Unknown tech stack
Cause: User specified unfamiliar technology
Solution: Ask for clarification or use general .gitignore patterns
---
## Step 3: Test Your Skill (10 minutes)
### Test Triggering
Try these phrases in Kiro:
**Should Trigger:**
- "Set up project docs"
- "Create project documentation"
- "Initialize project files"
- "Add project README"
- "I need documentation for a new project"
**Should NOT Trigger:**
- "What's the weather?"
- "Write Python code"
- "Explain documentation"
### Test Functionality
1. **Full Documentation Set:**
"Set up project docs for a new Python API called 'FastAPI Demo' that provides REST endpoints. Use MIT license."
Expected: 4 files created (README, CONTRIBUTING, LICENSE, .gitignore)
2. **Single File:**
"Add a CONTRIBUTING file"
Expected: Only CONTRIBUTING.md created
3. **Different Tech Stack:**
"Create project docs for a React app"
Expected: .gitignore includes node_modules/, not Python patterns
---
## Step 4: Iterate (5 minutes)
### If Skill Doesn't Trigger
- Add more trigger phrases to description
- Make description more "pushy"
- Include specific keywords like "documentation", "README", "project setup"
### If Output is Incorrect
- Clarify instructions for each file
- Add more examples
- Specify exact format expected
### If Errors Occur
- Add error handling for edge cases
- Include troubleshooting section
- Test with various inputs
---
## Success Criteria
You've successfully completed this lab if:
- ✅ Skill triggers on project documentation requests
- ✅ Creates all 4 documentation files
- ✅ Files contain appropriate content for tech stack
- ✅ Skill doesn't trigger on unrelated queries
- ✅ You can explain how progressive disclosure works
---
## Bonus Challenges
1. **Add Templates:** Create `assets/` folder with template files
2. **Add Validation:** Check if files already exist before creating
3. **Add Customization:** Let users specify which files to create
4. **Add Styling:** Include team-specific branding in README
---
## Next Steps
- Deploy to your team
- Collect feedback
- Iterate on description and instructions
- Move on to Lab 2 for MCP integration
---
## Solution
A complete solution is available in `./examples.md`
Compare your implementation and note differences.