This skill defines the Django/Wagtail stack configuration. Apply when working on Django projects.
/plugin marketplace add Syntek-Studio/syntek-dev-suite/plugin install syntek-studio-syntek-dev-suite@Syntek-Studio/syntek-dev-suiteThis skill inherits all available tools. When active, it can use any tool Claude has access to.
This skill defines the Django/Wagtail stack configuration. Apply when working on Django projects.
| Layer | Technology |
|---|---|
| Platform | Raw Docker (Docker Compose) |
| Backend | Python 3.10+, Django 5.x, Wagtail 6.x |
| Server | Gunicorn / Nginx |
| Testing | pytest, pytest-django |
| Task | Command |
|---|---|
| Start environment | docker compose up -d |
| Stop environment | docker compose down |
| View logs | docker compose logs -f web |
| Django manage | docker compose exec web python manage.py <command> |
| Django shell | docker compose exec web python manage.py shell |
| Run tests | docker compose exec web pytest |
| Run specific test | docker compose exec web pytest tests/test_file.py -k test_name |
| Migrations | docker compose exec web python manage.py migrate |
| Make migrations | docker compose exec web python manage.py makemigrations |
| Create superuser | docker compose exec web python manage.py createsuperuser |
| Collect static | docker compose exec web python manage.py collectstatic --noinput |
| Pip install | docker compose exec web pip install <package> |
StreamField for flexible contentblocks.py filesStructBlock for grouped fields{% extends 'base.html' %}{% include %} sparingly - prefer template inheritance{% block %} for overridable sectionsCRITICAL: All Python code must use strict type hints.
from typing import Optional, List
from django.db.models import QuerySet
def get_active_users(limit: Optional[int] = None) -> QuerySet['User']:
"""
Retrieves active users from the database.
Args:
limit: Maximum number of users to return. None returns all.
Returns:
QuerySet[User]: Active user records.
"""
users = User.objects.filter(is_active=True)
if limit:
users = users[:limit]
return users
project/
├── apps/
│ ├── core/ # Shared functionality
│ │ ├── models.py
│ │ ├── services.py # Business logic
│ │ └── utils.py
│ ├── users/ # User management
│ └── content/ # Wagtail content
│ ├── models.py # Page models
│ └── blocks.py # StreamField blocks
├── templates/
│ ├── base.html
│ └── pages/
├── static/
├── tests/
│ ├── conftest.py # pytest fixtures
│ ├── test_models.py
│ └── test_services.py
├── docs/
│ └── METRICS/ # Self-learning system (see global-workflow skill)
│ ├── README.md
│ ├── config.json
│ ├── runs/
│ ├── feedback/
│ └── optimisations/
├── manage.py
├── docker-compose.yml
└── requirements.txt
import pytest
from apps.users.services import UserService
@pytest.fixture
def user_service() -> UserService:
return UserService()
def test_create_user(user_service: UserService, db) -> None:
"""Test user creation with valid data."""
user = user_service.create(
email='test@example.com',
name='Test User'
)
assert user.email == 'test@example.com'
assert user.is_active is True
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.