Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/proyecto26/projectx/prismanpx skills add proyecto26/projectx --skill prismagit clone --depth 1 https://github.com/proyecto26/projectxWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00031 | $0.01269 |
| Opus 5 | $0.00015 | $0.00634 |
| Sonnet 5 | $0.00006 | $0.00254 |
| Haiku 4.5 | $0.00003 | $0.00127 |
Grade A, and why
prisma scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 228 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Prisma Database Operations
Database Package Location
The Prisma schema and client are in packages/db/.
Schema Location
packages/db/
├── prisma/
│ ├── schema.prisma # Database schema
│ ├── migrations/ # Migration history
│ └── seed.ts # Seed script
└── src/
└── lib/
├── prisma.service.ts # NestJS Prisma service
└── [model]/ # Repository services
└── [model]-repository.service.ts
Common Commands
# Generate Prisma client after schema changes
pnpm prisma:generate
# Create and apply migration (development)
pnpm prisma:migrate:dev
# Apply migrations (production)
pnpm prisma:migrate
# Seed the database
pnpm prisma:seed
# Open Prisma Studio
pnpm --filter @projectx/db exec prisma studio
Schema Patterns
Basic Model
model Product {
id String @id @default(cuid())
name String
description String?
price Decimal @db.Decimal(10, 2)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
// Relations
categoryId String
category Category @relation(fields: [categoryId], references: [id])
orderItems OrderItem[]
@@index([categoryId])
@@map("products")
}
PostGIS Geometry Support
model Location {
id String @id @default(cuid())
name String
// PostGIS geometry stored as Unsupported type
point Unsupported("geometry(Point, 4326)")
@@map("locations")
}
Enums
enum OrderStatus {
PENDING
PROCESSING
SHIPPED
DELIVERED
CANCELLED
}
Repository Pattern
Creating a Repository Service
// packages/db/src/lib/product/product-repository.service.ts
import { Injectable } from '@nestjs/common';
import { PrismaService } from '../prisma.service';
import { Prisma, Product } from '@prisma/client';
@Injectable()
export class ProductRepositoryService {
constructor(private readonly prisma: PrismaService) {}
async findAll(params?: {
skip?: number;
take?: number;
cursor?: Prisma.ProductWhereUniqueInput;
where?: Prisma.ProductWhereInput;
orderBy?: Prisma.ProductOrderByWithRelationInput;
}): Promise<Product[]> {
return this.prisma.product.findMany(params);
}
async findById(id: string): Promise<Product | null> {
return this.prisma.product.findUnique({
where: { id },
include: { category: true },
});
}
async create(data: Prisma.ProductCreateInput): Promise<Product> {
return this.prisma.product.create({ data });
}
async update(id: string, data: Prisma.ProductUpdateInput): Promise<Product> {
return this.prisma.product.update({
where: { id },
data,
});
}
async delete(id: string): Promise<Product> {
return this.prisma.product.delete({ where: { id } });
}
}
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 228 lines · 31 tokens per session scan A f0b996e8b101
prisma is a skill published in the GitHub repository proyecto26/projectx (83 stars, last pushed 4mo ago), licensed MIT. It adds 31 tokens to every session and 1,269 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
hex-release
Guides interactive Hex package release for AgentJido repos. Supports automated (GitHub Actions workflowdispatch) and manual release flows. Uses gitops for version bumping and changelog generation. Triggers on: release, hex publish, bump version, new release, publish package.
getting-started
Get started with your Open SaaS project — fetches docs, checks Wasp installation, and helps you start your database and app.
guided-tour
Take a guided tour of Open SaaS — walks you through step-by-step through the project structure, features, and customization checklist.
add-wasp-skills
Install Wasp agent skills (plugins) that add Wasp knowledge and best practices to your AI coding tools.
pr-review
Review a Pull Request for code quality, tests, merge conflicts, and readiness to merge.
cabloy-spec-generation
This skill should be used for requests to create or maintain a Cabloy repo-specs/ / set, including a PRD, SRS, PDP/WBS, test plan, progress register, suite ADR, or “write the specs”/“plan the suite.” It links product, technical, delivery, acceptance, and decision records after the domain boundary is confirmed. Route…