Перейти к основному содержимому

Agent Skills

Скиллы, с которыми coding-агент пишет код на Aspid.FastTools, а не на голом Unity API.

Быстрый старт​

Установите Aspid.FastTools в Unity-проект и выполните в корне проекта:

npx skills add VPDPersonal/Aspid.FastTools
Замерь Simulate и отдельно поиск соседей
Без скилловСо скиллами
private static readonly
ProfilerMarker _simulate =
new("Flock.Simulate");
private static readonly
ProfilerMarker _neighbors =
new("Flock.FindNeighbors");

public void Simulate()
{
using var _ = _simulate.Auto();
using (_neighbors.Auto())
FindNeighbors();
Integrate();
}
public void Simulate()
{
using var _ = this.Marker();
using (this.Marker()
.WithName("Neighbors"))
FindNeighbors();
Integrate();
}

Установка и обновление​

Одна команда ставит скиллы в Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI и другие агенты — в их папки внутри проекта (.claude/skills, .agents/skills). Закоммитьте эти папки, и скиллы получит вся команда.

ФлагЧто делает
-a claude-codeставит только в одного агента
-s aspid-profiler-markerставит один скилл
-yставит без вопросов
--listпоказывает скиллы без установки

Чтобы обновить скиллы пакета, повторите установку:

npx skills add VPDPersonal/Aspid.FastTools -y

npx skills update обновит все скиллы проекта, не только эти.

Без тега add берёт скиллы из ветки main, где они могут описывать API, которого ещё нет в вашей версии пакета. Чтобы скиллы совпадали с установленным пакетом, ставьте их с тега его релиза; npx skills update тогда остаётся на этом теге, а после обновления пакета снова выполните add с новым тегом:

npx skills add VPDPersonal/Aspid.FastTools#v<version>

Релизы до 1.0.0-rc.8 включительно не содержат этих скиллов; с ними ставьте скиллы из main, учитывая, что там может быть описан API, которого нет в вашей версии.

Скиллы​

Скиллы активируются автоматически при подходящих запросах.

aspid-profiler-marker​

Замер метода или участка через this.Marker(). Руководство: ProfilerMarkers.

AgentFlockSimulation.cs
>Замерь Simulate и отдельно поиск соседей
Skill aspid-profiler-marker
Update FlockSimulation.cs +2
public void Simulate(){    using var _ = this.Marker();    using (this.Marker().WithName("Neighbors"))    FindNeighbors();    Integrate();}

aspid-visual-element-fluent​

Построение и оформление элементов UI Toolkit в C#. Руководство: VisualElement Extensions.

AgentAbilityConfigEditor.cs
>Собери шапку инспектора с заголовком
Skill aspid-visual-element-fluent
Update AbilityConfigEditor.cs +5
public override VisualElement CreateInspectorGUI(){    return new VisualElement()        .SetPaddingX(12)        .SetPaddingY(10)        .AddChild(new Label("Ability Config")            .SetFontSize(14));}

aspid-serializable-type​

Хранение System.Type и выбор типов в инспекторе. Руководства: Serializable Type System, SerializeReference Selector, ComponentTypeSelector.

AgentWeaponMount.cs
>Добавь в инспектор выбор класса оружия, без абстрактных
Skill aspid-serializable-type
Update WeaponMount.cs +3
public sealed class WeaponMount : MonoBehaviour{    [TypeSelector(Allow = TypeAllow.None)]    [SerializeField]    private SerializableType<Weapon> _primaryWeapon;}

aspid-enum-values​

Сопоставление значений членам enum. Руководство: EnumValues.

AgentDamageReceiver.cs
>Добавь в инспектор множитель урона для каждого DamageType
Skill aspid-enum-values
Update DamageReceiver.cs +5
public sealed class DamageReceiver : MonoBehaviour{    [SerializeField]    private EnumValues<DamageType, float> _multipliers;
    public float GetMultiplier(DamageType type) =>        _multipliers.GetValue(type);}