create-twig-index-template — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited create-twig-index-template (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Read @.ai/Component/Twig/CONTEXT.md for template conventions (layout, flash messages, routes, form themes).
Create src/PrestaShopBundle/Resources/views/Admin/{Section}/{Domain}/index.html.twig:
{% extends '@PrestaShop/Admin/layout.html.twig' %}
{% block content %}
{% include '@PrestaShop/Admin/Common/Grid/grid_panel.html.twig' with {grid: grid} %}
{% endblock %}
{% block page_header_toolbar %}
<div class="toolbar-icons">
<a href="{{ path('admin_{domain}s_create') }}" class="btn btn-primary">
{{ 'Add new'|trans({}, 'Admin.Actions') }}
</a>
</div>
{% endblock %}The grid variable is passed from the controller's indexAction via the grid presenter.
Reference: src/PrestaShopBundle/Resources/views/Admin/Improve/International/Tax/index.html.twig (simple), src/PrestaShopBundle/Resources/views/Admin/Sell/Catalog/Manufacturer/index.html.twig (two grids)
Most grids work with default column rendering. Only add custom blocks when a column needs domain-specific HTML:
{% block column_{column_id}_content %} in the grid panel includeConventions (layout extension, path() for routes, flash messages auto-handling, toolbar buttons) are in Twig/CONTEXT.md. Skill-specific reminder:
grid variable name must match what the controller passes to render()~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.