Solana Finance — плагин

Плагин и скилл Quicknode для программ Solana на Anchor 1, 2 и Quasar: точность, тесты на LiteSVM и компактный Rust.

  • 101 ★ репозитория
  • Последний коммит
  • MIT
Плагин

Минимальный доступ

Почему такой уровень

  • Скилл содержит только инструкции для написания кода и сам ничего не развертывает.
Все причины и проверки

quicknode/solana-finance-claude-plugin

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add plugins/solana-finance

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Минимальный доступИнструмент ничего не запускает и не ходит в сеть.

  • Скилл содержит только инструкции для написания кода и сам ничего не развертывает.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Скилл `solana` включается сам, когда Claude Code работает с проектом Solana, Anchor или Quasar, либо вызывается вручную командой `/solana-finance:solana`. Он задает правила для финансовых программ: точность и согласованность, безопасность, читаемость и минимум кода. Для тестов рекомендованы Rust и LiteSVM. В папке скилла лежат справочники по Anchor, Anchor 2.0.0-rc.1 (перенос программы на новую версию), Quasar, Rust и TypeScript. Отдельные файлы описывают настройку окружения для CI и удаленных контейнеров, пересказ программ и оформление схем аккаунтов в SVG, включая анимацию для экрана. Плагин сопровождает книгу «Building Financial Software on Solana».

Для кого. Разработчикам смарт-контрактов на Solana, которые пишут финансовые программы на Anchor или Quasar и хотят одинаковых правил от агента.

Подходит, если

  • Программа на Anchor 1 переносится на Anchor 2.0.0-rc.1, и нужен порядок действий.
  • Для программы пишут тесты на Rust и LiteSVM, а не на TypeScript.
  • Схему аккаунтов нужно нарисовать в SVG и анимировать для презентации.
  • Окружение сборки готовят для CI или удаленного контейнера.

Не подходит, если

  • Нужен аудит безопасности: скилл задает правила написания, но проверку третьей стороны не заменяет.
  • Проект не на Solana: правила рассчитаны на Anchor и Quasar.
  • Нужны данные ончейн, а не помощь с кодом.

Пример запроса к агенту

Перенеси программу эскроу с Anchor 1 на Anchor 2.0.0-rc.1, перепиши тесты на LiteSVM и опиши аккаунты схемой SVG.

Ограничения

Скилл содержит инструкции для написания и сопровождения кода, а не средства развертывания: ключи, кошельки и сети агенту нужно давать отдельно и осторожно. Правила рассчитаны на Anchor 1, Anchor 2.0.0-rc.1 и Quasar. Версия Anchor 2 указана как release candidate. Скилл следует философии автора, например требует полной реализации с тестами, что может расходиться со стилем вашей команды. Поставка скилла из `npx skills@1.7.0` ставит файлы в `.claude/skills/` проекта. Лицензия MIT.

Как отключить. Выполните `/plugin uninstall solana-finance@quicknode`. Скилл, поставленный через `npx skills`, удаляется из `.claude/skills/` или `~/.claude/skills/`.

Частые вопросы

Как поставить плагин?

Двумя командами в Claude Code: `/plugin marketplace add quicknode/solana-finance-claude-plugin` и `/plugin install solana-finance@quicknode`.

Можно ли поставить только скилл?

Да, командой `npx skills@1.7.0 add https://github.com/quicknode/solana-finance-claude-plugin`. Ключ `-g` ставит его для всех проектов, а `--agent claude-code` ограничивает установку одним агентом.

Как вызвать скилл вручную?

Командой `/solana-finance:solana`. Если скилл поставлен отдельно без плагина, команда короче: `/solana`.

Какие фреймворки покрыты?

Anchor 1, Anchor 2 (в статусе release candidate) и Quasar, плюс Rust и TypeScript для клиентов. Тесты рекомендованы на LiteSVM.

Что такое «смарт-контракт» в Solana?

В Solana программы заменяют то, что в старых блокчейнах называют смарт-контрактами. Плагин помогает писать их для финансовых продуктов.

Обсуждение

Вопросов и отзывов пока нет.

Плагины
Официальный

Скилл Solana Foundation для разработки на Solana: Anchor и Pinocchio, клиенты на @solana/kit, кошельки, тесты Surfpool и LiteSVM, безопасность

СкиллРасширенный доступ590Звезды репозитория

Агенты, команды и MCP для работы со Solana в Claude Code, плюс файрвол, который закрывает секреты и основную сеть.

ПлагинШирокий доступ111Звезды репозитория

