Agent skill

Document Existing

by nurettincoban in nurettincoban/ai-prd-workflow

Document an existing codebase as PRD.md, FEATURES.md and RULES.md, so new work is planned against the code as it is.

MITAuto-check passedProduct & Project Management

Install Document Existing

skills CLI
$ npx skills add nurettincoban/ai-prd-workflow --skill document-existing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install nurettincoban/ai-prd-workflow document-existing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/nurettincoban/ai-prd-workflow.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/document-existing .claude/skills/document-existing && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
document-existing
GitHub stars
298
Token cost
~1.6k tokens
SKILL.md length
904 words
Files
2 (incl. scripts)
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

Document an existing codebase as PRD.md, FEATURES.md and RULES.md, so new work is planned against the code as it is.

  • Works in 3 steps: READ THE CODE → ASK WHAT THE CODE CANNOT TELL YOU → WRITE THE ARTIFACTS
  • Tasks that involve PRD writing
  • SKILL.md covers STEP 1: READ THE CODE, STEP 2: ASK WHAT THE CODE…, CLASSIFY THE PRODUCT TYPE and STEP 3: WRITE THE ARTIFACTS, plus 2 more sections
  • Runs Python scripts from its folder; calls python3

What it does

Document Existing is an agent skill from nurettincoban/ai-prd-workflow. Document an existing codebase as PRD.md, FEATURES.md and RULES.md, so new work is planned against the code as it is. Use instead of create-prd when the code already exists.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/trace-check.py`).

It sits in Product & Project Management, covering PRD writing. The repository describes itself as: RFC-driven development for AI coding agents: idea or existing codebase → verified PRD → features → rules → sequenced RFCs → reviewed code. Agent Skills for Claude Code, Codex… The licence is MIT.

When your agent uses it

  • Tasks that involve PRD writing

Example prompts

  • “/document-existing”

Requirements

  • Python 3

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. READ THE CODE
  2. ASK WHAT THE CODE CANNOT TELL YOU
  3. WRITE THE ARTIFACTS

What it can do on your machine

Read from SKILL.md and the folder at commit b67f4d3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Document Existing loads about 1.6k tokens when it runs. Until then it costs about 48 tokens; SKILL.md has 904 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~48
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from nurettincoban/ai-prd-workflow at commit b67f4d3, republished under its MIT licence (© nurettincoban). 904 words, ~1,640 tokens.

Download SKILL.mdSave it as .claude/skills/document-existing/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
document-existing
description
Document an existing codebase as PRD.md, FEATURES.md and RULES.md, so new work is planned against the code as it is. Use instead of create-prd when the code already exists.
metadata.source
https://github.com/nurettincoban/ai-prd-workflow
metadata.version
3.0.0
metadata.checksum
sha256:d01c2b2be8cd9179b45db87a0955a7d6c984e3f2dc2eadc8827963d64dffc1d2

You are a senior engineer and product manager onboarding an existing codebase into an RFC-driven workflow. The code already exists. Your job is to document what it does today -- not what it should do -- so that new work is planned against reality instead of against memory.

Work in the current project directory. If PRD.md, FEATURES.md or RULES.md already exist, stop and ask whether to update them or to write .draft.md files beside them. Never overwrite them silently.

STEP 1: READ THE CODE

  • Map the codebase: entry points, modules, data stores, external services, configuration, and the build and test commands. Read the README, the dependency manifests, and the tests -- tests are the most reliable statement of intended behavior a codebase has.
  • Run the build and the test suite if you can, and record the actual result. If you cannot execute commands here, say so.
  • Keep a list of what the code cannot tell you: who uses it, why it exists, what is planned next, and which behaviors are deliberate rather than accidental.

STEP 2: ASK WHAT THE CODE CANNOT TELL YOU

Ask me one batch of 3-5 questions from that list -- the users and their problem, what changes next, what is deliberately out of scope, which odd behaviors are bugs. Wait for the answers before writing anything.

CLASSIFY THE PRODUCT TYPE

Classify the product as one of: web app · mobile app · library/SDK · CLI · service/API · data pipeline · game. A product that combines types -- a web app with a public API -- takes the checks of each.

Then apply only the checks that fit. What each type needs probed, and what usually does not apply:

TypeProbeUsually skip
web appauth and sessions, authorization per resource, data model and migrations, accessibility, responsive layout, browser support, page-load budget, SEO for public pagesbinary size, offline sync
mobile appoffline behavior and sync conflicts, OS permissions, app-store review rules, OS-version and device support, battery and data use, push notifications, update strategySEO, browser support
library/SDKpublic API surface and consistency, semver and deprecation policy, peer-dependency ranges, bundle size and tree-shaking, type quality, the public/internal boundary, mutation of caller-owned datainfrastructure, scalability, regulatory, business model, accessibility, responsive design, state management, auth
CLIcommand and flag design, exit codes, stdout vs stderr, piping and scripting, config and environment precedence, cross-platform paths and shells, install and upgradeUI design, accessibility, SEO, sessions
service/APIAPI contracts and versioning, authentication and authorization, rate limiting and abuse, idempotency and retries, observability, data retention and privacy, SLOs and scalingUI, responsive design, accessibility
data pipelineschemas and schema evolution, data-quality checks, idempotent re-runs and backfills, late or duplicate data, lineage, PII handling, cost and schedulingUI, sessions, responsive design
gamecore loop, frame budget and target hardware, input devices, save/load and save versioning, progression and difficulty, platform certificationSEO, CRUD business logic, responsive design

Record the result in PRD.md as a Product Type section: the type, and each skipped check with a one-line reason. Later commands read that section instead of classifying again, so every step applies the same checks. Skipping must be visible and auditable, never silent -- a generated "no SQL injection vectors identified" in a library that has no SQL manufactures false confidence.

Show full SKILL.md (371 more words)Show less

STEP 3: WRITE THE ARTIFACTS

  1. PRD.md -- the product as built, plus the direction from my answers: Overview, Product Type, Users, Scope (in and out), Functional Requirements (FR-1, ...) and Non-Functional Requirements (NFR-1, ...) as the code actually implements them, Decisions (choices visible in the code, with their rationale where known), and Open Questions.
  2. FEATURES.md -- the table layout /extract-features uses, | ID | Feature | Priority | Source | Complexity | Acceptance Criteria |, plus a Status column. Every existing capability is a feature with Status Implemented and a Source that names both the requirement and the code, such as FR-3; src/links/create.ts. Work from my answers gets Status Planned and a MoSCoW priority. /generate-rfcs plans only the Planned features.
  3. RULES.md -- the conventions the code actually follows: naming, structure, error handling, testing, and dependencies at the versions pinned in the manifests, each rule with a permanent ID such as - **ARCH-1**: .... Where the code is inconsistent, state the dominant pattern and list the exceptions. Do not write a rule the code does not follow -- a rule that contradicts the code it governs gets ignored.

Cite a file path for every claim about existing behavior, and mark anything inferred rather than confirmed as (inferred). A requirement with neither a code reference nor an answer from me behind it is a guess; label it as one.

SELF-CHECK BEFORE FINISHING

  • Recount every summary table from the actual content. Never carry a count forward from earlier in your own output.
  • Verify every internal cross-reference -- feature IDs, rule IDs, RFC numbers, section references -- points at what the surrounding text claims it does. A reference to a VALID but WRONG ID is the dangerous case: nothing looks malformed, so readers are quietly misled.
  • Confirm no two tables in the document disagree with each other.
  • If trace-check.py is available -- in a scripts/ folder beside these instructions, or in the project's own scripts/ folder -- run it on the project (python3 <path>/trace-check.py .) and fix every FAIL it reports. It checks IDs, coverage and dependencies mechanically, which reading cannot do reliably.
  • State that you ran this check and what it turned up.

NEXT STEP

Recommend /verify-prd to review the result with fresh eyes, then /generate-rfcs for the Planned features -- or /manage-changes when the next piece of work changes existing behavior.

© nurettincoban, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (scripts) in skills/document-existing of nurettincoban/ai-prd-workflow.

  • SKILL.md
  • scripts/trace-check.py

Open the folder on GitHubat commit b67f4d3

Compare with similar skills

Document Existing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Document Existing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Document Existing this skillnurettincoban/ai-prd-workflow298—~1.6kAutomated safety check: PassMIT
CCPM Project Managementautomazeio/ccpm8.4k—~1.1kAutomated safety check: PassMIT
Ralph Tui Create Beadssubsy/ralph-tui2.5k1 repos~2.6kAutomated safety check: PassMIT
Trellis Brainstormanjiemo/SunnyBeach1787 repos~4kAutomated safety check: PassApache-2.0
Ralph Tui Create Beads Rustsubsy/ralph-tui2.5k1 repos~2.8kAutomated safety check: PassMIT
Ralph Tui Create JSONsubsy/ralph-tui2.5k1 repos~2.6kAutomated safety check: PassMIT

Similar skills

  • Runs a spec-driven workflow from PRD to epic to GitHub issues to parallel agents, with status, standup and blocked-work reports from bundled scripts.

    8.4k GitHub stars~1.1k tokensUpdated 6 mo ago
    Product & Project ManagementAuto-check passed
  • Ralph Tui Create Beads

    subsy/ralph-tui

    Convert PRDs to beads for ralph-tui execution. An agent skill from subsy/ralph-tui.

    2.5k GitHub starsUsed in 1 repo~2.6k tokens
    Product & Project ManagementAuto-check passed
  • Trellis Brainstorm

    anjiemo/SunnyBeach

    Guides collaborative requirements discovery before implementation.

    178 GitHub starsUsed in 7 repos~4k tokens
    Product & Project ManagementAuto-check passed
  • Convert PRDs to beads for ralph-tui execution using beads-rust (br CLI).

    2.5k GitHub starsUsed in 1 repo~2.8k tokens
    Product & Project ManagementAuto-check passed
  • Ralph Tui Create JSON

    subsy/ralph-tui

    Convert PRDs to prd.json format for ralph-tui execution. An agent skill from subsy/ralph-tui.

    2.5k GitHub starsUsed in 1 repo~2.6k tokens
    Product & Project ManagementAuto-check passed
  • Prd Generator

    jamesrochabrun/skills

    Generate comprehensive Product Requirements Documents (PRDs) for product managers.

    216 GitHub starsUsed in 2 repos~3.8k tokens
    Product & Project ManagementAuto-check passed

More from nurettincoban/ai-prd-workflow

All 11 skills in this repo
  • Generate Rfcs

    nurettincoban/ai-prd-workflow

    Break the PRD into sequenced implementation RFCs under RFCs/ with an RFCS.md index, then cold-read each RFC for gaps.

    298 GitHub stars~2.1k tokensUpdated yesterday
    Auto-check passed
  • Workflow Status

    nurettincoban/ai-prd-workflow

    Report which workflow artifacts exist, which RFCs are implemented and reviewed, what has drifted, and the next step.

    298 GitHub stars~994 tokensUpdated yesterday
    Auto-check passed
  • Generate Rules

    nurettincoban/ai-prd-workflow

    Write RULES.md, the project standards the AI must follow, with registry-verified dependency versions and permanent rule IDs.

    298 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Test Strategy

    nurettincoban/ai-prd-workflow

    Write TEST-STRATEGY.md, a test plan per RFC, before the tests are written.

    298 GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Verify Prd

    nurettincoban/ai-prd-workflow

    Review PRD.md for gaps, contradictions and unverifiable claims, write an improved PRD.md and record the findings in PRD-REVIEW.md.

    298 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed
  • Extract Features

    nurettincoban/ai-prd-workflow

    Turn PRD.md into FEATURES.md: permanent feature IDs, MoSCoW priorities, acceptance criteria and the PRD requirement each feature comes from.

    298 GitHub stars~1k tokensUpdated yesterday
    Auto-check passed

Questions about Document Existing

What does Document Existing do?

Document an existing codebase as PRD.md, FEATURES.md and RULES.md, so new work is planned against the code as it is. Document Existing is an agent skill from nurettincoban/ai-prd-workflow.md, so new work is planned against the code as it is.

When should I use Document Existing?

Document Existing fits situations like: tasks that involve PRD writing.

How do I install Document Existing in Claude Code?

Run `npx skills add nurettincoban/ai-prd-workflow --skill document-existing -a claude-code`. Or copy the skill folder (skills/document-existing in nurettincoban/ai-prd-workflow) into .claude/skills/document-existing in your project. Claude Code loads it when a task matches its description.

How do I install Document Existing in Codex?

Run `npx skills add nurettincoban/ai-prd-workflow --skill document-existing -a codex`. Or copy the skill folder (skills/document-existing in nurettincoban/ai-prd-workflow) into .agents/skills/document-existing in your project. Codex loads it when a task matches its description.

Can I use Document Existing in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nurettincoban/ai-prd-workflow --skill document-existing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/document-existing, .gemini/skills/document-existing, .github/skills/document-existing and .opencode/skills/document-existing in your project.

What does Document Existing need to run?

Going by SKILL.md and its folder, Document Existing needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Document Existing access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Document Existing safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Document Existing use?

Document Existing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Document Existing use?

About 1.6k tokens (SKILL.md is roughly 6.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Document Existing?

Skills that share tags, products or a category with Document Existing: CCPM Project Management (automazeio/ccpm, 8.4k stars), Ralph Tui Create Beads (subsy/ralph-tui, 2.5k stars), Trellis Brainstorm (anjiemo/SunnyBeach, 178 stars) and Ralph Tui Create Beads Rust (subsy/ralph-tui, 2.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Document Existing?

nurettincoban (a GitHub user) maintains it in nurettincoban/ai-prd-workflow, which has 298 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 8, 2026.

Source: nurettincoban/ai-prd-workflow on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.