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/sruja-ai/srujanpx agentmods add skills/sruja-ai/sruja/projectWrote 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/skills/sruja-ai/sruja/project)<a href="https://agentmods.dev/skills/sruja-ai/sruja/project"><img src="https://agentmods.dev/badge/skills/sruja-ai/sruja/project.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector pass
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.00034 | $0.01327 |
| Opus 5 | $0.00017 | $0.00664 |
| Sonnet 5 | $0.00007 | $0.00265 |
| Haiku 4.5 | $0.00003 | $0.00133 |
Grade A, and why
sruja-project 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 7d 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 — 185 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Sruja Project Skill
Procedural workflows for working with the Sruja architecture-as-code platform.
Project Overview
- Type: Rust workspace with 14 crates
- Primary language: Rust (core), TypeScript (extension)
- Architecture: Layered monolith with clear tier boundaries
Workflows
Adding a New Crate
-
Identify the tier for your crate:
- Core Engine (sruja-diagnostics, sruja-language, sruja-engine, sruja-export, sruja-scan, sruja-graph-core)
- Extraction (sruja-graph, sruja-extract)
- Delivery (sruja-cli, sruja-wasm)
- Secondary (sruja-diff, sruja-intent, sruja-agent, sruja-memory)
-
Add to workspace in root
Cargo.toml:[workspace] members = ["crates/sruja-new-crate"] -
Add dependencies in
crates/sruja-new-crate/Cargo.toml -
Update CLI if exposing new commands:
- Add command definition in
src/cli/commands.rs - Add handler in
src/cli/run.rs - Add to
src/commands/mod.rs
- Add command definition in
-
Validate:
cargo build --release cargo test -p sruja-new-crate cargo clippy -- -D warnings
Adding a New CLI Command
-
Define the command in
src/cli/commands.rs:#[command(name = "my-command")] MyCommand { #[arg(long = "repo", short = 'r', default_value = ".")] repo: String, }, -
Add handler in
src/cli/run.rs:Commands::MyCommand { repo } => { commands::my_module::my_command(&repo) } -
Implement the command in
src/commands/my_module.rs -
Export in
src/commands/mod.rs:pub use my_module::my_command; -
Test:
cargo test -p sruja-cli ./target/release/sruja my-command --help
Validating Architecture Changes
-
After any .sruja file change:
sruja lint repo.sruja -
Check for drift:
sruja sync -r . sruja drift -r . -
Verify no layer violations:
sruja classify -r . sruja drift -r . -a repo.sruja
What ships with it
6 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 7d ago First seen · 185 lines · 34 tokens per session scan A c63b992e056f
sruja-project is a skill published in the GitHub repository sruja-ai/sruja (23 stars, last pushed 7d ago), licensed Apache-2.0. It adds 34 tokens to every session and 1,327 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
typescript-ultimate
End-to-end TypeScript engineering skill for designing, implementing, reviewing, and refactoring production-grade TS codebases. Use when tasks involve TypeScript architecture, advanced typing, strict safety, API/schema typing, React/Node/Nest/Express/Fastify patterns, testing, linting, migration, or code review in…
port-from-typescript
Port TypeScript or JavaScript into Rust — construct mapping against runtime semantics, the traps (every number is an f64, two kinds of absent, structural typing, regex feature gaps), and the napi-rs and wasm-bindgen boundaries. Use when porting, rewriting, or migrating TypeScript, JavaScript, Node, Deno, Bun, Express…
ax-rust-llm
Use when writing Rust code with axllm for using the generated Ax package, factory functions, package docs, examples, and API reference.
ax-rust-signature
Use when writing Rust code with axllm for string signatures, field descriptors, JSON schema output, validation, and typed tool argument shapes.
dd-code-generation
Use pup CLI for immediate Datadog operations or generate code for integration into applications.
typescript
TypeScript strict mode with eslint and jest.