NEAR Intents Swap Integration
internet-court/internet-court-skill
Builds cross-chain token swaps and bridge flows with the NEAR Intents 1Click API: quotes, deposit addresses, per-chain deposits and status polling.
A skill your agent uses when the user asks to create, view, or modify a SaaS Pegasus project via the pegasus CLI — e.g.
$ npx skills add saaspegasus/django-boilerplate --skill pegasus-projects -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install saaspegasus/django-boilerplate pegasus-projects --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/saaspegasus/django-boilerplate.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/pegasus-projects .claude/skills/pegasus-projects && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "pegasus-projects" agent skill from https://github.com/saaspegasus/django-boilerplate/tree/main/.claude/skills/pegasus-projects into .claude/skills/pegasus-projects/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pegasus-projects", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/saaspegasus/django-boilerplate/tree/main/.claude/skills/pegasus-projectsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add saaspegasus/django-boilerplate --skill pegasus-projects -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install saaspegasus/django-boilerplate pegasus-projects --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/saaspegasus/django-boilerplate.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/pegasus-projects .agents/skills/pegasus-projects && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "pegasus-projects" agent skill from https://github.com/saaspegasus/django-boilerplate/tree/main/.claude/skills/pegasus-projects into .agents/skills/pegasus-projects/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pegasus-projects", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add saaspegasus/django-boilerplate --skill pegasus-projects -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install saaspegasus/django-boilerplate pegasus-projects --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/saaspegasus/django-boilerplate.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/pegasus-projects .cursor/skills/pegasus-projects && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "pegasus-projects" agent skill from https://github.com/saaspegasus/django-boilerplate/tree/main/.claude/skills/pegasus-projects into .cursor/skills/pegasus-projects/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pegasus-projects", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/saaspegasus/django-boilerplate.git --path .claude/skills/pegasus-projects--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add saaspegasus/django-boilerplate --skill pegasus-projects -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install saaspegasus/django-boilerplate pegasus-projects --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/saaspegasus/django-boilerplate.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/pegasus-projects .gemini/skills/pegasus-projects && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "pegasus-projects" agent skill from https://github.com/saaspegasus/django-boilerplate/tree/main/.claude/skills/pegasus-projects into .gemini/skills/pegasus-projects/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pegasus-projects", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install saaspegasus/django-boilerplate pegasus-projectsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add saaspegasus/django-boilerplate --skill pegasus-projects -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/saaspegasus/django-boilerplate.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/pegasus-projects .github/skills/pegasus-projects && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "pegasus-projects" agent skill from https://github.com/saaspegasus/django-boilerplate/tree/main/.claude/skills/pegasus-projects into .github/skills/pegasus-projects/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pegasus-projects", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add saaspegasus/django-boilerplate --skill pegasus-projects -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install saaspegasus/django-boilerplate pegasus-projects --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/saaspegasus/django-boilerplate.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/pegasus-projects .opencode/skills/pegasus-projects && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "pegasus-projects" agent skill from https://github.com/saaspegasus/django-boilerplate/tree/main/.claude/skills/pegasus-projects into .opencode/skills/pegasus-projects/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pegasus-projects", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
pegasus-projectsA skill your agent uses when the user asks to create, view, or modify a SaaS Pegasus project via the pegasus CLI — e.g.
Pegasus Projects is an agent skill from saaspegasus/django-boilerplate. Use when the user asks to create, view, or modify a SaaS Pegasus project via the pegasus CLI — e.g. "create a new Pegasus project for X", "add subscriptions to my Pegasus project", "show me my project settings", "switch the front-end framework to React", "what features can I use on my license tier".
Its SKILL.md is about 5.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Backend & APIs. It works with React. The repository describes itself as: The original SaaS Boilerplate for Django, trusted by thousands. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 0174a41. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
uvxgitFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
saaspegasus.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
PEGASUS_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Pegasus Projects loads about 5.1k tokens when it runs. Until then it costs about 80 tokens; SKILL.md has 2,685 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from saaspegasus/django-boilerplate at commit 0174a41, republished under its MIT licence (© saaspegasus). 2,685 words, ~5,078 tokens.
.claude/skills/pegasus-projects/SKILL.md (or your agent's skills folder).You are managing a SaaS Pegasus project on behalf of the user. Pegasus is a Django boilerplate; a "project" is a configuration of features (frontend framework, auth providers, billing, AI, etc.) that the Pegasus build pipeline later renders into a real Django codebase. Your job is to translate the user's intent into the right CLI calls.
The Pegasus CLI is published on PyPI as pegasus-cli (binary name
pegasus) and also ships installed in every Pegasus project's venv,
pinned to that project's release version.
Pick the invocation form at session start:
command -v pegasus.pegasus .... This is the
preferred form whenever it's available — the local install is
version-matched to the project and may even be ahead of what's on
PyPI (e.g. unreleased CLI changes that ship with the local repo).uvx --from pegasus-cli pegasus ...
for every command. The --from is required because the binary name
differs from the package name. Works from any cwd, no venv needed.
First call caches the env (a few seconds); subsequent calls are
fast.Don't mix forms within a session. Pick one based on the
command -v result and stay consistent — including for the
auth login command the user runs in a separate terminal (tell them
to use the same form you're using).
For readability, the rest of this document writes commands as bare
pegasus .... Mentally prepend uvx --from pegasus-cli if you're in
the uvx case.
Authentication uses an API key from saaspegasus.com.
pegasus auth status — non-interactive, safe
to run from a Bash tool call. It exits 0 when a key is configured (via
~/.pegasus/credentials or $PEGASUS_API_KEY) and non-zero otherwise.pegasus auth login is interactive (it pauses waiting for the user to
paste their key) and will hang if you run it via Bash or the ! prefix.
Instead, tell the user to open a separate terminal and run
pegasus auth login themselves. They'll be prompted to paste a key
from https://www.saaspegasus.com/. Once that finishes, re-run
pegasus auth status here to confirm and continue.PEGASUS_API_KEY=<their-key> in
the shell that launched Claude Code, then restart this session.pegasus projects list # list all projects
pegasus projects fields --json # schema for a new project
pegasus projects fields --for <id> --json # schema for an existing project
pegasus projects show <id> --json # full config of one project
pegasus projects create --json [--set k=v ...] [--config-file path]
pegasus projects update <id> --json [--set k=v ...] [--config-file path]
pegasus projects push <id> # push to GitHub (separate flow)ALWAYS pass --json when you (an agent) are inspecting output. The
default is a Rich table for humans that may truncate or scroll past your
visible viewport — a 60+ field schema looks like fields are missing when
they aren't. JSON output is always complete and parseable. Treat tables as
human-only.
For any non-trivial create or update, work in this order:
Get the schema. The endpoint is project-aware — call the variant that matches your task:
pegasus projects fields --jsonpegasus projects fields --for <id> --jsonThe schema omits fields the project's release/state can't configure. For
a new project on a modern release, expect fields like bundler,
css_framework, database, and python_package_manager to be absent
— there's only one valid choice and the server applies it. For an
existing legacy project (e.g. one still on bundler=webpack), those
fields reappear with both choices so you can see and change them.
Trust what the schema shows. If bundler isn't in the response,
don't try to set it.
Response shape:
{
"user_tier": "free" | "basic" | "pro" | "unlimited",
"fields": {
"project_name": { "type": "string", "max_length": 100 },
"use_celery": { "type": "boolean", "min_tier": "free" },
"use_subscriptions": { "type": "boolean", "min_tier": "pro" },
"front_end_framework": {
"type": "choice",
"min_tier": "free",
"choices": [
{ "value": "htmx" },
{ "value": "react", "min_tier": "basic" }
]
},
...
}
}user_tier first and treat it as a constraint, not a starting
point. Build a configuration that fits the user's current tier.
Don't propose features above their tier unless they explicitly asked
for one. The default assumption is "stay where you are"; an upgrade
is something the user opts into, not something you steer them toward.min_tier can appear at two levels — both must clear the user's
tier for a value to be usable. Tier ordering is
free < basic < pro < unlimited.field.min_tier): floor to configure the field at
all. field.min_tier <= user_tier.field.choices[i].min_tier, choice fields only):
floor to set that specific value. choice.min_tier <= user_tier.
Choices without min_tier are always available (assuming the field
itself is).min_tier (project_name, project_slug, etc.) are
tier-agnostic.choice.value. The schema lists every choice regardless of tier and
tags gated ones with min_tier; filter client-side before proposing
a value to the user. Don't hardcode choice lists, always read them
from the schema.If the user explicitly asked for a tier-gated feature they can't use, surface that before attempting the call, and lead with the in-tier path. Something like: "Subscriptions requires a Pro license; you're on free. I can skip it and build the rest, or if you want to upgrade I can wait." Don't bring up upgrades unprompted when the user hasn't asked for anything gated.
Construct the payload. Two ways to provide settings, combinable:
--set key=value (repeatable) for individual fields. Booleans accept
true/false/yes/no/y/n. null/none/empty parse to None
on the client side, but most string fields reject null server-side
(you'll get field: This field may not be null.). Use null only on
fields explicitly documented as nullable — pegasus_version and
license are the main ones.--config-file path to load a YAML or JSON file. If the file has a
default_context: top-level key (real pegasus-config.yaml shape),
it's unwrapped automatically. --set values override file values.Call create or update. The response is the full project in
pegasus-config.yaml shape (see "The config shape" below).
On a 400, read the response body. Two shapes are possible:
{ "project_slug": ["Sorry, your project ID must be a valid Python module name..."] }field: message.help_url (business / license errors, e.g.
a license tier that doesn't support a requested feature):{
"error": "Subscriptions is not available on your current license...",
"help_url": "https://www.saaspegasus.com/billing/"
}help_url is present, always relay it to the user — it's
where they go to fix the underlying issue (upgrade their license,
set up a GitHub repo, etc.). The CLI prints it as a second line
prefixed More info: <url>.Either way, adjust and retry, or report to the user.
The API speaks the same key shape as a project's local pegasus-config.yaml,
with a few specifics:
"y"/"n" strings —
so an agent can paste yaml back without translating.project_name and project_slug. Everything
else uses model defaults. author_name, email, and license auto-populate
from the user's profile if omitted.project_slug must be a valid Python identifier, lowercase, no leading
or trailing underscore, and not a reserved name (apps, templates,
pegasus, stdlib module names, etc.). Server normalizes/validates.project_name ↔ model nameuse_auto_reload ↔ model use_browser_reloadpegasus_version is the pinned version (e.g. "2026.5" for a
major release or "2026.5.1" for a patch) or null to track latest.
Major versions do not have a trailing .0 — it's "2026.5", not
"2026.5.0". The value must match an actual released version — the
server validates against its release list and rejects guessed strings
like "2026.5.0" with Unknown Pegasus version. If the user just wants the latest, use
null; don't try to construct a version string. Output also includes
_pegasus_version (read-only, the resolved version that would be
used at build time).css_theme is a read-only output field derived from css_framework.license is a UUID string. Pass null for free tier. Must belong to
the requesting user.id_pegasus_version (resolved version)github_username (computed from the linked GitHub repo or user profile)css_theme (computed from css_framework)You can safely PATCH the entire GET response back — read-only keys are silently dropped.
The schema decides which choice fields you can touch. Don't try to be clever
about deprecated alternatives — if bundler isn't in the schema, the
question "vite or webpack?" doesn't exist for this context. Similarly,
don't ask the user "should we use tailwind or bootstrap?" when the schema
only lists tailwind.
For feature booleans the user hasn't mentioned, omit them from the
payload — the server applies the model default. Don't enumerate them when
proposing the call; it bloats the conversation. The booleans that default
on because they're recommended for typical SaaS apps: use_sentry,
use_health_checks, use_impersonation, use_async, use_celery,
use_translations, use_browser_reload, use_dark_mode, use_api_keys,
post_process (ruff). Only flip these to false if the user explicitly
asks.
For AI coding-tool rules (use_ai_rules_*), all default off. If the
user asks for "AI rules" / "agents" generically without naming a tool,
prefer use_ai_rules_claude=true (its UI label is "Claude Code
(Recommended)"). Only set use_ai_rules_agents, use_ai_rules_cursor, or
use_ai_rules_junie when the user names that specific tool.
For the front-end framework, strongly prefer HTMX. Don't surface React as an option unprompted — when proposing a project config, just go with HTMX and move on. Only switch to React if the user explicitly asks for React, a SPA, or describes a JS-heavy frontend (rich client-side state, live collaboration, etc.). HTMX is the right default for typical server-rendered SaaS apps and keeps the project simpler.
The server enforces several couplings. Knowing them keeps you from proposing conflicting settings:
bundler=vite forces include_static_files=false.css_framework != tailwind forces use_flowbite=false and use_shadcn=false.use_subscriptions=false clears subscription_billing_model and
subscription_pricing_ui.use_teams=false clears use_teams_example.use_async=false clears use_async_example.docker_mode=full requires database=postgres (rejected otherwise).deploy_platform=kamal requires database=postgres.License tiers (low to high): free, basic, pro, unlimited.
The server validates feature compatibility at create/update time and again at build time. If a project has features its license can't support, the API rejects with a 400 keyed per offending feature.
You should pre-check via the schema's min_tier rather than discovering
through 400s. If the user wants something their tier can't do, default
to the in-tier path:
If the user has no license at all and the free tier flag is active for them,
their tier is free. Otherwise no license means they can't build at all
(the API will create projects but pegasus projects push will refuse).
"Create a project for me with X, Y, Z":
pegasus projects create --json --set project_name="..." --set project_slug=... [--set k=v ...]"Show me my project / what's in it":
pegasus projects show <id> --json and present relevant subset to user."Add feature X" / "switch to React" / etc:
pegasus projects show <id> --json to see current state.pegasus projects fields --for <id> --json to confirm the field is
configurable for this project's release/tier.pegasus projects update <id> --json --set key=value."Apply these settings from this yaml file":
pegasus projects update <id> --json --config-file path/to/pegasus-config.yaml.--set to override specific values."What can I configure?" / "What features are available?":
pegasus projects fields --json.pegasus projects fields --for <id> --json —
the response will reflect that project's release and current values.pegasus projects push <id> is what actually generates the code — it
renders the project into a linked GitHub repo. It's a separate flow from
create/update.
A push will fail with No GitHub repository configured for this project
unless a GitHub repo has been linked to the project. A newly-created
project never has one — repo linking happens in the Pegasus web UI,
not via the CLI.
When you're about to push a project for the first time, proactively
tell the user up front that they need to visit
https://www.saaspegasus.com/projects/download/<id>/ to connect a
GitHub repo before the push will work. Don't wait for the 400 — flag it
when you confirm "ready to push?" so they don't bounce off an avoidable
error. The same page is where they'd attach a license if their tier
requires one.
The push command is interactive when a newer Pegasus version is available, which is essentially always for a freshly-created project. It prompts:
Upgrade options:
1. Upgrade to latest stable version
2. Upgrade to latest dev version
3. Don't upgrade
Select an option (1, 2, 3) [3]:A bare pegasus projects push <id> from a Bash tool call will hang on
this prompt and abort. Always pass one of these flags:
--no-upgrade — push at the project's currently-pinned Pegasus
version. This is the right default for a first push of a
freshly-created project (matches option 3, the prompt's default).--upgrade — upgrade to the latest stable Pegasus version, then push.--dev — upgrade to the latest dev version, then push.If the user just created the project and you're pushing for the first
time, default to --no-upgrade and don't bring up the upgrade options
unprompted — they picked their version at create time. For pushing an
existing project to a newer release (the "upgrade Pegasus" flow), see
the upgrade-pegasus skill.
--pr-title)pegasus projects push accepts --pr-title "<text>" to set the title
of the resulting GitHub PR. When the push follows a config change,
always pass it — a good title makes the PR reviewable at a glance,
and the agent has all the context to write one the user won't have to.
The natural title is a short summary of what just changed in
pegasus projects update. Examples:
--set front_end_framework=react →
--pr-title "Switch frontend to React"--pr-title "Add subscriptions and teams"--set pegasus_version=2026.5.1 →
--pr-title "Upgrade Pegasus to 2026.5.1"When the change set is large, lead with the headline change rather than exhaustively listing every flag — the PR diff covers the rest.
For the first push of a new project, --pr-title is optional;
something like "Initial Pegasus project setup" is fine if you want
to set one. For the upgrade-an-existing-project flow, see
upgrade-pegasus for title conventions specific to upgrades.
The push output includes the resulting GitHub repository URL. Once it
completes, offer to clone the repo locally (e.g.
git clone <url> <path>) so the user can start working on it. Don't
auto-clone — ask first and let them pick the target directory. If
they're not local-dev oriented (e.g. they're pushing from CI or just
wanted the rendered code in GitHub), they'll say no, and that's fine.
pegasus projects fields without --json is a Rich table that can be
truncated by terminal height. If you think the schema is "missing" a
field, you're almost certainly reading truncated output — re-run with
--json.my_app. You can't have two on one account.--set ai_chat_mode=none).pegasus projects push (creates a
GitHub PR with the rendered project). Build-time validation is stricter
than create-time validation; if it passes the API it might still fail at
build with a license/feature/release combo issue.Pegasus CLI commands print Rich tables by default. When you're acting as an agent for a human:
© saaspegasus, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/pegasus-projects of saaspegasus/django-boilerplate.
Open the folder on GitHubat commit 0174a41
Pegasus Projects next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Pegasus Projects this skillsaaspegasus/django-boilerplate | 177 | — | ~5.1k | Automated safety check: Pass | MIT | |
| NEAR Intents Swap Integrationinternet-court/internet-court-skill | 6.4k | 2 repos | ~939 | Automated safety check: Pass | Custom licence | |
| Trigger.dev Realtimepapermark/papermark | 9.2k | — | ~1.7k | Automated safety check: Pass | Custom licence | |
| React Emailviclafouch/meme-studio | 110 | 2 repos | ~3.6k | Automated safety check: Pass | MIT | |
| Tanstack Query Best PracticesDeckardGer/tanstack-agent-skills | 222 | 1 repos | ~1.2k | Automated safety check: Pass | MIT | |
| AI ClientOpentrons/opentrons | 521 | — | ~1.6k | Automated safety check: Pass | Apache-2.0 |
internet-court/internet-court-skill
Builds cross-chain token swaps and bridge flows with the NEAR Intents 1Click API: quotes, deposit addresses, per-chain deposits and status polling.
papermark/papermark
Shows how to subscribe to Trigger.dev task runs from the backend and from React for progress indicators, live dashboards, AI response streams and approval waits.
viclafouch/meme-studio
A skill your agent uses when creating HTML email templates with React components - welcome emails, password resets, notifications, order confirmations, newsletters, or transactional emails.
DeckardGer/tanstack-agent-skills
TanStack Query (React Query) best practices for data fetching, caching, mutations, and server state management.
Opentrons/opentrons
Conventions for the opentrons-ai-client React/TypeScript frontend — project structure, API integration, state management (Jotai), feature flags, types, and testing.
mitchdenny/hex1b
Guidelines for reviewing API design in the Hex1b codebase. An agent skill from mitchdenny/hex1b.
saaspegasus/django-boilerplate
Resolve merge conflicts when upgrading SaaS Pegasus. An agent skill from saaspegasus/django-boilerplate.
saaspegasus/django-boilerplate
Upgrade to the latest version of SaaS Pegasus. An agent skill from saaspegasus/django-boilerplate.
saaspegasus/django-boilerplate
Interactively fix any type checking issues in Python code. An agent skill from saaspegasus/django-boilerplate.
saaspegasus/django-boilerplate
Upgrade Python dependencies using uv, then run post-upgrade checks to ensure nothing is broken.
saaspegasus/django-boilerplate
Upgrade JavaScript dependencies using npm-check-updates, then run post-upgrade checks to ensure nothing is broken.
Works with
Categories
A skill your agent uses when the user asks to create, view, or modify a SaaS Pegasus project via the pegasus CLI — e.g. Pegasus Projects is an agent skill from saaspegasus/django-boilerplate.g.
Pegasus Projects fits situations like: the user asks to create; modify a SaaS Pegasus project via the pegasus CLI — e.g.
Run `npx skills add saaspegasus/django-boilerplate --skill pegasus-projects -a claude-code`. Or copy the skill folder (.claude/skills/pegasus-projects in saaspegasus/django-boilerplate) into .claude/skills/pegasus-projects in your project. Claude Code loads it when a task matches its description.
Run `npx skills add saaspegasus/django-boilerplate --skill pegasus-projects -a codex`. Or copy the skill folder (.claude/skills/pegasus-projects in saaspegasus/django-boilerplate) into .agents/skills/pegasus-projects in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add saaspegasus/django-boilerplate --skill pegasus-projects -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pegasus-projects, .gemini/skills/pegasus-projects, .github/skills/pegasus-projects and .opencode/skills/pegasus-projects in your project.
Going by SKILL.md and its folder, Pegasus Projects needs the command-line tools its instructions call (uvx and git) and credentials named PEGASUS_API_KEY. Our summary lists: Python 3; A credential in PEGASUS_API_KEY.
SKILL.md names 1 domain. In commands or code: saaspegasus.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Pegasus Projects is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.1k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Pegasus Projects: NEAR Intents Swap Integration (internet-court/internet-court-skill, 6.4k stars), Trigger.dev Realtime (papermark/papermark, 9.2k stars), React Email (viclafouch/meme-studio, 110 stars) and Tanstack Query Best Practices (DeckardGer/tanstack-agent-skills, 222 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
saaspegasus (a GitHub organization) maintains it in saaspegasus/django-boilerplate, which has 177 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on September 7, 2026.
Source: saaspegasus/django-boilerplate on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.