You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .claude/skills/submit-pr/SKILL.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,17 +3,17 @@ name: submit-pr
3
3
description: Creates a pull request with a well-structured description after verifying CI passes. Use when the user asks to submit, create, or open a pull request.
4
4
disable-model-invocation: true
5
5
---
6
-
<!-- agent-pmo:d58c330-->
6
+
<!-- agent-pmo:29b9dcf-->
7
7
8
8
# Submit PR
9
9
10
10
Create a pull request for the current branch with a well-structured description.
11
11
12
12
## Steps
13
13
14
-
1. Run `make ci`-- must pass completely before creating PR
14
+
1. Run `make ci`— must pass completely before creating PR
15
15
2.**Generate the diff against main.** Run `git diff main...HEAD > /tmp/pr-diff.txt` to capture the full diff between the current branch and the head of main. This is the ONLY source of truth for what the PR contains. **Warning:** the diff can be very large. If the diff file exceeds context limits, process it in chunks (e.g., read sections with `head`/`tail` or split by file) rather than trying to load it all at once.
16
-
3.**Derive the PR title and description SOLELY from the diff.** Read the diff output and summarize what changed. Ignore commit messages, branch names, and any other metadata -- only the actual code/content diff matters.
16
+
3.**Derive the PR title and description SOLELY from the diff.** Read the diff output and summarize what changed. Ignore commit messages, branch names, and any other metadata — only the actual code/content diff matters.
17
17
4. Write PR body using the template in `.github/pull_request_template.md`
18
18
5. Fill in (based on the diff analysis from step 3):
19
19
- TLDR: one sentence
@@ -27,7 +27,7 @@ Create a pull request for the current branch with a well-structured description.
27
27
## Rules
28
28
29
29
- Never create a PR if `make ci` fails
30
-
- PR description must be specific and tight -- no vague placeholders
30
+
- PR description must be specific and tight — no vague placeholders
Copy file name to clipboardExpand all lines: .claude/skills/upgrade-packages/SKILL.md
+59-23Lines changed: 59 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,45 +1,71 @@
1
1
---
2
2
name: upgrade-packages
3
-
description: Upgrade all dependencies/packages to their latest versions for C#/.NET. Use when the user says "upgrade packages", "update dependencies", "bump versions", "update packages", or "upgrade deps".
3
+
description: Upgrade all dependencies/packages to their latest versions for C#/.NET and Python. Use when the user says "upgrade packages", "update dependencies", "bump versions", "update packages", or "upgrade deps".
Upgrade all project dependencies to their latest compatible (or latest major, if `--major`) versions.
10
+
Upgrade all project dependencies to their latest compatible (or latest major, if `--major`) versions for HealthcareSamples (C#/.NET primary, Python embedding service + scripts).
11
11
12
12
## Arguments
13
13
14
-
-`--check-only`-- List outdated packages without upgrading. Stop after Step 2.
15
-
-`--major`-- Include major version bumps (breaking changes). Without this flag, stay within semver-compatible ranges.
14
+
-`--check-only`— List outdated packages without upgrading. Stop after Step 2.
15
+
-`--major`— Include major version bumps (breaking changes). Without this flag, stay within semver-compatible ranges.
16
16
- Any other argument is treated as a specific package name to upgrade (instead of all packages).
17
17
18
-
## Step 1 -- Detect language and package manager
18
+
## Step 1 — Detect language and package manager
19
19
20
-
This is a C#/.NET repo. Manifest files:
21
-
-`HealthcareSamples.sln`
22
-
-`Directory.Build.props`
23
-
- Individual `.csproj` files across Clinical, Scheduling, ICD10, Dashboard, and Shared projects
**Read the docs:**https://pip.pypa.io/en/stable/cli/pip_install/#cmdoption-U
57
+
35
58
If `--check-only` was passed, **stop here** and report the outdated list.
36
59
37
-
## Step 3 -- Read the official upgrade docs
60
+
## Step 3 — Read the official upgrade docs
38
61
39
62
**Before running any upgrade command, you MUST fetch and read the official documentation URL listed above for the detected package manager.** Use WebFetch to retrieve the page. This ensures you use the correct flags and understand the behavior. Do not guess at flags or options from memory.
40
63
41
-
## Step 4 -- Upgrade packages
64
+
## Step 4 — Upgrade packages
65
+
66
+
Run the upgrade. If a specific package name was given as an argument, upgrade only that package.
42
67
68
+
### C# / .NET (NuGet)
43
69
There is NO single `dotnet upgrade-all` command. You must upgrade each package individually:
44
70
```bash
45
71
# For each outdated package from Step 2:
@@ -58,7 +84,17 @@ dotnet outdated --upgrade
58
84
```
59
85
**Read the docs:**https://github.com/dotnet-outdated/dotnet-outdated
Copy file name to clipboardExpand all lines: .claude/skills/website-audit/SKILL.md
+31-29Lines changed: 31 additions & 29 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
name: website-audit
3
3
description: Audits a website for SEO, AI search performance, structured data, mobile usability, broken links, and social media cards. Fixes issues found. Use when the user mentions "audit website", "SEO", "fix search ranking", "AI search", "structured data", "social media cards", or "website performance".
4
4
---
5
-
<!-- agent-pmo:d58c330-->
5
+
<!-- agent-pmo:29b9dcf-->
6
6
7
7
# Website Audit
8
8
@@ -26,52 +26,54 @@ Audit Progress:
26
26
- [ ] Step 12: Report findings
27
27
```
28
28
29
-
- Check the outputted HTML/CSS/JavaScript AFTER the website is generated by the static content generator. - Don't just check the static content before the website is generated.
29
+
- Check the outputted HTML/CSS/JavaScript AFTER the website is generated by the static content generator. - Don't just check the static content before the website is generated.
30
30
- Fix issues at the core where the static content templates are stored - not in the outputted HTML (e.g. _site)
31
31
- Never manually edit the generated website content directly
32
32
33
-
## Step 1 -- Read guidelines
33
+
## Step 1 — Read guidelines
34
34
35
35
Fetch and read each of these before auditing. These are the authoritative references for every step that follows.
36
36
37
37
-[Google's guidance on using generative AI content](https://developers.google.com/search/docs/fundamentals/using-gen-ai-content)
38
38
-[Top ways to ensure content performs well in Google's AI experiences](https://developers.google.com/search/blog/2025/05/succeeding-in-ai-search)
If the repo has a business plan doc, take it into account
42
+
41
43
Identify the website source files in the repo. Determine the framework (static site generator, Next.js, Hugo, etc.) so you know where to find templates, metadata, and content.
42
44
43
-
## Step 2 -- Audit AI search readiness
45
+
## Step 2 — Audit AI search readiness
44
46
45
47
Apply the guidance from the AI search article. Check:
46
48
47
-
1.**Content quality**-- Is content original, expert-level, and comprehensive? Flag thin or duplicated pages.
48
-
2.**Clear structure**-- Do pages use descriptive headings, lists, and concise answers to likely questions?
49
-
3.**Entity clarity**-- Are key terms, products, and concepts defined clearly so AI can extract them?
50
-
4.**Freshness signals**-- Are dates, update timestamps, and authorship present?
49
+
1.**Content quality**— Is content original, expert-level, and comprehensive? Flag thin or duplicated pages.
50
+
2.**Clear structure**— Do pages use descriptive headings, lists, and concise answers to likely questions?
51
+
3.**Entity clarity**— Are key terms, products, and concepts defined clearly so AI can extract them?
52
+
4.**Freshness signals**— Are dates, update timestamps, and authorship present?
51
53
52
54
Fix issues directly in the source files. For each fix, note what changed and why.
53
55
54
-
## Step 3 -- Audit SEO and keywords
56
+
## Step 3 — Audit SEO and keywords
55
57
56
58
1. Search [Google Trends](https://trends.google.com/home) for trending keywords related to the website's content.
57
59
2. Review each page's `<title>`, `<meta name="description">`, and `<h1>` tags.
58
-
3. Check for keyword opportunities -- can trending terms be naturally inserted into headings, descriptions, or body content?
60
+
3. Check for keyword opportunities — can trending terms be naturally inserted into headings, descriptions, or body content?
59
61
4. Verify each page has a unique, descriptive title (50-60 chars) and meta description (150-160 chars).
60
62
5. Check image `alt` attributes describe the image content and include relevant keywords where natural.
61
63
62
64
Apply the [SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) principles. Fix issues directly.
63
65
64
-
## Step 4 -- Audit crawling and indexing
66
+
## Step 4 — Audit crawling and indexing
65
67
66
68
Reference: [Overview of crawling and indexing topics](https://developers.google.com/search/docs/crawling-indexing)
67
69
68
-
1.**robots.txt**-- Locate and review it. Verify it doesn't block important pages. Reference: [robots.txt spec](https://developers.google.com/search/docs/crawling-indexing/robots-txt)
69
-
2.**Sitemap**-- Locate the sitemap (or sitemap index). Verify all important pages are listed and no dead URLs are included. Reference: [Sitemap guidelines](https://developers.google.com/search/docs/crawling-indexing/sitemaps/large-sitemaps)
70
-
3.**Meta robots tags**-- Check for unintended `noindex` or `nofollow` directives on pages that should be indexed.
70
+
1.**robots.txt**— Locate and review it. Verify it doesn't block important pages. Reference: [robots.txt spec](https://developers.google.com/search/docs/crawling-indexing/robots-txt)
71
+
2.**Sitemap**— Locate the sitemap (or sitemap index). Verify all important pages are listed and no dead URLs are included. Reference: [Sitemap guidelines](https://developers.google.com/search/docs/crawling-indexing/sitemaps/large-sitemaps)
72
+
3.**Meta robots tags**— Check for unintended `noindex` or `nofollow` directives on pages that should be indexed.
71
73
72
74
Note: robots.txt and sitemaps are often auto-generated. If so, check the generator config rather than the output file.
73
75
74
-
## Step 5 -- Audit broken links and canonicalization
76
+
## Step 5 — Audit broken links and canonicalization
75
77
76
78
Reference: [What is canonicalization](https://developers.google.com/search/docs/crawling-indexing/canonicalization)
77
79
@@ -80,7 +82,7 @@ Reference: [What is canonicalization](https://developers.google.com/search/docs/
80
82
3. Check for duplicate content accessible via multiple URLs (with/without trailing slash, www vs non-www).
81
83
4. Verify redirects use 301 (permanent) not 302 (temporary) where appropriate.
82
84
83
-
## Step 6 -- Audit mobile usability
85
+
## Step 6 — Audit mobile usability
84
86
85
87
Reference: [Mobile-first indexing best practices](https://developers.google.com/search/docs/crawling-indexing/mobile/mobile-sites-mobile-first-indexing)
86
88
@@ -89,7 +91,7 @@ Reference: [Mobile-first indexing best practices](https://developers.google.com/
89
91
3. Verify touch targets are adequately sized (min 48x48px).
90
92
4. Check font sizes are readable without zooming (min 16px body text).
91
93
92
-
## Step 7 -- Audit structured data
94
+
## Step 7 — Audit structured data
93
95
94
96
Reference: [Structured data guidelines](https://developers.google.com/search/docs/appearance/structured-data/sd-policies)
95
97
@@ -102,7 +104,7 @@ Reference: [Structured data guidelines](https://developers.google.com/search/doc
102
104
-**FAQ** for pages with question/answer content
103
105
4. Validate JSON-LD syntax is correct.
104
106
105
-
## Step 8 -- Audit social media cards
107
+
## Step 8 — Audit social media cards
106
108
107
109
Reference: [Implementing Social Media Preview Cards](https://documentation.platformos.com/use-cases/implementing-social-media-preview-cards)
108
110
@@ -124,31 +126,31 @@ Ensure that all claims are backed up with a link to a reputable source. As an ex
124
126
125
127
Search for the authoritative URL and add a link to the URL. If it is not available, change the claim to something that can be substatiated.
126
128
127
-
## Step 10 -- Audit Design Compliance
129
+
## Step 10 — Audit Design Compliance
128
130
129
131
Read the design system docs and view the design screens in the designsystem folder.
130
132
131
-
## Step 11 -- Test with Playwright
133
+
## Step 11 — Test with Playwright
132
134
133
135
Build and run the website locally using `make website-run` (or the project's equivalent dev server command).
134
136
135
137
**Desktop tests (1280x720):**
136
138
137
-
1. Navigate to the homepage -- take a screenshot.
138
-
2. Navigate to each major section -- verify pages load without errors.
139
+
1. Navigate to the homepage — take a screenshot.
140
+
2. Navigate to each major section — verify pages load without errors.
139
141
3. Check the browser console for JavaScript errors.
140
142
4. Verify all navigation links work.
141
143
142
144
**Mobile tests (375x667, iPhone SE):**
143
145
144
146
1. Resize the browser to mobile dimensions.
145
-
2. Navigate to the homepage -- take a screenshot.
147
+
2. Navigate to the homepage — take a screenshot.
146
148
3. Verify the layout is responsive (no horizontal overflow, readable text).
147
149
4. Test navigation menu (hamburger menu if applicable).
148
150
149
151
If any page fails to load or has console errors, fix the issue and retest.
150
152
151
-
## Step 12 -- Report findings
153
+
## Step 12 — Report findings
152
154
153
155
Summarize the audit results:
154
156
@@ -170,8 +172,8 @@ Summarize the audit results:
170
172
171
173
## Rules
172
174
173
-
-**Fix issues directly**-- don't just report them. Only flag issues as warnings when they require human judgment (e.g., content tone, keyword selection).
174
-
-**One step at a time**-- complete each step before moving to the next.
175
-
-**Preserve existing content**-- improve structure and metadata without rewriting the author's voice.
176
-
-**No keyword stuffing**-- keywords must read naturally in context.
177
-
-**Respect the framework**-- edit templates/configs, not generated output files.
175
+
-**Fix issues directly**— don't just report them. Only flag issues as warnings when they require human judgment (e.g., content tone, keyword selection).
176
+
-**One step at a time**— complete each step before moving to the next.
177
+
-**Preserve existing content**— improve structure and metadata without rewriting the author's voice.
178
+
-**No keyword stuffing**— keywords must read naturally in context.
179
+
-**Respect the framework**— edit templates/configs, not generated output files.
0 commit comments