Skill: Create a DEP as a GitHub Issue
Purpose
Create a new Dynamo Enhancement Proposal (DEP) as a GitHub Issue on
ai-dynamo/dynamo. The issue number becomes the DEP number. Also
handles adding implementation plans and retroactive DEPs for existing
work.
When to Use
When the user wants to propose a new feature, architecture change, or
process improvement via the issue-based DEP workflow. Also when adding
an implementation plan to an existing DEP, or filing a retroactive DEP
for work already merged.
Workflow
Create a New DEP
Ask for source material: Prompt the user for a Google Doc,
Confluence page, or other NVIDIA-internal document that contains
the background, customer context, or detailed requirements. Read
it using the appropriate tool (gdocs, Confluence MCP, WebFetch).
Include the link in the issue's References section — the document
is only accessible to NVIDIA employees and serves as the record
for customer-specific context that cannot appear in the public
issue prose.
Gather required fields from the user and source doc (prompt
if missing):
- Summary: One-paragraph description of the proposal
- Motivation: Why this change is needed
- Proposal: Detailed description of the proposed change
Determine the area label based on proposal content. Area labels
are bare names (e.g., frontend, router, backend-vllm) that
correspond to CODEOWNERS teams.
Decide template: full or lightweight.
Use lightweight if only Summary, Motivation, and Proposal are needed.
Create the issue (full DEP):
gh issue create \
--repo ai-dynamo/dynamo \
--title "DEP: <short descriptive title>" \
--label "dep:draft" \
--label "<area>" \
--body "$(cat <<'EOF'
## Summary
<summary>
## Motivation
<motivation>
## Proposal
<proposal>
## Alternate Solutions
<alternates>
## Requirements
<requirements>
## References
<references — include internal doc link here>
EOF
)"
For lightweight DEP, use:
gh issue create \
--repo ai-dynamo/dynamo \
--title "DEP (light): <short descriptive title>" \
--label "dep:draft" \
--label "dep:lightweight" \
--label "<area>" \
--body "$(cat <<'EOF'
## Summary
<summary>
## Motivation
<motivation>
## Proposal
<proposal>
EOF
)"
- Report the created issue number and URL to the user.
Add an Implementation Plan
- Read the DEP issue and its discussion:
gh issue view <number> --repo ai-dynamo/dynamo
gh issue view <number> --repo ai-dynamo/dynamo --comments
Draft the plan with phases, tasks, effort estimates,
dependencies, risks, and testing strategy.
Post as a comment:
gh issue comment <number> --repo ai-dynamo/dynamo --body-file /tmp/plan.md
Retroactive DEP
For work already merged without a DEP, file with dep:implementing
or dep:done and reference the existing PRs.
Notes
- The issue body IS the spec — treat it as a living document.
dep:draft is applied automatically. PIC changes to
dep:under-review when ready.
- For lightweight DEPs, use
dep:lightweight label and omit optional
sections.
- For plan revisions, post a new comment with a changelog at the top.
Do not edit the original — preserve the timeline.
- Customer name stripping: Before creating or updating a DEP,
scan the summary, motivation, proposal, and all other fields for
specific customer names, company names, or partner names. Replace
them with generic references (e.g., "a customer", "a cloud
partner", "an enterprise user"). DEPs are public — no customer
names should appear in issue bodies, comments, or plans.
1---2name: dep-create3description: Creates or updates Dynamo Enhancement Proposals as GitHub issues, including lightweight DEPs, implementation plans, and retroactive DEPs for ai-dynamo/dynamo. Use when proposing a feature or architecture change, drafting an implementation plan, or filing a retroactive DEP.4license: Apache-2.05---67# Skill: Create a DEP as a GitHub Issue89<!--10SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.11SPDX-License-Identifier: CC-BY-4.012-->1314## Purpose1516Create a new Dynamo Enhancement Proposal (DEP) as a GitHub Issue on17`ai-dynamo/dynamo`. The issue number becomes the DEP number. Also18handles adding implementation plans and retroactive DEPs for existing19work.2021## When to Use2223When the user wants to propose a new feature, architecture change, or24process improvement via the issue-based DEP workflow. Also when adding25an implementation plan to an existing DEP, or filing a retroactive DEP26for work already merged.2728## Workflow2930### Create a New DEP31321. **Ask for source material**: Prompt the user for a Google Doc,33 Confluence page, or other NVIDIA-internal document that contains34 the background, customer context, or detailed requirements. Read35 it using the appropriate tool (gdocs, Confluence MCP, WebFetch).36 Include the link in the issue's References section — the document37 is only accessible to NVIDIA employees and serves as the record38 for customer-specific context that cannot appear in the public39 issue prose.40412. **Gather required fields** from the user and source doc (prompt42 if missing):43 - **Summary**: One-paragraph description of the proposal44 - **Motivation**: Why this change is needed45 - **Proposal**: Detailed description of the proposed change46473. **Determine the area label** based on proposal content. Area labels48 are bare names (e.g., `frontend`, `router`, `backend-vllm`) that49 correspond to CODEOWNERS teams.50514. **Decide template**: full or lightweight.52 Use lightweight if only Summary, Motivation, and Proposal are needed.53545. **Create the issue** (full DEP):5556```bash57gh issue create \58 --repo ai-dynamo/dynamo \59 --title "DEP: <short descriptive title>" \60 --label "dep:draft" \61 --label "<area>" \62 --body "$(cat <<'EOF'63## Summary64<summary>6566## Motivation67<motivation>6869## Proposal70<proposal>7172## Alternate Solutions73<alternates>7475## Requirements76<requirements>7778## References79<references — include internal doc link here>80EOF81)"82```8384 **For lightweight DEP**, use:8586```bash87gh issue create \88 --repo ai-dynamo/dynamo \89 --title "DEP (light): <short descriptive title>" \90 --label "dep:draft" \91 --label "dep:lightweight" \92 --label "<area>" \93 --body "$(cat <<'EOF'94## Summary95<summary>9697## Motivation98<motivation>99100## Proposal101<proposal>102EOF103)"104```1051066. **Report** the created issue number and URL to the user.107108### Add an Implementation Plan1091101. **Read the DEP issue** and its discussion:111112```bash113gh issue view <number> --repo ai-dynamo/dynamo114gh issue view <number> --repo ai-dynamo/dynamo --comments115```1161172. **Draft the plan** with phases, tasks, effort estimates,118 dependencies, risks, and testing strategy.1191203. **Post as a comment**:121122```bash123gh issue comment <number> --repo ai-dynamo/dynamo --body-file /tmp/plan.md124```125126### Retroactive DEP127128For work already merged without a DEP, file with `dep:implementing`129or `dep:done` and reference the existing PRs.130131## Notes132133- The issue body IS the spec — treat it as a living document.134- `dep:draft` is applied automatically. PIC changes to135 `dep:under-review` when ready.136- For lightweight DEPs, use `dep:lightweight` label and omit optional137 sections.138- For plan revisions, post a new comment with a changelog at the top.139 Do not edit the original — preserve the timeline.140- **Customer name stripping**: Before creating or updating a DEP,141 scan the summary, motivation, proposal, and all other fields for142 specific customer names, company names, or partner names. Replace143 them with generic references (e.g., "a customer", "a cloud144 partner", "an enterprise user"). DEPs are public — no customer145 names should appear in issue bodies, comments, or plans.