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.
git clone --depth 1 https://github.com/thapaliyabikendra/ai-artifactsWrote 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/commands/thapaliyabikendra/ai-artifacts/permissions)<a href="https://agentmods.dev/commands/thapaliyabikendra/ai-artifacts/permissions"><img src="https://agentmods.dev/badge/commands/thapaliyabikendra/ai-artifacts/permissions.svg" alt="Measured on agentmods" 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.01080 |
| Opus 5 | $0.00000 | $0.00540 |
| Sonnet 5 | $0.00000 | $0.00216 |
| Haiku 4.5 | $0.00000 | $0.00108 |
Grade A, and why
permissions 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 8d 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 — 163 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Review Permissions Command
Audit permission definitions and their usage in ABP Framework application.
Arguments: $ARGUMENTS
Pre-flight
Project: !basename $(pwd)
Permissions File: !find api/src -name "*Permissions.cs" -path "*/Permissions/*" 2>/dev/null | head -1
Workflow
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ 1. Scan │ → │ 2. Check │ → │ 3. Find │ → │ 4. Generate │
│ Definitions │ │ Usage │ │ Gaps │ │ Report │
└──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘
Execution
Step 1: Scan Permission Definitions
Search for permission constants:
Pattern: public const string .* = .*Permission
Files: api/src/**/Permissions/*.cs
Extract all defined permissions into a list.
Step 2: Check Permission Usage
For each permission, search for usage:
In AppServices (Authorize attribute):
Pattern: \[Authorize\(.*{PermissionName}.*\)\]
Files: api/src/**/*AppService.cs
In code (AuthorizationService):
Pattern: AuthorizationService\.(Check|IsGranted).*{PermissionName}
Files: api/src/**/*.cs
In PermissionDefinitionProvider:
Pattern: AddPermission\(.*{PermissionName}
Files: api/src/**/*PermissionDefinitionProvider.cs
Step 3: Find Gaps
Unused Permissions:
- Defined in Permissions.cs but never used in code
Unprotected Endpoints:
- AppService methods without
[Authorize]attribute - Mutations (Create, Update, Delete) without permission checks
Unregistered Permissions:
- Used in code but not registered in PermissionDefinitionProvider
Step 4: Generate Report
Output Format
## Permission Audit Report
**Project**: {ProjectName}
**Date**: {Date}
**Total Permissions**: {Count}
### Permission Matrix
| Permission | AppService | Method | Status |
|------------|------------|--------|--------|
| {Group}.{Feature}.Create | {Feature}AppService | CreateAsync | ✓ Protected |
| {Group}.{Feature}.Edit | {Feature}AppService | UpdateAsync | ✓ Protected |
| {Group}.{Feature}.Delete | - | - | ⚠️ Unused |
### Unused Permissions (--unused)
| Permission | Defined In | Recommendation |
|------------|------------|----------------|
| {Group}.{Feature}.Export | {Project}Permissions.cs | Remove or implement |
### Unprotected Endpoints (--unprotected)
| AppService | Method | Risk | Recommendation |
|------------|--------|------|----------------|
| ReportAppService | GenerateAsync | HIGH | Add [Authorize] |
| PublicAppService | GetInfoAsync | LOW | Verify intentional |
### Role-Permission Matrix (--matrix)
| Permission | Admin | Role2 | Role3 |
|------------|-------|-------|-------|
| {Feature}.Create | ✓ | - | ✓ |
| {Feature}.Edit | ✓ | - | - |
| {Feature}.Delete | ✓ | - | - |
### Recommendations
1. **Remove unused permissions**: {List}
2. **Add protection to endpoints**: {List}
3. **Register missing permissions**: {List}
### Next Steps
- [ ] Review unused permissions with product owner
- [ ] Add [Authorize] to unprotected mutations
- [ ] Update role assignments if needed
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.
- 8d ago First seen · 163 lines · 0 tokens per session scan A 74808cf97ff5
permissions is a command published in the GitHub repository thapaliyabikendra/ai-artifacts (24 stars, last pushed 5mo ago), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 1,080 tokens. 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 commands, from other repositories
sdd-init
Initialize SDD context — detects project stack and bootstraps persistence backend.
review-branch
Review the current branch's diff against base by dispatching atomic-reviewer. No orchestration loop, no spec required — pre-flight before /commit pr or /commit merge.
init
Install the formatters this repository needs, with every command visible before it runs.
merge-conflict-analysis
You are analyzing merge conflicts for PR #${{ pr-number }}.
repo-audit
Audit a codebase (local or remote GitHub/GitLab) against architecture principles and requirements, surfacing drift, risk, and missing decisions.
argos
A command for checking whether an implementation matches its design deliverables. Its Korean description compares the work to the design as part of a completion inspection.