ops/skills/write-skills/SKILL.md
Create, improve, or review Codex/OpenAI Agent Skills and SKILL.md files. Use when writing a new skill, updating an existing skill, designing skill frontmatter and trigger behavior, choosing scripts/references/assets, validating skill structure, or turning repeatable Codex workflows into reusable skills.
npx skillsauth add 6529-collections/6529seize-backend write-skillsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
description, because the body is only loaded after the skill triggers.SKILL.md lean, put large details in directly linked references/, and keep output templates or reusable files in assets/.When writing or reviewing a skill, decide whether each topic belongs in the skill:
If a topic is not needed for the skill's job, omit it. A short complete skill is better than a broad checklist pasted everywhere.
Clarify the target job
Identify the narrow repeatable task, likely users, concrete prompts, expected outputs, and adjacent prompts that should not trigger the skill. If the job is ambiguous, ask for one or two examples before writing.
Choose name and location
Use lowercase letters, digits, and hyphens only. Keep the folder name identical to the skill name. In this repo, place repo-local skills under ops/skills/<skill-name>/SKILL.md unless the user asks for another skill location.
Plan resources
Use only resources that directly help the skill execute:
scripts/: deterministic tooling or repeated code that should not be rewritten each time.references/: detailed docs, schemas, policies, API notes, or examples that should be read only when needed.assets/: templates, images, fonts, boilerplate, or files used in final outputs.Write SKILL.md
Include only YAML name and description in frontmatter. In the body, describe the shortest reliable workflow, decision points, resource usage, and validation. Avoid a "when to use" body section because it cannot affect triggering.
Validate and iterate
Check the folder name, frontmatter, trigger specificity, resource links, examples, and absence of unfinished placeholders. For complex skills, forward-test with realistic prompts and improve the skill based on failures.
Put frontmatter at the very top of SKILL.md:
---
name: write-useful-skill
description: Create useful widgets from CSV exports. Use when Codex needs to turn a CSV, spreadsheet export, or tabular report into a small interactive widget with filtering, sorting, and validation.
---
Rules:
name lowercase with letters, digits, and hyphens.name.description as both capability and trigger policy: what the skill does, when to use it, file types, tools, common phrases, and important exclusions when needed.Good descriptions are specific enough to route:
description: Create, edit, and validate Solidity audit checklists for this repository. Use when reviewing Stream smart contracts, triaging security findings, writing remediation tasks, or preparing audit notes for Solidity changes.
Weak descriptions are too broad:
description: Helps with engineering tasks.
Use the body for instructions loaded after the skill triggers:
Workflow: ordered actions the agent should follow.Decision points: how to choose between valid approaches.Resource use: when to read references, run scripts, or use assets.Validation: commands, checks, review criteria, and expected evidence.Examples: short examples only when they clarify trigger behavior or output shape.Anti-patterns: mistakes the skill is specifically meant to prevent.Avoid generic tutorials. If Codex can infer it, leave it out.
---
name: concise-skill-name
description: Do the specific repeatable job. Use when Codex needs to handle concrete scenario A, scenario B, or scenario C; include important file types, tools, or trigger phrases here.
---
# Concise Skill Name
## Workflow
1. Do the first required action.
2. Choose between options using explicit criteria.
3. Use linked resources only when the task needs them.
4. Validate the result with named checks.
## Resources
- Read `references/example.md` only when ...
- Run `scripts/example.py` when ...
- Use `assets/template.ext` when ...
Delete unused resource sections. Do not create placeholder resources.
SKILL.md.name and description.Before considering the skill done, write or mentally check a small prompt set:
$skill-name to ..."If the skill would trigger too broadly, narrow the description. If it would not trigger for the intended prompts, add concrete trigger phrases or file/task contexts to the description.
SKILL.md.development
Write, open, iterate, merge, and optionally deploy pull requests in the 6529 SEIZE backend with clear PR descriptions, safe validation notes, review-bot follow-up, DCO-signed commits only when explicitly requested, backend/API checks, lambda deployment planning, and staging or production deployment gates. Use when preparing PR bodies, creating PRs, responding to CodeRabbit or Claude review bots, deciding whether a PR is ready, merging, or carrying a backend/API PR through staging/prod rollout.
development
Add or change identity notification types in the 6529 SEIZE backend by updating notification causes, domain data types, DB-to-domain mappers, UserNotifier creation methods, push notification rendering/settings, notification API mappings, OpenAPI enums, and tests. Use when adding new notification types, creating identity notifications, changing notification payloads, or extending push/API notification behavior.
testing
Implement database-related changes in this repository, including schema changes via TypeORM entities, repository/query patterns, request-context transactions, DB tests, and explicit data migrations. Use when working on DB schema updates, repositories or *Db classes, SQL queries, transactions, data backfills, or app logic that reads or writes MySQL data.
development
Add or change community metrics in the 6529 SEIZE backend by updating metric rollup enums, recorder methods, recording call sites, optional historical backfills, OpenAPI response models, and community-metrics API aggregation. Use when adding new community metrics, exposing metric summaries or series, tracking community activity, or changing MetricsRecorder/MetricsDb behavior.