一键导入
prepare-cop-notes
Use when a CoP scribe has exported the Notes tab from Google Docs as markdown and needs to add frontmatter and save it to the sessions/ directory.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when a CoP scribe has exported the Notes tab from Google Docs as markdown and needs to add frontmatter and save it to the sessions/ directory.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | prepare-cop-notes |
| version | 1.9.0 |
| description | Use when a CoP scribe has exported the Notes tab from Google Docs as markdown and needs to add frontmatter and save it to the sessions/ directory. |
Usage: /prepare-cop-notes ~/Downloads/exported-notes.md
$ARGUMENTS
The argument is the file path to the exported Notes tab markdown. If empty, prompt:
"Please provide the path to the exported Notes markdown file."
Use absolute path. Verify file exists before proceeding.
Purpose: The Notes tab should not contain the transcript section, but if a scribe accidentally exports the wrong content, this step catches it. This is a safety check, not a primary function.
Detection pattern:
^#+\s+.*Transcript.*$ (one or more # characters, followed by whitespace, followed by any text containing "Transcript")# Transcript, ## Transcript, # 📖 Transcript, ### Transcript, etc.Removal logic:
The exported Google Doc may contain two types of timestamp links that reference times in the original meeting recording. Both should be removed.
([00:05:12](#00:05:12)) ([00:05:12](?tab=t.xxxxx#heading=h.xxxxx)) — links to a specific heading in the transcript docCreate a working copy of the file in /tmp/, then call the timestamp removal script:
cp <original-path> /tmp/a11y-cop-notes-working.md
scripts/remove-timestamps.sh /tmp/a11y-cop-notes-working.md
The script handles both formats and modifies the file in place.
Implementation:
sessions/ after all validation is completeExtract date from first line:
Extract attendees from "Invited" line:
Invited [Name](mailto:email) [Name](mailto:email) ~~[Name](mailto:email)~~[Name](mailto:...) patterns using regex: \[([^\]]+)\]\(mailto:[^\)]+\)~~ (strikethrough wrapper)Extract URLs from metadata lines:
"Attachments" line: Extract calendar event URL
Attachments [Link Text](URL)calendar_link: <url>\[([^\]]+)\]\(([^\)]+)\) (use second capture group)"Meeting records" line: Extract transcript URL
Meeting records [Transcript](URL)transcript_link: <url>\[([^\]]+)\]\(([^\)]+)\) (use second capture group)Show all extracted data for verification:
Extracted metadata:
- Date: 2026-05-13
- Attendees: Chris Peak, Rachael Ludwick, Celeste Aronow, Claire Nguyen
- Calendar: https://calendar.google.com/calendar/event?eid=...
- Transcript: https://docs.google.com/document/...
Should anyone be removed from the attendee list?
Wait for the user to confirm or correct before proceeding. Do not guess from transcript content.
After verification, remove all Gemini metadata lines:
^Invited\s+\[.*^Attachments\s+\[.*^Meeting records\s+\[.*Remove all three lines from the file content. Keep all other content including the date, meeting title, Summary, Next steps, and Details sections.
Before saving, scan the full file content. This step has two parts: auto-cleanup and user validation. Do not save until both are complete.
Part A: Auto-remove Gemini UI artifacts
Remove the following without asking — they are never real content:
*Rate this Summary:* or *Rate this Decisions:* (Gemini feedback prompts)We've updated the ... section using your feedback (Gemini edit notifications)## ALIGNED or similar Gemini section labels appearing inside ### DecisionsYou should review Gemini's notes...) and survey link (How is the quality of these specific notes?...)Tell the user exactly what was removed, listing each item:
Auto-removed Gemini artifacts:
- "Rate this Summary" feedback prompt (after Summary section)
- "## ALIGNED" section label (inside Decisions)
- "We've updated the Decisions section" notification
- Gemini footer (review reminder + survey link)
If nothing was found to remove, say so briefly.
Part B: Validate uncertain items
Scan for the following and build a list of items needing a decision. Do not auto-correct any of these.
Technical terms and ASR mishears:
Check for garbled forms of technical terms. Unambiguous corrections (e.g., "a flight" → "8th Light") can be auto-applied; flag ambiguous ones (e.g., "access" where "axe" is also possible) for the scribe to confirm from context.
| Correct Term | Common Mishears |
|---|---|
| 8th Light | a flight, aflight, aphite, eighth alight, 8 light |
| WCAG | W CAG, WAG, wicked, WKed, WKEG, we CAG |
| CPACC | cpac, C-PAC, CPAC |
| CoP | COP, cop |
| Playwright | playright, play right |
| axe | access, ax, acts (when referring to the testing tool) |
| npm | mpm |
| ARIA | area, Arya, aria |
| Pa11y | pally, palley, PA11Y |
| NVDA | in VDA |
| JAWS | jaws, Jaws |
| VoiceOver | voice over, voiceover |
Names to check:
Spelling variants of the same name — the same person referred to differently across the document (e.g., "Rachel" vs "Rachael", "Jon" vs "John"). Cross-reference every first name in the body against the attendee list and flag any that differ.
Phonetically similar names — if both spellings of a pair appear anywhere in the document, flag it. Do not reason from context about whether they're the same person — the scribe must confirm. No exceptions.
| Pair | Note |
|---|---|
| Sean / Shawn | Both are real people at 8th Light. They can appear in the same document referring to different people. Flag every time both spellings appear. |
| Jon / John | Both are real people at 8th Light. Flag every time both spellings appear — do not assume they refer to different people even if context suggests it. |
| Rachael / Rachel | Common ASR variation |
| Chris / Kris | Less common but possible |
| Claire / Clare | Less common but possible |
Partial name references — "Jon W", "John W", or first-name-only references that may or may not match a full name elsewhere in the document.
Other items to check:
Client or project names — check the table below first, then flag anything not listed that looks like a company name, project codename, or client-identifiable detail. This is a public repo.
| Client/Project | Common Mishears | Replace With |
|---|---|---|
| EnGen | Engine, Engen, N-Gen, in gen, NEN | [Education Client] |
| DYMO | Daimo, DAO, Dinamo, Dynamo | [Printer Client] |
| New Brands | new brands, NewBrands | [Printer Client's Parent Company] |
| Other People's Pixels (OPP) | OP | [Artist CMS Client] |
| Cars.com | Cars project, cars.com | [Automotive Client] |
For clients not in the table, suggest replacing with [Client Name] or [Project Name] and prompt the scribe to confirm.
PII — email addresses, phone numbers
Open-ended scan — look for content not covered by the tables above:
If there are items to validate, present them one at a time and wait for a response before moving to the next:
[1/3] "Rachel" (Details section) — attendee list has "Rachael Ludwick". Correct to "Rachael"?
After the user responds, move to the next unresolved item:
[2/3] "Jon W" (Leadership Advocacy section) and "John" (Next steps) — are these the same person? If so, which spelling is correct?
[3/3] "Sean" (multiple places) and "Shawn" (Next steps) — are these the same person? If so, which spelling is correct?
If there are no items to validate, say so and proceed.
Only move to step 6 once all flagged items have a response.
Convert to plain name format (no mailto links):
- Celeste Aronow\n - Claire SmithPrepend to file content with extracted metadata:
---
date: YYYY-MM-DD
contacts:
- Attendee One
- Attendee Two
calendar_link: https://calendar.google.com/calendar/event?eid=...
transcript_link: https://docs.google.com/document/...
---
Note: If any URL was not found during extraction (step 4), omit that field from frontmatter.
YYYY-MM-DD-session-notes.mdsessions/ directory if neededSaved to sessions/YYYY-MM-DD-session-notes.md.
Next: commit and open a PR. Run the Claude skill:
`/using-git`
or branch manually:
git checkout -b transcript/YYYY-MM-DD-cop-session
Error: Could not find date in document.
Expected format: YYYY-MM-DD in title or first heading
Example: "# 2026-05-13 — A11y CoP Working Session"
Please check the document format or provide the date manually.
Error: Could not find attendees list in document.
Expected: Section labeled "Attendees:", "Participants:", or "Present:"
Followed by: Bulleted list or comma-separated names
Example:
Attendees:
- Celeste Aronow
- Claire Smith
Please check the document format or provide attendees manually.
Use after committing a CoP session transcript. Asks if you fixed anything manually after Claude's review and updates skill tables if needed.
Use when working in the a11y-cop repository and need to perform git or GitHub operations. This is THE authoritative guidance for proper git/gh interaction in this repo, including branching, commits, and PR creation conventions.
Use when you need to capture subjective user feedback on what didn't work well in the scribe workflow (documentation, skills, or process). Focuses only on improvements, offers options for how to handle the feedback (add to PR, create issue, or contact facilitator).
Use when a CoP scribe needs to process a Community of Practice meeting transcript after a session. Orchestrates the full workflow from cleaning the transcript through PR creation, delegating to specialized sub-skills.