sanad-agent: Skill for Claude Code

.agents/skills/sanad-pull-request-lifecycle/SKILL.md

Sanad Pull Request Lifecycle is a skill for Claude Code, Codex from EastStarAI/sanad-agent. It costs 65 tokens per session (1,946 once invoked), scanned A, original, MIT.

A procedure for preparing a focused Sanad pull request, a proposed code change submitted for review. It covers isolated work, verification, CI repair, protected review, and handoff.

In plain words
What is it for?
Use it to check the owning issue or plan, search for existing branches or pull requests, run tests and analyzers, inspect the final diff, and prepare the pull-request handoff.
Why use it?
It helps keep a proposed change limited, tested, and safe to review while preventing unapproved actions such as pushing or merging.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: installed under .agents/ (shared by several agents); mentions AGENTS.md.

This is EastStarAI/sanad-agent's own configuration. It tells Claude Code and Codex how to work on sanad-agent itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything sanad-agent configures →

Reuse

Borrowing it

Nothing to install: this file belongs to EastStarAI/sanad-agent. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/EastStarAI/sanad-agent/main/.agents/skills/sanad-pull-request-lifecycle/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/EastStarAI/sanad-agent

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for Sanad Pull Request Lifecycle

README.md
[![agentmods](https://agentmods.dev/badge/skills/eaststarai/sanad-agent/sanad-pull-request-lifecycle/github.svg)](https://agentmods.dev/skills/eaststarai/sanad-agent/sanad-pull-request-lifecycle)
Your own site
<a href="https://agentmods.dev/skills/eaststarai/sanad-agent/sanad-pull-request-lifecycle"><img src="https://agentmods.dev/badge/skills/eaststarai/sanad-agent/sanad-pull-request-lifecycle/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.

agentmods 80×15 button for Sanad Pull Request Lifecycle

Your own site · 80×15
<a href="https://agentmods.dev/skills/eaststarai/sanad-agent/sanad-pull-request-lifecycle"><img src="https://agentmods.dev/badge/skills/eaststarai/sanad-agent/sanad-pull-request-lifecycle.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 65 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,946 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00065 $0.01946
Opus 5.5 $0.00026 $0.00778
Sonnet 5.5 $0.00013 $0.00389
Haiku 4.5 $0.00006 $0.00195

Measured yesterday against content hash c04978778967, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

Sanad Pull Request Lifecycle 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 yesterday.

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.

.agents/skills/sanad-pull-request-lifecycle/SKILL.md · 107 lines

How it starts

The opening of the file, as written. The whole thing — 107 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Sanad Pull Request Lifecycle

Use this skill after work is accepted and scoped. It may prepare local changes and a review handoff, but it must not push, merge, close an Issue, delete a branch, or mutate repository settings without explicit authorization.

Delegated Gate Flow

In the delegated three-role workflow, open a Draft PR after the first accepted gate so CI runs on every push. Draft-to-Ready conversion, merge, and protected labels remain authorization boundaries unless the brief granted them up front. Mandatory type/* and comp/* labels are never deferred to review or to merge time.

Label Gate

An unlabeled pull request is an incomplete deliverable, not a cosmetic gap: without type/* and comp/* the change cannot be triaged, routed, or reviewed by category, and the protected-label CI job proves nothing about them.

  1. Read .github/labels.yml before classifying, and never apply a label that is absent from the manifest.
  2. Derive the labels from the complete changed-path list (gh pr diff --name-only), not from the pull-request summary or from the Issue it closes.
  3. Apply the mandatory minimum: exactly one type/* and at least one comp/*. Add platform/* only for platform-specific behavior and a size/* entry when the size is material.
  4. Apply non-protected labels with gh pr edit <number> --add-label "<label>,<label>", then verify the applied set with gh pr view <number> --json labels. Re-verify before handoff whenever later commits change the diff, and repair the set in the same session.
  5. All required checks pass is never label evidence: the Verify protected review labels job checks protected labels only, so a green run can coexist with a pull request that carries no type/* or comp/* label.
  6. A protected review label (maintainer-reviewed, security-reviewed, release-reviewed) is honoured only after that job re-reads it, and label changes start no run of their own. After an authorized maintainer applies or removes one, dispatch the re-verification and watch it:

Read the full file on GitHub · 107 lines

Files

What ships with it

1 file 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.

Changes

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.

  1. yesterday Changed · +9 lines c04978778967
  2. 21d ago Changed · +10 lines e6992d23ba13
  3. 1mo ago Changed · +6 lines a4ca3f220874
  4. 1mo ago Changed · +33 lines 1a0ebb48a88a
  5. 1mo ago Changed b336706ae478
  6. 2mo ago Changed · +9 lines · +28 tokens per session 3876255feeaa
  7. 2mo ago First seen · 40 lines · 37 tokens per session scan A 060665dd9a7f

Subscribe to this mod's changes

Sanad Pull Request Lifecycle is a skill published in the GitHub repository EastStarAI/sanad-agent (47 stars, last pushed yesterday), licensed MIT. It adds 65 tokens to every session and 1,946 once invoked, about $0.0003 per session on Opus 5.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.

Related

Sanad Pull Request Lifecycle compared with skills from other repositories

Sanad Pull Request Lifecycle next to 6 skills from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
Sanad Pull Request LifecycleEastStarAI/sanad-agentSkill47yesterdayMITA65Claude Code, Codex
githubHmbown/CodewhaleSkill41k1mo agoMITA0Claude Code, Codex
release-changelog-harnessArenukvern/mcp_flutterSkill39520d agoMITA84Claude Code
he-shipsgaabdu4/building-flutter-appsSkill254d agoMITA52Claude Code
code-reviewsgaabdu4/building-flutter-appsSkill254d agoMITA39Claude Code, Codex
deploying-safelyNew1Direction/korgexSkill524d agoMITA20Claude Code, Codex
autofix-prQwenLM/qwen-codeSkill29kyesterdayApache-2.0A141Claude Code