Набор скиллов для разработки и обновления смарт-контрактов на библиотеках OpenZeppelin в Solidity, Cairo, Stylus, Stellar и Sui

ПлагинРасширенный доступ223Звезды репозитория
Официальный

Восемь скиллов Stellar Development Foundation: контракты на Rust, SDK, RPC, активы, кошельки и аудит безопасности

СкиллМинимальный доступ59Звезды репозитория

Маркетплейс Claude Code из 19 плагинов и 76 скиллов по фронтенду, бэкенду, DevOps и безопасности с командой сборки цепочек

ПлагинРасширенный доступ530Звезды репозитория

Плагин из 24 скиллов для Claude Code: ИИ-приложения на Next.js, AI SDK 7, shadcn/ui, pgvector, проверка интерфейса в браузере

ПлагинРасширенный доступ71Звезды репозитория

Коротко о README

Скилл связан с книгой о финансовом ПО на Solana и основан на коде крупных программ экосистемы. Он состоит из точки входа `SKILL.md` и набора справочников по языкам и фреймворкам.

Бейдж для README

Исходный SKILL.md

---
name: solana
description: "Use when working on Solana software, including one or more of: Solana client code using TypeScript, Rust libraries that use Solana crates, Anchor programs, Quasar programs, LiteSVM tests, including Rust program files, TypeScript tests, and Anchor.toml or Quasar.toml configuration. Designed to create minimal, reusable code without unnecessary duplication."
---

# Coding Guidelines

Apply these rules to ensure code quality, maintainability, and adherence to project standards.

## Fight for Truth

Don't write things that aren't currently true - anywhere. Chat, code comments, variable names, PR titles, READMEs, commit messages.

- Documentation and comments that do not match the code are considered untrue.
- Variable names that do not match the purpose of the variable are considered untrue. For example, a struct called `InitializeMarket` is not true because a struct cannot 'initialize a market' - structs do not do things, only functions can do things.
- Temporary workarounds that aren't labelled as such are lying through omission - there is an issue you aren't telling the next programmer about. Mark them with a `TODO` comment with a link to a git issue (if it exists) and telling the next programmer when they can delete the workaround.
- If unsure of something, say so. Bluffing is lying.
- **Ambiguity is a soft lie:** if a phrase could be read two ways and only one is true, it's misleading. Disambiguate before sending - pick the term that says exactly what's meant, name the antecedent of every "it"/"this"/"that".
- A wrong statement is worse than no statement.
- Separate scratch labels from real identifiers.

Actively fix untrue things when you see them. Don't let "close enough" wording stand in for the truthful one.

**Grep before naming.** Before sending any prose, walkthrough, README, comment, or commit message that names a specific identifier (function, struct, file, account, module, field, constant), grep the source for that exact identifier and confirm it exists. "I'm pretty sure that's the name" is not enough. If the identifier doesn't exist, either use the real name or apply the rename to the code first, then write the prose.

**Describe what is, not what was removed.** READMEs, doc-comments, and code comments document current state - not history. Lines like "no floats", "no longer uses X", "replaces the previous Y approach" belong in CHANGELOGs and PR descriptions, not source artefacts. A first-time reader has no history and "no longer uses I64F64" creates ambient confusion ("wait, should I be worried?"). Sweep before sending: grep for `no longer`, `removed`, `previously`, `used to`, `formerly`, `dropped`, `now uses`, `replaces the previous` - each hit is a candidate for deletion.

## Do the whole thing

The marginal cost of completeness is near zero with AI. Do the whole thing.

Do it right. Do it with tests. Do it with documentation. Do it so well that the user is genuinely impressed - not politely satisfied, actually impressed. Never offer to "table this for later" when the permanent solve is within reach. Never leave a dangling thread when tying it off takes five more minutes. Never present a workaround when the real fix exists.

The standard isn't "good enough" - it's "holy shit, that's done." Search before building. Test before shipping.

Ship the complete thing. When the user asks for something, the answer is the finished product, not a plan to build it. Time is not an excuse. Fatigue is not an excuse. Complexity is not an excuse. Boil the ocean.

**A caveat is not a fix.** When you find a gap while doing the work - missing test coverage, a CI job that doesn't run, an untested path, a stale doc - close it as part of the task. Do not downgrade a fixable defect into a disclaimer. If you catch yourself writing "note: X isn't covered / isn't built / isn't tested / won't get a CI signal," stop: that sentence is a TODO, not a caveat. Fix X so there is nothing to note. Reserve caveats for what you genuinely cannot fix (out of scope, needs a decision, external blocker) - and for those, state what you would do and offer to do it.

## Success Criteria

Сообщить о проблеме