Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Derive Briefs

ASecurity

Draft the project's docs/ briefs by surveying an existing codebase. Recovers requirements, design, vocabulary, and decisions from what the code demonstrably does, marking every statement with how it is known — derived, confirmed, or not recoverable. Load on a brownfield project whose briefs onboarding scaffolded but nobody has written, before the pipeline runs. Not for a greenfield project, where the owner writes them as the work proceeds. Observed behavior is not an intended requirement; thi...

16 stars
0 votes
0 copies
0 views
Added 9/20/2026
ai-agentspythongotestinggitapisecurity

Works with

api

Security Analysis

A100/100

Scanned 9/20/2026

Install to Claude Code

$npx -y skills add woditschka/agentic-coding-reference --skill derive-briefs --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Derive Briefs?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Derive Briefs
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/woditschka-derive-briefs-b398a4a9/badge)](https://www.skillsdirectory.com/skills/woditschka-derive-briefs-b398a4a9)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: derive-briefs
description: >-
  Draft the project's docs/ briefs by surveying an existing codebase.
  Recovers requirements, design, vocabulary, and decisions from what the code
  demonstrably does, marking every statement with how it is known — derived,
  confirmed, or not recoverable. Load on a brownfield project whose briefs
  onboarding scaffolded but nobody has written, before the pipeline runs. Not
  for a greenfield project, where the owner writes them as the work proceeds.
  Observed behavior is not an intended requirement; this skill records the
  difference instead of erasing it.
compatibility:
  - claude-code
  - github-copilot
  - opencode
reads:
  - docs/prd.md
  - docs/system-design.md
  - docs/adr/
  - docs/ubiquitous-language.md
  - docs/testing-principles.md
  - docs/architecture-principles.md
  - docs/security-principles.md
metadata:
  version: "1.0"
  author: team
---

## What this fills

Onboarding scaffolds the roster in two kinds: four structure-only stubs (`prd.md`, `system-design.md`, `ubiquitous-language.md`, `adr/`), and three principles briefs that arrive filled with the harness's default policy. On a greenfield project the owner writes the stubs as the work proceeds. On a **brownfield** project — a codebase adopted before the harness — that content already exists, encoded in the source rather than in prose. This skill reads it out.

It sits between two neighbors and duplicates neither. `doctor` checks the briefs are structurally present; `audit-docs` judges whether written briefs hold up. Both presuppose content. This skill produces the first draft that gives them something to check.

The output is a draft for the owner to correct, never a ratified brief. What it derives is what the code does. What the code *means* — whether a behavior is a deliberate requirement, an accident, or a shipped bug — the source cannot say, and this skill never guesses.

## The load-bearing rule

**Observed behavior is not an intended requirement.** A codebase records decisions without recording their reasons. Prose that presents a derived observation as a settled intention manufactures institutional memory, and a later reader cannot tell the invention from the record.

Every statement therefore carries one of three marks, stated in the document rather than implied:

| Mark | Means | Written as |
|---|---|---|
| **Derived** | Read off the code; true of the implementation, silent on intent | `> Provenance: derived — <what was surveyed>.` at the top of the section or document |
| **Confirmed** | A human answered a question about it | `(confirmed <YYYY-MM-DD>)` inline, after the statement |
| **Not recoverable** | The reasoning predates the repository or was never written | `> Provenance: not recoverable.` in place of a reconstruction |

The three forms are fixed tokens, never paraphrased: an editor, a reviewer, or a future gate recognizes a mark by searching for it. A section that records its reasoning as unrecoverable is a finished section. Filling it with a plausible reconstruction is the failure this skill exists to prevent. These marks describe how a statement is known; they are unrelated to the `<!-- harness: <date> -->` line every scaffolded brief already carries, which holds the harness release date.

## What a codebase cannot evidence

Two required sections have no answer in the source, and absence is not an answer either. A capability the code lacks may be unbuilt, unfinished, or deliberately excluded, and no amount of reading separates those.

- **Goals and Non-Goals** (`prd.md`). Derive a Goal only where the boundary surface states one — a published API, a documented promise. Otherwise both sections record that the intent is not recoverable, and the question goes to the owner.
- **ADR Context and Options Considered.** The reasoning behind an adopted codebase's structural choices predates the repository. Recording that is the finished state; inventing a rationale from the outcome is not.

## Survey order

Work outside in. The boundary surface carries intent; the internals carry mechanism.

1. **Boundary first.** The system's outward surfaces, in whatever form it exposes them: entry points, published interfaces, commands, scheduled work, persisted schemas. These are the capabilities somebody wanted, and they become candidate requirements.
2. **Rules next.** Validation, constraints, guards, error paths. These bound the capabilities and become acceptance bullets.
3. **Structure after.** Packages, layers, dependency direction, the shape persistence takes. This becomes the design brief.
4. **Vocabulary throughout.** Terms taken from persisted or serialized types, fixture data, and user-visible strings — the project's own words, never improved on the way in.
5. **Decisions last.** Only structural choices the code makes visible. Name each record with the survey's date, since the decision's own date is not recoverable, and add its row to the `docs/adr/README.md` index.

## What each brief receives

- **`prd.md`** — narrative requirements derived from the boundary surface only, in `prd-authoring`'s format. Mechanism stays out; it belongs in the design brief. Behavior that contradicts another requirement, or serves none, is recorded as a defect under a `## Known Defects` section rather than written up as intent. A whole-codebase survey can approach the doctor's PRD word budget (the `prd_max_words` override): requirements earn their space, restated mechanism does not.
- **`system-design.md`** — the architecture as it stands: structure, contracts and the requirements they serve, persistence, the security posture wherever the project declares it. A contract serving no requirement is recorded as serving none, never linked to a requirement invented to justify it. Absences are recorded as observations, never as approval.
- **`ubiquitous-language.md`** — the domain terms the code already uses, including collisions, recorded as found.
- **`adr/`** — one record per structural decision the code evidences. The Decision section is evidenced; Context and Options Considered follow the rule above.
- **The three principles briefs** — these arrive filled, and the survey does not rewrite them. Read the code against each and record every gap against the principle, never resolved by lowering it. Relief from a shipped principle is a human's to grant: record it as a confirmed, dated exception naming who granted it. A closed kernel property is not the project's to relax at all.

## Briefs that already carry content

Authored content is not the survey's to rewrite — that is the channel rule. It holds for the three filled principles briefs, and for any stub an owner has started. A prior survey draft counts as authored content on a re-run, and a *confirmed* statement is never re-derived. Derive against what is written, record each divergence as a gap or an open question, and propose every edit as a consented diff.

## Defects, gaps, and open questions

A survey finds three things the briefs must keep apart:

- **A known defect** — behavior that contradicts a requirement the survey derived, or that serves none. Record it in the PRD's `## Known Defects` section, name what it breaches, and leave it in the code. This skill documents; it does not fix.
- **A gap against a principle** — the code does not meet a brief's stated standard. Record it against the principle. Never edit the principle to match the code.
- **An open question** — the code cannot settle which reading is right. Record it as a question, so a human can close it into a requirement, a non-goal, or an ADR.

Each is cheap to record now and expensive to reconstruct later, once the survey's context is gone.

## Procedure

1. **Confirm the roster is present and valid.** Run `python3 scripts/doctor.py check`. It validates structure, not emptiness. Materializing a missing roster file is the `doctor` skill's remedy, or a re-run of `/materialize` — never this skill's.
2. **Read what each brief already says.** Anything authored governs, under § Briefs that already carry content.
3. **Survey in the order above**, reading the codebase directly. `scripts/layout.toml` names the production roots once the project has filled them; verify them against the tree. A survey that finds no production code stops here and says so.
4. **Draft each brief**, marking every statement as the table requires and following the `document-writing` standards. `prd-authoring` owns the PRD's format; `adr-template` owns each ADR's.
5. **Collect the open questions** into the PRD's `## Open Questions` section rather than scattering them.
6. **Put the open questions to the user.** Each answer that lands becomes a *confirmed* statement, dated; the rest stay open and stay marked.
7. **Run `/audit-docs`.** The doctor gates structure; the judgment pass reviews what was drafted. A survey draft is a first draft, and it is reviewed as one.

## Scope

This skill writes `docs/` and nothing else. It does not change source, schemas, or configuration — including defects it finds. A defect it records becomes a slice the pipeline runs later, against the requirement the survey wrote. The survey seeds the briefs before the pipeline owns them; from the first slice on, every edit to a roster file routes through its owning agent as a consented diff.

Attribution

woditschkawoditschka
View sourceMore from woditschka →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

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 (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Caveman

Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.

1023331 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

686011 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3331 votes

catchup

Recovers prior coding-agent session context by running `catchup <agent> --since-compact`, which extracts a clean summary of a previous Codex, Claude Code, Antigravity, OpenCode, or Pi Agent session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", or asks to recover/summarize a previous session before continuing. Do NOT use for the current conversation, git history, or any non-agent log.

611 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →