.claude/skills/doc-queue/SKILL.md
Use when a designer asks to work on guidance or documentation issues, process documentation queue, or close out doc tickets - fetches oldest issue from quarterly epic and guides through resolution
npx skillsauth add department-of-veterans-affairs/vets-design-system-documentation doc-queueInstall 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.
This skill helps designers efficiently process documentation and guidance update issues from the VA Design System quarterly epics. It fetches the oldest unresolved issue, analyzes requirements, and guides the designer through completing the work.
Announce at start: "I'm using the doc-queue skill to help you process documentation issues from the quarterly epic."
Use this skill when:
Trigger phrases:
Before starting, ask for the user's GitHub username if not already known:
Question: "What is your GitHub username? (This is needed to assign issues to you)"
Store this for:
First, try to fetch the current quarterly documentation epic:
# Get current fiscal quarter and year
# Federal fiscal year: Q1=Oct-Dec, Q2=Jan-Mar, Q3=Apr-Jun, Q4=Jul-Sep
# Fiscal year starts October 1, so calendar year Oct-Dec is FY+1
# Fetch the known epic for Q1 2026
gh issue view 5410 --repo department-of-veterans-affairs/vets-design-system-documentation --json state,title,number | cat
If epic #5410 is CLOSED, search for the next quarterly epic:
# Calculate current fiscal quarter (FY starts October)
# Q1: Oct-Dec, Q2: Jan-Mar, Q3: Apr-Jun, Q4: Jul-Sep
gh issue list --repo department-of-veterans-affairs/vets-design-system-documentation \
--search "is:issue is:open \"Documentation updates to VADS\" in:title" \
--label "Epic" \
--json number,title,state \
--limit 5 | cat
If no open epic is found, fall back to the oldest issues with the documentation-design.va.gov label:
gh issue list --repo department-of-veterans-affairs/vets-design-system-documentation \
--label "documentation-design.va.gov" \
--state open \
--json number,title,createdAt,assignees \
--limit 20 | cat | jq 'sort_by(.createdAt) | .[0:10]'
If issues are found, proceed to Step 2 (Issue Selection) with these results.
If no documentation-design.va.gov issues are found, search for guidance-related issues:
# Try guidance-update label first
gh issue list --repo department-of-veterans-affairs/vets-design-system-documentation \
--label "guidance-update" \
--state open \
--json number,title,createdAt,assignees \
--limit 20 | cat | jq 'sort_by(.createdAt) | .[0:10]'
# If none, try guidance-new label
gh issue list --repo department-of-veterans-affairs/vets-design-system-documentation \
--label "guidance-new" \
--state open \
--json number,title,createdAt,assignees \
--limit 20 | cat | jq 'sort_by(.createdAt) | .[0:10]'
If issues are found with either label, proceed to Step 2 (Issue Selection) with these results.
If no issues are found through any of the above methods, ask the user:
Question: "I couldn't find any open documentation or guidance issues. Please provide either:
Accept formats:
https://github.com/department-of-veterans-affairs/vets-design-system-documentation/issues/XXXX#XXXX or XXXXdocumentation-design.va.gov labelguidance-update or guidance-new labelsGet all open documentation issues, sorted by creation date (oldest first):
gh issue list --repo department-of-veterans-affairs/vets-design-system-documentation \
--label "documentation-design.va.gov" \
--state open \
--json number,title,createdAt,labels,assignees \
--limit 50 | cat | jq 'sort_by(.createdAt)'
va-alert, va-button) - More scoped workShow the 5 oldest issues and ask which one to work on:
Question header: "Select issue" Question: "Here are the 5 oldest documentation issues. Which would you like to work on?"
Options:
Allow "Other" for user to specify a different issue number.
Once the user selects an issue, immediately assign it to them:
gh issue edit <ISSUE_NUMBER> --repo department-of-veterans-affairs/vets-design-system-documentation --add-assignee "<GITHUB_USERNAME>"
This signals to the team that someone is actively working on the issue.
REQUIRED SUB-SKILL: Use guidance-grooming to analyze and prepare the issue for writing.
The guidance-grooming skill will:
## Grooming Summary comment on the issuegroomed labelSkip this step if the issue already has a ## Grooming Summary comment in its comments — it's already been groomed.
Before making documentation changes, fetch and review the contributing guide:
WebFetch: https://design.va.gov/about/contributing-to-the-design-system/contributing-to-docs
Prompt: Extract documentation guidelines including file organization, front matter requirements, formatting standards, and style guidance.
File Organization:
src/_components/[component-name]/index.md or src/_components/[component-name].mdsrc/_patterns/[category]/[pattern-name].md (for example, ask-users-for or help-users-to)src/_templates/[template-name]/index.mdFront Matter Required Fields:
---
layout: component # or pattern, template
title: Component Name
permalink: /components/component-name/
intro-text: "Brief description of the component"
web-component: va-component-name
# Additional fields as needed
---
Content Sections (typical order):
Storybook Embed Format:
{% include storybook-preview.html story="uswds-va-component--variant" link_text="description" %}
Image Include Format:
{% include component-example.html alt="Description" file="/images/path/file.png" %}
Style Guidelines:
Prerequisite: The issue must have a ## Grooming Summary comment (from Step 3) before proceeding. The grooming comment is the authoritative work order for this step.
REQUIRED SUB-SKILL: Use writing-vads-guidance for all documentation changes.
The writing-vads-guidance skill provides detailed guidance on:
Before making changes:
⚠️ CRITICAL: Verify branch status and create new branch from main:
Always check the current branch before starting work on a new issue. Each issue should have its own dedicated branch created from an up-to-date main branch.
# First, check current branch and status
git status && git branch
# Switch to main and pull latest changes
git checkout main
git pull origin main
# Create a new branch for this specific issue
git checkout -b docs/issue-<NUMBER>-<short-description>
Why this matters: Committing work for one issue onto another issue's branch causes confusion, requires cherry-picking to fix, and can delay PR reviews.
Read existing file(s) to understand current state:
# Use Read tool on identified files
Confirm approach with user if there are multiple ways to address the issue.
Hand off to writing-vads-guidance skill for all documentation changes.
Build the site locally:
yarn build
Check for build errors - resolve any Jekyll or Gulp errors
Preview changes (optional):
yarn start
# Visit localhost:4000 to verify changes
git add -A
git commit -m "docs: [brief description of changes]
Closes #<ISSUE_NUMBER>"
gh pr create \
--title "docs: Short summary of changes" \
--body "## Summary
- [Bullet points of changes made]
## Issue
Closes #<ISSUE_NUMBER>
## Testing
- [ ] Site builds without errors
- [ ] Changes render correctly on localhost
- [ ] Links are functional
- [ ] Storybook embeds work
## Screenshots
[If visual changes, include before/after]
" \
--base main
After creating the PR, update the issue's status in the project board to "PR Review":
# Step 1: Get the issue's project item ID
gh api graphql -f query='
query($owner: String!, $repo: String!, $number: Int!) {
repository(owner: $owner, name: $repo) {
issue(number: $number) {
projectItems(first: 10) {
nodes {
id
project { title id }
}
}
}
}
}' -f owner="department-of-veterans-affairs" -f repo="vets-design-system-documentation" -F number=<ISSUE_NUMBER> | cat
# Step 2: Update the status field to "PR Review"
# Replace the placeholder IDs with values from Step 1 and your project's field configuration
gh api graphql -f query='
mutation($projectId: ID!, $itemId: ID!, $fieldId: ID!, $optionId: String!) {
updateProjectV2ItemFieldValue(input: {
projectId: $projectId
itemId: $itemId
fieldId: $fieldId
value: { singleSelectOptionId: $optionId }
}) {
projectV2Item { id }
}
}' \
-f projectId="<PROJECT_ID>" \
-f itemId="<ITEM_ID_FROM_STEP_1>" \
-f fieldId="<STATUS_FIELD_ID>" \
-f optionId="<PR_REVIEW_OPTION_ID>" | cat
# The "Design System & Forms" project uses these status options:
# - "Backlog", "Ready", "In Progress", "PR Review", "Done"
Note: If automated project board updates fail, manually update the issue status in the GitHub project board to "PR Review".
Notify user of PR URL
Confirm project board was updated to "PR Review" status
Ask if they want to work on another issue:
Track progress:
Epic not found:
No open documentation issues:
Issue requires component-library changes:
Issue is blocked by design decisions:
Build failures after changes:
If the skill cannot resolve an issue:
| Quarter | Months | Example | |---------|--------|---------| | Q1 | October - December | Q1 FY2026 = Oct-Dec 2025 | | Q2 | January - March | Q2 FY2026 = Jan-Mar 2026 | | Q3 | April - June | Q3 FY2026 = Apr-Jun 2026 | | Q4 | July - September | Q4 FY2026 = Jul-Sep 2026 |
documentation-design.va.gov - General documentation issuesva-[component] - Component-specific (e.g., va-alert, va-button)pattern - Pattern documentationaccessibility - Accessibility-related documentation| Content Type | Path Pattern |
|--------------|--------------|
| Components | src/_components/[name]/index.md or src/_components/[name].md |
| Patterns | src/_patterns/[category]/[name].md (categories: ask-users-for, help-users-to) |
| Templates | src/_templates/[name].md or src/_templates/[category]/index.md |
| Foundation | src/_foundation/[topic].md (some use src/_foundation/[topic]/index.md) |
| Content Guide | src/_content-style-guide/[topic].md |
# Assign an issue to yourself
gh issue edit <NUMBER> --repo department-of-veterans-affairs/vets-design-system-documentation --add-assignee "<USERNAME>"
# View issue's project board status
gh issue view <NUMBER> --repo department-of-veterans-affairs/vets-design-system-documentation --json projectItems | cat
# Add a comment to an issue
gh issue comment <NUMBER> --repo department-of-veterans-affairs/vets-design-system-documentation --body "Working on this - PR coming soon"
# List all documentation issues
gh issue list --repo department-of-veterans-affairs/vets-design-system-documentation --label "documentation-design.va.gov" --state open
# List unassigned documentation issues only
gh issue list --repo department-of-veterans-affairs/vets-design-system-documentation --label "documentation-design.va.gov" --state open --json number,title,assignees | cat | jq '[.[] | select(.assignees | length == 0)]'
# Search for issues mentioning a component
gh issue list --repo department-of-veterans-affairs/vets-design-system-documentation --search "va-alert in:title,body"
# View issue with comments
gh issue view <NUMBER> --repo department-of-veterans-affairs/vets-design-system-documentation --comments
# Check if file exists
ls src/_components/<component-name>/
# Search documentation content
grep -r "search term" src/_components/
documentation
Use when making documentation changes in the doc-queue workflow, writing new component/pattern/template guidance, or updating existing VADS documentation - ensures compliance with VADS templates and style standards
testing
Creates and standardizes Mermaid decision flowcharts in VA Design System documentation, including templates, node types, accessibility alternatives, and the standard Jekyll include pattern.
testing
Use when the user wants to merge all PRs they have approved - updates each branch from main, waits for CI checks to pass, merges, then summarizes results
documentation
Use after selecting a documentation issue from the doc-queue to groom it - analyzes the issue, identifies gaps, prompts the designer for clarity, and posts a structured grooming comment so the issue is ready for the writing-vads-guidance skill or an async agent