Sails feature workflow
Skill gear-foundation/vara-skills/skills/sails-feature-workflow
Use when a builder is changing behavior inside an existing standard Gear/Vara Sails app and needs the correct stage-by-stage workflow. Do not use for greenfield scaffolding, Vara.eth or ethexe paths, or non-Sails repositories.From its SKILL.md
npx -y skills add gear-foundation/vara-skills --skill sails-feature-workflowAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 17 stars17 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.4 KB, as published. Nobody here has run it
Sails Feature Workflow
Goal
Keep feature work inside an existing Sails repo on an explicit sequence instead of skipping straight to code edits or bypassing the typed client path.
If the request targets a released contract, a new deployed contract version, or V1->V2 evolution, route through ../sails-program-evolution/SKILL.md before normal implementation work continues.
Required Sequence
- Clarify the feature in
docs/plans/YYYY-MM-DD-<topic>-spec.mdwithidea-to-specand../../assets/spec-template.md. - Plan architecture or public interface in
...-architecture.mdwith../sails-architecture/SKILL.mdand../../assets/architecture-template.md. - If the work targets a released contract, introduces a new deployed version, requires cutover planning, or prepares V1->V2 migration, review
../sails-program-evolution/SKILL.mdbefore task breakdown and coding. - If the feature needs API selection across
gstd, review../gear-gstd-api-map/SKILL.mdbefore coding. - If the feature changes async behavior, replies, delays, reservations, or waitlist semantics, review
../gear-message-execution/SKILL.mdbefore coding. - Break the work into tasks in
...-tasks.mdwithtask-decomposerand../../assets/task-plan-template.md. - If the feature introduces a fungible token, mint/burn roles, token-backed accounting, or native-value exchange, review
../awesome-sails-vft/SKILL.mdbefore coding. - Implement the Rust changes through
sails-rust-implementer. - If the public interface changed, refresh the
.idland regenerate the typed client through the repo's standardbuild.rspath first. For dedicated Rust client crates, prefer thesails-rsbuild-helper path before a manual generator pipeline. - Run
gtestthrough../sails-gtest/SKILL.md. - Run smoke validation only after green
gtest, using../sails-local-smoke/SKILL.md.
Sponsored UX Cases
- If the feature includes gasless or signless UX, see
../../references/voucher-and-signless-flows.mdfor the canonical builder recipes, lifecycle, and failure modes. Define the voucher or session flow in the spec and architecture.
References
../../references/vara-domain-overview.md../../references/sails-cheatsheet.md../../references/gtest-cheatsheet.md../../references/gear-execution-model.md../../references/gear-messaging-and-replies.md../../references/sails-gtest-and-local-validation.md../../references/contract-interface-evolution.md../../references/voucher-and-signless-flows.md../../references/sails-idl-v2-syntax.md— IDL v2 annotations for.idlfiles../../references/sails-header-wire-format.md— interface ID stability for change classification
Guardrails
- Do not skip the document chain for “small” features.
- Do not bypass the generated client path with raw payload encoders, hand-built SCALE payloads, or EVM-style bindings.
- Do not claim completion before
gtestis green and documented. - Do not treat local-node smoke as a substitute for
gtest. - Do not treat released-contract evolution, cutover, or V1->V2 migration as ordinary feature work without routing through the program-evolution flow.