Skip to content

Commit 3b1940b

Browse files
themr0cclaude
andauthored
[RHIDP#12779]: CQA tooling optimization and content modularization (#1947)
* RHIDP-12779: Optimize CQA tooling and Claude configuration - Rewrite CQA scripts (01, 02, 03) for correctness and brevity - Fix empty-line bug in list-all-included-files-starting-from.sh - Create condensed CQA extracts for SSG, peer review, and content types - Convert peer review resource from HTML to Markdown - Remove redundant resources (cqa-common-issues, vale-acceptable-warnings) - Clean stale permissions in .claude/settings.json - Update skill files to match rewritten scripts - Fix cqa-04 template ordering (content type first) and procedure title form Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * RHIDP-12779: Add --fix mode to cqa-02 assembly structure script - Add 11 auto-fixes: content type, context save/restore, prerequisites heading, additional resources, ID suffix, context line positioning - Enforce assembly template structure: content type line 1, context save line 2, context restore as last two lines - Add checks: intro length, prerequisites count, prerequisites format, ID suffix, additional resources role attribute - Script now resolves 99% of violations across all 33 titles (497 → 6) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * RHIDP-12779: Add --fix to cqa-01 script and standardize skill workflows Add auto-fix support for DITA Vale issues (AuthorLine, CalloutList, BlockTitle, TaskContents, TaskStep) and apply fixes across all titles. Standardize all 16 CQA skill files to follow a consistent 6-step workflow: report, auto-fix, verify, manual fix, re-verify, report. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * RHIDP-12779: Add assembly template resource file Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * RHIDP-12779: Add project CLAUDE.md with CQA compliance directive Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * RHIDP-12779: Remove obsolete CQA.md (replaced by .claude/skills/cqa-*.md) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * RHIDP-12779: Fix TaskStep autofix to handle .Procedure context TaskStep autofix now distinguishes two cases: - After .Procedure before first step: remove erroneous blank line - After a list: attach to preceding step with + continuation Also fixes two .adoc files with erroneous + after .Procedure. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * RHIDP-12779: Consolidate CQA scripts with shared library and unified interface - Create cqa-lib.sh shared library eliminating ~90% duplicated boilerplate - Add --fix, --all, --title flags to all 17 scripts via unified argument parsing - Add cqa.sh orchestrator running all checks in optimal workflow order - Standardize output with [AUTOFIX], [FIXED], [MANUAL], [-> CQA #NN] markers - Add autofix capabilities to scripts that previously lacked them - Add SARIF JSON output format (--format json) for CI integration - Rename cqa-master-workflow.md to cqa-main-workflow.md - Update all skill files, checklist, and documentation references Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * RHIDP-12779: Add summary/SARIF modes to cqa.sh and rename cqa-15 - cqa.sh --all: compact summary checklist with deduplicated issues - cqa.sh --format json: single merged SARIF document (17 runs) - cqa.sh sources cqa-lib.sh for argument parsing - Rename cqa-15-redirects-if-needed-are-in-place-and-work-correc -> cqa-15-redirects - Fix grep stray backslash warnings in summary mode - Update CLAUDE.md examples to reference cqa.sh Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * RHIDP-12779: Add fix_type to delegated output and file paths to all checklist lines - cqa-lib.sh: Include file path in [AUTOFIX], [FIXED], [MANUAL] output - cqa-lib.sh: Add fix_type parameter to cqa_delegated() showing [-> CQA #N AUTOFIX/MANUAL] - cqa-05: Handle snippets (skip ID/abstract checks, report titles as MANUAL) - cqa-05: Change block title violations to MANUAL (not delegated to CQA #1) - cqa-02: Mark intro length delegations as MANUAL (requires human judgment) - cqa-01: Mark ShortDescription/DocumentId delegations as MANUAL - cqa.sh: Show individual issue lines in summary mode (file path included) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * RHIDP-12779: Add CQA #0 orphaned modules check and overhaul CI workflow - Create cqa-00-orphaned-modules.sh using cqa-lib (replaces fix-orphaned-modules.sh) - Rewrite content-quality-assessment.yml: - Source scripts from main branch (not base branch) for backport compatibility - Remove reviewdog, changed-files detection, apply-fixes steps - Run cqa.sh --all on entire repository - Post checklist as PR comment, upload SARIF to Code Scanning - Add CQA #0 as first step in cqa.sh and workflow docs - Document all GitHub workflows in CLAUDE.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * RHIDP-12779: Fix all shellcheck alerts across CQA scripts - SC1091: Add disable for dynamic source paths - SC2329: Suppress for callback/helper functions invoked indirectly - SC2034: Suppress for variables used by sourcing scripts (CQA_FORMAT, CQA_OUTPUT_FORMAT, CQA_DELEGATES_TO) - SC2155: Separate local declarations from assignments - SC2318: Split combined local declarations - SC2004: Remove unnecessary $ in arithmetic expressions - SC2094: Suppress false positive for cqa_is_in_block (reads cached data) - SC2001: Replace sed with parameter expansion for CQA number extraction - Remove unused variables (level, file_fixed, need_ar_fix) - Rename loop variable to avoid shadowing function parameter (target -> delegate_to) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * RHIDP-12779: Add CQA #0 directory structure check and remove old scripts - Create cqa-00-directory-structure.sh (replaces align-title-directories.sh) with cqa-lib integration, --fix/--format support, SARIF output - Delete align-title-directories.sh and list-all-included-files-starting-from.sh (functionality integrated into cqa-lib.sh cqa_collect_files) - Add cqa-00-directory-structure.sh as second entry in cqa.sh - Update skill files, checklist, and CLAUDE.md references (19 checks) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * RHIDP-12779: Add autofix and manual fix guidance to cqa.sh output When issues are found, the summary now suggests running with --fix for autofixable issues and asking Claude for the CQA main workflow for manual fixes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * RHIDP-12779: Make CQA guidance a copy-pasteable Claude prompt Reference .claude/skills/cqa-main-workflow.md explicitly so users can copy-paste the prompt directly to Claude for manual fixes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * RHIDP-12779: Fix CQA script false positives and apply content fixes Script fixes (eliminate false positives): - cqa-05: Allow .Example/.Sample block titles and descriptive labels in reference modules; broaden allowed procedure block titles - cqa-09: Resolve {abstract} attribute references before measuring length - cqa-12: Only report Vale errors as failures (not warnings/suggestions); show issue count instead of "(see output above)" - cqa-13: Remove assembly body content check (belongs to CQA #6) - cqa-14: Resolve images via :imagesdir: attribute; skip URLs/YAML - cqa-17: Skip Technology Preview mentions inside source blocks; accept inline mentions with official Red Hat support link Content fixes: - Shorten 9 too-long abstracts (auth, service-to-service, tokens) - Expand 1 too-short abstract (troubleshoot authentication) - Remove open block markers from 2 abstracts (guest user, s2s auth) - Fix 8 Vale TermsWarnings (click on→click, like→such as, etc.) - Fix .Procedure trailing space in sidebar menu localization - CQA autofix: parent-context preservation in nested assemblies Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * RHIDP-12779: Align CQA #5 block title rules with modular docs checklist Revert permissive block title exceptions. Per the official modular documentation templates checklist: - Concept/Reference: only .Additional resources and .Next steps allowed - Procedure: only standard section titles allowed (no .Example/.Sample) - Assembly: no block titles except .Additional resources Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * RHIDP-12779: Refine CQA prompt to trigger per-skill workflow The copy-paste prompt now instructs Claude to: 1. Run the CQA script first to identify issues 2. Read each matching skill file individually 3. Fix issues following the skill instructions This ensures Claude applies skills in order rather than working from the output alone. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * RHIDP-12779: Fix CQA script false positives and add subheading checks - CQA #1: Clean up output message (remove "see output above") - CQA #3: Skip single-step check when includes may contain steps - CQA #5: Add subheading checks (concept/ref: no ===+; proc: no ==+), add autofix for missing _{context} in module topic IDs - CQA #14: Fall back to artifacts/attributes.adoc for :imagesdir: - Add concept and reference template resource files Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * RHIDP-12779: Inline assemblies, extract concepts, standardize titles Content structure: - Inline unique assemblies into master.adoc (extend plugins, MCP) - Extract supplementary content to concept modules (install methods, adoption insights, audit logs) - Delete 4 orphaned assembly files Module fixes: - Add _{context} suffix to 8 module topic IDs Title standardization: - Move inline abstracts to :abstract: attribute - Remove redundant :imagesdir: (inherited from artifacts/attributes.adoc) - Normalize blank line spacing in header attributes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * RHIDP-12779: Move topology plugin assembly to its owning title directory Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * RHIDP-12779: Fix broken xrefs and update shellcheck workflow - Fix 11 broken cross-references caused by cross-assembly context mismatches (ccutil build now passes for all 33 titles) - Update shellcheck workflow to always update existing PR comment - Add PR template and post-push rules to CLAUDE.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * RHIDP-12779: Fix SonarCloud static analysis findings in CQA scripts Address all SonarCloud code analysis warnings: - Add explicit return statements at end of functions across all CQA scripts - Assign positional parameters to local variables (cqa-00, cqa-02, cqa-03) - Merge nested if statements (cqa-01, cqa-17) - Define constants for repeated string literals (cqa-lib checklist, cqa-00 shared, cqa-03 include pattern) - Add default case to case statement (cqa-01) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 08fe0a0 commit 3b1940b

194 files changed

Lines changed: 6343 additions & 11781 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/CLAUDE.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Red Hat Developer Hub Documentation
2+
3+
## CQA Compliance
4+
5+
When editing `.adoc` files, ALWAYS run the relevant CQA scripts to validate and fix changes before considering the task done. Run all 19 checks at once with `build/scripts/cqa.sh`, or run individual scripts. All share a common interface via `build/scripts/cqa-lib.sh`:
6+
7+
```bash
8+
# Report issues for a title
9+
./build/scripts/cqa.sh titles/<title>/master.adoc
10+
11+
# Auto-fix issues
12+
./build/scripts/cqa.sh --fix titles/<title>/master.adoc
13+
14+
# Run across all titles
15+
./build/scripts/cqa.sh --all
16+
17+
# Auto-fix across all titles
18+
./build/scripts/cqa.sh --fix --all
19+
```
20+
21+
Output markers: `[AUTOFIX]` (auto-fixable), `[FIXED]` (applied), `[MANUAL]` (needs human), `[-> CQA #NN AUTOFIX]` / `[-> CQA #NN MANUAL]` (delegated).
22+
23+
For full CQA workflow, load `.claude/skills/cqa-main-workflow.md`. Individual skill files are in `.claude/skills/cqa-*.md`.
24+
25+
## Pull Requests
26+
27+
When creating PRs, follow `.github/pull_request_template.md`:
28+
29+
- **Title format:** `[RHIDP#<jira-id>]: <short description>` (no `GH#` or `BZ#` prefix needed unless applicable)
30+
- **Body:** Must include the `IMPORTANT: Do Not Merge` banner, `Version(s):`, `Issue:` (Jira link), and `Preview:` (preview URL or N/A)
31+
- **Target branch:** Open PRs against `main` and cherrypick to released branches as needed
32+
- **Never use `#N` in PR title or body** — GitHub auto-links it to issues/PRs. Use dash notation (e.g., `CQA-05`) instead.
33+
34+
## GitHub Workflows (`.github/workflows/`)
35+
36+
| Workflow | Trigger | Purpose |
37+
|---|---|---|
38+
| `content-quality-assessment.yml` | PR (`.adoc`, `build/scripts/`) | Runs `cqa.sh --all` on entire repo. Posts checklist as PR comment, uploads SARIF to Code Scanning. Scripts sourced from `main` branch (not base) for backport compatibility. |
39+
| `build-asciidoc.yml` | Push to main/release | Builds AsciiDoc docs and deploys to GitHub Pages. Cleans up merged PR preview branches. |
40+
| `pr.yml` | PR | Builds HTML preview, deploys to `gh-pages`, posts preview URL as PR comment. |
41+
| `style-guide.yml` | PR | Runs Vale linter on `assemblies/` for style guide compliance. |
42+
| `shellcheck.yml` | PR (`*.sh`) | Runs shellcheck on changed shell scripts via reviewdog. |
43+
| `generate-supported-plugins-pr.yml` | Manual dispatch | Updates Dynamic Plugins tables and creates a PR. |
44+
45+
**Security:** `content-quality-assessment`, `pr`, and `shellcheck` use `pull_request_target` with an authorization gate — fork PRs from non-team members require manual approval via the `external` environment.

.claude/MEMORY.md

Lines changed: 17 additions & 173 deletions
Original file line numberDiff line numberDiff line change
@@ -4,205 +4,53 @@ This file contains persistent knowledge about working with the RHDH documentatio
44

55
## CQA 2.1 Compliance Process
66

7-
### Critical Workflow Rule
8-
97
**ALWAYS use the checklist for CQA work:**
108

11-
When starting CQA 2.1 compliance for any title:
12-
139
1. **FIRST:** Load the workflow files
1410
```
15-
Read .claude/skills/cqa-master-workflow.md, .claude/cqa-checklist.md, .claude/MEMORY.md
11+
Read .claude/skills/cqa-main-workflow.md, .claude/cqa-checklist.md, .claude/MEMORY.md
1612
```
17-
- The master workflow orchestrates all 17 CQA requirements in optimal order
18-
- The checklist follows the same 5-phase structure (updated 2026-03-13)
13+
- The main workflow orchestrates all 17 CQA requirements in optimal order
14+
- The checklist follows the same 5-phase structure
1915
- **Idempotency requirement:** Re-execute each requirement until no changes, then re-run entire workflow until stable
2016

2117
2. **VERIFY required information** - If any are missing, ASK the user:
2218
- JIRA ticket number (e.g., RHIDP-12345)
23-
- Title name (e.g., "Installing Red Hat Developer Hub on OpenShift Container Platform") OR
24-
- Path to master.adoc file (e.g., `titles/installing-rhdh-ocp/master.adoc`)
19+
- Title name or path to master.adoc file
2520

2621
3. **THEN:** Use the master workflow as the guide
27-
- Create a TodoWrite with items from cqa-master-workflow.md following the sequence defined in cqa-master-workflow.md
22+
- Create a TodoWrite following the sequence in cqa-main-workflow.md
2823
- Read individual CQA skills (.claude/skills/cqa-##-*.md) for detailed assessment
29-
- Run each step sequentially: always await for the previous task completion before running the next task
30-
- Respect the sequence order.
24+
- Run each step sequentially; respect the sequence order
3125

32-
4. **IMPORTANT:** Fill in the checklist header:
33-
- Title name
34-
- JIRA number (RHIDP-XXXXX)
35-
- Target file path
36-
37-
5. **NEVER claim completion unless:**
38-
- ALL checkbox items are marked ✓
26+
4. **NEVER claim completion unless:**
27+
- ALL checkbox items are marked with a checkmark
3928
- Idempotency verified (re-running workflow produces no changes)
4029
- TodoWrite shows all tasks complete
41-
- User has explicitly verified completion
42-
43-
### Why This Matters
44-
45-
**The problem:** CQA has 17 main steps with multiple sub-steps. Without a checklist, steps get forgotten and completion is claimed prematurely.
46-
47-
**The solution:** The checklist is the single source of truth. If it's not checked, it's not done.
48-
49-
### Automation Scripts
50-
51-
Use these scripts for systematic tasks:
52-
53-
1. **Content Type Detection/Fixing:**
54-
```bash
55-
./build/scripts/cqa-03-content-is-modularized.sh [--fix] titles/<title>/master.adoc
56-
```
57-
- Auto-detects and fixes content type metadata
58-
- Normalizes .Procedure and .Verification list formatting
59-
- Validates PROCEDURE structure
60-
- Shows violation breakdown
61-
62-
2. **Title/ID/Filename Alignment:**
63-
```bash
64-
./build/scripts/cqa-10-titles-are-brief-complete-and-descriptive.sh [--fix] titles/<title>/master.adoc
65-
```
66-
- Ensures content type metadata exists (calls cqa-03-content-is-modularized.sh if needed)
67-
- Fixes title forms (gerund → imperative)
68-
- Aligns IDs to match titles
69-
- Renames files with git mv
70-
- Updates xrefs and includes automatically
71-
72-
3. **Orphaned Module Detection:**
73-
```bash
74-
./build/scripts/fix-orphaned-modules.sh # Dry-run (lists only)
75-
./build/scripts/fix-orphaned-modules.sh --execute # Actually deletes
76-
```
77-
- Finds files not referenced by any include statement
78-
- **Dynamic attribute detection** (updated 2026-03-13):
79-
- Automatically detects ANY `{...}` attribute substitution
80-
- No hardcoded patterns - works with {platform-id}, {context}, {product}, future attributes
81-
- Converts include patterns to regex (e.g., `proc-install-on-{platform-id}.adoc``proc-install-on-.*[.]adoc`)
82-
- Excludes template files (*.template.adoc) - these are code generation sources
83-
- Uses `cut -d: -f2-` to extract only include paths (not grep filename prefixes)
84-
85-
4. **Short Description Verification:**
86-
```bash
87-
./build/scripts/cqa-09-short-description-format.sh [--fix] titles/<title>/master.adoc
88-
```
89-
- Verifies [role="_abstract"] presence
90-
- Checks 50-300 character requirement
91-
- Validates no empty line after marker
92-
93-
5. **Build and Preview Generation:**
94-
```bash
95-
./build/scripts/build-ccutil.sh # ALWAYS run without arguments
96-
```
97-
- **IMPORTANT:** Always run without arguments (builds all titles for current branch)
98-
- Uses Podman to run ccutil container (quay.io/ivanhorvath/ccutil:amazing)
99-
- Processes all titles/*/master.adoc files (excludes rhdh-plugins-reference)
100-
- Generates HTML single-page output in titles-generated/${BRANCH}/
101-
- Copies referenced images to output directory
102-
- Creates navigation index.html
103-
- Runs htmltest for link validation
104-
- Supports branch-specific builds with `-b <branch>` flag (rarely needed)
10530

10631
### Reference Materials
10732

108-
**CQA reference materials are updated using:**
109-
```bash
110-
./build/scripts/update-cqa-resources.sh
111-
```
33+
Updated using `./build/scripts/update-cqa-resources.sh` (weekly minimum, daily maximum).
11234
See `.claude/skills/update-all-resources.md` for details.
11335

114-
**Update frequency:** Weekly minimum (7 days), daily maximum (1 day)
115-
116-
**Resources maintained:**
36+
- **SSG:** `.claude/resources/red-hat-ssg.md` — grammar, style, formatting (CQA 8, 9, 10, 12, 16)
37+
- **Peer Review:** `.claude/resources/red-hat-peer-review.md` — titles, grammar, editorial quality (CQA 10, 12)
38+
- **Modular Docs:** `.claude/resources/red-hat-modular-docs.md` — content types, module templates (CQA 2-6, 10, 13)
39+
- **Vale:** `.vale-dita-only.ini` (CQA 1), `.vale.ini` (CQA 12). Sync with `vale sync`. `attributes.adoc` excluded from Vale.
11740

118-
1. **Red Hat Supplementary Style Guide (SSG):**
119-
- **Location:** `.claude/resources/red-hat-ssg.md`
120-
- **When to reference:** CQA #8, #9, #10, #12, #16 (grammar, style, formatting)
121-
- **Key topics:** Conscious language, short descriptions, titles, user-replaced values, Technology Preview
122-
123-
2. **Red Hat Peer Review Guide:**
124-
- **Location:** `.claude/resources/red-hat-peer-review.md`
125-
- **When to reference:** CQA #10 (titles), CQA #12 (grammar), editorial quality
126-
- **Key topics:** Style checklist, grammar rules, formatting standards, review workflow
127-
128-
3. **Red Hat Modular Documentation Guide:**
129-
- **Location:** `.claude/resources/red-hat-modular-docs.md`
130-
- **When to reference:** CQA #2, #3, #4, #5, #6, #10, #13 (modularization, content types)
131-
- **Key topics:** Content types (ASSEMBLY, CONCEPT, PROCEDURE, REFERENCE), module templates, file naming
132-
133-
4. **Vale Linting Rules:**
134-
- **Timestamp:** `.claude/.vale-sync-timestamp`
135-
- **Sync command:** `vale sync` (automated by update script)
136-
- **When to sync:** Before CQA #1 (DITA validation) or CQA #12 (grammar/style validation)
137-
- **Configurations:** `.vale-dita-only.ini` (CQA #1), `.vale.ini` (CQA #12)
138-
- **Excluded:** `attributes.adoc` is excluded from Vale validation (defines attribute values using literal product names, which triggers false positives for `DeveloperHub.Attributes` rules)
139-
- **All DITA warnings must be fixed** — no acceptable warnings. See `.claude/skills/cqa-01-asciidoctor-dita-vale.md` for fix guidance
140-
141-
### Best Practices Learned
41+
### Best Practices
14242

14343
1. **Scripts first, manual second:** Run all automated scripts before manual fixes
14444
2. **One step at a time:** Don't batch steps, even if they seem related
14545
3. **Verify after fixes:** Re-run scripts after manual changes to confirm alignment
14646
4. **Git mv for renames:** Always use git mv to preserve history
147-
5. **Update includes last:** Fix filenames before updating include statements
148-
6. **Check SSG currency:** Before style-related CQA work, ensure SSG is current (within 7 days)
149-
7. **Sync Vale styles:** Before Vale validation (CQA #1, #12), ensure Vale is synced (within 7 days)
150-
8. **Idempotency:** Re-run each CQA requirement until no changes, then re-run full workflow until stable
151-
9. **Settings.json hygiene:**
152-
- Use wildcard patterns (e.g., `Bash(find *)`) not specific commands
153-
- Never commit sensitive information (usernames, API keys, absolute paths with usernames)
154-
- Use relative paths (.claude, .claude/resources) not absolute paths
155-
- Alphabetize permissions for maintainability
156-
- Verify with `jq . .claude/settings.json` before committing
157-
158-
### Common Pitfalls to Avoid
159-
160-
**Don't:** Skip the checklist and try to remember all steps
161-
**Do:** Load checklist first, mark items as done
162-
163-
**Don't:** Claim "CQA complete" without showing all ✓ items
164-
**Do:** Show checklist with all items marked before claiming completion
165-
166-
**Don't:** Run steps out of order
167-
**Do:** Follow exact sequence in checklist
168-
169-
**Don't:** Batch steps together ("I'll do 2-4 at once")
170-
**Do:** Complete each step fully, mark it ✓, then proceed
47+
5. **Idempotency:** Re-run each CQA requirement until no changes, then re-run full workflow until stable
17148

17249
### Pull Request Guidelines
17350

174-
**CRITICAL:** When creating PR descriptions, **never use `#` notation for CQA numbers** (e.g., avoid "CQA #1", "CQA #2").
175-
176-
**Don't write:** "CQA #1", "CQA #2", "CQA #17"
177-
**Do write:** "CQA 1", "CQA 2", "CQA 17"
178-
179-
**Reason:** GitHub automatically creates links for `#number` patterns, linking to unrelated issues/PRs and creating noise.
180-
181-
**PR Description Format for CQA Work:**
182-
```markdown
183-
## Summary
184-
185-
Completed CQA 2.1 validation for `titles/<title-name>/master.adoc`:
186-
187-
### Validation Results
188-
-**CQA 1**: Vale DITA validation (0 errors, acceptable warnings)
189-
-**CQA 2**: Assembly structure compliance
190-
-**CQA 3**: Content modularization verified
191-
...
192-
-**CQA 17**: Disclaimers not applicable (no preview features)
193-
194-
### Key Changes
195-
- List of major changes made
196-
- File renames, content updates, etc.
197-
198-
### Files Changed
199-
- List of modified files
51+
**Never use `#` notation for CQA numbers** in PR descriptions (e.g., write "CQA 1" not "CQA #1"). GitHub auto-links `#number` to unrelated issues/PRs.
20052

201-
## Test Plan
202-
- [x] All CQA automation scripts pass
203-
- [x] Vale validations pass
204-
- [x] Build successful
205-
```
53+
PR description format is in `.claude/cqa-checklist.md`.
20654

20755
## Repository Structure
20856

@@ -212,13 +60,9 @@ Completed CQA 2.1 validation for `titles/<title-name>/master.adoc`:
21260
- `artifacts/` - Reusable snippets and fragments
21361
- `build/scripts/` - Automation scripts for CQA and validation
21462
- `.claude/` - Claude Code configuration and documentation
215-
- `settings.json` - Repository-specific permissions and settings
216-
- `MEMORY.md` - This file - persistent knowledge for Claude
217-
- `cqa-checklist.md` - CQA 2.1 compliance checklist template
21863

21964
## User Preferences
22065

22166
- Uses wildcard patterns in .claude/settings.json (not individual files)
22267
- Prefers focused, single-purpose tasks over large multi-step processes
22368
- Values explicit tracking with TodoWrite for complex workflows
224-
- Commits frequently with descriptive messages including "Co-Authored-By: Claude Sonnet 4.5"

.claude/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ Comprehensive checklist template for CQA 2.1 compliance work. Contains:
3535
### `skills/`
3636
CQA 2.1 compliance assessment skills:
3737

38-
**Master Workflow:**
39-
- `cqa-master-workflow.md` - Complete CQA process orchestrating all 17 requirements in optimal order
38+
**Main Workflow:**
39+
- `cqa-main-workflow.md` - Complete CQA process orchestrating all 17 requirements in optimal order
4040

4141
**Individual Skills (17 total):**
4242
- `cqa-01-*.md` through `cqa-17-*.md` - One skill per Pre-migration requirement

0 commit comments

Comments
 (0)