6 6
7> Claude Code çšã®ã³ããŒïŒããŒã¹ãããã³ãããã¿ã¹ã¯ãšåœ¹å²ã§ã¿ã°ä»ããããŠããŸãã7> Claude Code çšã®ã³ããŒïŒããŒã¹ãããã³ãããã¿ã¹ã¯ãšåœ¹å²ã§ã¿ã°ä»ããããŠããŸãã
8 8
9export const PromptLibrary = ({text = {}, labels = {}, tagLabels = {}, phaseLabels = {}, sourceLabels = {}, catLabels = {}}) => {
10 const RAW = useMemo(() => [{
11 id: 'get-oriented-in-a',
12 sdlc: 'discover',
13 cat: 'Onboard',
14 startN: 1,
15 roles: [],
16 prompt: 'give me an overview of this codebase: architecture, key directories, and how the pieces connect',
17 nextHref: '/en/memory',
18 src: 'workflows'
19 }, {
20 id: 'explain-unfamiliar-code',
21 sdlc: 'discover',
22 cat: 'Understand',
23 roles: [],
24 prompt: 'explain what {path} does and how data flows through it. write it up as {format}',
25 slots: {
26 path: 'src/scheduler/queue.ts',
27 format: 'an HTML page with a diagram, then open it in my browser'
28 },
29 nextHref: '/en/output-styles',
30 src: 'workflows'
31 }, {
32 id: 'find-where-something-happens',
33 sdlc: 'discover',
34 cat: 'Understand',
35 startN: 2,
36 roles: [],
37 prompt: 'where do we {behavior}?',
38 slots: {
39 behavior: 'validate uploaded file types'
40 },
41 src: 'workflows'
42 }, {
43 id: 'see-what-depends-on',
44 sdlc: 'discover',
45 cat: 'Understand',
46 roles: [],
47 prompt: 'what would break if I deleted {target}?',
48 slots: {
49 target: 'the retryWithBackoff helper'
50 },
51 src: 'workflows'
52 }, {
53 id: 'trace-how-code-evolved',
54 sdlc: 'discover',
55 cat: 'Understand',
56 roles: [],
57 prompt: 'look through the commit history of {path} and summarize how it evolved and why',
58 slots: {
59 path: 'internal/auth/session.go'
60 },
61 src: 'best-practices'
62 }, {
63 id: 'scope-a-change-before',
64 sdlc: 'discover',
65 cat: 'Understand',
66 roles: ['pm', 'design'],
67 prompt: 'which files would I need to touch to {change}?',
68 slots: {
69 change: 'add a dark mode toggle to settings'
70 },
71 src: 'teams'
72 }, {
73 id: 'ask-the-codebase-a',
74 sdlc: 'discover',
75 cat: 'Understand',
76 roles: ['pm'],
77 prompt: 'I am a {role}. walk me through what happens when a user {action}, from the UI down to the result',
78 slots: {
79 role: 'PM',
80 action: 'clicks Export to PDF'
81 },
82 nextHref: '/en/output-styles',
83 src: 'teams'
84 }, {
85 id: 'plan-a-multi-file',
86 sdlc: 'design',
87 cat: 'Plan',
88 roles: ['pm', 'design'],
89 prompt: 'plan how to refactor the {target} to {goal}. list the files you would change, but don\'t edit anything yet',
90 slots: {
91 target: 'payment module',
92 goal: 'support multiple currencies'
93 },
94 src: 'workflows'
95 }, {
96 id: 'draft-a-spec-by',
97 sdlc: 'design',
98 cat: 'Plan',
99 roles: ['pm'],
100 prompt: 'I want to build {feature}. interview me about implementation, UX, edge cases, and tradeoffs until we have covered everything, then write the spec to SPEC.md',
101 slots: {
102 feature: 'per-workspace rate limits'
103 },
104 nextHref: '/en/skills',
105 src: 'best-practices'
106 }, {
107 id: 'turn-a-meeting-into',
108 sdlc: 'design',
109 cat: 'Plan',
110 roles: ['pm'],
111 prompt: 'read {input} and write up the action items, then create a {tracker} ticket for each with acceptance criteria',
112 slots: {
113 input: '@meeting-notes.md',
114 tracker: 'Linear'
115 },
116 needs: 'tracker',
117 nextHref: '/en/skills',
118 src: 'teams'
119 }, {
120 id: 'map-edge-cases-before',
121 sdlc: 'design',
122 cat: 'Plan',
123 roles: ['design', 'pm'],
124 prompt: 'list the error states, empty states, and edge cases for {feature} that the design needs to cover',
125 slots: {
126 feature: 'the file upload flow'
127 },
128 src: 'teams'
129 }, {
130 id: 'turn-a-mockup-into',
131 sdlc: 'design',
132 cat: 'Prototype',
133 roles: ['design', 'pm', 'marketing'],
134 paste: 'mockup',
135 prompt: 'here is a mockup. build a working prototype I can click through, matching the layout and states shown',
136 src: 'teams'
137 }, {
138 id: 'implement-from-a-screenshot',
139 sdlc: 'design',
140 cat: 'Prototype',
141 roles: ['design'],
142 paste: 'design',
143 needs: 'browser',
144 prompt: 'implement this design, then take a screenshot of the result, compare it to the original, and fix any differences',
145 nextHref: '/en/goal',
146 src: 'best-practices'
147 }, {
148 id: 'follow-an-existing-pattern',
149 sdlc: 'build',
150 cat: 'Implement',
151 roles: [],
152 prompt: 'look at how {example} is implemented to understand the pattern, then build {new} the same way',
153 slots: {
154 example: 'the GitHub webhook handler',
155 new: 'a Stripe webhook handler'
156 },
157 nextHref: '/en/memory',
158 src: 'best-practices'
159 }, {
160 id: 'generate-docs-for-code',
161 sdlc: 'build',
162 cat: 'Implement',
163 roles: ['docs'],
164 prompt: 'find {scope} without {format} comments and add them, matching the style already used in the file',
165 slots: {
166 scope: 'the public functions in src/auth/',
167 format: 'JSDoc'
168 },
169 src: 'workflows'
170 }, {
171 id: 'add-a-small-well',
172 sdlc: 'build',
173 cat: 'Implement',
174 roles: [],
175 prompt: 'add a {endpoint} endpoint that returns {payload}',
176 slots: {
177 endpoint: '/health',
178 payload: 'the app version and uptime'
179 },
180 src: 'workflows'
181 }, {
182 id: 'build-a-small-internal',
183 sdlc: 'build',
184 cat: 'Implement',
185 roles: ['pm', 'design', 'marketing', 'docs'],
186 prompt: 'create a {tool} using HTML, CSS, and vanilla JavaScript, then open it in my browser',
187 slots: {
188 tool: 'drag-and-drop Kanban board with three columns'
189 },
190 src: 'teams'
191 }, {
192 id: 'work-an-issue-end',
193 sdlc: 'build',
194 cat: 'Implement',
195 roles: [],
196 prompt: 'read issue #{issue}, implement the fix, and run the tests',
197 slots: {
198 issue: '312'
199 },
200 needs: 'gh',
201 src: 'workflows'
202 }, {
203 id: 'find-and-update-copy',
204 sdlc: 'build',
205 cat: 'Implement',
206 roles: ['design', 'docs', 'marketing'],
207 prompt: 'find every place we say "{copy}" or a close variant, show me each one in context, then update them all to "{new}". leave tests and the changelog alone',
208 slots: {
209 copy: 'Sign up free',
210 new: 'Start free trial'
211 },
212 src: 'teams'
213 }, {
214 id: 'draft-from-past-examples',
215 sdlc: 'build',
216 cat: 'Implement',
217 roles: ['docs', 'marketing', 'pm'],
218 prompt: 'read the {examples} in {folder} to learn the structure and voice, then draft a new one for {topic}',
219 slots: {
220 examples: 'privacy impact assessments',
221 folder: 'legal/pia/',
222 topic: 'the new analytics integration'
223 },
224 nextHref: '/en/skills',
225 src: 'legal'
226 }, {
227 id: 'write-tests-run-them',
228 sdlc: 'build',
229 cat: 'Test',
230 startN: 4,
231 roles: [],
232 prompt: 'write tests for {path}, run them, and fix any failures',
233 slots: {
234 path: 'app/parsers/feed.py'
235 },
236 nextHref: '/en/memory',
237 src: 'workflows'
238 }, {
239 id: 'drive-implementation-from-tests',
240 sdlc: 'build',
241 cat: 'Test',
242 roles: [],
243 prompt: 'write tests for {feature} first, then implement it until they pass',
244 slots: {
245 feature: 'the password reset flow'
246 },
247 src: 'ebook'
248 }, {
249 id: 'fill-gaps-from-a',
250 sdlc: 'build',
251 cat: 'Test',
252 roles: [],
253 prompt: 'read {report} and add tests for the lowest-covered files until each is above {target}%',
254 slots: {
255 report: 'coverage/coverage-summary.json',
256 target: '80'
257 },
258 nextHref: '/en/goal',
259 src: 'workflows'
260 }, {
261 id: 'migrate-a-pattern-across',
262 sdlc: 'build',
263 cat: 'Refactor',
264 roles: [],
265 prompt: 'migrate everything from {from} to {to}: identify every place that needs to change, then make the changes',
266 slots: {
267 from: 'the old logging API',
268 to: 'the structured logger'
269 },
270 src: 'workflows'
271 }, {
272 id: 'port-code-between-languages',
273 sdlc: 'build',
274 cat: 'Refactor',
275 roles: [],
276 prompt: 'port {source} to {target}, keeping the same {keep}',
277 slots: {
278 source: 'this Python module',
279 target: 'Rust',
280 keep: 'public API and test behavior'
281 },
282 src: 'teams'
283 }, {
284 id: 'optimize-against-a-measurable',
285 sdlc: 'build',
286 cat: 'Refactor',
287 roles: ['data'],
288 prompt: 'optimize {target} to bring {metric} from {current} down to under {goal}',
289 slots: {
290 target: 'the search query',
291 metric: 'p95 latency',
292 current: '2s',
293 goal: '500ms'
294 },
295 nextHref: '/en/goal',
296 src: 'ebook'
297 }, {
298 id: 'fix-a-precise-visual',
299 sdlc: 'build',
300 cat: 'Refactor',
301 roles: ['design'],
302 prompt: 'the {element} extends {amount} beyond the {container} on {viewport}. fix it.',
303 slots: {
304 element: 'login button',
305 amount: '20px',
306 container: 'card border',
307 viewport: 'mobile'
308 },
309 nextHref: '/en/desktop#preview-your-app',
310 src: 'ebook'
311 }, {
312 id: 'review-your-changes-before',
313 sdlc: 'build',
314 cat: 'Review',
315 startN: 5,
316 roles: [],
317 prompt: 'review my uncommitted changes and flag anything that looks risky before I commit',
318 nextHref: '/en/commands',
319 src: 'workflows'
320 }, {
321 id: 'review-a-pull-request',
322 sdlc: 'build',
323 cat: 'Review',
324 roles: [],
325 prompt: 'review PR #{pr} and summarize what changed, then list any concerns',
326 slots: {
327 pr: '247'
328 },
329 needs: 'gh',
330 nextHref: '/en/code-review',
331 src: 'workflows'
332 }, {
333 id: 'review-infrastructure-changes-before',
334 sdlc: 'build',
335 cat: 'Review',
336 roles: ['security', 'ops'],
337 paste: 'plan',
338 prompt: 'here is my Terraform plan output. what is this going to do, and is anything here going to cause problems?',
339 src: 'teams'
340 }, {
341 id: 'run-a-security-review',
342 sdlc: 'build',
343 cat: 'Review',
344 roles: ['security'],
345 prompt: 'use a subagent to review {path} for security issues and report what it finds',
346 slots: {
347 path: 'src/api/'
348 },
349 nextHref: '/en/sub-agents',
350 src: 'best-practices'
351 }, {
352 id: 'review-content-before-sending',
353 sdlc: 'build',
354 cat: 'Review',
355 roles: ['marketing', 'docs'],
356 prompt: 'review {file} for {concerns} and list anything I should fix before it goes to {reviewer}',
357 slots: {
358 file: 'launch-post.md',
359 concerns: 'unsupported claims, missing attributions, and brand-guideline issues',
360 reviewer: 'legal'
361 },
362 nextHref: '/en/skills',
363 src: 'legal'
364 }, {
365 id: 'course-correct-a-wrong',
366 sdlc: 'build',
367 cat: 'Steer',
368 roles: [],
369 prompt: 'that is not right: {feedback}. try a different approach',
370 slots: {
371 feedback: 'the function signature needs to stay backward-compatible'
372 },
373 nextHref: '/en/checkpointing',
374 src: 'best-practices'
375 }, {
376 id: 'narrow-the-scope-of',
377 sdlc: 'build',
378 cat: 'Steer',
379 roles: [],
380 prompt: 'that is too much. keep only the changes to {scope} and undo your other edits',
381 slots: {
382 scope: 'the validation logic in src/forms/'
383 },
384 src: 'best-practices'
385 }, {
386 id: 'turn-a-correction-into',
387 sdlc: 'build',
388 cat: 'Steer',
389 roles: [],
390 prompt: 'you keep {mistake}. add a rule to CLAUDE.md so this stops happening',
391 slots: {
392 mistake: 'using default exports when this project uses named exports'
393 },
394 nextHref: '/en/memory',
395 src: 'best-practices'
396 }, {
397 id: 'resolve-merge-conflicts',
398 sdlc: 'ship',
399 cat: 'Git',
400 roles: [],
401 prompt: 'resolve the merge conflicts in this branch and explain what you kept from each side',
402 src: 'workflows'
403 }, {
404 id: 'commit-with-a-generated',
405 sdlc: 'ship',
406 cat: 'Git',
407 roles: [],
408 prompt: 'commit these changes with a message that summarizes what I did',
409 src: 'workflows'
410 }, {
411 id: 'open-a-pull-request',
412 sdlc: 'ship',
413 cat: 'Git',
414 roles: [],
415 prompt: 'find the {tracker} ticket about {topic} and open a PR that implements it',
416 slots: {
417 tracker: 'Linear',
418 topic: 'the login timeout'
419 },
420 needs: 'tracker',
421 src: 'workflows'
422 }, {
423 id: 'draft-release-notes-from',
424 sdlc: 'ship',
425 cat: 'Release',
426 roles: ['pm', 'docs', 'marketing'],
427 prompt: 'compare {from} to {to} and draft release notes grouped by feature, fix, and breaking change',
428 slots: {
429 from: 'v2.3.0',
430 to: 'v2.4.0'
431 },
432 nextHref: '/en/skills',
433 src: 'workflows'
434 }, {
435 id: 'write-a-ci-workflow',
436 sdlc: 'ship',
437 cat: 'Release',
438 roles: ['ops'],
439 prompt: 'write a GitHub Actions workflow that {steps} on every push to {branch}',
440 slots: {
441 steps: 'runs the tests and deploys to staging',
442 branch: 'main'
443 },
444 src: 'workflows'
445 }, {
446 id: 'find-and-fix-a',
447 sdlc: 'operate',
448 cat: 'Debug',
449 startN: 3,
450 roles: [],
451 prompt: 'the {test} test is failing, find out why and fix it',
452 slots: {
453 test: 'UserAuth'
454 },
455 src: 'workflows'
456 }, {
457 id: 'investigate-a-reported-error',
458 sdlc: 'operate',
459 cat: 'Debug',
460 roles: ['ops'],
461 prompt: 'users are seeing {symptom} on {where}. investigate and tell me what is going on',
462 slots: {
463 symptom: '500 errors',
464 where: '/api/settings'
465 },
466 nextHref: '/en/web-quickstart#pre-fill-sessions',
467 src: 'workflows'
468 }, {
469 id: 'fix-a-build-error',
470 sdlc: 'operate',
471 cat: 'Debug',
472 roles: ['ops'],
473 paste: 'error',
474 prompt: 'here is a build error. fix the root cause and verify the build succeeds',
475 src: 'best-practices'
476 }, {
477 id: 'investigate-a-production-incident',
478 sdlc: 'operate',
479 cat: 'Incident',
480 roles: ['ops', 'security'],
481 prompt: '{symptom}. check the logs, recent deploys, and config changes, then tell me the most likely cause',
482 slots: {
483 symptom: 'the checkout endpoint started returning 500s an hour ago'
484 },
485 nextHref: '/en/mcp',
486 src: 'workflows'
487 }, {
488 id: 'diagnose-from-a-console',
489 sdlc: 'operate',
490 cat: 'Incident',
491 roles: ['ops', 'data'],
492 paste: 'screenshot',
493 prompt: 'here is a screenshot of {console}. walk me through why {resource} is failing and give me the exact commands to fix it',
494 slots: {
495 console: 'the GCP Kubernetes dashboard',
496 resource: 'this pod'
497 },
498 src: 'teams'
499 }, {
500 id: 'query-logs-in-plain',
501 sdlc: 'operate',
502 cat: 'Incident',
503 roles: ['security', 'ops', 'data'],
504 prompt: 'show me all {events} for {scope} over {timeframe}. write the query, run it, and tell me what stands out',
505 slots: {
506 events: 'failed logins',
507 scope: 'the auth service',
508 timeframe: 'the past 24 hours'
509 },
510 needs: 'db',
511 src: 'cybersecurity'
512 }, {
513 id: 'analyze-a-data-file',
514 sdlc: 'operate',
515 cat: 'Data',
516 roles: ['data', 'pm', 'marketing'],
517 paste: 'csv',
518 prompt: 'read {file}, summarize the key patterns, and write the results to {output}',
519 slots: {
520 file: '@reports/q1-signups.csv',
521 output: 'an HTML page with charts, then open it in my browser'
522 },
523 nextHref: '/en/mcp',
524 src: 'teams'
525 }, {
526 id: 'generate-variations-from-performance',
527 sdlc: 'operate',
528 cat: 'Data',
529 roles: ['marketing', 'data'],
530 paste: 'csv',
531 prompt: 'read {file}, find the underperforming {items}, and generate {n} new variations that stay under {limit} characters',
532 slots: {
533 file: '@ads-performance.csv',
534 items: 'headlines',
535 n: '20',
536 limit: '90'
537 },
538 nextHref: '/en/mcp',
539 src: 'teams'
540 }, {
541 id: 'turn-a-recurring-task',
542 sdlc: 'operate',
543 cat: 'Automate',
544 roles: [],
545 prompt: 'create a /{name} skill for this project that {steps}',
546 slots: {
547 name: 'ship',
548 steps: 'runs the linter and tests, then drafts a commit message'
549 },
550 src: 'workflows'
551 }, {
552 id: 'add-a-hook-for',
553 sdlc: 'operate',
554 cat: 'Automate',
555 roles: [],
556 prompt: 'write a hook that {action} after every {event}',
557 slots: {
558 action: 'runs prettier',
559 event: 'edit to a .ts or .tsx file'
560 },
561 src: 'best-practices'
562 }, {
563 id: 'connect-a-tool-with',
564 sdlc: 'operate',
565 cat: 'Automate',
566 roles: [],
567 prompt: 'set up the {server} MCP server so you can read my {data} directly',
568 slots: {
569 server: 'Sentry',
570 data: 'error reports'
571 },
572 src: 'workflows'
573 }, {
574 id: 'capture-what-to-remember',
575 sdlc: 'operate',
576 cat: 'Automate',
577 roles: ['pm', 'docs'],
578 prompt: 'summarize what we did this session and suggest what to add to CLAUDE.md',
579 src: 'teams'
580 }], []);
581 const PROMPTS = useMemo(() => {
582 if (typeof window !== 'undefined') {
583 const rawIds = new Set(RAW.map(p => p.id));
584 RAW.forEach(p => {
585 if (!text[p.id]) console.warn('[prompt-library] no text[] entry for id:', p.id);
586 });
587 Object.keys(text).forEach(k => {
588 if (!rawIds.has(k)) console.warn('[prompt-library] orphaned text[] key:', k);
589 });
590 }
591 return RAW.map(p => ({
592 ...p,
593 title: p.id,
594 teaches: '',
595 ...text[p.id] || ({})
596 }));
597 }, [RAW, text]);
598 const L = labels;
599 const TL = k => tagLabels[k] || k;
600 const CAT_TAG = useMemo(() => ({
601 Onboard: 'understand',
602 Understand: 'understand',
603 Plan: 'plan',
604 Prototype: 'prototype',
605 Implement: 'build',
606 Test: 'test',
607 Refactor: 'refactor',
608 Review: 'review',
609 Steer: 'steer',
610 Git: 'git',
611 Release: 'release',
612 Debug: 'debug',
613 Incident: 'debug',
614 Data: 'data',
615 Automate: 'automate'
616 }), []);
617 const TAGS = useMemo(() => ['understand', 'plan', 'prototype', 'build', 'test', 'refactor', 'review', 'steer', 'debug', 'git', 'release', 'data', 'automate', 'pm', 'design', 'docs', 'marketing', 'security', 'ops'], []);
618 const tagsOf = p => [CAT_TAG[p.cat], ...p.roles || []];
619 const doc = useMemo(() => {
620 const p = typeof window !== 'undefined' ? window.location.pathname : '';
621 const base = p.startsWith('/docs/') ? '/docs' : '';
622 const m = p.slice(base.length).match(/^\/([a-z]{2}(?:-[A-Z]{2})?)\//);
623 const locale = m ? m[1] : 'en';
624 return href => {
625 if (!href || href[0] !== '/' || href[1] === '/') return href;
626 return base + (href.startsWith('/en/') ? '/' + locale + href.slice(3) : href);
627 };
628 }, []);
629 const linkify = s => {
630 const out = [];
631 let last = 0;
632 const re = /\[([^\]]+)\]\(([^)]+)\)/g;
633 for (let m; m = re.exec(s); ) {
634 if (m.index > last) out.push(s.slice(last, m.index));
635 out.push(<a key={m.index} href={doc(m[2])}>{m[1]}</a>);
636 last = re.lastIndex;
637 }
638 if (last < s.length) out.push(s.slice(last));
639 return out;
640 };
641 const codeify = s => s.split(/(`[^`]+`)/g).map((part, i) => part[0] === '`' ? <code key={i}>{part.slice(1, -1)}</code> : part);
642 const SOURCES = useMemo(() => ({
643 'workflows': '/en/common-workflows',
644 'teams': 'https://claude.com/blog/how-anthropic-teams-use-claude-code',
645 'legal': 'https://claude.com/blog/how-anthropic-uses-claude-legal',
646 'cybersecurity': 'https://claude.com/blog/how-anthropic-uses-claude-cybersecurity',
647 'best-practices': '/en/best-practices',
648 'ebook': 'https://resources.anthropic.com/hubfs/Scaling%20agentic%20coding%20across%20your%20organization.pdf'
649 }), []);
650 const [mounted, setMounted] = useState(false);
651 const [q, setQ] = useState('');
652 const [start, setStart] = useState(true);
653 const [sel, setSel] = useState(null);
654 const [openId, setOpenId] = useState(null);
655 const [copied, setCopied] = useState(null);
656 const [fills, setFills] = useState({});
657 const copyTimer = useRef(null);
658 useEffect(() => {
659 setMounted(true);
660 return () => clearTimeout(copyTimer.current);
661 }, []);
662 const setFill = (id, key, val) => setFills(f => ({
663 ...f,
664 [id + '.' + key]: val
665 }));
666 const fillOf = (p, key) => {
667 const v = fills[p.id + '.' + key];
668 return v !== undefined ? v : p.slots && p.slots[key] !== undefined ? p.slots[key] : '';
669 };
670 const assemble = p => p.prompt.replace(/\{(\w+)\}/g, (_, k) => fillOf(p, k) || p.slots && p.slots[k] || k);
671 const preview = p => p.prompt.replace(/\{(\w+)\}/g, (_, k) => p.slots && p.slots[k] || k);
672 const bodyText = p => preview(p) + ' ' + p.teaches.replace(/\[([^\]]+)\]\([^)]+\)/g, '$1') + ' ' + (p.next || '');
673 const widthFor = s => (s || '').length + 3 + 'ch';
674 const ql = q.trim().toLowerCase();
675 const toggleTag = k => {
676 setStart(false);
677 setSel(s => !ql && s === k ? null : k);
678 };
679 const clear = () => {
680 setStart(false);
681 setSel(null);
682 setQ('');
683 };
684 const results = useMemo(() => {
685 const list = PROMPTS.filter(p => {
686 if (ql) return p.title.toLowerCase().includes(ql) || bodyText(p).toLowerCase().includes(ql);
687 if (start) return !!p.startN;
688 if (sel) return tagsOf(p).includes(sel);
689 return true;
690 });
691 if (ql) return list;
692 if (start) return list.sort((a, b) => a.startN - b.startN);
693 if (sel) return list.sort((a, b) => (a.roles || []).length - (b.roles || []).length || (b.sdlc === 'operate') - (a.sdlc === 'operate'));
694 return list;
695 }, [PROMPTS, ql, start, sel]);
696 const matchSnippet = p => {
697 if (!ql || p.title.toLowerCase().includes(ql)) return null;
698 const txt = bodyText(p);
699 const at = txt.toLowerCase().indexOf(ql);
700 if (at < 0) return null;
701 const lo = Math.max(0, at - 30), hi = Math.min(txt.length, at + ql.length + 50);
702 return [lo > 0 ? 'âŠ' : '', txt.slice(lo, at), <mark key="m">{txt.slice(at, at + ql.length)}</mark>, txt.slice(at + ql.length, hi), hi < txt.length ? 'âŠ' : ''];
703 };
704 const grouped = useMemo(() => {
705 if (start && !q.trim()) return [];
706 const g = {};
707 for (const p of results) {
708 const key = p.sdlc + '|' + p.cat;
709 (g[key] = g[key] || ({
710 sdlc: p.sdlc,
711 cat: p.cat,
712 items: []
713 })).items.push(p);
714 }
715 return Object.values(g);
716 }, [results, start, q]);
717 const copy = async (str, id) => {
718 try {
719 await navigator.clipboard.writeText(str);
720 } catch {
721 const ta = document.createElement('textarea');
722 ta.value = str;
723 ta.setAttribute('readonly', '');
724 ta.style.position = 'fixed';
725 ta.style.opacity = '0';
726 document.body.appendChild(ta);
727 ta.select();
728 document.execCommand('copy');
729 document.body.removeChild(ta);
730 }
731 clearTimeout(copyTimer.current);
732 setCopied(id);
733 copyTimer.current = setTimeout(() => setCopied(null), 1600);
734 };
735 const promptBody = p => {
736 if (!p.slots) return <code>{p.prompt}</code>;
737 const parts = p.prompt.split(/(\{\w+\})/g);
738 return <code>
739 {parts.map((part, idx) => {
740 const m = part.match(/^\{(\w+)\}$/);
741 if (!m) return <span key={idx}>{part}</span>;
742 const k = m[1];
743 const val = fillOf(p, k);
744 return <input key={idx} type="text" className="pl-slot" value={val} placeholder={p.slots[k] || k} aria-label={k} style={{
745 width: widthFor(val || p.slots[k])
746 }} onChange={e => setFill(p.id, k, e.target.value)} onFocus={e => e.target.select()} onClick={e => e.stopPropagation()} />;
747 })}
748 </code>;
749 };
750 const card = p => {
751 const open = openId === p.id;
752 const srcHref = SOURCES[p.src];
753 const srcLabel = sourceLabels[p.src];
754 const snip = matchSnippet(p);
755 return <div key={p.id} className={'pl-card' + (open ? ' pl-open' : '')}>
756 <button type="button" className="pl-head" onClick={() => setOpenId(open ? null : p.id)} aria-expanded={open}>
757 <span className="pl-title">{p.title}</span>
758 {!!p.startN && <span className="pl-chip">{L.startHere} · {p.startN}</span>}
759 </button>
760 {snip ? <div className="pl-match">{snip}</div> : <code className="pl-prompt-preview">{preview(p)}</code>}
761 {open && <div className="pl-body">
762 <div className="pl-label">{p.slots ? L.fillAndCopy : L.copyThis}</div>
763 {p.needs && L.needs && L.needs[p.needs] && <div className="pl-hint pl-needs">
764 <span className="pl-needs-label">{L.needsLabel}</span> {linkify(L.needs[p.needs])}
765 </div>}
766 {p.paste && L.paste && L.paste[p.paste] && <div className="pl-hint pl-paste">{L.paste[p.paste]}</div>}
767 {p.slots && <div className="pl-hint">
768 {L.hintBefore} <span className="pl-hint-chip">{L.hintChip}</span> {L.hintAfter}
769 </div>}
770 <div className="pl-prompt-box">
771 <span className="pl-caret">{'â¯'}</span>
772 {promptBody(p)}
773 <button type="button" className="pl-copy" onClick={() => copy(assemble(p), p.id)}>
774 {copied === p.id ? L.copied : L.copy}
775 </button>
776 </div>
777 <div className="pl-label">{L.whyWorks}</div>
778 <div className="pl-teaches">{linkify(p.teaches)}</div>
779 {p.nextHref && p.next && <div className="pl-next">
780 <span className="pl-next-label">{L.makeItStick}</span>
781 <a href={doc(p.nextHref)}>{codeify(p.next)} â</a>
782 </div>}
783 {srcLabel && <div className="pl-src">{L.from} {srcHref ? <a href={doc(srcHref)}>{srcLabel}</a> : srcLabel}</div>}
784 </div>}
785 </div>;
786 };
787 const STYLES = useMemo(() => `
788.pl {
789 --pl-accent: #D97757;
790 --pl-accent-bg: rgba(217,119,87,0.07);
791 --pl-bg: #fff;
792 --pl-surface: #FAFAF7;
793 --pl-border: #E8E6DC;
794 --pl-border-subtle: rgba(31,30,29,0.08);
795 --pl-text: #141413;
796 --pl-text-2: #5E5D59;
797 --pl-text-3: #73726C;
798 --pl-text-4: #9C9A92;
799 --pl-mono: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
800 font-family: 'Anthropic Sans', -apple-system, BlinkMacSystemFont, sans-serif;
801 font-size: 16px; color: var(--pl-text); margin: 8px 0 32px;
802}
803.dark .pl {
804 --pl-bg: #1f1e1d;
805 --pl-surface: #262624;
806 --pl-border: #3d3d3a;
807 --pl-border-subtle: rgba(240,238,230,0.08);
808 --pl-text: #f0eee6;
809 --pl-text-2: #bfbdb4;
810 --pl-text-3: #91908a;
811 --pl-text-4: #73726c;
812}
813.pl *, .pl *::before, .pl *::after { box-sizing: border-box; }
814.pl button { font-family: inherit; cursor: pointer; }
815.pl a { color: var(--pl-accent); text-decoration: none; }
816.pl a:hover { text-decoration: underline; }
817
818.pl-search {
819 display: flex; align-items: center; gap: 10px;
820 padding: 14px 18px; background: var(--pl-surface);
821 border: 1px solid var(--pl-border); border-radius: 12px;
822 margin-bottom: 14px;
823}
824.pl-search input {
825 flex: 1; border: none; outline: none; background: transparent;
826 font-size: 16px; color: var(--pl-text);
827}
828.pl-search input::placeholder { color: var(--pl-text-4); }
829
830.pl-tags { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: 18px; }
831.pl-tag {
832 padding: 7px 14px; border: 1px solid var(--pl-border); background: var(--pl-bg);
833 font-size: 14px; color: var(--pl-text-2); border-radius: 999px;
834}
835.pl-tag:hover { background: var(--pl-surface); }
836.pl-tag.pl-on { background: var(--pl-text); border-color: var(--pl-text); color: var(--pl-bg); }
837.pl-tag.pl-start { color: var(--pl-accent); font-weight: 500; }
838.pl-tag.pl-start.pl-on { background: var(--pl-accent); border-color: var(--pl-accent); color: #fff; }
839.pl-tags.pl-dim .pl-tag { opacity: 0.5; }
840.pl-tags.pl-dim .pl-tag:hover { opacity: 1; }
841.pl-sep { width: 1px; height: 22px; background: var(--pl-border); margin: 0 4px; }
842.pl-clear { border: none; background: none; font-size: 13px; color: var(--pl-text-4); padding: 4px 6px; }
843.pl-clear:hover { color: var(--pl-text-2); }
844.pl-count { margin-left: auto; font-size: 14px; color: var(--pl-text-4); }
845
846.pl-group-h {
847 font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase;
848 color: var(--pl-text-4); margin: 24px 0 12px;
849}
850.pl-group-h .pl-phase { color: var(--pl-text-3); }
851.pl-card {
852 border: 1px solid var(--pl-border-subtle); border-radius: 10px;
853 margin-bottom: 12px; background: var(--pl-bg); overflow: hidden;
854 padding: 14px 18px;
855}
856.pl-card.pl-open { border-color: var(--pl-border); background: var(--pl-surface); }
857.pl-head {
858 width: 100%; display: flex; align-items: baseline; gap: 12px;
859 border: none; background: transparent; text-align: left; padding: 0;
860}
861.pl-head:focus-visible { outline: 2px solid var(--pl-accent); outline-offset: 2px; border-radius: 6px; }
862.pl-title {
863 flex: 1; font-size: 17px; font-weight: 500; color: var(--pl-text);
864 white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
865}
866.pl-prompt-preview {
867 display: block; font-family: var(--pl-mono); font-size: 13.5px; color: var(--pl-text-3);
868 margin-top: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
869}
870.pl-chip {
871 font-size: 11px; letter-spacing: 0.05em; text-transform: uppercase;
872 padding: 3px 9px; border-radius: 999px; flex-shrink: 0;
873 background: var(--pl-accent-bg); color: var(--pl-accent);
874}
875
876.pl-body { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--pl-border-subtle); }
877.pl-label {
878 font-size: 11.5px; letter-spacing: 0.08em; text-transform: uppercase;
879 color: var(--pl-text-4); margin: 12px 0 8px;
880}
881.pl-prompt-box {
882 display: flex; align-items: center; gap: 10px;
883 padding: 14px 16px; background: #141413; color: #f0eee6;
884 border-radius: 8px; font-family: var(--pl-mono); font-size: 15px;
885}
886.pl-caret { color: var(--pl-accent); flex-shrink: 0; }
887.pl-prompt-box code { flex: 1; background: none; padding: 0; color: inherit; white-space: pre-wrap; line-height: 1.9; }
888.pl-slot {
889 font-family: var(--pl-mono); font-size: inherit;
890 background: rgba(217,119,87,0.15); color: #f0eee6;
891 border: none; border-bottom: 1.5px dashed var(--pl-accent);
892 border-radius: 4px 4px 0 0; padding: 2px 6px; margin: 0 1px;
893 outline: none; min-width: 6ch; max-width: 100%;
894 box-sizing: content-box; cursor: text;
895}
896.pl-slot:hover { background: rgba(217,119,87,0.22); }
897.pl-slot:focus { background: rgba(217,119,87,0.28); border-bottom-style: solid; }
898.pl-slot::placeholder { color: rgba(240,238,230,0.4); font-style: italic; }
899.pl-hint { font-size: 14px; color: var(--pl-text-3); margin: 0 0 10px; }
900.pl-paste { color: var(--pl-text-2); }
901.pl-needs { color: var(--pl-text-2); }
902.pl-needs-label {
903 display: inline-block; font-size: 10.5px; letter-spacing: 0.06em;
904 text-transform: uppercase; padding: 2px 7px; margin-right: 6px;
905 border-radius: 4px; background: var(--pl-accent-bg); color: var(--pl-accent);
906}
907.pl-hint-chip {
908 font-family: var(--pl-mono); font-size: 0.92em;
909 background: var(--pl-accent-bg); color: var(--pl-accent);
910 border-bottom: 1.5px dashed var(--pl-accent);
911 border-radius: 3px 3px 0 0; padding: 1px 5px;
912}
913.pl-copy {
914 font-size: 12.5px; padding: 6px 12px; border-radius: 6px;
915 background: var(--pl-accent); color: #fff; border: none; flex-shrink: 0;
916}
917.pl-teaches { display: block; font-size: 15.5px; color: var(--pl-text-2); margin: 4px 0 0; line-height: 1.6; }
918.pl-match {
919 display: block; font-size: 13.5px; color: var(--pl-text-3);
920 margin-top: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
921}
922.pl-match mark { background: var(--pl-accent-bg); color: var(--pl-text); padding: 1px 2px; border-radius: 3px; }
923.pl-next {
924 display: flex; align-items: baseline; gap: 10px;
925 margin: 14px 0 0; padding: 10px 12px;
926 background: var(--pl-accent-bg); border-radius: 8px; font-size: 14.5px;
927}
928.pl-next-label {
929 font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase;
930 color: var(--pl-accent); font-weight: 600; flex-shrink: 0;
931}
932.pl-src { display: block; font-size: 14px; color: var(--pl-text-4); margin: 14px 0 0; }
933
934.pl-show-all {
935 display: block; width: 100%; padding: 14px; margin-top: 4px;
936 border: 1px dashed var(--pl-border); border-radius: 10px;
937 background: transparent; font-size: 15px; color: var(--pl-accent);
938 text-align: center;
939}
940.pl-show-all:hover { background: var(--pl-accent-bg); border-style: solid; }
941
942.pl-empty {
943 padding: 32px; text-align: center; color: var(--pl-text-4);
944 border: 1px dashed var(--pl-border); border-radius: 10px;
945}
946`, []);
947 if (!mounted) return <div className="pl" style={{
948 minHeight: 480
949 }} />;
950 return <div className="pl">
951 <style>{STYLES}</style>
952
953 <div className="pl-search">
954 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" style={{
955 color: 'var(--pl-text-4)'
956 }}>
957 <circle cx="11" cy="11" r="7" /><line x1="21" y1="21" x2="16.65" y2="16.65" />
958 </svg>
959 <input type="text" placeholder={L.search} value={q} onChange={e => {
960 setQ(e.target.value);
961 if (e.target.value) setStart(false);
962 }} aria-label={L.search} />
963 </div>
964
965 <div className={'pl-tags' + (ql ? ' pl-dim' : '')}>
966 <button type="button" className={'pl-tag pl-start' + (!ql && start ? ' pl-on' : '')} onClick={() => {
967 setQ('');
968 setStart(!start);
969 if (!start) setSel(null);
970 }}>
971 â
{L.startHere}
972 </button>
973 <span className="pl-sep" />
974 {TAGS.map(k => <button key={k} type="button" aria-pressed={!ql && sel === k} className={'pl-tag' + (!ql && sel === k ? ' pl-on' : '')} onClick={() => {
975 setQ('');
976 toggleTag(k);
977 }}>
978 {TL(k)}
979 </button>)}
980 {(start || sel || q) && <button type="button" className="pl-clear" onClick={clear}>{L.clear}</button>}
981 <span className="pl-count">{results.length} {results.length === 1 ? L.prompt : L.prompts}</span>
982 </div>
983
984 {results.length === 0 ? <div className="pl-empty">
985 {L.noMatch} {ql ? <code>{q}</code> : null} <button type="button" className="pl-clear" onClick={clear}>{L.clear}</button>
986 </div> : !ql && start ? <div>
987 <div className="pl-group-h">{L.startHereHeader}</div>
988 {results.map(card)}
989 <button type="button" className="pl-show-all" onClick={clear}>
990 {L.showAll && L.showAll.replace('{n}', PROMPTS.length)} â
991 </button>
992 </div> : grouped.map(g => <div key={g.sdlc + '|' + g.cat}>
993 <div className="pl-group-h"><span className="pl-phase">{phaseLabels[g.sdlc] || g.sdlc}</span> · {catLabels[g.cat] || g.cat}</div>
994 {g.items.map(card)}
995 </div>)}
996 </div>;
997};
998
9ãã㯠Claude Code ã«ã³ããŒããŠäœ¿çšããããã³ããã®ã©ã€ãã©ãªã§ãã詊ããããšã®ãªãäœæ¥æ¹æ³ãæ¢çŽ¢ããããã©ãããå§ããããããããããªãå Žåã«äœ¿çšããŠãã ããã999ãã㯠Claude Code ã«ã³ããŒããŠäœ¿çšããããã³ããã®ã©ã€ãã©ãªã§ãã詊ããããšã®ãªãäœæ¥æ¹æ³ãæ¢çŽ¢ããããã©ãããå§ããããããããããªãå Žåã«äœ¿çšããŠãã ããã
10 1000
11ããã³ããã¯ã[äžè¬çãªã¯ãŒã¯ãããŒ](/ja/common-workflows)ã[ãã¹ããã©ã¯ãã£ã¹](/ja/best-practices)ã[Anthropic ããŒã ã Claude Code ãã©ã®ããã«äœ¿çšããŠããã](https://claude.com/blog/how-anthropic-teams-use-claude-code)ãªã©ãæ§ã
㪠Anthropic ã¬ã€ãããåéãããŠããŸãããããã¯ã¹ã¯ãªããã§ã¯ãªããåºçºç¹ã§ããä»»æã®ããã³ããã®äžã«ãã **ãã®ããã³ãããæ©èœããçç±** ãéããšããã®èåŸã«ãããã¿ãŒã³ã確èªã§ãããããç¬èªã®ããã³ãããäœæã§ããŸãã1001ããã³ããã¯ã[äžè¬çãªã¯ãŒã¯ãããŒ](/ja/common-workflows)ã[ãã¹ããã©ã¯ãã£ã¹](/ja/best-practices)ã[Anthropic ããŒã ã Claude Code ãã©ã®ããã«äœ¿çšããŠããã](https://claude.com/blog/how-anthropic-teams-use-claude-code)ãªã©ãæ§ã
㪠Anthropic ã¬ã€ãããåéãããŠããŸãããããã¯ã¹ã¯ãªããã§ã¯ãªããåºçºç¹ã§ããä»»æã®ããã³ããã®äžã«ãã **ãã®ããã³ãããæ©èœããçç±** ãéããšããã®èåŸã«ãããã¿ãŒã³ã確èªã§ãããããç¬èªã®ããã³ãããäœæã§ããŸãã
12 1002
1003export const labels = {
1004 startHere: "ããããå§ãã",
1005 startHereHeader: "æåã«è©Šãã¹ã 5 ã€ã®ããã³ãã",
1006 showAll: "{n} åã®ããã³ããããã¹ãŠè¡šç€º",
1007 search: "ããã³ãããæ€çŽ¢âŠ",
1008 clear: "ã¯ãªã¢",
1009 prompt: "ããã³ãã",
1010 prompts: "ããã³ãã",
1011 noMatch: "äžèŽããããã³ããããããŸãã",
1012 fillAndCopy: "å
¥åããŠã³ããŒ",
1013 copyThis: "ãã®ããã³ãããã³ããŒ",
1014 hintBefore: "次ã®",
1015 hintChip: "ãã€ã©ã€ã",
1016 hintAfter: "ãã£ãŒã«ãã«å
¥åããŠããã³ããŒããŠãã ããã",
1017 copy: "ã³ããŒ",
1018 copied: "ã³ããŒããŸãã",
1019 whyWorks: "ãã®ããã³ãããæ©èœããçç±",
1020 makeItStick: "èšæ¶ã«æ®ã",
1021 from: "åºå
ž",
1022 paste: {
1023 mockup: "ã¢ãã¯ã¢ããç»åãããŒã¹ãããã©ãã°ããŸã㯠@-mention ããŠããã以äžãéä¿¡ããŠãã ãã:",
1024 design: "ãã¶ã€ã³ç»åãããŒã¹ãããã©ãã°ããŸã㯠@-mention ããŠããã以äžãéä¿¡ããŠãã ãã:",
1025 screenshot: "ã¹ã¯ãªãŒã³ã·ã§ãããããŒã¹ãããã©ãã°ããŸã㯠@-mention ããŠããã以äžãéä¿¡ããŠãã ãã:",
1026 plan: "ãã©ã³åºåãããã³ããã«æåã«ããŒã¹ãããŠããã以äžãéä¿¡ããŠãã ãã:",
1027 error: "ãšã©ãŒåºåãããã³ããã«æåã«ããŒã¹ãããŠããã以äžãéä¿¡ããŠãã ãã:",
1028 csv: "ãã¡ã€ã«ãããã³ããã«ãã©ãã°ãããã以äžã®ãã¹ãç¬èªã® @-mention ã«çœ®ãæããŠãã ãã:"
1029 },
1030 needsLabel: "å¿
èŠãªãã®",
1031 needs: {
1032 tracker: "[claude.ai ã³ãã¯ã¿](/ja/mcp#use-mcp-servers-from-claude-ai)ãŸã㯠[MCP ãµãŒããŒ](/ja/mcp)ãšããŠè¿œå ãããã€ã·ã¥ãŒãã©ãã«ãŒã",
1033 gh: "[gh CLI](https://cli.github.com) ãèªèšŒãããŠããããGitHub ã [claude.ai ã³ãã¯ã¿](/ja/mcp#use-mcp-servers-from-claude-ai)ãšããŠè¿œå ãããŠããããšã",
1034 browser: "Claude ãçµæãã¬ã³ããªã³ã°ããŠã¹ã¯ãªãŒã³ã·ã§ãããæ®ãæ¹æ³ã[ãã¹ã¯ãããã¢ããª](/ja/desktop#preview-your-app)ã«ã¯ãããçµã¿èŸŒãŸããŠããŸããã¿ãŒããã«ã§ã¯ã[Chrome æ¡åŒµæ©èœ](/ja/chrome)ãŸã㯠Playwright [MCP](/ja/mcp) ãµãŒããŒãã€ã³ã¹ããŒã«ããŠãã ããã",
1035 db: "[claude.ai ã³ãã¯ã¿](/ja/mcp#use-mcp-servers-from-claude-ai)ãŸã㯠[MCP ãµãŒããŒ](/ja/mcp)ãšããŠè¿œå ãããããŒã¿ãŠã§ã¢ããŠã¹ãŸãã¯ãã°ã¹ãã¢ã"
1036 }
1037};
1038
1039export const tagLabels = {
1040 understand: "çè§£",
1041 plan: "èšç»",
1042 prototype: "ãããã¿ã€ã",
1043 build: "æ§ç¯",
1044 test: "ãã¹ã",
1045 refactor: "ãªãã¡ã¯ã¿ãªã³ã°",
1046 review: "ã¬ãã¥ãŒ",
1047 steer: "æèµ",
1048 debug: "ãããã°",
1049 git: "Git",
1050 release: "ãªãªãŒã¹",
1051 data: "ããŒã¿",
1052 automate: "èªåå",
1053 pm: "ãããã¯ã",
1054 design: "ãã¶ã€ã³",
1055 docs: "ããã¥ã¡ã³ã",
1056 marketing: "ããŒã±ãã£ã³ã°",
1057 security: "ã»ãã¥ãªãã£",
1058 ops: "ãªã³ã³ãŒã«"
1059};
1060
1061export const phaseLabels = {
1062 discover: "çºèŠ",
1063 design: "èšèš",
1064 build: "æ§ç¯",
1065 ship: "ãªãªãŒã¹",
1066 operate: "éçš"
1067};
1068
1069export const sourceLabels = {
1070 workflows: "äžè¬çãªã¯ãŒã¯ãããŒ",
1071 teams: "Anthropic ããŒã ã Claude Code ãã©ã®ããã«äœ¿çšããŠããã",
1072 legal: "Anthropic ãæ³åã§ Claude ãã©ã®ããã«äœ¿çšããŠããã",
1073 cybersecurity: "Anthropic ããµã€ããŒã»ãã¥ãªãã£ã§ Claude ãã©ã®ããã«äœ¿çšããŠããã",
1074 "best-practices": "ãã¹ããã©ã¯ãã£ã¹",
1075 ebook: "agentic coding ã¹ã±ãŒãªã³ã°ã¬ã€ã"
1076};
1077
1078export const catLabels = {
1079 Onboard: "ãªã³ããŒã",
1080 Understand: "çè§£",
1081 Plan: "èšç»",
1082 Prototype: "ãããã¿ã€ã",
1083 Implement: "å®è£
",
1084 Test: "ãã¹ã",
1085 Refactor: "ãªãã¡ã¯ã¿ãªã³ã°",
1086 Review: "ã¬ãã¥ãŒ",
1087 Steer: "æèµ",
1088 Git: "Git",
1089 Release: "ãªãªãŒã¹",
1090 Debug: "ãããã°",
1091 Incident: "ã€ã³ã·ãã³ã",
1092 Data: "ããŒã¿",
1093 Automate: "èªåå"
1094};
1095
1096export const text = {
1097 "get-oriented-in-a": {
1098 title: "æ°ãããªããžããªã§æ¹åæ§ã確èªãã",
1099 teaches: "èªãã¹ããã¡ã€ã«ã§ã¯ãªããç¥ãããããšã説æããŠãã ãããClaude ã¯ãããžã§ã¯ããç¬èªã«æ¢çŽ¢ãããããã©ã®ããã«çµã¿åããã£ãŠãããã®æŠèŠãè¿ããŸãã",
1100 next: "`/init` ãå®è¡ã㊠`CLAUDE.md` ãã»ããã¢ããããClaude ããããæ¯åã®ã»ãã·ã§ã³ã§èŠããããã«ããŠãã ãã"
1101 },
1102 "explain-unfamiliar-code": {
1103 title: "ãªãã¿ã®ãªãã³ãŒãã説æãã",
1104 teaches: "ãã¡ã€ã«åãæå®ããçããŠã»ãã圢åŒãèšã£ãŠãã ãããHTML ããŒãžãå³ãç®æ¡æžãããŸãã¯åŠç¿æ¹æ³ã«åã£ããã®ã«çœ®ãæããŠãã ããã",
1105 next: "åºåã¹ã¿ã€ã«ãèšå®ããŠãClaude ãåžžã«å¥œã¿ã®åœ¢åŒã§èª¬æããããã«ããŠãã ãã"
1106 },
1107 "find-where-something-happens": {
1108 title: "äœããèµ·ããå ŽæãèŠã€ãã",
1109 teaches: "ãã¡ã€ã«åã§ã¯ãªãåäœã§æ€çŽ¢ããŠãã ããããã¡ã€ã«ã®ååããã£ã¬ã¯ããªã®å Žæãããããªãå Žåã§ããæ€çŽ¢ã¯æ©èœããŸãã"
1110 },
1111 "see-what-depends-on": {
1112 title: "åé€ããåã«äœãå£ãããã確èªãã",
1113 teaches: "äœããåé€ããåã«å°ããŠãã ãããåŒã³åºãå
ãšäžæµãžã®åœ±é¿ã®ãªã¹ãã¯ã1 è¡ã®ã¯ãªãŒã³ã¢ãããèŠãŠããã®ãã調æŽãå¿
èŠãªå€æŽãèŠãŠããã®ãã瀺ããŸãã"
1114 },
1115 "trace-how-code-evolved": {
1116 title: "ã³ãŒããã©ã®ããã«é²åãããã远跡ãã",
1117 teaches: "質åããäœãã§ã¯ãªãããªããã®å Žåã¯ãã³ãããå±¥æŽãæããŠãã ãããClaude ã¯ã©ã®ããŒãžã§ã³ç®¡çã䜿çšããŠããŠãããã°ãš blame ãèªã¿ãçŸåšã®å®è£
ã®èåŸã«ããæ±ºå®ã説æããŸãã"
1118 },
1119 "scope-a-change-before": {
1120 title: "éå§ããåã«å€æŽã®ç¯å²ã決å®ãã",
1121 teaches: "ããŒããããã«ã³ãããããåã«äœæ¥ããµã€ãºåããŠãã ããããã¡ã€ã«ãªã¹ãã¯ã1 ã€ã®ã³ã³ããŒãã³ããèŠãŠããã®ããã¯ãã¹ã«ããã£ã³ã°å€æŽãèŠãŠããã®ãã瀺ããŸãã"
1122 },
1123 "ask-the-codebase-a": {
1124 title: "ã³ãŒãããŒã¹ã«ãããã¯ã質åããã",
1125 teaches: "圹å²ãè¿°ã¹ãŠãçããé©åãªã¬ãã«ã§æäŸãããããã«ããŠãã ãããClaude ã¯ãœãŒã¹ã³ãŒãããå®éã«äœããããã説æããèªãå¿
èŠã¯ãããŸããã",
1126 next: "åºåã¹ã¿ã€ã«ãèšå®ããŠãClaude ãåžžã«ãã®ã¬ãã«ã§çããæäŸããããã«ããŠãã ãã"
1127 },
1128 "plan-a-multi-file": {
1129 title: "ã³ãŒãã«è§Šããåã«è€æ°ãã¡ã€ã«ã®å€æŽãèšç»ãã",
1130 teaches: "ããŸã ç·šéããªãã§ãã ãããã远å ãããšãæ¢çŽ¢ãšå€æŽãåé¢ããããããã³ãŒããç§»åããåã«ã¢ãããŒãã衚瀺ãããŸãããã¹ãŠã®ããã³ããã§ãã©ã³åªå
ãããã©ã«ãã«ããã«ã¯ãShift+Tab ãæŒã㊠[ãã©ã³ã¢ãŒã](/ja/permission-modes#analyze-before-you-edit-with-plan-mode)ã䜿çšããŠãã ããã"
1131 },
1132 "draft-a-spec-by": {
1133 title: "ã€ã³ã¿ãã¥ãŒã§ã¹ããã¯ãäœæãã",
1134 teaches: "ã¹ããã¯ãèªåã§æžã代ããã«ãã€ã³ã¿ãã¥ãŒãåããããäŸé ŒããŠãã ãããClaude ã¯èŠä»¶ãå®å
šã«ãªããŸã§æ§é åããã質åããããã®åŸãçµæããã¡ã€ã«ã«æžã蟌ã¿ãŸãã",
1135 next: "ã€ã³ã¿ãã¥ãŒè³ªåã `/spec` ã¹ãã«ãšããŠä¿åããŠããã¹ãŠã®ã¹ããã¯ãåãæ¹æ³ã§éå§ãããããã«ããŠãã ãã"
1136 },
1137 "turn-a-meeting-into": {
1138 title: "ããŒãã£ã³ã°ããã±ããã«å€æãã",
1139 teaches: "ãã©ã³ã¹ã¯ãªãã·ã§ã³ã¹ããããã¹ãããããŠãã ãããClaude ã¯éæ§é åå
¥åããã¢ã¯ã·ã§ã³é
ç®ãæœåºãã[MCP](/ja/mcp)çµç±ã§ãã©ãã«ãŒã«çŽæ¥æžã蟌ãããããã©ã³ã¹ã¯ãªããã§ã¯ãªããã±ãããã¬ãã¥ãŒããŸãã",
1140 next: "ããã `/tickets` ã¹ãã«ãšããŠä¿åããŠãã ãã"
1141 },
1142 "map-edge-cases-before": {
1143 title: "æ§ç¯ããåã«ãšããžã±ãŒã¹ãããããã",
1144 teaches: "ããã«ãããã®ã§ã¯ãªããæ¬ ããŠãããã®ãå°ããŠãã ãããClaude ã¯ãšã©ãŒç¶æ
ã空ã®ç¶æ
ãããããŒãã¹èšèšãåŸåãšããŠã¹ããããããšããžã±ãŒã¹ããªã¹ãã¢ããããŸãã"
1145 },
1146 "turn-a-mockup-into": {
1147 title: "ã¢ãã¯ã¢ãããåäœãããããã¿ã€ãã«å€æãã",
1148 teaches: "ã¯ãªãã¯å¯èœãªãããã¿ã€ãã¯ãéçã¢ãã¯ã¢ãããçããããªã質åã«çããŸããããã¥ã¡ã³ãã§çžäºäœçšã説æãã代ããã«ãåäœããã³ãŒãããšã³ãžãã¢ãªã³ã°ã«æž¡ããŠãã ããã"
1149 },
1150 "implement-from-a-screenshot": {
1151 title: "ã¹ã¯ãªãŒã³ã·ã§ããããå®è£
ããŠèªå·±ãã§ãã¯ãã",
1152 teaches: "ãã㯠Claude ã«æ€èšŒã«ãŒããæäŸããŸããã¬ã³ããªã³ã°ãããœãŒã¹ç»åãšæ¯èŒããåã®ã£ãããææããããšãªãå埩ããŸãã",
1153 next: "`/goal` ã䜿çšããŠãClaude ãã¹ã¯ãªãŒã³ã·ã§ãããäžèŽãããŸã§å埩ãç¶ããããã«ããŠãã ãã"
1154 },
1155 "follow-an-existing-pattern": {
1156 title: "æ¢åã®ãã¿ãŒã³ã«åŸã",
1157 teaches: "æ¢ã«æ°ã«å
¥ã£ãŠããã³ãŒããæããŠãã ãããåç
§ããªããšãClaude ã¯äžè¬çãªãã¹ããã©ã¯ãã£ã¹ã«ããã©ã«ãèšå®ãããŸããåç
§ããããšãã³ãŒãããŒã¹ãå®éã«äœ¿çšããèŠçŽã«äžèŽããŸãã",
1158 next: "Claude ã«ãåŸã£ããã¿ãŒã³ã `CLAUDE.md` ã«æžã蟌ãããäŸé ŒããŠãå°æ¥ã®ã»ãã·ã§ã³ãåç
§ãªãã§äžèŽããããã«ããŠãã ãã"
1159 },
1160 "add-a-small-well": {
1161 title: "å°ãããæç¢ºã«å®çŸ©ãããæ©èœã远å ãã",
1162 teaches: "æ§ç¯æ¹æ³ã§ã¯ãªããå
¥åãšåºåãè¿°ã¹ãŠãã ãããClaude ã¯åæ§ã®ã³ãŒããååšããå ŽæãèŠã€ãããã®æšªã«è¿œå ããŸãã"
1163 },
1164 "build-a-small-internal": {
1165 title: "å°ããªå
éšããŒã«ããŒãããæ§ç¯ãã",
1166 teaches: "ãããžã§ã¯ãããã¬ãŒã ã¯ãŒã¯ããŸãã¯ãã«ãã¹ãããã¯å¿
èŠãããŸãããããŒã«ã説æããClaude ã«éãããäŸé ŒããŠãããã«åäœã確èªããŠãã ããã"
1167 },
1168 "work-an-issue-end": {
1169 title: "ã€ã·ã¥ãŒããšã³ãããŒãšã³ãã§åŠçãã",
1170 teaches: "æŠèŠã§ã¯ãªããã€ã·ã¥ãŒçªå·ãæå®ããŠãã ãããClaude ã¯ãã±ããå
šäœãèªããããèšåãå¿ããèŠä»¶ãå«ãŸãã倿Žãå ±åããåã«æ€èšŒããŸãã"
1171 },
1172 "find-and-update-copy": {
1173 title: "ã³ãŒãããŒã¹å
šäœã§ã³ããŒãèŠã€ããŠæŽæ°ãã",
1174 teaches: "ããªãšãŒã·ã§ã³ãå°ããã¹ããããããã®ãèšã£ãŠãã ãããClaude ã¯ãªãã©ã«æ€çŽ¢ãèŠèœãšããã¬ãŒãºã³ã°ãèŠã€ãããã¹ããã£ã¯ã¹ãã£ãšå±¥æŽããã®ãŸãŸã«ããŠããããããŠãŒã¶ãŒãå®éã«èŠãã³ããŒã®ã¿ãã¬ãã¥ãŒããŸãã"
1175 },
1176 "draft-from-past-examples": {
1177 title: "éå»ã®äŸããããã¥ã¡ã³ããäœæãã",
1178 teaches: "ã¹ã¿ã€ã«ã説æãã代ããã«ã宿ããäœæ¥ã®ãã©ã«ããæããŠãã ãããClaude ã¯æ¢ã«åºè·ãããã®ããã¹ã¿ã€ã«ãšå£°ãåŠã¶ãããæåã®ãã©ããã¯ããªãã®ãã®ã® 1 ã€ã®ããã«èªããŸãã",
1179 next: "声ãã¹ãã«ãšããŠä¿åããŠããã¹ãŠã®ãã©ãããããããéå§ãããããã«ããŠãã ãã"
1180 },
1181 "write-tests-run-them": {
1182 title: "ãã¹ããæžããå®è¡ãã倱æãä¿®æ£ãã",
1183 teaches: "æžã蟌ã¿ãå®è¡ãä¿®æ£ãäžç·ã«äŸé ŒããŠãClaude ãæç€ºãåŸ
ããã«å埩ããããã«ããŠãã ããã",
1184 next: "`/init` ãå®è¡ããŠãClaude ããã¹ãã³ãã³ããèªåçã«åŠç¿ããããã«ããŠãã ãã"
1185 },
1186 "drive-implementation-from-tests": {
1187 title: "ãã¹ãããå®è£
ãé§åãã",
1188 teaches: "ãã¹ãé§åéçº: ãã¹ãã¯äœæ¥ãå®äºãããšããå®çŸ©ããClaude ã¯åæ ŒãããŸã§å®è£
ãå埩ããŸãã"
1189 },
1190 "fill-gaps-from-a": {
1191 title: "ã«ãã¬ããžã¬ããŒãããã®ã£ãããåãã",
1192 teaches: "äœããã¹ããããŠããªãããæšæž¬ãã代ããã«ãã«ãã¬ããžã¬ããŒããæããŠãã ãããClaude ã¯å®éã®æ°åãèªã¿ãæãå¿
èŠãªãã¡ã€ã«ã®ãã¹ããæžããŸãã",
1193 next: "ããã `/goal` ãšããŠèšå®ããŠãClaude ãã«ãã¬ããžãã¿ãŒã²ããã«éãããŸã§ãã¹ããæžãç¶ããããã«ããŠãã ãã"
1194 },
1195 "port-code-between-languages": {
1196 title: "ã³ãŒããå¥ã®èšèªã«ç§»æ€ãã",
1197 teaches: "ã¿ãŒã²ããèšèªã ãã§ãªããä¿æãããã®ãèšã£ãŠãã ãããä¿æããå¿
èŠããã API ãŸãã¯åäœã«ååãä»ãããšãClaude ãããŒãããã§ãã¯ããããã®å¥çŽãäžããããŸãã"
1198 },
1199 "generate-docs-for-code": {
1200 title: "ããã¥ã¡ã³ãåãããŠããªãã³ãŒãã®ããã¥ã¡ã³ããçæãã",
1201 teaches: "ã¹ã³ãŒããšåœ¢åŒã«ååãä»ããŠãã ãããClaude ã¯æ¬ ããŠãããã®ãèŠã€ãããã¡ã€ã«ã«æ¢ã«ãã comment ã¹ã¿ã€ã«ã«äžèŽãããããæ°ããããã¥ã¡ã³ãã¯æ®ãã®ããã«èªããŸãã"
1202 },
1203 "migrate-a-pattern-across": {
1204 title: "ã³ãŒãããŒã¹å
šäœã§ãã¿ãŒã³ãç§»è¡ãã",
1205 teaches: "å€ããã¿ãŒã³ãšæ°ãããã¿ãŒã³ã説æããŠãã ãããClaude ã«æåã«ãã¹ãŠã®å Žæãèå¥ããããäŸé ŒãããšãåŒã³åºããµã€ããå¿çã«ãªã¹ãã¢ããããããããäœãèŠèœãšãããŠããªãããšã確èªã§ããŸãã"
1206 },
1207 "optimize-against-a-measurable": {
1208 title: "枬å®å¯èœãªã¿ãŒã²ããã«å¯ŸããŠæé©åãã",
1209 teaches: "ã¡ããªãã¯ãšã¿ãŒã²ãããè¿°ã¹ããšãClaude ã«å®äºã®æç¢ºãªå®çŸ©ãäžããããŸãã",
1210 next: "ããã `/goal` ãšããŠèšå®ããŠãClaude ãã¿ãŒã²ããã«éãããŸã§æž¬å®ãšå埩ãç¶ããããã«ããŠãã ãã"
1211 },
1212 "fix-a-precise-visual": {
1213 title: "æ£ç¢ºãªããžã¥ã¢ã«ãã°ãä¿®æ£ãã",
1214 teaches: "æ£ç¢ºãªããžã¥ã¢ã«ãã£ãŒãããã¯ã¯æ£ç¢ºãªä¿®æ£ãåŸãŸããæ£ç¢ºãªèŠçŽ ãæž¬å®ããã¥ãŒããŒããè¿°ã¹ãŠãã ããã",
1215 next: "ãã¬ãã¥ãŒããŒã«ã远å ããŠãClaude ãã¹ã¯ãªãŒã³ã·ã§ãããæ®ããä¿®æ£ãèªåã§æ€èšŒããããã«ããŠãã ãã"
1216 },
1217 "review-your-changes-before": {
1218 title: "ã³ãããããåã«å€æŽãã¬ãã¥ãŒãã",
1219 teaches: "åé¡ãä¿®æ£ããã®ã«å®ãéã«åé¡ããã£ããããŠãã ãããClaude 㯠diff è¡ã ãã§ãªãã倿Žããããã¡ã€ã«å
šäœãèªããããè¿
éãªèªå·±ã¬ãã¥ãŒãèŠèœãšãåé¡ãèŠã€ããŸãã",
1220 next: "åããã§ãã¯ã 1 ã€ã®ã³ãã³ãã§å®è¡ããããã« `/code-review` ãå®è¡ããŠãã ãã"
1221 },
1222 "review-a-pull-request": {
1223 title: "ãã«ãªã¯ãšã¹ããã¬ãã¥ãŒãã",
1224 teaches: "Claude 㯠diff ã ãã§ãªããã³ãŒãããŒã¹å
šäœã®ã³ã³ããã¹ãã§ã¬ãã¥ãŒããŸãã倿Žãããã³ãŒããšãããåŒã³åºããã®ãèªããããdiff ã®ã¿ã®ã¬ãã¥ãŒãèŠèœãšãåé¡ããã£ããããŸãã",
1225 next: "Code Review ã§ãã¹ãŠã® PR ã«å¯ŸããŠããããªã³ã«ããŠãã ãã"
1226 },
1227 "review-infrastructure-changes-before": {
1228 title: "é©çšããåã«ã€ã³ãã©ã¹ãã©ã¯ãã£ã®å€æŽãã¬ãã¥ãŒãã",
1229 teaches: "ãã©ã³åºåã¯å¯éããŠããŠã¹ãã£ã³ãé£ããã§ããããŒã¹ããããšãå®éã«äœãå€ãããã®å¹³æãªèšèªã®æŠèŠãåŸãããŸãã"
1230 },
1231 "run-a-security-review": {
1232 title: "ãµããšãŒãžã§ã³ãã§ã»ãã¥ãªãã£ã¬ãã¥ãŒãå®è¡ãã",
1233 teaches: "[ãµããšãŒãžã§ã³ã](/ja/sub-agents)ã¯ç¬èªã®ã³ã³ããã¹ããŠã£ã³ããŠã§ç£æ»ãå®è¡ããæŠèŠãå ±åãããããé·ãã»ãã¥ãªãã£ã¬ãã¥ãŒãã¡ã€ã³ã»ãã·ã§ã³ãæºãããŸãããçµã¿èŸŒã¿ã®æ±çšãµããšãŒãžã§ã³ãã¯è¿œå ã®ã»ããã¢ãããªãã§ãããåŠçããŸãã",
1234 next: "ããŒã å
šäœã䜿çšã§ããå°çšã®ã»ãã¥ãªãã£ã¬ãã¥ãŒãµããšãŒãžã§ã³ããã»ããã¢ããããŠãã ãã"
1235 },
1236 "review-content-before-sending": {
1237 title: "æ£åŒãªã¬ãã¥ãŒã®åã«åé¡ããã£ãããã",
1238 teaches: "人éãæéãè²»ããåã«æåã®ãã¹ãååŸããŠãã ããããã§ãã¯ãããæžå¿µäºé
ã«ååãä»ããŠãã¬ãã¥ãŒãçŠç¹ãåœãŠãããã«ããŠãããèŠã€ãããã®ãä¿®æ£ããŠãããã¯ãªãŒã³ãªãã©ãããéä¿¡ããŠãã ããã",
1239 next: "ã¬ãã¥ãŒãã§ãã¯ãªã¹ããã¹ãã«ãšããŠãã£ããã£ããŠãããŒã å
šäœãå®è¡ã§ããããã«ããŠãã ãã"
1240 },
1241 "course-correct-a-wrong": {
1242 title: "ééã£ãã¢ãããŒããä¿®æ£ãã",
1243 teaches: "ãããééã£ãŠããã ãã§ãªããClaude ãèŠèœãšããå¶çŽã«ååãä»ããŠãã ãããå
·äœçãªçç±ã¯ãClaude ã«åè©Šè¡æã«æºããã¹ãå
·äœçãªå¶çŽãäžããååºŠæšæž¬ãã代ããã«ã",
1244 next: "Esc ã 2 åæŒããŠå·»ãæ»ãã¡ãã¥ãŒãéããã³ãŒããšäŒè©±ã埩å
ããŠãå詊è¡ãã¯ãªãŒã³ã«éå§ãããããã«ããŠãã ãã"
1245 },
1246 "narrow-the-scope-of": {
1247 title: "倿Žã®ç¯å²ãçµã",
1248 teaches: "æ¹åãæ£ããã倿Žãåºãããå Žåã¯ãClaude ã«ãã¹ãŠãå·»ãæ»ãã®ã§ã¯ãªãããã®äžéšãä¿æããããäŸé ŒããŠãã ãããè¿°ã¹ãããå¢çã¯ãå°ããªä¿®æ£ããªãã¡ã¯ã¿ãªã³ã°ã«ãªãã®ãé²ããŸãã"
1249 },
1250 "turn-a-correction-into": {
1251 title: "ä¿®æ£ãã«ãŒã«ã«å€ãã",
1252 teaches: "ãã£ããã®ä¿®æ£ã¯ããŒã å
šäœãšå
±æãããŸããããããžã§ã¯ãã® [CLAUDE.md](/ja/memory)ã®ã«ãŒã«ã¯ã³ããããããšå
±æãããClaude ã¯ãã¹ãŠã®ã»ãã·ã§ã³ã®éå§æã«ãããèªã¿ãŸãã",
1253 next: "`/memory` ãéããŠãClaude ãæžãããã®ãã¬ãã¥ãŒããŠãã ãã"
1254 },
1255 "resolve-merge-conflicts": {
1256 title: "ããŒãžã³ã³ããªã¯ãã解決ãã",
1257 teaches: "ä¿æããããŒã«ãŒã§ã¯ãªããæãç¶æ
ãèšã£ãŠãã ãããæšè«ãæ±ãããšãããŒãžãã¬ãã¥ãŒå¯èœã«ãªãããã©ãã¯ããã¯ã¹ã§ã¯ãªããªããŸãã"
1258 },
1259 "commit-with-a-generated": {
1260 title: "çæãããã¡ãã»ãŒãžã§ã³ããããã",
1261 teaches: "Claude ã« diff ããã¡ãã»ãŒãžãå°åºãããŠãã ããããªããžããªã®æ¢åã®ã³ãããã¹ã¿ã€ã«ã«äžèŽããŸãã"
1262 },
1263 "open-a-pull-request": {
1264 title: "ãã±ãããããã«ãªã¯ãšã¹ããéã",
1265 teaches: "ãã©ãã«ãŒããšãã£ã¿ãGitHub éã®ã³ã³ããã¹ãã¹ã€ãããã¹ãããããŠãã ããã1 ã€ã®ããã³ãããã¹ããã¯ãèªã¿ã倿Žãå ããPR ãéããŸãã"
1266 },
1267 "draft-release-notes-from": {
1268 title: "git å±¥æŽãããªãªãŒã¹ããŒããäœæãã",
1269 teaches: "2 ã€ã®åç
§ãã€ã³ããšæãæ§é ãæå®ããŠãã ãããClaude ã¯ãããã®éã®ã³ããããã°ãèªã¿ãç·šéã§ãããã§ã³ãžãã°ãäœæããŸãã",
1270 next: "ããã `/changelog` ã¹ãã«ãšããŠä¿åããŠãã ãã"
1271 },
1272 "write-a-ci-workflow": {
1273 title: "CI ã¯ãŒã¯ãããŒãæžã",
1274 teaches: "ãã€å®è¡ãã¹ãããäœããã¹ããã説æããŠãã ãããYAML ã¯ãããžã§ã¯ãã®ãã«ãããã³ãã¹ãã³ãã³ãã«äžèŽããŠçæãããŸãã"
1275 },
1276 "find-and-fix-a": {
1277 title: "倱æãããã¹ããèŠã€ããŠä¿®æ£ãã",
1278 teaches: "çç¶ã説æããŠãã ãããã©ã®ãã¡ã€ã«ãå£ããŠããããç¥ãå¿
èŠã¯ãããŸãããClaude ã¯ãã¹ããå®è¡ããŠå€±æã確èªãããœãŒã¹ã«è¿œè·¡ããŠä¿®æ£ããŸãã"
1279 },
1280 "investigate-a-reported-error": {
1281 title: "å ±åããããšã©ãŒã調æ»ãã",
1282 teaches: "çç¶ãšå Žæã説æããŠãã ãããClaude ã¯é¢é£ããã³ãŒããã¹ãèªã¿ãå¯èœæ§ã®ããåå ã远跡ããŸããã¹ã¿ãã¯ãã¬ãŒã¹ãŸãã¯ãã°ãããã°ããŒã¹ãããŠãã ããã",
1283 next: "å®è¡ããã¯ã« deeplink ãå
¥ããŠããã®ããã³ãããäºåã«å
¥åãããç¶æ
ã§ Claude ãéãããã«ããŠãã ãã"
1284 },
1285 "fix-a-build-error": {
1286 title: "ãã«ããšã©ãŒãæ ¹æ¬ããä¿®æ£ãã",
1287 teaches: "æ ¹æ¬åå ãšæ€èšŒãæ±ãããšããšã©ãŒãä¿®æ£ããã«æå¶ãã衚é¢ã¬ãã«ã®ãããã鲿¢ãããŸãã"
1288 },
1289 "investigate-a-production-incident": {
1290 title: "æ¬çªã€ã³ã·ãã³ãã調æ»ãã",
1291 teaches: "å®è¡ããã¹ãããã§ã¯ãªããçžé¢ããããšããã³ã¹ãœãŒã¹ããªã¹ãã¢ããããŠãã ãããClaude ã¯ãã°ãgit å±¥æŽãèšå®ãäžç·ã«èªãã§ãåå ãçµã蟌ã¿ãŸãã",
1292 next: "Sentry ãŸãã¯ãã°ã¹ãã¢ã MCP çµç±ã§æ¥ç¶ããŠãã ãã"
1293 },
1294 "query-logs-in-plain": {
1295 title: "å¹³æãªè±èªã§ãã°ãã¯ãšãªãã",
1296 teaches: "SQL ãæžã代ããã«ã質åãå°ããŠãã ãããClaude ã¯ã¯ãšãªãæ§ç¯ããæ¥ç¶ããããã°ã«å¯ŸããŠå®è¡ããã¯ãšãªãšçµæã®äž¡æ¹ã衚瀺ããŠãäœãå®è¡ããããã確èªã§ããããã«ããŸãã"
1297 },
1298 "diagnose-from-a-console": {
1299 title: "ã³ã³ãœãŒã«ã¹ã¯ãªãŒã³ã·ã§ãããã蚺æãã",
1300 teaches: "ã¯ã©ãŠãã³ã³ãœãŒã«ã¯åé¡ã衚瀺ããŸãããä¿®æ£ããã³ãã³ãã¯è¡šç€ºããŸãããClaude ã¯ã¹ã¯ãªãŒã³ã·ã§ãããèªã¿ãããã·ã¥ããŒããå®è¡ãã kubectlãgcloudããŸã㯠aws ã³ãã³ãã«å€æããŸãã"
1301 },
1302 "analyze-a-data-file": {
1303 title: "ããŒã¿ãã¡ã€ã«ãåæãã",
1304 teaches: "1 åéãã®è³ªå㯠1 åéãã®ã¹ã¯ãªãããå¿
èŠãšããŸããããããžã§ã¯ããã©ã«ãå
ã®ãã¡ã€ã«ãæããŠãã ãããClaude ã¯ãããçŽæ¥èªã¿ããã¿ãŒã³ãèŠã€ããèŠæ±ããå Žæã«åºåãæžã蟌ã¿ãŸãã",
1305 next: "ãã¡ã€ã«ããšã¯ã¹ããŒããã代ããã«ãMCP çµç±ã§ããŒã¿ãœãŒã¹ãæ¥ç¶ããŠãã ãã"
1306 },
1307 "generate-variations-from-performance": {
1308 title: "ããã©ãŒãã³ã¹ããŒã¿ããããªãšãŒã·ã§ã³ãçæãã",
1309 teaches: "å¶çŽãæåã«è¿°ã¹ãŠãçæãå¶éå
ã«çãŸãããã«ããŠãã ãããClaude ã¯ã¡ããªãã¯ãèªã¿ã眮ãæãããã®ãéžæããå¶éã«é©åããä»£æ¿æ¡ãçæããŸãã",
1310 next: "ãã¡ã€ã«ããšã¯ã¹ããŒããã代ããã«ãMCP çµç±ã§åºåãã©ãããã©ãŒã ãæ¥ç¶ããŠãã ãã"
1311 },
1312 "turn-a-recurring-task": {
1313 title: "ç¹°ãè¿ãã¿ã¹ã¯ãã¹ãã«ã«å€ãã",
1314 teaches: "ã¹ãããã«äžåºŠååãä»ããŠãã ãããã³ãã³ããšããŠåå©çšããŠãã ãããClaude ã¯ããŒã å
ã®èª°ã§ãå®è¡ã§ãã [ã¹ãã«](/ja/skills)ãæžããŸãã"
1315 },
1316 "add-a-hook-for": {
1317 title: "ç¹°ãè¿ãåäœã®ããã®ããã¯ã远å ãã",
1318 teaches: "ããã¯ã¯ãèŠããŠããå¿
èŠããããã®ã§ã¯ãªããåäœãèªåã«ããŸããããªã¬ãŒãšã¢ã¯ã·ã§ã³ã説æããClaude ã [ããã¯](/ja/hooks)èšå®ãæžããŸãã"
1319 },
1320 "connect-a-tool-with": {
1321 title: "MCP ã§ããŒã«ãæ¥ç¶ãã",
1322 teaches: "æ¯åã®ã»ãã·ã§ã³ã§ããŒã¿ãããŒã¹ããã代ããã«ããœãŒã¹ãäžåºŠæ¥ç¶ããŠãã ããã[MCP](/ja/mcp)ã»ããã¢ããåŸãClaude ã¯ããã«ã€ããŠå°ãããšãã«ããŒã«ããçŽæ¥èªã¿ãŸãã"
1323 },
1324 "capture-what-to-remember": {
1325 title: "次åã®ããã«èŠããŠããã¹ãããšããã£ããã£ãã",
1326 teaches: "å¿ããåã«å°ããŠãã ãããClaude ã¯ãã®ã»ãã·ã§ã³ã§äœãçè§£ããå¿
èŠããã£ãããç¥ã£ãŠãããæ¬¡ã®ã»ãã·ã§ã³ããã®æèã§éå§ãããããã« [CLAUDE.md](/ja/memory)ãšã³ããªãææ¡ããŸãã"
1327 }
1328};
1329
1330<PromptLibrary text={text} labels={labels} tagLabels={tagLabels} phaseLabels={phaseLabels} sourceLabels={sourceLabels} catLabels={catLabels} />
1331
13<h2 id="what-makes-these-prompts-work">1332<h2 id="what-makes-these-prompts-work">
14 ãããã®ããã³ãããæ©èœããããã®1333 ãããã®ããã³ãããæ©èœããããã®
15</h2>1334</h2>