24description: TODO: Complete and informative explanation of what the skill does and when to use it. Include WHEN to use this skill - specific scenarios, file types, or tasks that trigger it.
25---
26
27# {skill_title}
28
29## Overview
30
31[TODO: 1-2 sentences explaining what this skill enables]
32
33## Structuring This Skill
34
35[TODO: Choose the structure that best fits this skill's purpose. Common patterns:
36
37**1. Workflow-Based** (best for sequential processes)
38- Works well when there are clear step-by-step procedures
57Patterns can be mixed and matched as needed. Most skills combine patterns (e.g., start with task-based, add workflow for complex operations).
58
59Delete this entire "Structuring This Skill" section when done - it's just guidance.]
60
61## [TODO: Replace with the first main section based on chosen structure]
62
63[TODO: Add content here. See examples in existing skills:
64- Code samples for technical skills
65- Decision trees for complex workflows
66- Concrete examples with realistic user requests
67- References to scripts/templates/references as needed]
68
69## Resources
70
71This skill includes example resource directories that demonstrate how to organize different types of bundled resources:
72
73### scripts/
74Executable code that can be run directly to perform specific operations.
75
76**Examples from other skills:**
77- PDF skill: fill_fillable_fields.cjs, extract_form_field_info.cjs - utilities for PDF manipulation
78- CSV skill: normalize_schema.cjs, merge_datasets.cjs - utilities for tabular data manipulation
79
80**Appropriate for:** Node.cjs scripts (cjs), shell scripts, or any executable code that performs automation, data processing, or specific operations.
81
82**Note:** Scripts may be executed without loading into context, but can still be read by Gemini CLI for patching or environment adjustments.
83
84### references/
85Documentation and reference material intended to be loaded into context to inform Gemini CLI's process and thinking.
89- BigQuery: API reference documentation and query examples
90- Finance: Schema documentation, company policies
91
92**Appropriate for:** In-depth documentation, API references, database schemas, comprehensive guides, or any detailed information that Gemini CLI should reference while working.
93
94### assets/
95Files not intended to be loaded into context, but rather used within the output Gemini CLI produces.
96
97**Examples from other skills:**
98- Brand styling: PowerPoint template files (.pptx), logo files
102**Appropriate for:** Templates, boilerplate code, document templates, images, icons, fonts, or any files meant to be copied or used in the final output.
103
104---
105
106**Any unneeded directories can be deleted.** Not every skill requires all three types of resources.
107`;
108
109const EXAMPLE_SCRIPT = `#!/usr/bin/env node
110
111/**
112 * Example helper script for {skill_name}
113 *
114 * This is a placeholder script that can be executed directly.
115 * Replace with actual implementation or delete if not needed.
116 *
117 * Example real scripts from other skills:
118 * - pdf/scripts/fill_fillable_fields.cjs - Fills PDF form fields
119 * - pdf/scripts/convert_pdf_to_images.cjs - Converts PDF pages to images
120 *
121 * Agentic Ergonomics:
122 * - Suppress tracebacks.
123 * - Return clean success/failure strings.
124 * - Truncate long outputs.
125 */
126
127async function main() {
128 try {
129 // TODO: Add actual script logic here.
130 // This could be data processing, file conversion, API calls, etc.
131
132 // Example output formatting for an LLM agent
133 process.stdout.write("Success: Processed the task.\\n");
134 } catch (err) {
135 // Trap the error and output a clean message instead of a noisy stack trace