packages/warden/src/internal-skills/skill-writer/SKILL.md
Create, synthesize, and iteratively improve agent skills following the Agent Skills specification. Use when asked to "create a skill", "write a skill", "synthesize sources into a skill", "improve a skill from positive/negative examples", "update a skill", or "maintain skill docs and registration". Handles source capture, depth gates, authoring, registration, and validation.
npx skillsauth add getsentry/warden skill-writerInstall 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.
Use this as the single canonical workflow for skill creation and improvement. Primary success condition: maximize high-value input coverage before authoring while minimizing wasted runtime tokens.
Load only the path(s) required for the task. SKILL.md is the primary router: every bundled reference file should have a direct "open when..." reason here.
| Open when you need to... | Read |
|--------------------------|------|
| choose the minimum workflow path for create, update, iterate, or research-first work | references/mode-selection.md |
| choose the simplest adequate execution shape before deciding files | references/execution-shapes.md |
| apply writing constraints for depth, concision, and portability | references/design-principles.md |
| decide what belongs in SKILL.md, references/, SPEC.md, or subfolders | references/reference-architecture.md |
| create or update the maintenance contract for a skill | references/spec-template.md |
| find missing high-signal sources, including history and regressions | references/source-discovery.md |
| run the full synthesis pass with depth gates and source capture | references/synthesis-path.md |
| author or update SKILL.md, SPEC.md, and supporting files | references/authoring-path.md |
| improve trigger language and false-positive/false-negative behavior | references/description-optimization.md |
| iterate from positive, negative, or fix examples | references/iteration-path.md |
| store persistent working and holdout examples for future revisions | references/iteration-evidence.md |
| choose a response template, schema, or output contract | references/output-contracts.md |
| troubleshoot overloaded layouts, hidden refs, or other structure failures | references/structure-troubleshooting.md |
| verify a risky, disputed, or explicitly requested change | references/evaluation-path.md |
| register the skill and run final validation checks | references/registration-validation.md |
| Open when you need to... | Read |
|--------------------------|------|
| keep the whole skill inline in one coherent SKILL.md | references/artifact-layouts/inline-skill-layout.md |
| split optional deep knowledge into focused routed references | references/artifact-layouts/reference-backed-skill-layout.md |
| add scripts for deterministic automation or validation | references/artifact-layouts/script-backed-skill-layout.md |
| define a skill that is usually invoked with explicit arguments | references/artifact-layouts/argument-driven-skill-layout.md |
| ship reusable templates, schemas, or other static assets | references/artifact-layouts/asset-template-skill-layout.md |
| Open when you need to... | Read |
|--------------------------|------|
| break a task into fixed ordered steps | references/workflow-mechanics/prompt-chaining.md |
| classify requests and route them to different downstream paths | references/workflow-mechanics/routing-workflows.md |
| split independent work into parallel units or votes | references/workflow-mechanics/parallel-workflows.md |
| discover work units dynamically and coordinate worker outputs | references/workflow-mechanics/orchestrator-workers.md |
| critique and revise output against a rubric | references/workflow-mechanics/evaluator-loops.md |
| run validate-fix-repeat checks during authoring or execution | references/workflow-mechanics/validation-loops.md |
| validate a plan before executing a risky action | references/workflow-mechanics/plan-validate-execute.md |
| Open when you need to... | Read |
|--------------------------|------|
| use Claude-specific frontmatter or invocation controls | references/claude-code/frontmatter-and-invocation.md |
| use Claude argument fields or substitution variables | references/claude-code/argument-substitutions.md |
| build a skill that runs in isolated context: fork | references/claude-code/subagent-fork-skills.md |
| build a skill that uses Claude hooks for deterministic enforcement | references/claude-code/hook-backed-skills.md |
| use Claude shell preprocessing for dynamic context injection | references/claude-code/dynamic-context.md |
| Open when you need to... | Read |
|--------------------------|------|
| see the expected depth for a documentation-heavy skill | references/examples/documentation-skill.md |
| see the expected depth for a security-review skill | references/examples/security-review-skill.md |
| see the expected depth for a workflow-process skill | references/examples/workflow-process-skill.md |
| see what a good routed skill looks like | references/examples/router-skill.md |
| see what a good evaluator-loop skill looks like | references/examples/evaluator-loop-skill.md |
| see what a good subagent-fork skill looks like | references/examples/subagent-fork-skill.md |
| see what a good hook-backed skill looks like | references/examples/hook-backed-skill.md |
create, update, synthesize, iterate) and inspect workspace prior art before choosing where files belong.references/mode-selection.md to choose the minimum required workflow paths.references/execution-shapes.md to choose the primary execution shape.Read references/synthesis-path.md.
references/source-discovery.md when source material is thin, stale, or ambiguous.Read references/iteration-path.md first when selected path includes iteration (for example operation iterate).
references/iteration-evidence.md when examples should persist beyond the current turn.Skip this step when selected path does not include iteration.
Read references/authoring-path.md.
SKILL.md in imperative voice with trigger-rich description.SKILL.md as the runtime router, not an encyclopedia.references/reference-architecture.md before adding bulk instructions or new reference files.SPEC.md using references/spec-template.md when creating a new skill or materially changing its contract.SKILL.md.Read references/description-optimization.md.
references/evaluation-path.md only when the user asks for evaluation, the change is high-risk, or the architecture choice is non-obvious.Read references/registration-validation.md.
Return:
SummaryChanges MadeValidation ResultsOpen Gapsdevelopment
Finds exploitable application security vulnerabilities in code changes. Use for Warden security scans, appsec review, OWASP-style checks, authentication or authorization bugs, injection, XSS, SSRF, path traversal, secrets, unsafe crypto, webhook verification, open redirects, or sensitive data exposure.
development
Finds real correctness bugs in code changes. Use for adversarial code review, bug hunts, regression review, PR correctness review, logic errors, data loss, race conditions, state bugs, interface contract breaks, error handling bugs, edge cases, broken builds, or broken workflows. Excludes style, readability, architecture, AppSec, and best-practice-only feedback unless the issue causes a demonstrable bug.
development
Run Warden to analyze code changes before committing. Use when asked to "run warden", "check my changes", "review before commit", "warden config", "warden.toml", "create a warden skill", "add trigger", or any Warden-related local development task.
development
Full-repository code sweep. Scans every file with Warden, verifies findings through deep tracing, creates draft PRs for validated issues. Use when asked to "sweep the repo", "scan everything", "find all bugs", "full codebase review", "batch code analysis", or run Warden across the entire repository.