Skip to content
Back to skills

Writing Agents

ASecurity

Use when creating or revising a Codex reviewer skill, including its review scope, evidence requirements, output contract, or delegation instructions.

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 16, 2026
ai-agentsdockertestingcode-reviewsecurity

Security analysis

A100/100

Scanned October 16, 2026

npx -y skills add RaNDoM6913/claude-code-superkit --skill writing-agents --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Writing Agents?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Writing Agents
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/random6913-writing-agents/badge)](https://www.skillsdirectory.com/skills/random6913-writing-agents)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: writing-agents
description: Use when creating or revising a Codex reviewer skill, including its review scope, evidence requirements, output contract, or delegation instructions.
user-invocable: false
tokens: 2078
---

# Writing Codex Reviewer Skills

Author a reviewer for a defined surface and decision. Preserve the role's useful
specialist checks and caller contract; derive findings from the inspected project
rather than a universal checklist. This guide concerns reviewer instructions, not
authorization to run that review or implement its proposed fixes.

## Skill File Format

Reviewer skills live in `.codex/skills/<skill-name>/SKILL.md`. Frontmatter:

```yaml
---
name: skill-name
description: Use when reviewing the specific surface or change this role covers.
user-invocable: false
---
```

Use a contextual trigger in `description`, not a workflow summary. Keep runtime
metadata Codex-native; do not add Claude-only per-agent model or tool allow-list
fields. Superkit sources also declare `tokens`, recomputed as
`Math.round(body.length / 4)` with frontmatter excluded. This is an approximate
source-size signal, not a task budget, context measurement, or completion gate.

The project-level `.codex/config.toml` supplies configured defaults. Follow
applicable session/project model and effort routing, including explicit scoped
dispatch overrides supported by the runtime. Do not hardcode this repository's
contributor model assignments into consumer skills. When routing evidence is
required, distinguish requested/configured values from runtime-observed values;
unavailable runtime identity is UNVERIFIED, not proof of a particular model and
not by itself a new review gate.

## Context, Tools, and Authority

Begin the authored review with the selected scope: files/behavior and base/head or
working-tree diff where relevant, purpose, applicable acceptance criteria, and
exclusions. Read applicable `AGENTS.md`, then relevant conventions, architecture,
source, callers, and tests. Missing optional docs are not defects; placeholders
are not project facts. Resolve consequential scope ambiguity before claiming
coverage. Inspect relevant dependencies without silently expanding the review.

Use tools actually exposed by the runtime:

- Search file names with `rg --files` and contents with `rg`.
- Run authorized local checks with `exec_command`; inspect commands for external
  effects, credentials, and writes before running them. Local checks can produce
  disposable output, but review authority does not authorize product edits.
- Use `apply_patch` for separately authorized implementation, not reviewer fixes.
- Use `update_plan` for work that benefits from a tracked multi-step plan when
  available; its absence does not prevent an otherwise feasible review.
- Use `spawn_agent` only when delegation is authorized and available. Follow the
  scoped route; provide a clean brief with intent, exact assigned files/diff,
  relevant contracts, evidence already collected, read-only boundary, and required
  output. Collect dependent results using the runtime's supported wait mechanism
  (for example `wait_agent`). Keep unrelated work moving while waiting.

Prefer an applicable stack specialist for its assigned surface. Track who covers
the remaining files and cross-stack boundaries; `code-reviewer` can cover generic
or unclaimed scope. A specialist's existence is not evidence its review ran.
When independent review is unavailable, label any inline self-review honestly;
an unmet mandatory independent gate remains pending.

## Two-Phase Review Process

### Phase 1: Discover Applicable Checks

Choose checks from the actual change, project contracts, versions, and failure
paths. Give each check an observable invariant and a way to inspect it: relevant
files, a search pattern, a caller trace, or an authorized command. A search hit is
candidate evidence, not a finding. Read surrounding behavior and ownership.
Include relevant failure and success paths. Order consequential checks first;
size and divide the checklist by coherent coverage and risk, not an item quota.

### Phase 2: Verify and Triage

For each candidate, establish intent, trigger, affected path, concrete consequence,
and applicable contract. Inspect relevant callers or compensating controls; check
whether the issue is introduced, pre-existing, or already covered by another
finding. Deduplicate root causes while retaining distinct effects. Reuse recorded
checks only when their commands/results and relevant code, inputs, and environment
are bound and unchanged. Missing tools, failed commands, or unrun checks are
verification limits, never passing evidence.

Publish only supported findings after this analysis. Missing evidence can block a
required conclusion without proving a defect. Keep unresolved hypotheses in open
questions with the next check needed. No findings is valid for the covered scope;
it does not certify omitted scope or unperformed runtime/security testing.

## Output Contract

Preserve the caller's native verdict and fields. A plan validator may return
PASS / REVISE / BLOCK; do not force all roles into defect severity or erase their
specialist evidence requirements. When the caller uses severity/confidence:

- **CRITICAL:** supported security bypass, consequential data loss, or severe
  availability/crash path.
- **WARNING:** supported incorrect behavior, material regression, or binding
  contract violation with a stated consequence.
- **SUGGESTION:** grounded optional improvement; not a blocking defect.
- **HIGH:** relevant path and contract established by evidence.
- **MEDIUM:** supported issue with a clearly bounded residual assumption.
- **LOW:** unresolved hypothesis; report as an open question, not a counted defect.

Explain confidence qualitatively; percentages and hunches do not establish a
finding. Severity follows impact, independently of confidence. A compatible
report shape for defect reviewers is:

```text
Scope: <selected diff/files/behavior and exclusions>
Coverage: COMPLETE | PARTIAL | UNAVAILABLE — <covered and missing scope>
Execution: INDEPENDENT | INLINE SELF-REVIEW
[SEVERITY/CONFIDENCE] file:line — <supported finding>
  Trigger and impact: <condition and consequence>
  Evidence: <inspected code/contract/check; residual assumption if any>
  Fix: <bounded proposal>
Verification: <actual commands/results, or not run and why>
Open questions: <unknowns, effect on acceptance, next check; or none>
Conclusion: <native verdict; unmet mandatory conditions explicit>
```

Use real inspected locations; do not fabricate line numbers. With no findings,
say so and retain coverage, verification, and open questions. Stop at the scoped
report; applying fixes or posting external comments requires separate authority.

## Example: Dockerfile Reviewer Body

The following illustrates domain checks within the format and report contract
above; adapt it to the actual deployment rather than copying blanket rules.

```markdown
# Dockerfile Reviewer

## Scope and Context
Review the selected Dockerfiles and relevant build/deployment configuration.
Read applicable AGENTS.md and the image's runtime/reproducibility requirements.
Review only; preserve existing files and propose bounded corrections.

## Phase 1: Discover
1. Trace the effective runtime user through the selected final stage, base image,
   and deployment overrides. Check required privileges and binding project policy;
   a missing USER line alone does not prove an unsafe root execution path.
2. Inspect FROM references and the project's update/pinning policy. Determine
   whether mutable references violate a required reproducibility contract;
   a version tag alone does not establish immutable image content.
3. Trace COPY/ADD and stage boundaries for leaked secrets or build-only artifacts.
   Multiple stages are one technique, not a universal requirement; intentional
   archive extraction can justify ADD.
4. When service readiness/liveness is in scope, inspect where it is owned and
   exercised, including base-image and orchestrator configuration. An absent
   Dockerfile HEALTHCHECK alone does not establish missing health monitoring.

## Phase 2: Verify and Report
Trace candidates to actual triggers and consequences before reporting. If base
image or runtime configuration cannot be inspected, state the unresolved claim
and its effect on coverage. Use the caller's report contract, including no-findings
results and unrun checks; source inspection does not prove deployed behavior.
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.