A complete Task Management REST API built with FastAPI, SQLModel, and pytest — plus 5 reusable agent skills.
task-api/
├── app/
│ ├── __init__.py
│ └── main.py ← All API routes and database models
├── tests/
│ ├── __init__.py
│ └── test_tasks.py ← All pytest tests
├── skills/
│ ├── fastapi-skill/ ← Technical Skill 1
│ │ └── SKILL.md
│ ├── pytest-skill/ ← Technical Skill 2
│ │ └── SKILL.md
│ └── sqlmodel-skill/ ← Technical Skill 3
│ └── SKILL.md
├── requirements.txt
└── README.md
📁 Daily workflow skills (assignment-writer, paper-summarizer, study-planner, email-composer, code-explainer) are in the companion
student-skills/repository.
Download Python 3.11+ from https://python.org ✅ Check "Add Python to PATH" during installation
Press Windows + R → type cmd → press Enter
pip install -r requirements.txtuvicorn app.main:app --reloadGo to: http://localhost:8000/docs
You'll see the interactive API documentation — you can test all endpoints there! ✅
| Method | Route | Description |
|---|---|---|
| GET | / |
Welcome message |
| POST | /tasks/ |
Create a new task |
| GET | /tasks/ |
Get all tasks |
| GET | /tasks/{id} |
Get one task by ID |
| PUT | /tasks/{id} |
Update a task |
| DELETE | /tasks/{id} |
Delete a task |
pytest tests/ -vExpected output:
PASSED tests/test_tasks.py::test_root
PASSED tests/test_tasks.py::test_create_task
PASSED tests/test_tasks.py::test_get_all_tasks
PASSED tests/test_tasks.py::test_get_single_task
PASSED tests/test_tasks.py::test_get_task_not_found
PASSED tests/test_tasks.py::test_update_task
PASSED tests/test_tasks.py::test_delete_task
PASSED tests/test_tasks.py::test_delete_task_not_found
8 passed ✅
| Skill | Replaces | Time Saved |
|---|---|---|
fastapi-skill |
Hours reading FastAPI docs | 3–5 hrs/project |
pytest-skill |
Manual API testing + test setup | 2–4 hrs/project |
sqlmodel-skill |
Database design confusion | 2–3 hrs/project |
| Skill | Replaces | Time Saved |
|---|---|---|
assignment-writer |
Writing CS assignments from scratch | 3–4 hrs/assignment |
code-explainer |
Googling confusing code line by line | 1–2 hrs/session |
| Technology | Purpose |
|---|---|
| FastAPI | Building the REST API |
| SQLModel | Database models + SQLite storage |
| pytest | Automated testing |
| uvicorn | Running the API server |
curl -X POST "http://localhost:8000/tasks/" \
-H "Content-Type: application/json" \
-d '{"title": "Learn FastAPI", "description": "Build my first API", "completed": false}'curl "http://localhost:8000/tasks/"curl -X PUT "http://localhost:8000/tasks/1" \
-H "Content-Type: application/json" \
-d '{"title": "Learn FastAPI", "completed": true}'curl -X DELETE "http://localhost:8000/tasks/1"Built for AI-400: Cloud-Native AI with Docker, Kubernetes & Dapr — Panaversity