opencode-skills-collection 4.0.60 → 4.0.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,209 @@
1
+ ---
2
+ name: glasser
3
+ description: "Search, inspect, and run third-party data APIs through one CLI when the environment has no suitable integration."
4
+ category: data
5
+ risk: critical
6
+ source: self
7
+ source_type: self
8
+ date_added: "2026-09-12"
9
+ author: adriansurething
10
+ tags: [api, data, search, enrichment, marketing, research, cli]
11
+ tools: [claude, cursor, codex, gemini]
12
+ ---
13
+
14
+ # Glasser
15
+
16
+ ## Overview
17
+
18
+ Glasser is a commercial API broker that exposes third-party data providers
19
+ through one CLI and one account. Use it to fill a data gap after checking the
20
+ environment's free tools and the user's existing integrations. Provider output
21
+ keeps its native structure, so inspect the selected endpoint before every run.
22
+
23
+ This skill was contributed by a member of the Glasser team.
24
+
25
+ ## When to Use This Skill
26
+
27
+ - Use when a task needs current web, news, search, social, business, people,
28
+ places, shopping, image, video, or enrichment data that available tools
29
+ cannot supply.
30
+ - Use when the user wants pay-per-call access without creating a separate
31
+ account with the underlying provider.
32
+ - Use for marketing and research workflows that need structured evidence from
33
+ a named data provider.
34
+ - Prefer the user's explicit provider choice, existing API keys, installed
35
+ integrations, and free tools before Glasser.
36
+
37
+ ## How It Works
38
+
39
+ ### Step 1: Check Availability and Authentication
40
+
41
+ Use the CLI only if it is already installed or the user has approved its
42
+ installation under the host environment's software-installation policy.
43
+ Installation instructions are maintained at
44
+ <https://glasser.ai/SKILL.md>. Do not download or install executable code
45
+ without the review and approval required by the current environment.
46
+
47
+ Check the CLI and account:
48
+
49
+ ```bash
50
+ glasser --version
51
+ glasser balance
52
+ ```
53
+
54
+ If authentication is missing in an interactive session, run `glasser login`.
55
+ It opens a browser-based device flow. Relay the URL and code printed by the CLI
56
+ and wait for the command to finish. Never ask the user to paste a Key into chat.
57
+
58
+ For unattended environments, the user can configure `GLASSER_API_KEY` through
59
+ the environment's secret manager. Never write it to a project file or include
60
+ it in a command argument.
61
+
62
+ ### Step 2: Discover Candidate Endpoints
63
+
64
+ Search by capability instead of guessing a provider or endpoint:
65
+
66
+ ```bash
67
+ glasser search -q "Google search results"
68
+ glasser search -q "company enrichment"
69
+ glasser search -q "Reddit posts and comments"
70
+ ```
71
+
72
+ Compare the provider, endpoint, and listed price. Search results are ranked by
73
+ relevance; rank is not a quality or price recommendation.
74
+
75
+ ### Step 3: Inspect the Contract
76
+
77
+ Inspect the exact endpoint before constructing input:
78
+
79
+ ```bash
80
+ glasser inspect -p serper -e /search
81
+ ```
82
+
83
+ Record:
84
+
85
+ - the current price and all charge clauses;
86
+ - required and optional input fields;
87
+ - fields that control result volume;
88
+ - run mode and timeout;
89
+ - the provider that will receive the request.
90
+
91
+ Schemas, prices, and charge clauses can change. The live `inspect` result is
92
+ the contract for the next run.
93
+
94
+ ### Step 4: Authorize the Paid Scope
95
+
96
+ Only `run` spends the workspace balance. Before the first paid call, show the
97
+ user the provider, endpoint, per-call price, charge exceptions, input scope,
98
+ and requested result volume. Wait for approval unless the user already gave an
99
+ exact scope or budget that covers the call.
100
+
101
+ Create the provider-native JSON input in a file after inspection. A file avoids
102
+ shell-quoting errors and keeps the request reviewable. Do not include unrelated
103
+ personal, confidential, or credential data.
104
+
105
+ ### Step 5: Run and Recover Safely
106
+
107
+ Run the approved request:
108
+
109
+ ```bash
110
+ glasser run -p serper -e /search -f request.json --wait
111
+ ```
112
+
113
+ The CLI prints an Idempotency-Key. If a timeout or transport failure leaves the
114
+ outcome uncertain, repeat the request with that same key:
115
+
116
+ ```bash
117
+ glasser run -p serper -e /search -f request.json --idempotency-key <same-key> --wait
118
+ ```
119
+
120
+ Do not create a new key for an ambiguous retry. It can create and charge a
121
+ second run. For a known run, use `glasser runs get -r <run-id> --wait` instead
122
+ of starting another one.
123
+
124
+ ### Step 6: Report Evidence and Cost
125
+
126
+ For every run used in the answer, report:
127
+
128
+ 1. the provider and endpoint;
129
+ 2. the Glasser run status;
130
+ 3. what the provider response says;
131
+ 4. the exact `Charge` printed by the CLI;
132
+ 5. the private `Run URL` printed by the CLI.
133
+
134
+ `COMPLETED` means the provider answered. It does not guarantee that the
135
+ provider found a result, so describe both the run status and the payload.
136
+
137
+ ## Examples
138
+
139
+ ### Example 1: Research a Search Results Page
140
+
141
+ ```text
142
+ Find a Google SERP endpoint in Glasser, show me its current price and input
143
+ schema, and ask before running one query for "best email marketing tools".
144
+ ```
145
+
146
+ The agent searches the catalog, inspects the selected endpoint, obtains paid
147
+ scope approval, writes input that matches the live schema, and returns sourced
148
+ results with the charge and Run URL.
149
+
150
+ ### Example 2: Fill a Company-Data Gap
151
+
152
+ ```text
153
+ Our current tools cannot enrich these five companies. Find suitable Glasser
154
+ endpoints, compare their prices and required inputs, and stop before spending.
155
+ ```
156
+
157
+ The agent returns a provider comparison without making a paid run.
158
+
159
+ ## Best Practices
160
+
161
+ - Start with the smallest result count that can answer the question.
162
+ - Reuse data already retrieved during the current task.
163
+ - Keep exact decimal money values as strings when calculating totals.
164
+ - Save large outputs to a file and read only the fields needed for analysis.
165
+ - Preserve provider attribution when presenting evidence.
166
+
167
+ ## Limitations
168
+
169
+ - Glasser is a paid service. Endpoint availability, prices, and provider terms
170
+ can change.
171
+ - Data quality and coverage depend on the selected third-party provider.
172
+ - A Glasser run does not grant permission to collect or use personal data.
173
+ Apply the user's purpose, applicable law, and provider terms.
174
+ - The private Run URL is available only to members of the Glasser workspace.
175
+ - The skill cannot complete interactive login without the user approving the
176
+ browser device flow.
177
+
178
+ ## Security & Safety Notes
179
+
180
+ - Treat every `run` as a state-changing paid operation.
181
+ - Keep Keys in an environment secret store and out of files, logs, prompts,
182
+ command arguments, commits, and generated reports.
183
+ - Tell the user which provider receives the request before sending sensitive
184
+ or personal data, and minimize the submitted fields.
185
+ - Do not run speculative calls, retry loops, or unapproved bulk jobs.
186
+ - Stop on insufficient balance, rejected authorization, or a schema mismatch;
187
+ correct the cause before considering another paid call.
188
+
189
+ ## Common Pitfalls
190
+
191
+ - **Problem:** Input validation fails.
192
+ **Solution:** Inspect the endpoint again and rebuild the JSON from the live
193
+ schema instead of guessing field names.
194
+ - **Problem:** A request timed out after submission.
195
+ **Solution:** Reuse the printed Idempotency-Key or fetch the known run.
196
+ - **Problem:** A completed run contains no useful result.
197
+ **Solution:** Report the provider outcome and charge clause; do not label the
198
+ transport as failed or rerun automatically.
199
+ - **Problem:** The CLI reports an available update.
200
+ **Solution:** Finish the current task, then follow the official upgrade
201
+ instructions and refresh the Glasser skill before the next task.
202
+
203
+ ## Related Skills
204
+
205
+ - `@seo-dataforseo` - Use when DataForSEO is already configured and the task is
206
+ specifically SEO data.
207
+ - `@apify-market-research` - Use when the user already has an Apify integration
208
+ for the selected research source.
209
+ - `@parallel-search-mcp` - Use when Parallel is installed and covers the task.
@@ -0,0 +1,243 @@
1
+ ---
2
+ name: marketplace-rbac-audit
3
+ description: "Audit multi-role marketplace authorization across roles, resource ownership, tenant boundaries, and order-state transitions; use when access rules need evidence, not UI assumptions."
4
+ category: security
5
+ risk: safe
6
+ source: self
7
+ source_type: self
8
+ date_added: "2026-09-12"
9
+ author: mosinlshaikh
10
+ tags: [marketplace, rbac, authorization, access-control, security]
11
+ tools: [claude, cursor, codex, gemini]
12
+ ---
13
+
14
+ # Marketplace RBAC Audit
15
+
16
+ ## Overview
17
+
18
+ Audit authorization in marketplaces where customers, vendors, fulfillment staff, couriers, support agents, administrators, and service accounts act on shared orders and resources. Build an explicit policy matrix, trace enforcement from route to data access, and verify both allowed and denied behavior without treating hidden UI controls as security.
19
+
20
+ This is a read-only review by default. It does not grant permission to scan a live service, create test accounts, alter permissions, or access another person's data.
21
+
22
+ ## When to Use This Skill
23
+
24
+ - Reviewing authorization in a marketplace, delivery platform, multi-vendor store, or fulfillment system.
25
+ - Adding or changing roles, administrative powers, ownership rules, or order-state transitions.
26
+ - Investigating whether one customer, vendor, courier, hub, or tenant can access another party's resources.
27
+ - Preparing negative authorization tests before release or after an access-control incident.
28
+
29
+ Do not use this skill for authentication design alone, generic multi-tenant architecture, offensive ID enumeration, or penetration testing outside an explicitly authorized test environment.
30
+
31
+ ## Establish the Authorization Contract
32
+
33
+ Record the actual actors and resources instead of assuming standard role names.
34
+
35
+ For each actor, capture:
36
+
37
+ - identity source and role-assignment authority;
38
+ - tenant, organization, store, hub, region, or assignment scope;
39
+ - resource relationships such as owner, seller, assigned courier, servicing hub, or support case;
40
+ - permitted operations and state transitions;
41
+ - emergency, support, delegated, and service-account access;
42
+ - audit-log and approval requirements for privileged actions.
43
+
44
+ Separate these policy dimensions:
45
+
46
+ 1. **Role** — what this actor type may generally do.
47
+ 2. **Relationship** — which specific object the actor may access.
48
+ 3. **Tenant or operational scope** — where the permission applies.
49
+ 4. **Resource state** — whether the operation is valid now.
50
+ 5. **Field scope** — which attributes may be viewed or changed.
51
+
52
+ A matching role is not sufficient when ownership, assignment, tenant, state, or field rules fail.
53
+
54
+ ## Build the Policy Matrix
55
+
56
+ Create one row per meaningful actor-resource-operation combination.
57
+
58
+ | Field | Required content |
59
+ |---|---|
60
+ | Actor | Role plus relevant tenant/store/hub/assignment |
61
+ | Resource | Order, product, inventory, payout, address, profile, delivery, refund, or admin object |
62
+ | Operation | List, view, create, update, delete, assign, transition, refund, export, or impersonate |
63
+ | Relationship | Owner, seller, assignee, servicing hub, same tenant, or none |
64
+ | Required state | Order/payment/delivery state in which the operation is allowed |
65
+ | Field scope | Allowed and prohibited fields |
66
+ | Expected result | Allow or deny, including disclosure policy such as 403 versus 404 |
67
+ | Enforcement point | Route, policy layer, service, query predicate, database policy, or queue consumer |
68
+ | Evidence | Code reference, test ID, request ID, or audit event |
69
+
70
+ Mark an undocumented decision as **UNDEFINED**; do not invent a permission merely because current code allows it.
71
+
72
+ ## Audit Workflow
73
+
74
+ ### 1. Inventory Entry Points
75
+
76
+ Map HTTP routes, GraphQL operations, server actions, background jobs, webhooks, file downloads, exports, administrative tools, and queue consumers that access marketplace resources. Include bulk operations and alternate HTTP methods.
77
+
78
+ ### 2. Trace Identity and Scope
79
+
80
+ For every entry point, trace how the authenticated principal becomes an authorization context. Confirm that role, tenant, store, hub, assignment, and delegation claims come from a trusted server-side source and are current enough for the operation.
81
+
82
+ Do not accept actor, tenant, owner, vendor, hub, courier, price, payout, or privilege fields from the request merely because they are present in a signed-in session.
83
+
84
+ ### 3. Trace Object Authorization
85
+
86
+ Follow the resource identifier from request to data access. Prefer a scoped query or atomic mutation that includes every required predicate:
87
+
88
+ ~~~text
89
+ resource_id
90
+ + tenant/store/hub scope
91
+ + owner/seller/assignee relationship
92
+ + permitted current state
93
+ = authorized object or no match
94
+ ~~~
95
+
96
+ A separate “check then update” sequence may race with reassignment or state changes. Record where a transaction, conditional update, row-level lock, or equivalent consistency control is required.
97
+
98
+ ### 4. Check Field-Level Authorization
99
+
100
+ Compare request and response schemas by role. Verify that mass assignment, serializer defaults, ORM spreads, exports, and error payloads cannot expose or change protected fields.
101
+
102
+ Examples of sensitive fields include:
103
+
104
+ - another customer's address or contact details;
105
+ - vendor settlement and payout configuration;
106
+ - courier identity or precise location outside an active delivery need;
107
+ - internal fraud, moderation, cost, or risk fields;
108
+ - role, tenant, hub, assignment, price, refund, and payment-state attributes.
109
+
110
+ ### 5. Audit State Transitions
111
+
112
+ Build an allowlist of valid transitions with authorized actors and invariants. For example, “assigned courier may mark picked up” is incomplete unless the order is assigned to that courier, is in the expected prior state, belongs to the same operational scope, and has not been cancelled.
113
+
114
+ Reject client-selected final states when the server should derive the transition. Verify idempotency and concurrency behavior for assignment, cancellation, refund, fulfillment, and delivery confirmation.
115
+
116
+ ### 6. Verify Indirect Paths
117
+
118
+ Apply the same policy to:
119
+
120
+ - nested resources and parent-child ownership;
121
+ - invoice, receipt, label, media, and document downloads;
122
+ - search, autocomplete, counts, and analytics;
123
+ - bulk update, import, and export;
124
+ - webhook and queue-triggered changes;
125
+ - cached responses and pre-signed URLs;
126
+ - support tools, impersonation, and “view as user” modes.
127
+
128
+ UI visibility is evidence of presentation only. A hidden button, disabled control, or unpublished link does not enforce authorization.
129
+
130
+ ### 7. Design Negative Tests
131
+
132
+ Use synthetic identities and records in an authorized test environment. For every important allowed case, add the nearest denied cases:
133
+
134
+ - same role, different owner;
135
+ - same role, different vendor/store/hub/tenant;
136
+ - correct role, wrong assignment;
137
+ - correct relationship, invalid resource state;
138
+ - expired, disabled, removed, or downgraded membership;
139
+ - protected field added to an otherwise valid request;
140
+ - bulk request containing one unauthorized object;
141
+ - stale session after role or assignment revocation;
142
+ - guessed nested-resource or download identifier.
143
+
144
+ Do not use real customer records as “victim” data. Do not enumerate identifiers or run live probes without explicit target authorization and a bounded test plan.
145
+
146
+ ### 8. Report Evidence and Gaps
147
+
148
+ Report confirmed behavior separately from code inference. A route with no test is not proven secure; mark it **NOT VERIFIED**. A permission with no owner is **UNDEFINED**.
149
+
150
+ ## Findings Format
151
+
152
+ ~~~text
153
+ MARKETPLACE RBAC AUDIT
154
+ Revision: <immutable source revision>
155
+ Environment: <code review or authorized test target>
156
+ Observed at: <UTC timestamp>
157
+
158
+ POLICY COVERAGE: <covered rows>/<required rows>
159
+ ALLOWED-PATH TESTS: PASS | FAIL | NOT VERIFIED
160
+ DENIED-PATH TESTS: PASS | FAIL | NOT VERIFIED
161
+ OBJECT OWNERSHIP: PASS | FAIL | NOT VERIFIED
162
+ TENANT/STORE/HUB ISOLATION: PASS | FAIL | NOT VERIFIED
163
+ STATE TRANSITIONS: PASS | FAIL | NOT VERIFIED
164
+ FIELD-LEVEL ACCESS: PASS | FAIL | NOT VERIFIED
165
+ INDIRECT PATHS: PASS | FAIL | NOT VERIFIED
166
+ PRIVILEGED ACTION AUDITABILITY: PASS | FAIL | NOT VERIFIED
167
+
168
+ OVERALL: PASS | FAIL | INCOMPLETE
169
+ Findings: <IDs with actor, resource, operation, evidence, and impact>
170
+ Undefined policies: <explicit list>
171
+ Untested paths: <explicit list>
172
+ ~~~
173
+
174
+ ## Example Policy Rows
175
+
176
+ | Actor | Resource and operation | Relationship/state | Expected |
177
+ |---|---|---|---|
178
+ | Customer | View order | Own order | Allow |
179
+ | Customer | View order | Another customer's order | Deny |
180
+ | Vendor operator | Update product | Product belongs to vendor; editable state | Allow permitted fields only |
181
+ | Vendor operator | View payout | Different vendor | Deny |
182
+ | Courier | Update delivery status | Assigned delivery; valid next state | Allow one transition |
183
+ | Courier | Read customer location | Unassigned or completed delivery | Deny |
184
+ | Hub operator | Assign courier | Order belongs to serviced hub; assignable state | Allow |
185
+ | Hub operator | Refund payment | No refund permission | Deny |
186
+ | Support agent | View order | Active support purpose | Allow redacted fields and audit access |
187
+ | Administrator | Change user role | Explicit privilege plus required approval | Allow and emit audit event |
188
+
189
+ ## Severity Guidance
190
+
191
+ - **Critical:** cross-tenant administrative access, payout destination changes, role escalation, mass customer-data access, or unauthorized refunds.
192
+ - **High:** cross-owner order/address access, unauthorized fulfillment transitions, courier location exposure, or vendor isolation failure.
193
+ - **Medium:** excessive fields, missing privileged audit events, stale-role access, or enumeration through counts and metadata.
194
+ - **Low:** policy/documentation gaps with no demonstrated access bypass.
195
+
196
+ Base severity on demonstrated reach, sensitivity, prerequisites, and business impact. Do not inflate severity from a role name alone.
197
+
198
+ ## Best Practices
199
+
200
+ - Treat authorization as policy over role, relationship, scope, state, and fields.
201
+ - Default new actor-resource-operation combinations to deny until explicitly defined.
202
+ - Enforce policy server-side at every entry point, close to the data mutation.
203
+ - Prefer reusable policy functions plus negative tests over scattered role-name checks.
204
+ - Make role and assignment revocation effective within a defined, tested interval.
205
+ - Require explicit approval and immutable audit events for high-impact privileged actions.
206
+ - Re-run affected matrix rows after route, schema, role, workflow, or ownership changes.
207
+
208
+ ## Common Pitfalls
209
+
210
+ - **Problem:** The frontend hides unauthorized actions.
211
+ **Solution:** Test the backend operation directly with a synthetic unauthorized principal.
212
+
213
+ - **Problem:** A vendor role can access every vendor's records.
214
+ **Solution:** Require both the role and the resource's vendor/store relationship in the query.
215
+
216
+ - **Problem:** A courier can submit any delivery state.
217
+ **Solution:** Authorize one server-defined transition from the current state for the assigned courier.
218
+
219
+ - **Problem:** An admin bypass silently applies to support agents.
220
+ **Solution:** Define separate privileged operations, field scope, approval requirements, and audit events.
221
+
222
+ - **Problem:** List endpoints are scoped but exports or downloads are not.
223
+ **Solution:** Reuse the same policy at every direct and indirect resource path.
224
+
225
+ ## Limitations
226
+
227
+ - A source review cannot prove runtime identity-provider configuration or database policies without corresponding evidence.
228
+ - Negative tests prove only the identities, resources, operations, states, and environments exercised.
229
+ - This skill does not replace threat modeling, authentication review, privacy assessment, or an authorized penetration test.
230
+ - Marketplace policy varies by product and jurisdiction; unresolved business decisions must remain **UNDEFINED**.
231
+
232
+ ## Security & Safety Notes
233
+
234
+ - Keep the audit read-only unless the user separately authorizes test creation or remediation.
235
+ - Use synthetic identities and records; never test by accessing unrelated real users' data.
236
+ - Redact tokens, session material, personal data, internal identifiers, and sensitive topology from evidence.
237
+ - Stop before live probing, privilege changes, impersonation, bulk exports, or state-changing requests unless the exact action and target are authorized.
238
+
239
+ ## Related Skills
240
+
241
+ - **@api-security-best-practices** — use for broader API authentication, validation, abuse controls, and secure implementation patterns.
242
+ - **@saas-multi-tenant** — use for designing tenant isolation and PostgreSQL row-level security.
243
+ - **@idor-testing** — use only for explicitly authorized offensive IDOR testing.
@@ -0,0 +1,135 @@
1
+ ---
2
+ name: md2video-audio
3
+ description: "Convert Markdown documents into narrated MP4 videos with synchronized visuals and voice narration."
4
+ category: media
5
+ risk: safe
6
+ source: community
7
+ source_repo: 70v-Yoyo/md2video-audio-skill
8
+ source_type: community
9
+ date_added: "2026-09-12"
10
+ author: 70v-Yoyo
11
+ tags: [markdown, video, audio, text-to-speech, marp, presentation]
12
+ tools: [claude, cursor, gemini]
13
+ license: "Apache-2.0"
14
+ license_source: "https://github.com/70v-Yoyo/md2video-audio-skill/blob/main/LICENSE"
15
+ ---
16
+
17
+ # Md2video-audio
18
+
19
+ ## Overview
20
+
21
+ `md2video-audio` converts a Markdown document into a narrated MP4 video by transforming the source into synchronized presentation visuals and spoken narration.
22
+
23
+ The workflow preserves the original file and generates separate presentation, narration, and video outputs.
24
+
25
+ - `source_repo: 70v-Yoyo/md2video-audio-skill`
26
+ - `source_type: community`
27
+
28
+ ## When to Use This Skill
29
+
30
+ - Use when converting Markdown tutorials, reports, or presentations into narrated videos.
31
+ - Use when creating presentation-style videos.
32
+ - Use when the user asks for Markdown-to-video, narrated slides, or audio-video generation.
33
+
34
+ ## How It Works
35
+
36
+ ### Step 1: Check Environment
37
+
38
+ Verify required local dependencies before running the workflow. Do not install, remove, or modify dependencies without user confirmation.
39
+
40
+ ### Step 2: Prepare the Markdown
41
+
42
+ Keep the original file unchanged.
43
+
44
+ Create a new Markdown file with improved sectioning, formatting, and natural transitions while preserving the original meaning.
45
+
46
+ ### Step 3: Generate Presentation Markdown
47
+
48
+ Convert the prepared document into Marp-compatible slides.
49
+
50
+ - Separate slides with `---`.
51
+ - Prevent content overflow.
52
+ - Split oversized tables, code blocks, or sections when necessary.
53
+ - Ask the user to choose a Marp style when required.
54
+
55
+ ### Step 4: Generate Narration
56
+
57
+ Create a narration Markdown file aligned one-to-one with the presentation slides.
58
+
59
+ Remove visual-only characters that should not be spoken and verify that slide separators remain synchronized.
60
+
61
+ ### Step 5: Generate Video
62
+
63
+ Run the provided video-generation script with the presentation and narration files:
64
+
65
+ ```
66
+ python ai-2md2marp2av.py presentation.md narration.md
67
+ ```
68
+
69
+ The script renders Marp slides, generates speech with Edge-TTS, and combines them into an MP4 video.
70
+
71
+ Ask the user to complete any interactive input required by the script.
72
+
73
+ ### Step 6: Fallback
74
+
75
+ If the primary workflow fails, try the included fallback scripts in order:
76
+
77
+ ```
78
+ python md2marp2av.py
79
+ ```
80
+
81
+ Then:
82
+
83
+ ```
84
+ python md2video.py
85
+ ```
86
+
87
+ ## Examples
88
+
89
+ ### Example 1: Convert a Tutorial
90
+
91
+ ```
92
+ /md2video-audio tutorial.md
93
+ ```
94
+
95
+ Produces presentation Markdown, narration Markdown, and a narrated MP4 video.
96
+
97
+ ### Example 2: Convert a Work Report
98
+
99
+ ```
100
+ /md2video-audio project-review.md
101
+ ```
102
+
103
+ Use the generated slides and narration to create a presentation-style report video.
104
+
105
+ ## Best Practices
106
+
107
+ - ✅ Preserve the original Markdown file.
108
+ - ✅ Keep presentation and narration slide counts synchronized.
109
+ - ✅ Split slides that exceed safe layout limits.
110
+ - ✅ Confirm before installing dependencies or running interactive actions.
111
+ - ❌ Do not overwrite the source document.
112
+ - ❌ Do not silently install, remove, or modify system dependencies.
113
+
114
+ ## Limitations
115
+
116
+ - Requires the local runtime and dependencies used by the included scripts.
117
+ - Complex Markdown layouts may require manual adjustment.
118
+ - Edge-TTS availability depends on the local network and runtime environment.
119
+ - Stop and ask for clarification when required files, permissions, or user choices are missing.
120
+
121
+ ## Security & Safety Notes
122
+
123
+ - Run scripts only in a local or authorized environment.
124
+ - Confirm with the user before installing dependencies or making environment changes.
125
+ - Generated files should be written as new files rather than replacing source content.
126
+ - Do not execute interactive or destructive commands without explicit user confirmation.
127
+
128
+ ## Common Pitfalls
129
+
130
+ - **Problem:** Presentation and narration contain different slide counts.
131
+ **Solution:** Verify the number of `---` separators and realign the narration.
132
+ - **Problem:** Slide content overflows the Marp layout.
133
+ **Solution:** Split the content into smaller logical sections before rendering.
134
+ - **Problem:** Video generation fails because dependencies are unavailable.
135
+ **Solution:** Verify the environment first, then use the fallback scripts if appropriate.