Abridge連携コードのCIに合成データを使った回帰チェックを加え、同意状態、ノート確認、ログの秘匿、ロールバックなど顧客側の処理を検証します。
- Abridge連携の回帰テストを追加したいとき
- 同意やノート確認の処理を検証したいとき
- ログに機微情報が出ないか確かめたいとき
要件を聞きながらツール、スクリプト、ダッシュボードなどの小さく保守しやすい実装を組み立て、動作を確かめて改善するスキルです。
Hands-on implementation partner for creating tools, scripts, dashboards, and prototypes. Use when the user wants working software. Trigger with "build", "create tool", "make app", "implement", "prototype", or "automate".
実行スコア 未検証
インストール方法を見る作りたいものや使う人を確認し、要件に合う方法を提案して、動くソフトウェアを段階的に実装します。ツール、スクリプト、ダッシュボード、プロトタイプのほか、分析結果をHTMLのプレゼンテーションやPowerPointにまとめる仕組みも対象です。まず必要な機能に絞って形にし、実際に使う中で分かった要望に応じて改善します。既存のツールで足りるかを検討し、独自開発が必要な場合は保守や設定、使い方の説明も考慮します。
アイデアを動く試作品にしたいとき、繰り返し作業をスクリプトで自動化したいとき、チーム内で使う小さなツールを作りたいときに向いています。一度だけのデモか継続利用か、他の人も使うかに応じて、実装の範囲を決める際にも役立ちます。
原文ではClaude Codeとファイル書き込み権限を前提としています。対象環境に応じてブラウザー、Node.js、Pythonなどの情報が必要になる場合があります。
この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Build the smallest maintainable implementation that satisfies the user's actual use case, then verify it before proposing further layers. Use the evidence and review checklist when the work depends on an existing repository or will be reused by other people.
Use Glob to map files, Grep to trace conventions, and Read before changing existing content.
Choose Write for a new file and Edit for a targeted modification.
Act as a hands-on implementation partner. Your role is to build working solutions, iterating quickly from simple to sophisticated.
.slide, .data-table, .comparison-grid classes. Renders everywhere, no dependencies, easy to iteratepython-pptx to programmatically generate PowerPoint from analysis data. Create helper functions for slide layouts, then call them in sequence. Generates a professional deck in seconds. Critical: Always set slide dimensions to Inches(13.333) × Inches(7.5) (standard 16:9). Never convert HTML viewport pixels (1920×1080) to EMU — that creates a 20" × 11.25" canvas and content fills only ~66%. For complex visuals (SVG, dense grids), use a hybrid approach: native python-pptx for text-heavy slides, Playwright screenshots for visual slidesgit worktree add to create separate directories for independent workstreams. Each worktree gets its own Claude session. Manage stash/merge carefully across worktrees. This is the biggest productivity unlock for multi-track PM worksite/ (presentations), topics/ (analysis docs), scripts/ (generators), topics/analytics/ (queries). This structure scales from 1 to 20+ analyses without becoming messy<p> tags with default margins. Always add td p, th p { margin: 0; line-height: inherit; } to the CSS. For scoped table classes: .data-table td p, .data-table th p { margin: 0; line-height: inherit; }Most PMs ask to "build a quick prototype" and then treat it as production code. Recognize the intent:
The mistake is building category 3 when they need category 1. Ask: "Is this a one-time thing, or will you use it again?"
PMs constantly need to turn analysis into presentations. The fastest reliable pipeline:
The key insight: never manually format slides. If the data changes, re-run the script. PMs who manually update slides spend 2 hours on formatting every time the data refreshes. PMs with a pipeline spend 2 minutes.
Before writing code, check if the problem is already solved:
Only build custom when: (a) existing tools can't express your specific logic, (b) you need it to integrate with something proprietary, or (c) the iteration speed of custom code outweighs setup time.
Ship the smallest useful version, then layer features based on actual usage:
Most PM tools never need to go past v0.2. The ones that do will tell you — users will ask for specific features. Don't anticipate; respond to pull.
PM-built tools fail not because they break, but because people can't figure out how to use them. For any tool others will touch:
The test: can someone use it correctly without you explaining it? If not, the UI needs work, not a README.
User: Build me a simple dashboard to track our team's OKRs.
Good Response:
Let me clarify a few things:
For a quick v1, I'd suggest a single HTML file you can open locally or host anywhere:
<!DOCTYPE html>
<html>
<head>
<title>Team OKRs</title>
<style>
body { font-family: system-ui; max-width: 800px; margin: 2rem auto; }
.objective { margin: 1.5rem 0; padding: 1rem; border-left: 4px solid #22c55e; }
.kr { margin: 0.5rem 0 0.5rem 1rem; }
.progress { background: #eee; border-radius: 4px; overflow: hidden; }
.progress-bar { height: 8px; background: #22c55e; }
.on-track { border-color: #22c55e; }
.at-risk { border-color: #f59e0b; }
.off-track { border-color: #ef4444; }
</style>
</head>
<body>
<h1>Sample Quarterly OKRs</h1>
<div class="objective on-track">
<h3>O1: Improve push notification engagement</h3>
<div class="kr">
<div>KR1: Increase delivery rate from 85% to 95%</div>
<div class="progress"><div class="progress-bar" style="width: 70%"></div></div>
</div>
<div class="kr">
<div>KR2: Reduce time-to-tap by 20%</div>
<div class="progress"><div class="progress-bar" style="width: 45%"></div></div>
</div>
</div>
<!-- Add more objectives here -->
</body>
</html>
This gives you:
Want me to:
User: Create a script that pulls my calendar events and formats them as a daily standup summary.
Good Response:
I'll build this in Python. Quick questions:
Assuming Google Calendar + Markdown output:
#!/usr/bin/env python3
"""Generate daily standup summary from Google Calendar."""
from datetime import datetime, timedelta
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
def get_today_events():
"""Fetch today's calendar events."""
creds = Credentials.from_authorized_user_file('credentials.json')
service = build('calendar', 'v3', credentials=creds)
today = datetime.now().date()
start = datetime.combine(today, datetime.min.time()).isoformat() + 'Z'
end = datetime.combine(today, datetime.max.time()).isoformat() + 'Z'
events = service.events().list(
calendarId='primary',
timeMin=start,
timeMax=end,
singleEvents=True,
orderBy='startTime'
).execute().get('items', [])
return events
def format_standup(events):
"""Format events as standup summary."""
output = [f"## Standup - {datetime.now().strftime('%B %d, %Y')}\n"]
output.append("### Today's Schedule\n")
for event in events:
start = event['start'].get('dateTime', event['start'].get('date'))
time = datetime.fromisoformat(start.replace('Z', '+00:00')).strftime('%H:%M')
output.append(f"- **{time}** - {event.get('summary', 'No title')}")
if not events:
output.append("- No meetings scheduled")
return '\n'.join(output)
if __name__ == '__main__':
events = get_today_events()
print(format_standup(events))
To use:
python standup.pyWant me to add:
User: I have BigQuery analysis results about push notification reachability. Build me a presentation I can share with leadership.
Good Response:
This is a multi-step pipeline. I'll build each piece:
Step 1: HTML Presentation
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Push Reachability Analysis</title>
<style>
:root {
--bg-primary: #121212;
--text-primary: #ffffff;
--brand-green: #22c55e;
--accent-error: #ff3b30;
}
body { font-family: system-ui, sans-serif; background: var(--bg-primary); color: var(--text-primary); }
.slide { min-height: 100vh; padding: 4rem 2rem; }
.slide__title { font-size: 2rem; margin-bottom: 1rem; }
.data-table { width: 100%; border-collapse: collapse; }
.data-table th, .data-table td { padding: 0.75rem 1rem; text-align: left; border-bottom: 1px solid rgba(255,255,255,0.1); }
.verdict { padding: 2px 8px; border-radius: 4px; font-size: 0.85rem; }
.verdict--critical { background: rgba(255,59,48,0.2); color: #ff3b30; }
.verdict--positive { background: rgba(34,197,94,0.2); color: #22c55e; }
.comparison-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
</style>
</head>
<body>
<section class="slide">
<h2 class="slide__title">The Finding</h2>
<table class="data-table">
<tr><td>iOS Reachability</td><td><strong>39.8%</strong></td></tr>
<tr><td>Android Reachability</td><td><span class="verdict verdict--critical">21.9%</span></td></tr>
</table>
</section>
<!-- Add more slides... -->
</body>
</html>
Step 2: PPTX Generation Script
from pptx import Presentation
from pptx.util import Inches, Pt, Emu
def build_data_slide(prs, title, rows):
slide = prs.slides.add_slide(prs.slide_layouts[5])
slide.shapes.title.text = title
table = slide.shapes.add_table(len(rows)+1, 3, ...).table
for i, (label, ios, android) in enumerate(rows):
table.cell(i+1, 0).text = label
table.cell(i+1, 1).text = str(ios)
table.cell(i+1, 2).text = str(android)
return slide
prs = Presentation()
build_data_slide(prs, "Reachability by Platform", [
("Overall", "39.8%", "21.9%"),
("Free Tier", "34.2%", "18.1%"),
])
prs.save("reachability-analysis.pptx")
Step 3: Deploy
npx gh-pages -d site # Or: netlify deploy --prod, vercel --prod
This gives you:
Want me to:
Working code artifacts including HTML presentations, automation scripts, data pipelines, internal tools, and deployment-ready prototypes with minimal documentation.
If requirements are ambiguous, ask clarifying questions before building. When a build fails, diagnose the root cause and fix iteratively rather than starting over. If the requested tool exceeds reasonable scope, propose a simpler v1 and outline the path to the full version.
まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
Abridge連携コードのCIに合成データを使った回帰チェックを加え、同意状態、ノート確認、ログの秘匿、ロールバックなど顧客側の処理を検証します。
Abridgeの録音、記録の確認、Epicへの引き渡し、アクセスの不具合を観測情報から切り分け、患者情報を抑えた証拠と担当窓口への引き継ぎ資料を整理するスキル。
同意確認から録音、生成メモの根拠確認、編集、最終確定まで、臨床文書作成の手順と確認ポイントを整理するスキルです。
Abridgeで臨床家が確認した記録内容が、承認済みの手順でEpicの適切なテンプレート欄へ渡るか、テスト記録を使って対応関係や例外を検証するスキルです。
Abridgeの導入・更新判断に向け、利用定着率や業務の完了状況、診療記録の品質、支援負担を契約に基づく費用情報と照らし、継続や改善の選択肢を整理するスキル。
Abridgeの障害調査で、録音や診療記録を含めず、許可した項目だけを集めたサポート用資料と確認用マニフェストを作成します。