Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/Bilal140202/the-lord-of-the-skillsnpx agentmods add rules/bilal140202/the-lord-of-the-skills/astroWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/rules/bilal140202/the-lord-of-the-skills/astro)<a href="https://agentmods.dev/rules/bilal140202/the-lord-of-the-skills/astro"><img src="https://agentmods.dev/badge/rules/bilal140202/the-lord-of-the-skills/astro/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/rules/bilal140202/the-lord-of-the-skills/astro"><img src="https://agentmods.dev/badge/rules/bilal140202/the-lord-of-the-skills/astro.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What 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.1 | $0.00000 | $0.01729 |
| Opus 5 | $0.00000 | $0.00864 |
| Sonnet 5 | $0.00000 | $0.00346 |
| Haiku 4.5 | $0.00000 | $0.00173 |
Grade A, and why
astro 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 9d 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.
This is a copy
100% identical to astro — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 369 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Astro Best Practices
Overview
| Aspect | Recommendation |
|---|---|
| Use Case | Content-focused sites, blogs, docs |
| Default | Zero JS shipped to client |
| Interactive | Islands (React, Vue, Svelte, etc.) |
| Content | Content Collections |
Project Structure
src/
├── components/ # .astro and framework components
├── content/ # Content collections (markdown, MDX)
│ └── blog/
│ └── post-1.md
├── layouts/ # Page layouts
├── pages/ # File-based routing
│ ├── index.astro
│ └── blog/
│ └── [slug].astro
├── styles/ # Global styles
└── content.config.ts # Collection schemas
Astro Components
Basic Component
---
// Component Script (runs at build time)
interface Props {
title: string
description?: string
}
const { title, description = 'Default description' } = Astro.props
const currentYear = new Date().getFullYear()
---
<!-- Component Template -->
<article>
<h1>{title}</h1>
<p>{description}</p>
<footer>© {currentYear}</footer>
</article>
<style>
/* Scoped by default */
article {
padding: 1rem;
}
</style>
Slots
---
// Card.astro
interface Props {
title: string
}
const { title } = Astro.props
---
<div class="card">
<h2>{title}</h2>
<slot /> <!-- Default slot -->
<slot name="footer" /> <!-- Named slot -->
</div>
<!-- Usage -->
<Card title="My Card">
<p>Card content</p>
<div slot="footer">Footer content</div>
</Card>
Islands Architecture
Client Directives
---
import ReactCounter from './Counter.tsx'
import VueModal from './Modal.vue'
---
<!-- Load immediately -->
<ReactCounter client:load />
<!-- Load when visible (lazy) -->
<ReactCounter client:visible />
<!-- Load when idle -->
<ReactCounter client:idle />
<!-- Load on specific media query -->
<VueModal client:media="(max-width: 768px)" />
<!-- Only hydrate client-side (no SSR) -->
<ReactCounter client:only="react" />
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.
- 9d ago First seen · 369 lines · 0 tokens per session scan A 45513ebbe7a9
astro is a cursor rule published in the GitHub repository Bilal140202/the-lord-of-the-skills (4 stars, last pushed 6d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,729 tokens. A static security scan graded it A with 0 findings. It is 100% identical to astro, differing in 0 lines, and is treated as a copy.
Other cursor rules, from other repositories
svelte-5-vs-svelte-4-cursorrules-prompt-file
Cursor rules for comparing Svelte 5 and Svelte 4 development.
sveltekit-typescript-guide-cursorrules-prompt-file
Cursor rules for SvelteKit development with TypeScript integration.
javascript-astro-tailwind-css-cursorrules-prompt-f
Cursor rules for JavaScript development with Astro and Tailwind CSS integration.
nuxt
Nuxt 3/4 best practices with Vue 3, auto-imports, and server components.
svelte-5
Svelte 5 best practices with Runes, new reactivity system, and modern patterns.
vue-3
Vue 3 Composition API best practices with script setup, Pinia, and TypeScript.