mattmireles commited on
Commit
ff66cdd
·
verified ·
1 Parent(s): b75890f

Clean non-artifact files from model repo

Browse files

Remove source, build, demo, test, virtualenv, and generated-output files from the Hugging Face model repo while leaving README.md and all existing model/voice artifacts untouched.

This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .DS_Store +0 -0
  2. .claude/settings.local.json +0 -24
  3. .claude/skills/audit/SKILL.md +0 -199
  4. .claude/skills/create-plan/SKILL.md +0 -64
  5. .claude/skills/create-plan/references/index.md +0 -20
  6. .claude/skills/create-skill/SKILL.md +0 -557
  7. .claude/skills/debug/SKILL.md +0 -129
  8. .claude/skills/deploy/SKILL.md +0 -67
  9. .claude/skills/documentation/SKILL.md +0 -53
  10. .claude/skills/documentation/references/index.md +0 -11
  11. .claude/skills/execute-plan/SKILL.md +0 -103
  12. .claude/skills/execute-plan/references/index.md +0 -20
  13. .claude/skills/git-commit/SKILL.md +0 -236
  14. .claude/skills/git-push/SKILL.md +0 -111
  15. .claude/skills/markdown/SKILL.md +0 -55
  16. .claude/skills/markdown/references/index.md +0 -14
  17. .claude/skills/phase-audit/SKILL.md +0 -77
  18. .claude/skills/phase-audit/references/index.md +0 -19
  19. .claude/skills/write-notes/SKILL.md +0 -62
  20. .claude/skills/write-notes/references/index.md +0 -11
  21. .github/FUNDING.yml +0 -15
  22. .gitignore +0 -178
  23. .venv-coreml/bin/Activate.ps1 +0 -247
  24. .venv-coreml/bin/activate +0 -69
  25. .venv-coreml/bin/activate.csh +0 -26
  26. .venv-coreml/bin/activate.fish +0 -66
  27. .venv-coreml/bin/convert-caffe2-to-onnx +0 -7
  28. .venv-coreml/bin/convert-onnx-to-caffe2 +0 -7
  29. .venv-coreml/bin/csv2rdf +0 -7
  30. .venv-coreml/bin/csvw2datasette +0 -7
  31. .venv-coreml/bin/csvw2json +0 -7
  32. .venv-coreml/bin/csvw2markdown +0 -7
  33. .venv-coreml/bin/csvw2sqlite +0 -7
  34. .venv-coreml/bin/csvwdescribe +0 -7
  35. .venv-coreml/bin/csvwvalidate +0 -7
  36. .venv-coreml/bin/espeak-phonemizer +0 -7
  37. .venv-coreml/bin/f2py +0 -7
  38. .venv-coreml/bin/hf +0 -7
  39. .venv-coreml/bin/huggingface-cli +0 -7
  40. .venv-coreml/bin/isympy +0 -7
  41. .venv-coreml/bin/jsonschema +0 -7
  42. .venv-coreml/bin/normalizer +0 -7
  43. .venv-coreml/bin/phonemize +0 -7
  44. .venv-coreml/bin/pip +0 -8
  45. .venv-coreml/bin/pip3 +0 -8
  46. .venv-coreml/bin/pip3.10 +0 -8
  47. .venv-coreml/bin/pyaml +0 -7
  48. .venv-coreml/bin/pybabel +0 -7
  49. .venv-coreml/bin/rdf2dot +0 -7
  50. .venv-coreml/bin/rdfgraphisomorphism +0 -7
.DS_Store DELETED
Binary file (6.15 kB)
 
.claude/settings.local.json DELETED
@@ -1,24 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(wc -l /Users/mm/Documents/GitHub/kokoro-coreml/test_ane_pipeline.py /Users/mm/Documents/GitHub/kokoro-coreml/export_synthesizers.py /Users/mm/Documents/GitHub/kokoro-coreml/export_*.py /Users/mm/Documents/GitHub/kokoro-coreml/test_*.py)",
5
- "Bash(wc -l /Users/mm/Documents/GitHub/kokoro-coreml/*.py)",
6
- "Bash(ls -lh /Users/mm/Documents/GitHub/kokoro-coreml/*.py)",
7
- "Bash(head -20 /Users/mm/Documents/GitHub/kokoro-coreml/export_*.py)",
8
- "Bash(grep -l \"def export\" /Users/mm/Documents/GitHub/kokoro-coreml/*.py)",
9
- "Bash(grep -l \"export_\" /Users/mm/Documents/GitHub/kokoro-coreml/examples/*.py)",
10
- "Bash(grep -n \"def _load_module_from\" /Users/mm/Documents/GitHub/kokoro-coreml/export_*.py)",
11
- "Bash(grep -n \"TODO\\\\|FIXME\\\\|XXX\\\\|HACK\\\\|dead\\\\|unused\\\\|deprecated\" /Users/mm/Documents/GitHub/kokoro-coreml/*.py)",
12
- "Bash(sed -n '24,50p' /Users/mm/Documents/GitHub/kokoro-coreml/export_duration.py)",
13
- "Bash(sed -n '24,50p' /Users/mm/Documents/GitHub/kokoro-coreml/export_f0n_fixed.py)",
14
- "Bash(sed -n '38,64p' /Users/mm/Documents/GitHub/kokoro-coreml/export_synthesis_fixed.py)",
15
- "Bash(grep -rn \"__all__\" /Users/mm/Documents/GitHub/kokoro-coreml/*.py)",
16
- "Bash(ls -la /Users/mm/Documents/GitHub/kokoro-coreml/export_*.py)",
17
- "Bash(git rm:*)",
18
- "Bash(git add:*)",
19
- "Bash(git commit -m ':*)",
20
- "Bash(grep -n \"from kokoro._export_utils import\\\\|from.*_export_utils\" /Users/mm/Documents/GitHub/kokoro-coreml/examples/export_coreml.py /Users/mm/Documents/GitHub/kokoro-coreml/export_synth/*.py)",
21
- "Bash(grep -n \"_load_module_from\\\\|load_kokoro_for_export\" /Users/mm/Documents/GitHub/kokoro-coreml/export_*.py /Users/mm/Documents/GitHub/kokoro-coreml/examples/*.py)"
22
- ]
23
- }
24
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.claude/skills/audit/SKILL.md DELETED
@@ -1,199 +0,0 @@
1
- ---
2
- name: audit
3
- description: Triggered when the user’s message includes the word **audit** (primary routing hook). Findings-first review of the kokoro-coreml repo or a scoped slice (paths, diff, commits)—runs pytest (and optional lint when configured) as mechanical signals, optionally delegates readonly subagents by charter when scope or risk warrants it (**when in doubt, parallelize**), merges and dedupes findings, and assigns A–F grades for architecture, correctness risk, and complexity debt. Do not use when the user wants implementation fixes unless they explicitly ask to fix issues after the audit—for plan-phase checklists against an active plan, prefer phase-audit.
4
- ---
5
-
6
- # Audit
7
-
8
- ## Purpose
9
-
10
- Run a **structured, paranoid-friendly** audit focused on **bugs** and **needless complexity** in this **PyTorch → Core ML** repo. The orchestrator **does not** silently rewrite code; it **surfaces** issues with severity, paths, and letter grades.
11
-
12
- **Posture:** use **judgment**. Narrow scope (few files, small diff, localized
13
- change) can be a **single-agent** pass. **Whole-repo**, **large diff**, **high
14
- blast radius**, or **you are unsure** → prefer **multiple readonly subagents in
15
- parallel** (one turn, several `Task` calls), each with a **narrow charter**, then
16
- **merge and dedupe** into one report. **When in doubt, use multiple agents.**
17
-
18
- ## Use When
19
-
20
- - The user’s message includes **`audit`** as a substring (primary trigger)—e.g.
21
- **audit**, **audit this**, **security audit**, **use the audit skill** (case
22
- insensitive in normal routing).
23
-
24
- ## Do Not Use When
25
-
26
- - The user wants **implementation** only—unless they ask for fixes **after**
27
- the audit lands.
28
- - The work is **only** validating an `execute-plan` phase against the plan and
29
- rubric—use **`phase-audit`** instead (this skill is broader).
30
-
31
- ## Scope (ask or infer once)
32
-
33
- Establish **audit scope** before delegating:
34
-
35
- | Kind | How to bound |
36
- | --- | --- |
37
- | **Whole codebase** | Repo root; subagents apportion by area (`kokoro/`, `examples/`, `coreml/`, `kokoro.js/`, export scripts) or by charter only. |
38
- | **Paths** | User-provided globs or directories; all charters focus there. |
39
- | **Git delta** | User provides base (`main`, `origin/main`, tag) or “last N commits”; use `git diff`, `git log -n`, `git diff-tree --name-only`. |
40
- | **Single feature** | User names flows (e.g. “duration export”, “decoder-only 3s”); map to directories from `README.md` and `README/*.md`. |
41
-
42
- State the **chosen scope** in the final report header.
43
-
44
- ## Mechanical signals (orchestrator, once)
45
-
46
- From **repository root**, when the audited surface includes **Python** (default for this repo):
47
-
48
- 1. **`pytest`** — run the test suite when pytest is installed (`python -m pytest` if needed).
49
- 2. **Lint** — only if the repo defines a standard lint command (e.g. in `pyproject.toml` or docs); otherwise skip and note “no configured lint.”
50
-
51
- Report failures as **P0 / Critical** findings with command output (summarize if
52
- huge). Do not “fix” unless the user later asks.
53
-
54
- **Optional:** targeted **`kokoro.js`** checks (`npm test` in `kokoro.js/`) when the
55
- change touches the JS package; failures are **P0** for that surface.
56
-
57
- When subagents run, they should assume mechanical checks ran **once**; they
58
- focus on **review**, not on re-running gates unless a charter requires
59
- spot-checking a file.
60
-
61
- ## Subagent delegation (use judgment)
62
-
63
- **When one agent is enough:** tiny or localized scope (e.g. a handful of files,
64
- one worker, or a single focused diff); low coupling; user asked for a quick
65
- pass. The orchestrator performs the full charter coverage **solo** (still hit
66
- architecture, correctness, security/ops, and complexity—just in one pass).
67
-
68
- **When to parallelize:** whole-repo or multi-package audit; large `git` range;
69
- security- or money-sensitive paths; queue/cron/webhook/idempotency concerns; or
70
- **any uncertainty** about depth. **When in doubt, launch parallel subagents.**
71
-
72
- **If parallelizing:** in **one assistant turn**, launch **up to four**
73
- `Task` subagents with `readonly: true`, **`subagent_type`:** `generalPurpose`
74
- (or `explore` when the request is mostly mapping file layout). Use **`model: fast`**
75
- unless the user asks for maximum depth. You may use **fewer than four** if scope
76
- is medium (e.g. two agents—correctness+security vs architecture+complexity).
77
-
78
- Give each subagent:
79
-
80
- - The **exact scope** (paths, diff summary, or “whole repo”).
81
- - One **charter** from below (copy the charter text into the task prompt).
82
- - Instruction: **concrete file paths**, **severity** (P0–P3), **one paragraph
83
- max per finding**, **no generic advice**.
84
-
85
- ### Charter 1 — Architecture & modules
86
-
87
- God modules; separation between **export scripts**, **`kokoro/`** library code,
88
- and **runtime-facing** `coreml/` artifacts; public surfaces; fan-in choke points;
89
- misplaced orchestration vs model math. Flag files approaching **~1000 LOC** or
90
- cramming unrelated responsibilities (**repo norm:** well under 1k LOC per file).
91
-
92
- ### Charter 2 — Correctness & reliability
93
-
94
- Logic bugs; tensor shape mistakes; tracing/export mismatches; numerical drift;
95
- error paths; swallowed exceptions; **async** misuse in JS if in scope; boundary
96
- conditions for **static buckets** and Swift-side alignment; Core ML runtime
97
- assumptions vs actual graphs.
98
-
99
- ### Charter 3 — Security, privacy, operational
100
-
101
- Secrets in logs or committed credentials; unsafe subprocess usage; obvious **path**
102
- or **checkpoint** foot-guns; operational mismatches between **documented I/O**
103
- and code **when relevant to scope**.
104
-
105
- ### Charter 4 — Complexity, duplication, maintainability
106
-
107
- Needless abstraction; configuration or branching explosion; **duplication with
108
- drift** between export paths; dead code; **comment/doc lies** vs `README/` or
109
- `CLAUDE.md`; weak tests; naming that hides behavior.
110
-
111
- ## Consolidation (orchestrator)
112
-
113
- After **subagents return** or after a **solo** review pass:
114
-
115
- 1. **Dedupe:** merge findings that cite the same root cause or file+theme.
116
- 2. **Severity:** **P0** critical (wrongness, security, data loss, build breaks),
117
- **P1** high, **P2** medium, **P3** low / hygiene.
118
- 3. **Grades:** assign three letter grades **A–F** using [Grading rubric](#grading-rubric).
119
- **Overall grade = worst of the three** (if any dimension is **D**, overall
120
- cannot be **B** or higher—cap at **D** unless you justify an exception in one
121
- sentence).
122
- 4. **New teammate test:** one line—would a newcomer likely break this area in
123
- week one? (y/n + why)
124
-
125
- ## Grading rubric
126
-
127
- Assign **Architecture**, **Correctness risk**, and **Complexity debt** separately.
128
-
129
- | Grade | Meaning |
130
- | --- | --- |
131
- | **A** | Clear boundaries, hard to misuse, simple where it matters, issues are cosmetic. |
132
- | **B** | Solid with minor debt; a few focused fixes would raise to A. |
133
- | **C** | Meaningful issues; would block merges in a strict shop without a plan. |
134
- | **D** | Serious structural or reliability risk; bounded scope but unsafe. |
135
- | **F** | Unsafe, incomprehensible, or broken; needs pause and redesign or revert. |
136
-
137
- **Correctness risk** includes likelihood of **latent bugs** and **failure-mode**
138
- holes—not only existing failing tests.
139
-
140
- ## Output template
141
-
142
- ```text
143
- ## Audit scope
144
- - ...
145
-
146
- ## Mechanical checks
147
- - pytest: pass | fail (summary)
148
- - lint (if configured): pass | fail (summary)
149
- - kokoro.js tests (if run): ...
150
-
151
- ## Grades
152
- - Architecture: ?
153
- - Correctness risk: ?
154
- - Complexity debt: ?
155
- - Overall (worst-of-three): ?
156
-
157
- ## Findings (severity order)
158
- ### P0 — Critical
159
- - ...
160
-
161
- ### P1 — High
162
- - ...
163
-
164
- ### P2 — Medium
165
- - ...
166
-
167
- ### P3 — Low
168
- - ...
169
-
170
- ## Delegation / overlap notes
171
- - Solo vs N subagents; deduped: ...
172
-
173
- ## Residual risks / what we did not run
174
- - ...
175
-
176
- ## New teammate test
177
- - ...
178
- ```
179
-
180
- ## Anti-patterns
181
-
182
- - **Whole-repo or high-risk audit in a single shallow pass** when depth was
183
- needed—**when in doubt, parallelize.**
184
- - **Four subagents for a three-line diff**—wasted latency; judge proportionally.
185
- - **Findings without paths**—every substantive issue should anchor to a file or
186
- symbol when possible.
187
- - **Auto-implementing** during audit when the user only asked for review.
188
- - **Grade inflation**—if Correctness is **D**, overall is not **B**.
189
- - **Ignoring mechanical failures**—typecheck/lint red is at least **P0** for
190
- code health.
191
-
192
- ## Relation to other skills
193
-
194
- - **`phase-audit`:** plan-phase completion vs rubric and plan checkboxes.
195
- - **`git-commit`:** post-commit **non-blocking** **`pytest`** + **`HEAD`** diff
196
- scan only—**not** a substitute for **`audit`** (no full matrix by default, no
197
- grades, no multi-agent).
198
- - **`deploy`:** defines what “ship” means here (no Cloudflare scripts); audit does
199
- not replace user-intent release checks.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.claude/skills/create-plan/SKILL.md DELETED
@@ -1,64 +0,0 @@
1
- ---
2
- name: create-plan
3
- description: Create an implementation plan for this repo. Use when the user wants a checked-in plan under README/Plans, wants the work scoped into phases, and expects the plan to be built from repo guides and notes first, with Context7 only when current external library or framework behavior materially affects the plan. Do not use for implementing the work, informal brainstorming, or lightweight notes.
4
- ---
5
-
6
- # Create Plan
7
-
8
- ## Purpose
9
-
10
- Use this skill to turn a concrete request into a repo-native implementation
11
- plan. The output is a real plan file under `README/Plans/...`, not a chat-only
12
- outline.
13
-
14
- ## Use When
15
-
16
- - The work is large enough to need a real implementation plan.
17
- - The user wants a plan written into the repo.
18
- - The implementation needs phases, verification steps, and concrete files.
19
-
20
- ## Do Not Use When
21
-
22
- - The user wants direct implementation instead of planning.
23
- - The request is still too vague to scope honestly.
24
- - The output should be a note, scratchpad, or brainstorm instead of a plan.
25
-
26
- ## Procedure
27
-
28
- 1. Read [references/index.md](references/index.md) first.
29
- 2. Gather repo context in this order:
30
- - directly related `README/Guides`
31
- - directly related `README/Notes`
32
- - `README/Skills` when the work touches plan workflow, skills, or routing
33
- - neighboring plans in the target `README/Plans/...` subtree
34
- 3. Use Context7 only when the plan depends on current library, framework, or
35
- API behavior that may have changed.
36
- 4. If Context7 is insufficient, fall back to official vendor docs.
37
- 5. Choose the most specific existing `README/Plans/...` subdirectory that fits
38
- the work. If none fits cleanly, place the plan in the closest higher-level
39
- subtree instead of inventing a noisy new folder.
40
- 6. Write the plan with the repo's canonical template and make it implementation
41
- ready:
42
- - concrete phases
43
- - specific files where knowable
44
- - verification per phase
45
- - hard requirements
46
- - rollback or kill switch when relevant
47
- 7. Audit the draft before stopping:
48
- - no missing policy that an implementer would have to invent
49
- - no fake certainty where the repo context is incomplete
50
- - no implementation work performed while planning
51
-
52
- ## Canonical Docs
53
-
54
- Read [references/index.md](references/index.md) first. It maps the canonical
55
- workflow guide, the plan template, and the repo references to inspect before
56
- writing a new plan.
57
-
58
- ## Handoff Rules
59
-
60
- - Hand off to `execute-plan` only after the plan is checked in and the user
61
- wants implementation.
62
- - Hand off to a domain skill only if the planning request narrows into a
63
- domain-specific technical question that must be answered before the plan can
64
- be completed.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.claude/skills/create-plan/references/index.md DELETED
@@ -1,20 +0,0 @@
1
- # Create Plan References
2
-
3
- Canonical docs for `create-plan`.
4
-
5
- - `README/Skills/plan-workflow-skills-guide.md`
6
- Read first for the shared workflow contract and the required research order.
7
- - `README/Templates/Plans-template.md`
8
- Read for the exact structure and required sections of the final plan.
9
-
10
- Use **`README/Skills/`** when the plan touches repo skills, routing, or skill
11
- authoring (the workflow guide covers boundaries and progressive disclosure; use
12
- other files in that folder as canonical skill docs are added). For the live skill
13
- inventory, inspect `.claude/skills/` (`.cursor/skills` and `.agents/skills` symlink here in this repo).
14
-
15
- Also inspect:
16
-
17
- - the most relevant `README/Guides/...` and `README/Notes/...` files for the
18
- task domain
19
- - neighboring plans in the target `README/Plans/...` subtree for local style and
20
- naming patterns
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.claude/skills/create-skill/SKILL.md DELETED
@@ -1,557 +0,0 @@
1
- ---
2
- name: create-skill
3
- description: >-
4
- Guides users through creating effective Agent Skills for Cursor. Use when you
5
- want to create, write, or author a new skill, or asks about skill structure,
6
- best practices, or SKILL.md format.
7
- ---
8
- # Creating Skills in Cursor
9
-
10
- This skill guides you through creating effective Agent Skills for Cursor. Skills are markdown files that teach the agent how to perform specific tasks: reviewing PRs using team standards, generating commit messages in a preferred format, querying database schemas, or any specialized workflow.
11
-
12
- ## Default: mirror personal skills everywhere
13
-
14
- When the user wants a **personal (global) skill**—not something checked into a single repo—**treat “create this skill” as “create it for Cursor, Claude Code, Codex, and Agents”** unless they **explicitly** narrow scope (examples: “Cursor only”, “don’t touch ~/.agents”, “repo skill only”).
15
-
16
- **Mirror targets** (same directory layout: `skill-name/SKILL.md`). Write one canonical `SKILL.md`, then install **identical** copies under:
17
-
18
- | # | Path | Load by |
19
- |---|------|--------|
20
- | 1 | `~/.cursor/skills/skill-name/` | Cursor (personal) |
21
- | 2 | `~/.claude/skills/skill-name/` | Claude Code (user) |
22
- | 3 | `~/.codex/skills/skill-name/` | Codex |
23
- | 4 | `~/.agents/skills/skill-name/` | Agents layouts that read `~/.agents/skills` |
24
-
25
- `~/.codex/skills/.system/` is bundled—**never** mirror into `.system/`; only into sibling `skill-name/` folders.
26
-
27
- **Implementation habit:** after authoring `SKILL.md`, run `mkdir -p` for each path above and **copy the same file** (or write once and `cp` to each root). If a directory does not exist yet, create it—avoid leaving a skill in only one tree.
28
-
29
- ## Default: project skills triple mirror (repo)
30
-
31
- When **creating** a new **project** skill (checked into a repository), **always** install the **same** `SKILL.md` (and any `reference.md` / `scripts/` siblings) in all of:
32
-
33
- | # | Path | Tool |
34
- |---|------|------|
35
- | 1 | `.cursor/skills/skill-name/` | Cursor |
36
- | 2 | `.claude/skills/skill-name/` | Claude Code |
37
- | 3 | `.agents/skills/skill-name/` | Codex (Agents convention in this repo) |
38
-
39
- Skip a path only when the user **explicitly** narrows scope (e.g. “Cursor only in this repo”).
40
-
41
- **kokoro-coreml:** `.cursor/skills` and `.agents/skills` are **symlinks** to `.claude/skills` (see `ls -la .cursor/skills .agents/skills`). **Edit only** under `.claude/skills/`—Cursor and Agents resolve the same files; do not maintain duplicate trees.
42
-
43
- **Project skills** (repo) **do not** automatically go under `~/` unless the user asks. In **kokoro-coreml**, adding a skill means creating it under **`.claude/skills/`** only (Cursor/Agents paths are symlinks). In other repos, use the **triple mirror** above—**one** source of truth, identical copies or symlinks.
44
-
45
- ## Before You Begin: Gather Requirements
46
-
47
- Before creating a skill, gather essential information from the user about:
48
-
49
- 1. **Purpose and scope**: What specific task or workflow should this skill help with?
50
- 2. **Target location**: **Personal** → default [mirror everywhere](#default-mirror-personal-skills-everywhere). **Project** → default [triple mirror](#default-project-skills-triple-mirror-repo) (`.cursor/`, `.claude/`, `.agents/`); do not install under `~/` unless the user asks. Confirm any explicit **single-tool** exception before skipping a mirror path.
51
- 3. **Trigger scenarios**: When should the agent automatically apply this skill?
52
- 4. **Key domain knowledge**: What specialized information does the agent need that it wouldn't already know?
53
- 5. **Output format preferences**: Are there specific templates, formats, or styles required?
54
- 6. **Existing patterns**: Are there existing examples or conventions to follow?
55
-
56
- ### Inferring from Context
57
-
58
- If you have previous conversation context, infer the skill from what was discussed. You can create skills based on workflows, patterns, or domain knowledge that emerged in the conversation.
59
-
60
- ### Gathering Additional Information
61
-
62
- If you need clarification, use the AskQuestion tool when available:
63
-
64
- ```
65
- Example AskQuestion usage:
66
- - "Where should this skill be stored?" with options like ["Personal—mirror Cursor + Claude + Codex + ~/.agents (default)", "Project—triple mirror .cursor + .claude + .agents (default)", "Single-tool exception (explicit)"]
67
- - "Should this skill include executable scripts?" with options like ["Yes", "No"]
68
- ```
69
-
70
- If the AskQuestion tool is not available, ask these questions conversationally.
71
-
72
- ---
73
-
74
- ## Skill File Structure
75
-
76
- ### Directory Layout
77
-
78
- Skills are stored as directories containing a `SKILL.md` file:
79
-
80
- ```
81
- skill-name/
82
- ├── SKILL.md # Required - main instructions
83
- ├── reference.md # Optional - detailed documentation
84
- ├── examples.md # Optional - usage examples
85
- └── scripts/ # Optional - utility scripts
86
- ├── validate.py
87
- └── helper.sh
88
- ```
89
-
90
- ### Storage Locations
91
-
92
- | Type | Path | Scope |
93
- |------|------|-------|
94
- | Personal | ~/.cursor/skills/skill-name/ | Available across all your projects |
95
- | Project | .cursor/skills/skill-name/ | Cursor (repo; shared with team) |
96
- | Project | .claude/skills/skill-name/ | Claude Code (repo; shared with team) |
97
- | Project | .agents/skills/skill-name/ | Codex / Agents (repo; **same** files as `.claude` when symlinked) |
98
-
99
- **Project default:** When adding a new checked-in skill, create it in **Cursor**, **Claude Code**, and **Codex** locations above (see [Default: project skills triple mirror (repo)](#default-project-skills-triple-mirror-repo)).
100
-
101
- **IMPORTANT**: Never create **your** skills in `~/.cursor/skills-cursor/`. That directory is for Cursor-shipped defaults (including this `create-skill` document). Cursor may replace files there on upgrade—if you customize something under `skills-cursor`, keep a backup or maintain your own copy under `~/.cursor/skills/`.
102
-
103
- ### Same skill in Claude Code, Codex, or Agents
104
-
105
- Other assistants use their own user-level trees (same layout: `skill-name/SKILL.md`):
106
-
107
- | Tool | Typical user skills path | Notes |
108
- |------|--------------------------|--------|
109
- | Claude Code | ~/.claude/skills/skill-name/ | Repo-specific skills can also live in `.claude/skills/` inside a project |
110
- | Codex | ~/.codex/skills/skill-name/ | Often alongside `~/.codex/skills/.system/` (bundled); do not edit `.system` |
111
- | Agents | ~/.agents/skills/skill-name/ | Separate tree from Codex; not every install has it |
112
-
113
- For **personal** skills, follow [Default: mirror personal skills everywhere](#default-mirror-personal-skills-everywhere): **repo-agnostic** text when the skill should work in any checkout, then **identical `SKILL.md`** in each user-level path (not “on request”—**unless** the user opted out of a tool).
114
-
115
- ### SKILL.md Structure
116
-
117
- Every skill requires a `SKILL.md` file with YAML frontmatter and markdown body:
118
-
119
- ```markdown
120
- ---
121
- name: your-skill-name
122
- description: Brief description of what this skill does and when to use it
123
- ---
124
-
125
- # Your Skill Name
126
-
127
- ## Instructions
128
- Clear, step-by-step guidance for the agent.
129
-
130
- ## Examples
131
- Concrete examples of using this skill.
132
- ```
133
-
134
- ### Required Metadata Fields
135
-
136
- | Field | Requirements | Purpose |
137
- |-------|--------------|---------|
138
- | `name` | Max 64 chars, lowercase letters/numbers/hyphens only | Unique identifier for the skill |
139
- | `description` | Max 1024 chars, non-empty | Helps agent decide when to apply the skill |
140
-
141
- ---
142
-
143
- ## Writing Effective Descriptions
144
-
145
- The description is **critical** for skill discovery. The agent uses it to decide when to apply your skill.
146
-
147
- ### Description Best Practices
148
-
149
- 1. **Write in third person** (the description is injected into the system prompt):
150
- - ✅ Good: "Processes Excel files and generates reports"
151
- - ❌ Avoid: "I can help you process Excel files"
152
- - ❌ Avoid: "You can use this to process Excel files"
153
-
154
- 2. **Be specific and include trigger terms**:
155
- - ✅ Good: "Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction."
156
- - ❌ Vague: "Helps with documents"
157
-
158
- 3. **Include both WHAT and WHEN**:
159
- - WHAT: What the skill does (specific capabilities)
160
- - WHEN: When the agent should use it (trigger scenarios)
161
-
162
- ### Description Examples
163
-
164
- ```yaml
165
- # PDF Processing
166
- description: Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
167
-
168
- # Excel Analysis
169
- description: Analyze Excel spreadsheets, create pivot tables, generate charts. Use when analyzing Excel files, spreadsheets, tabular data, or .xlsx files.
170
-
171
- # Git Commit Helper
172
- description: Generate descriptive commit messages by analyzing git diffs. Use when the user asks for help writing commit messages or reviewing staged changes.
173
-
174
- # Code Review
175
- description: Review code for quality, security, and best practices following team standards. Use when reviewing pull requests, code changes, or when the user asks for a code review.
176
- ```
177
-
178
- ---
179
-
180
- ## Core Authoring Principles
181
-
182
- ### 1. Concise is Key
183
-
184
- The context window is shared with conversation history, other skills, and requests. Every token competes for space.
185
-
186
- **Default assumption**: The agent is already very smart. Only add context it doesn't already have.
187
-
188
- Challenge each piece of information:
189
- - "Does the agent really need this explanation?"
190
- - "Can I assume the agent knows this?"
191
- - "Does this paragraph justify its token cost?"
192
-
193
- **Good (concise)**:
194
- ```markdown
195
- ## Extract PDF text
196
-
197
- Use pdfplumber for text extraction:
198
-
199
- \`\`\`python
200
- import pdfplumber
201
-
202
- with pdfplumber.open("file.pdf") as pdf:
203
- text = pdf.pages[0].extract_text()
204
- \`\`\`
205
- ```
206
-
207
- **Bad (verbose)**:
208
- ```markdown
209
- ## Extract PDF text
210
-
211
- PDF (Portable Document Format) files are a common file format that contains
212
- text, images, and other content. To extract text from a PDF, you'll need to
213
- use a library. There are many libraries available for PDF processing, but we
214
- recommend pdfplumber because it's easy to use and handles most cases well...
215
- ```
216
-
217
- ### 2. Keep SKILL.md Under 500 Lines
218
-
219
- For optimal performance, the main SKILL.md file should be concise. Use progressive disclosure for detailed content.
220
-
221
- ### 3. Progressive Disclosure
222
-
223
- Put essential information in SKILL.md; detailed reference material in separate files that the agent reads only when needed.
224
-
225
- ```markdown
226
- # PDF Processing
227
-
228
- ## Quick start
229
- [Essential instructions here]
230
-
231
- ## Additional resources
232
- - For complete API details, see [reference.md](reference.md)
233
- - For usage examples, see [examples.md](examples.md)
234
- ```
235
-
236
- **Keep references one level deep** - link directly from SKILL.md to reference files. Deeply nested references may result in partial reads.
237
-
238
- ### 4. Set Appropriate Degrees of Freedom
239
-
240
- Match specificity to the task's fragility:
241
-
242
- | Freedom Level | When to Use | Example |
243
- |---------------|-------------|---------|
244
- | **High** (text instructions) | Multiple valid approaches, context-dependent | Code review guidelines |
245
- | **Medium** (pseudocode/templates) | Preferred pattern with acceptable variation | Report generation |
246
- | **Low** (specific scripts) | Fragile operations, consistency critical | Database migrations |
247
-
248
- ---
249
-
250
- ## Common Patterns
251
-
252
- ### Template Pattern
253
-
254
- Provide output format templates:
255
-
256
- ```markdown
257
- ## Report structure
258
-
259
- Use this template:
260
-
261
- \`\`\`markdown
262
- # [Analysis Title]
263
-
264
- ## Executive summary
265
- [One-paragraph overview of key findings]
266
-
267
- ## Key findings
268
- - Finding 1 with supporting data
269
- - Finding 2 with supporting data
270
-
271
- ## Recommendations
272
- 1. Specific actionable recommendation
273
- 2. Specific actionable recommendation
274
- \`\`\`
275
- ```
276
-
277
- ### Examples Pattern
278
-
279
- For skills where output quality depends on seeing examples:
280
-
281
- ```markdown
282
- ## Commit message format
283
-
284
- **Example 1:**
285
- Input: Added user authentication with JWT tokens
286
- Output:
287
- \`\`\`
288
- feat(auth): implement JWT-based authentication
289
-
290
- Add login endpoint and token validation middleware
291
- \`\`\`
292
-
293
- **Example 2:**
294
- Input: Fixed bug where dates displayed incorrectly
295
- Output:
296
- \`\`\`
297
- fix(reports): correct date formatting in timezone conversion
298
-
299
- Use UTC timestamps consistently across report generation
300
- \`\`\`
301
- ```
302
-
303
- ### Workflow Pattern
304
-
305
- Break complex operations into clear steps with checklists:
306
-
307
- ```markdown
308
- ## Form filling workflow
309
-
310
- Copy this checklist and track progress:
311
-
312
- \`\`\`
313
- Task Progress:
314
- - [ ] Step 1: Analyze the form
315
- - [ ] Step 2: Create field mapping
316
- - [ ] Step 3: Validate mapping
317
- - [ ] Step 4: Fill the form
318
- - [ ] Step 5: Verify output
319
- \`\`\`
320
-
321
- **Step 1: Analyze the form**
322
- Run: \`python scripts/analyze_form.py input.pdf\`
323
- ...
324
- ```
325
-
326
- ### Conditional Workflow Pattern
327
-
328
- Guide through decision points:
329
-
330
- ```markdown
331
- ## Document modification workflow
332
-
333
- 1. Determine the modification type:
334
-
335
- **Creating new content?** → Follow "Creation workflow" below
336
- **Editing existing content?** → Follow "Editing workflow" below
337
-
338
- 2. Creation workflow:
339
- - Use docx-js library
340
- - Build document from scratch
341
- ...
342
- ```
343
-
344
- ### Feedback Loop Pattern
345
-
346
- For quality-critical tasks, implement validation loops:
347
-
348
- ```markdown
349
- ## Document editing process
350
-
351
- 1. Make your edits
352
- 2. **Validate immediately**: \`python scripts/validate.py output/\`
353
- 3. If validation fails:
354
- - Review the error message
355
- - Fix the issues
356
- - Run validation again
357
- 4. **Only proceed when validation passes**
358
- ```
359
-
360
- ---
361
-
362
- ## Utility Scripts
363
-
364
- Pre-made scripts offer advantages over generated code:
365
- - More reliable than generated code
366
- - Save tokens (no code in context)
367
- - Save time (no code generation)
368
- - Ensure consistency across uses
369
-
370
- ```markdown
371
- ## Utility scripts
372
-
373
- **analyze_form.py**: Extract all form fields from PDF
374
- \`\`\`bash
375
- python scripts/analyze_form.py input.pdf > fields.json
376
- \`\`\`
377
-
378
- **validate.py**: Check for errors
379
- \`\`\`bash
380
- python scripts/validate.py fields.json
381
- # Returns: "OK" or lists conflicts
382
- \`\`\`
383
- ```
384
-
385
- Make clear whether the agent should **execute** the script (most common) or **read** it as reference.
386
-
387
- ---
388
-
389
- ## Anti-Patterns to Avoid
390
-
391
- ### 1. Windows-Style Paths
392
- - ✅ Use: `scripts/helper.py`
393
- - ❌ Avoid: `scripts\helper.py`
394
-
395
- ### 2. Too Many Options
396
- ```markdown
397
- # Bad - confusing
398
- "You can use pypdf, or pdfplumber, or PyMuPDF, or..."
399
-
400
- # Good - provide a default with escape hatch
401
- "Use pdfplumber for text extraction.
402
- For scanned PDFs requiring OCR, use pdf2image with pytesseract instead."
403
- ```
404
-
405
- ### 3. Time-Sensitive Information
406
- ```markdown
407
- # Bad - will become outdated
408
- "If you're doing this before August 2025, use the old API."
409
-
410
- # Good - use an "old patterns" section
411
- ## Current method
412
- Use the v2 API endpoint.
413
-
414
- ## Old patterns (deprecated)
415
- <details>
416
- <summary>Legacy v1 API</summary>
417
- ...
418
- </details>
419
- ```
420
-
421
- ### 4. Inconsistent Terminology
422
- Choose one term and use it throughout:
423
- - ✅ Always "API endpoint" (not mixing "URL", "route", "path")
424
- - ✅ Always "field" (not mixing "box", "element", "control")
425
-
426
- ### 5. Vague Skill Names
427
- - ✅ Good: `processing-pdfs`, `analyzing-spreadsheets`
428
- - ❌ Avoid: `helper`, `utils`, `tools`
429
-
430
- ---
431
-
432
- ## Skill Creation Workflow
433
-
434
- When helping a user create a skill, follow this process:
435
-
436
- ### Phase 1: Discovery
437
-
438
- Gather information about:
439
- 1. The skill's purpose and primary use case
440
- 2. Storage location (**personal** → confirm default full mirror vs explicit single-tool exception; **project** → default triple mirror unless explicit exception)
441
- 3. Trigger scenarios
442
- 4. Any specific requirements or constraints
443
- 5. Existing examples or patterns to follow
444
-
445
- If you have access to the AskQuestion tool, use it for efficient structured gathering. Otherwise, ask conversationally.
446
-
447
- ### Phase 2: Design
448
-
449
- 1. Draft the skill name (lowercase, hyphens, max 64 chars)
450
- 2. Write a specific, third-person description
451
- 3. Outline the main sections needed
452
- 4. Identify if supporting files or scripts are needed
453
-
454
- ### Phase 3: Implementation
455
-
456
- 1. Create the directory structure
457
- 2. Write the SKILL.md file with frontmatter
458
- 3. Create any supporting reference files
459
- 4. Create any utility scripts if needed
460
- 5. **Personal skills:** mirror the skill directory (at minimum `SKILL.md`; include `reference.md` / `scripts/` if present) to **`~/.cursor/skills/`**, **`~/.claude/skills/`**, **`~/.codex/skills/`**, and **`~/.agents/skills/`**, unless the user specified an exception. Do not stop after the first path.
461
- 6. **Project skills:** mirror to **`.cursor/skills/`**, **`.claude/skills/`**, and **`.agents/skills/`** at the repository root (identical `SKILL.md`), unless the user specified an exception. Do not stop after the first path. If `.agents/skills` symlinks to `.claude/skills`, confirm the new skill is visible under both paths.
462
-
463
- ### Phase 4: Verification
464
-
465
- 1. Verify the SKILL.md is under 500 lines
466
- 2. Check that the description is specific and includes trigger terms
467
- 3. Ensure consistent terminology throughout
468
- 4. Verify all file references are one level deep
469
- 5. **Personal skills:** confirm the same `SKILL.md` exists in every mirror path (no stray single-tool install)
470
- 6. **Project skills:** confirm the same `SKILL.md` exists under `.cursor/skills/`, `.claude/skills/`, and `.agents/skills/` (or symlink equivalence for `.agents`)
471
- 7. Test that the skill can be discovered and applied
472
-
473
- ---
474
-
475
- ## Complete Example
476
-
477
- Here's a complete example of a well-structured skill:
478
-
479
- **Directory structure:**
480
- ```
481
- code-review/
482
- ├── SKILL.md
483
- ├── STANDARDS.md
484
- └── examples.md
485
- ```
486
-
487
- **SKILL.md:**
488
- ```markdown
489
- ---
490
- name: code-review
491
- description: Review code for quality, security, and maintainability following team standards. Use when reviewing pull requests, examining code changes, or when the user asks for a code review.
492
- ---
493
-
494
- # Code Review
495
-
496
- ## Quick Start
497
-
498
- When reviewing code:
499
-
500
- 1. Check for correctness and potential bugs
501
- 2. Verify security best practices
502
- 3. Assess code readability and maintainability
503
- 4. Ensure tests are adequate
504
-
505
- ## Review Checklist
506
-
507
- - [ ] Logic is correct and handles edge cases
508
- - [ ] No security vulnerabilities (SQL injection, XSS, etc.)
509
- - [ ] Code follows project style conventions
510
- - [ ] Functions are appropriately sized and focused
511
- - [ ] Error handling is comprehensive
512
- - [ ] Tests cover the changes
513
-
514
- ## Providing Feedback
515
-
516
- Format feedback as:
517
- - 🔴 **Critical**: Must fix before merge
518
- - 🟡 **Suggestion**: Consider improving
519
- - 🟢 **Nice to have**: Optional enhancement
520
-
521
- ## Additional Resources
522
-
523
- - For detailed coding standards, see [STANDARDS.md](STANDARDS.md)
524
- - For example reviews, see [examples.md](examples.md)
525
- ```
526
-
527
- ---
528
-
529
- ## Summary Checklist
530
-
531
- Before finalizing a skill, verify:
532
-
533
- ### Core Quality
534
- - [ ] Description is specific and includes key terms
535
- - [ ] Description includes both WHAT and WHEN
536
- - [ ] Written in third person
537
- - [ ] SKILL.md body is under 500 lines
538
- - [ ] Consistent terminology throughout
539
- - [ ] Examples are concrete, not abstract
540
-
541
- ### Structure
542
- - [ ] File references are one level deep
543
- - [ ] Progressive disclosure used appropriately
544
- - [ ] Workflows have clear steps
545
- - [ ] No time-sensitive information
546
-
547
- ### Personal (global) skills
548
- - [ ] Mirrored to `~/.cursor/skills/`, `~/.claude/skills/`, `~/.codex/skills/`, and `~/.agents/skills/` unless the user explicitly excluded a target
549
-
550
- ### Project (repo) skills
551
- - [ ] Identical `SKILL.md` under `.cursor/skills/`, `.claude/skills/`, and `.agents/skills/` (or confirm `.agents/skills` → `.claude/skills` symlink so one write covers Claude + Codex)
552
-
553
- ### If Including Scripts
554
- - [ ] Scripts solve problems rather than punt
555
- - [ ] Required packages are documented
556
- - [ ] Error handling is explicit and helpful
557
- - [ ] No Windows-style paths
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.claude/skills/debug/SKILL.md DELETED
@@ -1,129 +0,0 @@
1
- ---
2
- name: debug
3
- description: >-
4
- Systematic debugging for kokoro-coreml: consult README/ (guides and
5
- learnings) and CLAUDE.md first, pull current library docs via Context7 MCP
6
- when coremltools/PyTorch/API behavior is uncertain, parallelize investigation
7
- with multiple subagents when stuck, prove fixes before calling success, then
8
- capture one consolidated note in README/Notes via **write-notes** as the
9
- **final** step before ending the session. For extreme cases, delegate a
10
- multi-agent audit via the Claude Code CLI. Use when the user invokes **debug**,
11
- **use debug**, asks to debug or fix a tricky bug, or work is blocked by unclear
12
- failure modes after quick local checks.
13
- ---
14
-
15
- # Debug
16
-
17
- ## Purpose
18
-
19
- Reduce guesswork: **README/ and CLAUDE.md first**, **Context7 when library
20
- behavior is uncertain**, **parallel hypotheses when stuck**, **proof before
21
- “fixed”**, **one write-notes pass at session end**, **CLI multi-agent audit**
22
- only for exceptional escalation.
23
-
24
- ## Use When
25
-
26
- - The user says **debug**, **use the debug skill**, **debug this**, or the task
27
- is **bug investigation** / **root-cause** analysis that is stalling.
28
- - Failures involve **coremltools**, **PyTorch**, **Core ML runtime**, or **Swift
29
- integration** where training data may be stale—use Context7 before assuming
30
- APIs.
31
-
32
- ## Do Not Use When
33
-
34
- - The user only wants a **trivial fix** with an obvious stack trace and no doc
35
- ambiguity (still skim `README/` if the area is known to be finicky).
36
- - The task is **greenfield feature build** with no defect.
37
-
38
- ## Workflow (in order)
39
-
40
- ### 1. Read repo knowledge first (mandatory)
41
-
42
- Before writing code or deep-diving the stack:
43
-
44
- 1. **Skim `README/`** for files that match the subsystem (conversion, export,
45
- Core ML runtime, tokenizer bridge, `kokoro.js`, etc.). Open the most relevant
46
- guides and look for **known issues**, **workarounds**, and **checklists**.
47
- 2. **Skim `README/Notes/`** (when present) and high-level docs linked from
48
- `README.md` for past investigations.
49
- 3. Read **`CLAUDE.md`** for PyTorch → Core ML playbook constraints (static
50
- shapes, ANE layout, divide-and-conquer).
51
-
52
- ### 2. Context7 MCP (library and platform docs)
53
-
54
- When the bug touches **coremltools**, **PyTorch**, **Swift Core ML**, or related
55
- APIs:
56
-
57
- 1. Use **Context7**: resolve the library ID, then fetch focused docs for the API
58
- or behavior in question.
59
- 2. Prefer Context7 over memory or generic web search **for API shape and
60
- version-sensitive behavior**.
61
-
62
- If Context7 is unavailable, fall back to official docs—**do not** invent APIs.
63
-
64
- ### 3. Reproduce and narrow
65
-
66
- - Confirm **minimal repro** or the exact **export step / predict call / log
67
- line** that fails.
68
- - State a **one-sentence hypothesis** and what evidence would falsify it.
69
-
70
- ### 4. Parallel investigation when stuck
71
-
72
- If the problem is **hard**, **cross-cutting**, or you have been **going in
73
- circles** after the reproduce-and-narrow pass:
74
-
75
- - In **one turn**, spin up **multiple** `Task` subagents with **`readonly: true`**
76
- and **narrow charters** (e.g. “MIL/export path only”, “Swift shapes only”).
77
- - **Merge** overlapping hypotheses; avoid duplicate deep reads of the same file.
78
-
79
- **When in doubt, parallelize** (same posture as **`audit`**, but
80
- hypothesis-driven).
81
-
82
- ### 5. Exceptionally frustrating bugs — CLI + audit
83
-
84
- When **still stuck** after parallel investigation, or blast radius is **high**:
85
-
86
- 1. Use the **Claude Code CLI** from the repo root to run a **multi-agent `audit`**
87
- over the **scoped slice** that matters.
88
- 2. In the handoff, cite relevant **`README/`** paths, **symptom + ruled-out
89
- items**, and instruct use of the **`audit`** skill with readonly subagents.
90
-
91
- Escalation only—**after** README, Context7, and a fair parallel pass.
92
-
93
- ### 6. Prove the fix (before claiming success)
94
-
95
- Do **not** say **fixed** until there is **objective proof**: failing test passes,
96
- export completes, Core ML predict matches tolerance, bad log line absent—whatever
97
- matches the bug.
98
-
99
- ### 7. Write notes once (mandatory last step)
100
-
101
- **After** investigation, perform **a single** `README/Notes/` update using
102
- [**`write-notes`**](../write-notes/SKILL.md) (consolidate the session).
103
-
104
- - One pass: symptom, repro, ruled out, root cause (`TBD` if unknown), fix,
105
- **verification** (proven / not), pointers to guides.
106
- - **Skip** only when the user explicitly wants no note or the outcome is trivial.
107
-
108
- ## Output expectations
109
-
110
- - **What was read** from `README/` / `CLAUDE.md` (paths).
111
- - **Verification:** what proved the fix (or **unverified** / **blocked**).
112
- - **Which note file(s)** were updated in step 7 (or why skipped).
113
- - **Whether Context7** was used and for which topic.
114
- - **Leading hypothesis(es)** if still open, else **root cause** summary.
115
-
116
- ## Anti-patterns
117
-
118
- - Skipping **`README/`** / **`CLAUDE.md`** to “save time.”
119
- - Assuming API behavior without **Context7 or official docs** when versions
120
- matter.
121
- - **Serial** thrashing instead of **parallel** charters.
122
- - **Declaring victory** without **verification**.
123
- - **Patching notes throughout** instead of **one** end-of-session pass.
124
-
125
- ## Relation to other skills
126
-
127
- - **`audit`:** structured review; use via CLI escalation when debug maxes out.
128
- - **`write-notes`:** once at end of debug session.
129
- - **`phase-audit`:** plan-phase checks—not the same as production debugging.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.claude/skills/deploy/SKILL.md DELETED
@@ -1,67 +0,0 @@
1
- ---
2
- name: deploy
3
- description: >-
4
- Clarifies what “ship” means for kokoro-coreml: there is no Cloudflare-style
5
- multi-worker deploy script. Use for tagging releases, pushing the branch,
6
- coordinating with the macOS app repo, or verifying exports before handoff.
7
- Before treating a revision as releasable, run the repo’s primary checks (see
8
- git-commit / audit). Do not use when the user only wants local experiments
9
- with no remote or release intent.
10
- ---
11
-
12
- # Deploy (kokoro-coreml)
13
-
14
- ## Purpose
15
-
16
- This repository is a **PyTorch → Core ML** conversion and model-artifact tree for
17
- Kokoro TTS. It is **not** the Roast Cloudflare monorepo: there are **no**
18
- `pnpm deploy:*` scripts or Workers/Pages pipelines here.
19
-
20
- “Deploy” in this context means **release engineering** appropriate to this repo:
21
-
22
- - **Git:** push branches, tags, or PRs (often via **`git-push`**).
23
- - **Artifacts:** `.mlpackage` bundles under `coreml/`, checkpoints, and export
24
- scripts consumed by a separate macOS app (e.g. TalkToMe).
25
- - **Verification:** run **`pytest`** (or targeted export smoke scripts) before
26
- declaring a revision ready for downstream integration.
27
-
28
- ## Default interpretation
29
-
30
- - **“Ship it” / “deploy”** → confirm what the user means: **push to GitHub**,
31
- **cut a tag**, or **hand models to the app**—not a cloud deploy unless they
32
- name another system.
33
-
34
- ## Pre-ship gate (recommended)
35
-
36
- From the **repository root**, when a change touches **Python export, Core ML, or
37
- tests**:
38
-
39
- 1. **`pytest`** (full test pass when tests are present).
40
- 2. If the change is export-only, at minimum run the **relevant** `examples/` or
41
- `test_*.py` scripts the guides mention.
42
-
43
- There is no single CI workflow in `.github/workflows/` for this repo yet; treat
44
- **local green tests** as the main gate before pushing risky changes.
45
-
46
- ## Procedure (agent)
47
-
48
- 1. Read **`README.md`**, **`CLAUDE.md`** (PyTorch → Core ML playbook), and the
49
- relevant **`README/*.md`** guide for the subsystem (conversion, runtime,
50
- export).
51
- 2. Do **not** run Cloudflare/Roast deploy commands—they do not apply.
52
- 3. Run [Pre-ship gate](#pre-ship-gate-recommended) before advising “ready to
53
- ship.”
54
- 4. For **git remote** operations, follow **`git-push`** when the user wants push
55
- + CI (if added later).
56
-
57
- ## Anti-patterns
58
-
59
- - Copying **Roast** `pnpm deploy:staging` / Workers steps into this repo.
60
- - Pushing large binary or regenerated **`.mlpackage`** changes without noting
61
- what was regenerated and how to verify.
62
-
63
- ## Related skills
64
-
65
- - **`git-push`:** commit, merge, push, chase CI when CI exists.
66
- - **`git-commit`:** post-commit **`pytest`** awareness (non-blocking heads-up).
67
- - **`audit`:** full review when the user says **`audit`**.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.claude/skills/documentation/SKILL.md DELETED
@@ -1,53 +0,0 @@
1
- ---
2
- name: documentation
3
- description: Write or review inline code documentation that captures domain knowledge, non-obvious constraints, non-greppable cross-file contracts, and state lifecycle. Use when the task is adding or reviewing Python docstrings, file headers, state docs, or constant rationale. Do not use for README files, markdown docs, plan documents, or code changes where comments are incidental.
4
- ---
5
-
6
- # Documentation
7
-
8
- ## Purpose
9
-
10
- Enforce the repo's inline code documentation standards. Document what a future
11
- editor cannot safely derive from the code itself.
12
-
13
- ## Use When
14
-
15
- - Adding or reviewing Python docstrings or file headers.
16
- - Documenting state lifecycle, constant rationale, or Core ML / export gotchas.
17
- - A PR review flags missing or low-quality documentation.
18
-
19
- ## Do Not Use When
20
-
21
- - Writing README, plan, or notes documents.
22
- - General code changes where documentation isn't the focus.
23
- - Markdown formatting issues (that's linting, not documentation).
24
-
25
- ## Procedure
26
-
27
- 1. Read [references/index.md](references/index.md) first.
28
- 2. Inspect the target file and the smallest set of related files needed to
29
- confirm what context is truly missing.
30
- 3. Add or tighten docs only where they capture:
31
- - domain knowledge
32
- - non-obvious constraints
33
- - non-greppable cross-file contracts
34
- - state lifecycle or constant rationale
35
- 4. Prefer short, durable comments over boilerplate:
36
- - short file headers
37
- - docstrings that explain why or constraints
38
- - state docs that explain lifetime and persistence
39
- - constant comments that explain why the value exists
40
- 5. Do not add manual call graphs, line-by-line prose, or comments that are more
41
- likely to drift than to help.
42
- 6. If the missing context actually belongs in a canonical guide, update the
43
- guide as well instead of burying the whole explanation in code comments.
44
-
45
- ## References
46
-
47
- Read [references/index.md](references/index.md) first.
48
-
49
- ## Handoff Rules
50
-
51
- - Hand off to **`debug`** if the real issue is a runtime bug, not missing docs.
52
- - Hand off to normal refactoring flow if the task is structural change, not
53
- documentation.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.claude/skills/documentation/references/index.md DELETED
@@ -1,11 +0,0 @@
1
- # Documentation References
2
-
3
- Canonical docs for `documentation`.
4
-
5
- - `README/Guides/content/code-documentation-guide.md`
6
- Read first for the repo's actual inline code documentation philosophy and
7
- review checklist.
8
- - the most relevant `README/Guides/...` docs for the subsystem you are
9
- documenting
10
- Read these when the useful comment depends on export, Core ML runtime, or
11
- app-integration context that is not obvious from the local file.
 
 
 
 
 
 
 
 
 
 
 
 
.claude/skills/execute-plan/SKILL.md DELETED
@@ -1,103 +0,0 @@
1
- ---
2
- name: execute-plan
3
- description: Execute a checked-in implementation plan for this repo phase by phase. Use when the user provides a concrete plan path and wants end-to-end implementation, phase audits, plan updates, commits, push, and CI monitoring. Do not use for creating a plan, one-off fixes without a checked-in plan, or read-only review work.
4
- ---
5
-
6
- # Execute Plan
7
-
8
- ## Purpose
9
-
10
- Use this skill to execute an existing repo plan without collapsing the work into
11
- one giant unreviewed change. The unit of progress is one completed phase at a
12
- time.
13
-
14
- ## Use When
15
-
16
- - A concrete checked-in plan path exists in [README/Plans](../../../README/Plans).
17
- - The plan is implementation-ready.
18
- - The user wants the full implementation loop, not just discussion.
19
-
20
- ## Do Not Use When
21
-
22
- - No checked-in plan exists yet.
23
- - The request is a one-off fix without a real plan.
24
- - The request is planning, brainstorming, or read-only review.
25
-
26
- ## Authority Model
27
-
28
- - Explicit invocation of `$execute-plan` counts as authorization for this
29
- workflow's git side effects. Direct naming also counts, for example
30
- "use execute-plan":
31
- - phase commits
32
- - sync with `origin/main`
33
- - push
34
- - CI monitoring and follow-up fixes
35
- - If `execute-plan` was routed implicitly or inferred rather than invoked
36
- directly, it may prepare local implementation work but must stop before the
37
- first commit or push and explain why.
38
- - At the start of the workflow, state that `execute-plan` is running and that
39
- it will create phase commits, push, and monitor CI unless the user opts out.
40
-
41
- ## Procedure
42
-
43
- 1. Read [references/index.md](references/index.md) first.
44
- 2. Read the target plan and the linked canonical
45
- [README/Skills](../../../README/Skills),
46
- [README/Guides](../../../README/Guides), and
47
- [README/Notes](../../../README/Notes) before changing code.
48
- 3. Refuse to start if the plan is missing, too vague to execute honestly, or
49
- still requires planning work.
50
- 4. Execute one phase at a time:
51
- - 4a. Execute the current phase. Implement only the active phase scope.
52
- Make it perfect. No god modules. No bugs. Just elegant, modular code.
53
- - 4b. Audit the execution with `phase-audit`. Prefer delegated review when
54
- the runtime supports it cleanly; otherwise run the same checklist locally
55
- against the canonical rubric. Double-check the work and fix findings
56
- before moving on. Make it perfect.
57
- - 4c. Update the plan. Make the phase checkboxes match reality before
58
- calling the phase complete.
59
- - 4d. Commit only your changes. Stage **only** the files for the completed
60
- phase (narrower than the default `git-commit` whole-tree staging) and
61
- follow the `git-commit` skill for the commit **message** (what and why).
62
- 5. After all phases are complete:
63
- - follow `git-push` for syncing with `origin`, pushing the branch, watching
64
- GitHub Actions (when CI exists), and fixing failures until green (phase
65
- commits stay narrower than default `git-commit`; `git-push` still applies
66
- merge/push/CI loop).
67
-
68
- ## Worktree Rules
69
-
70
- - Ignore unrelated dirty files unless they directly conflict with the active
71
- phase.
72
- - Never revert unrelated user work.
73
- - Stop only when an existing change creates a real safety or correctness
74
- conflict with the current phase.
75
-
76
- ## Audit Contract
77
-
78
- Before each phase commit, explicitly verify:
79
-
80
- - the phase goal is actually complete
81
- - the plan checkboxes match the implementation
82
- - obvious edge cases are handled
83
- - tests or checks are appropriate for the change
84
- - the current phase is commit-ready
85
-
86
- ## Boundaries
87
-
88
- - Do not create a new plan inside this workflow.
89
- - Do not silently skip the audit step.
90
- - Do not push with known failing CI unless the user explicitly overrides that
91
- rule.
92
-
93
- ## Canonical Docs
94
-
95
- Read [references/index.md](references/index.md) first. It maps the shared
96
- workflow guide, the phase audit rubric, and the artifacts needed to execute a
97
- plan cleanly.
98
-
99
- ## Handoff Rules
100
-
101
- - Hand off to `phase-audit` when clean delegated review is available.
102
- - Hand off to `create-plan` only if the user actually needs a new plan instead
103
- of execution.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.claude/skills/execute-plan/references/index.md DELETED
@@ -1,20 +0,0 @@
1
- # Execute Plan References
2
-
3
- Canonical docs for `execute-plan` live under **`README/Skills/`**:
4
-
5
- - `README/Skills/plan-workflow-skills-guide.md`
6
- Read first for the shared workflow contract and the explicit execution loop.
7
- - `README/Skills/phase-audit-rubric.md`
8
- Read for the canonical local-audit fallback when delegated review is not
9
- available.
10
-
11
- Use **`README/Skills/`** when the active plan interacts with other repo skills and
12
- routing constraints (start with the guides above; extend to other files in that
13
- folder as they are added).
14
-
15
- Always inspect:
16
-
17
- - the concrete checked-in plan file before any implementation
18
- - every guide or note linked from the active phase
19
- - the changed files and verification outputs before updating plan checkboxes or
20
- committing
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.claude/skills/git-commit/SKILL.md DELETED
@@ -1,236 +0,0 @@
1
- ---
2
- name: git-commit
3
- description: Produces comprehensive Git commit messages (what and why) and, when authorized, stages and commits. By default stages the entire working tree (all pending changes), including work from other agents or earlier sessions—not only files the current agent touched. After a successful commit (non-blocking), runs `pytest` at the repo root when available and a **lightweight** read of **HEAD** only (bug risks, god-module smells, needless complexity, duplication)—not a full **audit** (no lint gate, no grades, no multi-agent); for that, the user invokes the **`audit`** skill. Surfacing findings as optional heads-up, never as a reason to block or unwind the commit unless the user asks. No automatic fixes. Message-only requests use the same template without running git until commit is explicitly requested. Also use inside authorized workflows (for example execute-plan phase commits). Do not use for read-only review, hypothetical history, or when git writes are not authorized.
4
- ---
5
-
6
- # Git Commit
7
-
8
- ## Purpose
9
-
10
- Produce **reviewable commits**: a clear subject line and a body that explains
11
- **what** changed and **why**. **Staging is whole-tree by default** so one commit
12
- reflects everything currently pending on the branch, not a cherry-pick of what
13
- this session edited.
14
-
15
- ## Authority
16
-
17
- - **`git commit` allowed when** the user explicitly asks you to commit, or a
18
- checked-in workflow skill (for example `execute-plan`) authorizes commits as
19
- part of its procedure.
20
- - **Message text only** when the user wants a commit message but did **not**
21
- ask you to run Git: use the subject and body rules below, optionally after
22
- `git status` / `git diff` for context. Do **not** `git add` or `git commit`.
23
- - If committing would be a surprise—no explicit commit request and no
24
- workflow granting commit authority—**stop** before `git commit` and confirm
25
- intent.
26
-
27
- ## Use When
28
-
29
- - A commit with a strong message is requested or workflow-authorized.
30
- - The user wants help composing commit message text (with or without you
31
- running `git commit`—see Authority).
32
-
33
- ## Do Not Use When
34
-
35
- - Git writes are forbidden by context and nothing overrides that.
36
-
37
- ## Staging scope
38
-
39
- - **Default (this skill alone):** Stage **all** changes in the working tree that
40
- Git will track—modified, deleted, and **untracked** files—typically
41
- `git add -A` at the repo root. That includes edits made by **other agents**,
42
- the user, or tooling. `.gitignore` still applies (do not fight it to force
43
- secrets into the commit).
44
- - **Parent workflow override:** If the active procedure **explicitly** limits
45
- what may be staged (for example `execute-plan` phase commits: only files for
46
- the completed phase), **follow that staging scope** and still use the message
47
- rules below.
48
- - If `git status` shows something surprising (unexpected paths, credentials,
49
- huge artifacts), **surface it** before committing; do not silently drop
50
- co-workers’ changes to keep the commit “tidy.”
51
-
52
- ## Procedure
53
-
54
- 1. **Inspect** full `git status` and `git diff` (and `git diff --staged` if
55
- anything is already staged). Understand **everything** that will be included.
56
- 2. **Stage** per [Staging scope](#staging-scope) above.
57
- 3. **Subject line** (about 50 characters target, 72 hard cap):
58
- - Imperative mood: "Add", "Fix", "Refactor" — not past tense ("Added",
59
- "Fixed") or third-person singular ("Adds", "Fixes") as the **subject**.
60
- - The **body** may include issue closers such as `Fixes #123` when that is the
61
- project convention.
62
- - Be specific about area or behavior, not "Update code" or "WIP".
63
- 4. **Body** (one blank line after the subject; wrap near 72 columns):
64
- - **What**: bullets or short paragraphs covering **all** substantive areas in
65
- this commit (not only the files you touched this turn).
66
- - **Why**: motivation, tradeoffs, what was broken or awkward, or why this
67
- approach over alternatives.
68
- - **Context** (optional): issue links, plan paths, or follow-ups when they
69
- help the next reader.
70
- 5. **Commit** (commit path only), for example in bash or zsh:
71
- - `git commit -m "subject" -m $'paragraph...\n\n- bullet'`
72
- - or `git commit` with an editor when the body is long.
73
- 6. **Verify** (commit path only): `git show --stat HEAD` matches intent (entire
74
- staged set landed).
75
- 7. **Post-commit audit** (commit path only): after the commit succeeds, follow
76
- [Post-commit audit](#post-commit-audit). Run **`pytest`** at the repo root
77
- when pytest is installed; then scan **only** the `HEAD` diff for bug risks,
78
- god modules, needless complexity, and duplication (**lightweight**—see
79
- [What this is not](#what-this-is-not)).
80
- **Tell the user** about findings in the same turn (paths,
81
- severity, next step if obvious)—as **heads-up**, not scolding. The commit is
82
- already done; do **not** delay the commit, imply it was a mistake, or push
83
- amend/revert unless the user asks. Do **not** silently “fix” findings unless
84
- the user asked; surfacing is the goal. If everything passes and nothing
85
- worrisome stands out in the diff, you may omit commentary.
86
-
87
- On the **message-only** path, perform step 1 as needed for context, skip
88
- staging and steps 5–7, and output the subject and body (use the template
89
- below).
90
-
91
- ## Message template
92
-
93
- ```text
94
- Add/improve/fix <behavior> in <area>
95
-
96
- What:
97
- - ...
98
-
99
- Why:
100
- - ...
101
- ```
102
-
103
- ## Post-commit audit
104
-
105
- Run this **only after** `git commit` completes successfully (same repo, same
106
- branch).
107
-
108
- ### Intent (non-blocking)
109
-
110
- - **Commit always wins.** Nothing here vetoes, reorders, or shames a commit that
111
- already landed. People should keep committing; this step is **extra awareness**
112
- for the author, not policy for the team.
113
- - **Alerts, not gates.** Test or review findings are **heads-up** so you can fix
114
- forward (`pytest` failed after commit—here is the output) or choose to ignore.
115
- Do not treat red tests as “the commit was wrong.”
116
- - **Optional follow-up.** Suggest a fix commit or local cleanup only when helpful;
117
- never pressure amend/revert unless the user explicitly wants that.
118
- - **Deeper review:** For **lint + full test matrix**, **A–F grades**, optional
119
- **multi-agent** passes, and broader scope, the user should invoke the **`audit`**
120
- skill (message contains **`audit`**)—do not inflate post-commit into a full audit.
121
-
122
- ### What this is not
123
-
124
- Stay **narrow** so commits stay fast:
125
-
126
- - **Do** run **`pytest`** (when available) and read **`git show -p HEAD`** (this commit only).
127
- - **Do not** run exhaustive export suites or multi-step smoke tests here by
128
- default—those belong to **`audit`**, **`deploy`**, or the user’s task unless
129
- already requested.
130
-
131
- ### Python checks
132
-
133
- From the **repository root**, when `pytest` is on the path:
134
-
135
- - Run **`pytest`** (or **`python -m pytest`** if that is how the environment is set up).
136
-
137
- If pytest is missing, no tests exist, or the run fails, **report the relevant
138
- output** with neutral framing (“Heads-up: `pytest` failed after your commit”).
139
- The commit stays; the user can fix in a follow-up. Do not hide failures.
140
-
141
- ### Diff scope
142
-
143
- Use the committed change as the source of truth—e.g. `git show HEAD` or
144
- `git show -p HEAD`, and the paths touched:
145
- `git diff-tree --no-commit-id --name-only -r HEAD`.
146
-
147
- ### Bug scan
148
-
149
- Re-read the change as a quick self-review **on changed lines only**. Flag **likely**
150
- problems for the user (this is not a substitute for CI, **`audit`**, or the full
151
- test suite unless already part of the task):
152
-
153
- - Logic errors, wrong conditions, off-by-one, incorrect defaults.
154
- - Missing or broken error handling / early returns where failures are plausible.
155
- - Obvious regressions: removed guards, weakened validation, race or stale-state
156
- risks introduced by the new code.
157
- - API or type mismatches, impossible states, or changes that contradict the
158
- commit message.
159
- - **Async discipline (spot-check):** missing `await`, fire-and-forget promises,
160
- or ambiguous error propagation in the diff—borrowed from **`audit`** charter,
161
- but **only** what you see in this patch.
162
- - **Workers / queues / webhooks / cron (spot-check):** if the diff touches those,
163
- glance for obvious at-least-once hazards (duplicate side effects without
164
- idempotency)—**one-line flag**, not a full reliability audit.
165
- - **Security / privacy (glance):** obvious secrets or PII logged in the diff; if
166
- it needs auth review, nudge toward **`audit`** instead of digging here.
167
- - Anything that would make you say “wait, that can’t be right” on a PR.
168
-
169
- ### God module scan
170
-
171
- Align with repo philosophy: **clear separation of concerns**, no dumping
172
- unrelated responsibilities into one place.
173
-
174
- Flag when this commit **creates or substantially grows** a module that looks
175
- like a grab-bag “does everything” file—for example:
176
-
177
- - **Size**: one file approaches or exceeds the project’s per-file size guidance
178
- (this repo aims for well under ~1000 LOC per file—use judgment near that
179
- band).
180
- - **Scope creep**: unrelated domains, layers, or features fused into a single
181
- module (many disparate exports, orchestration + persistence + UI helpers in
182
- one file, etc.).
183
- - **Fan-in smell**: a change that makes one file the obvious choke point for
184
- unrelated call sites when a split would be natural.
185
-
186
- When in doubt, **flag lightly** with reasoning; avoid crying wolf, but do not
187
- skip obvious smells to avoid bothering the user.
188
-
189
- ### Needless complexity and duplication
190
-
191
- - **Needless complexity**: extra layers, over-abstraction, clever patterns where
192
- a straight line would do, new dependencies or infrastructure for trivial
193
- wins, configuration explosions, or branching that obscures the actual
194
- behavior—especially when it violates **simpler is better** for this repo.
195
- - **Duplication**: copy-pasted blocks, parallel implementations of the same rule
196
- or transform, near-identical helpers that should be one function, or “another
197
- copy” of logic that already exists elsewhere—when unifying would obviously
198
- reduce drift risk.
199
-
200
- Flag when this commit **introduces or worsens** these; cite paths and why it
201
- matters.
202
-
203
- ### What to output
204
-
205
- - **pytest**: pass/fail; if fail, enough output to act on, framed as post-commit
206
- awareness—not a blocked workflow.
207
- - **If other issues**: short summary, bullet list with **file paths**, what you
208
- saw, and whether it looks like a definite bug vs. a risk vs. a maintainability
209
- smell.
210
- - **If clean**: say nothing or one line—no boilerplate required.
211
-
212
- ## Anti-patterns
213
-
214
- - One-word subjects ("fix", "wip", "updates").
215
- - A body that only repeats the subject.
216
- - **Cherry-staging** only the files you personally edited when the user asked
217
- for a commit and no narrower workflow override applies—other agents’ work
218
- must ship too.
219
- - Claiming a “single logical change” while omitting co-present dirty files
220
- without explicit user direction.
221
- - **Skipping the post-commit audit** after a successful commit when this skill’s
222
- commit path ran—especially omitting **`pytest`** when available or staying silent
223
- when it fails or the diff clearly introduces risk.
224
- - **Skipping pytest** when it is installed and the repo has tests; hiding failures
225
- instead of showing them.
226
- - **Turning post-commit into a full audit:** running full export smoke, multi-agent
227
- **`Task`** delegation, or **A–F grades** here—use the **`audit`** skill when the
228
- user says **`audit`**.
229
- - **Blocking mindset:** implying the user should not have committed, or urging
230
- amend/revert, because of post-commit findings—unless they asked for that.
231
-
232
- ## Related skills
233
-
234
- - **`audit`:** user message includes **`audit`**; optional full tests, optional
235
- multi-agent, **A–F** grades, broader scope.
236
- - **`deploy`:** what “ship” means for this repo (no Cloudflare scripts); see that skill.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.claude/skills/git-push/SKILL.md DELETED
@@ -1,111 +0,0 @@
1
- ---
2
- name: git-push
3
- description: Commits any pending work via git-commit, syncs with origin (fetch, merge-oriented pull), pushes the current branch, watches GitHub Actions, and fixes root causes until CI is green—including coverage gates without lowering thresholds. Use when the user asks to push, sync and push, or ship the branch and chase CI. Requires explicit invocation or a parent workflow that authorizes push and CI remediation. Do not use without permission to write to git remote or when the user forbids automated CI fix loops.
4
- ---
5
-
6
- # Git Push
7
-
8
- ## Purpose
9
-
10
- Close the loop from **dirty working tree → clean push → green GitHub Actions**:
11
- commit everything pending when needed, integrate upstream with **merge** (not
12
- silent rebase unless the user prefers otherwise), push, watch workflows, and
13
- iterate on real failures until passes.
14
-
15
- ## Authority
16
-
17
- - **`git push` allowed when** the user invokes `$git-push`, names `git-push`,
18
- or clearly asks you to sync, push, and fix CI until green—or a checked-in
19
- workflow authorizes the same (for example cooperating with `execute-plan`
20
- after phased work).
21
- - This authorizes **`git commit`**, **`git pull`/`git merge`** (integrating
22
- `origin`), **`git push`**, reading CI logs, and **code/test fixes** needed to
23
- get workflows green.
24
- - If push or CI remediation would be a surprise, **stop** and confirm.
25
-
26
- ## Use When
27
-
28
- - The user wants the branch **on the remote** and **CI passing**.
29
- - You need the full “commit if needed → sync → push → babysit CI” routine.
30
-
31
- ## Do Not Use When
32
-
33
- - The user only wants a **dry run** or local-only commands.
34
- - You are not allowed to touch **`origin`** or fix CI (no override).
35
-
36
- ## Preconditions (agent)
37
-
38
- 1. Know the **current branch** and whether it has an **upstream**
39
- (`git status -sb`, `git rev-parse --abbrev-ref @{u}` when set).
40
- 2. `git fetch origin` before deciding you are in sync.
41
-
42
- ## Procedure
43
-
44
- ### 1. Uncommitted changes
45
-
46
- - If **`git status --porcelain`** is non-empty (including untracked you intend
47
- to keep), run **`git-commit`** first so the working tree is committed with a
48
- full **what / why** message.
49
- - **Do not** bypass `git-commit` with a lazy one-liner unless the user
50
- explicitly overrides.
51
-
52
- ### 2. Integrate `origin` (merge-oriented)
53
-
54
- - **Preferred** for this skill: after `git fetch origin`, integrate with
55
- **merge**, not rebase—unless the user explicitly asks for rebase.
56
- - If an upstream exists: e.g. `git pull --no-rebase` (or `git merge`
57
- `origin/<upstream-branch>` after fetch) so local commits combine with remote
58
- updates.
59
- - If there is **no upstream** yet, a reasonable first push is
60
- `git push -u origin HEAD` after the branch is ready—set upstream for future
61
- pulls.
62
- - **Merge conflicts**: resolve carefully; if intent is ambiguous, **stop** and
63
- ask rather than guessing.
64
-
65
- ### 3. Push
66
-
67
- - `git push` to the appropriate remote (usually `origin`) and branch.
68
- - If push is rejected because the remote advanced, **fetch**, **merge** (per
69
- above), resolve conflicts, then **push again**—do not force-push unless the
70
- user explicitly requests it and it is safe for the branch.
71
-
72
- ### 4. Monitor GitHub Actions
73
-
74
- - Identify the run(s) for the pushed commit / branch (for example
75
- `gh run list --branch <branch> --limit 5` then
76
- `gh run watch <run-id> --exit-status`, or the Actions UI).
77
- - Wait until the relevant workflow(s) **finish**.
78
-
79
- ### 5. On failure: fix root cause, repeat
80
-
81
- - Read logs; reproduce locally when possible (`pytest`, targeted scripts,
82
- `kokoro.js` tests if relevant, matching what failed).
83
- - Fix the **underlying issue**—not symptoms only—then **commit** (again via
84
- **`git-commit`** when there are new changes) and **push**, then **re-watch**
85
- CI.
86
- - **Loop** until green or until you hit a blocker (permissions, flaky external,
87
- ambiguous product intent).
88
-
89
- ### 6. Coverage and quality gates
90
-
91
- - If CI fails because **test coverage** (or a similar **required threshold**)
92
- is not met:<br />
93
- **Never satisfy the gate by lowering the threshold or disabling checks** as
94
- a shortcut.
95
- - Correct response: **add or strengthen tests**, **exercise untested paths**,
96
- or **refactor for testability** so coverage **earns** the bar.
97
-
98
- ## Anti-patterns
99
-
100
- - Pushing with a dirty tree (except when every pending change is intentionally
101
- left out—and then say so explicitly; default is commit first).
102
- - Force-push to shared branches without explicit approval.
103
- - “Fixing” CI by weakening lint, coverage, or type gates.
104
- - Re-running CI repeatedly without changing what failed.
105
-
106
- ## Related skills
107
-
108
- - **`git-commit`**: message shape and default **whole-tree** staging (unless a
109
- narrower parent workflow applies).
110
- - **`execute-plan`**: may narrow what gets committed **per phase**; this skill
111
- still applies to the **push / merge / CI loop** once commits are ready.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.claude/skills/markdown/SKILL.md DELETED
@@ -1,55 +0,0 @@
1
- ---
2
- name: markdown
3
- description: Write or repair repo markdown files. Use when the task is editing README files, guides, plans, notes, or markdown lint failures. Apply the repo's markdown rules, preserve the right template or document structure, and keep prose tight. Do not use for inline code comments or code changes that only happen to touch markdown strings.
4
- ---
5
-
6
- # Markdown
7
-
8
- ## Purpose
9
-
10
- Use this skill to keep repo markdown clean, consistent, and easy to maintain.
11
-
12
- ## Use When
13
-
14
- - Writing or revising markdown docs.
15
- - Fixing markdown lint failures.
16
- - Editing plans, notes, guides, or README files.
17
-
18
- ## Do Not Use When
19
-
20
- - The real task is inline code documentation.
21
- - The work is code implementation, not doc authoring.
22
- - The file is not markdown.
23
-
24
- ## Procedure
25
-
26
- 1. Read [references/index.md](references/index.md) first.
27
- 2. Identify the document family:
28
- - guide
29
- - note
30
- - plan
31
- - general README or content doc
32
- 3. Use the canonical template when the document family has one.
33
- 4. Preserve the existing structure of the doc family unless the task is
34
- explicitly a reorganization.
35
- 5. Apply the repo markdown rules:
36
- - real markdown links, not bare URLs
37
- - no unnecessary inline HTML
38
- - blank lines around headings and lists
39
- - language-tagged fenced code blocks when known
40
- - single trailing newline
41
- 6. Keep prose lean. Prefer one canonical explanation over duplicated text across
42
- several files.
43
- 7. If the task is markdown-focused or touches several markdown files, run a
44
- markdown lint pass before stopping when repo tooling is available.
45
-
46
- ## References
47
-
48
- Read [references/index.md](references/index.md) first.
49
-
50
- ## Handoff Rules
51
-
52
- - Hand off to `documentation` if the real work is inline code docs rather than
53
- markdown documents.
54
- - Hand off to `write-notes` if the main question is where a note belongs and how
55
- to consolidate it without note sprawl.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.claude/skills/markdown/references/index.md DELETED
@@ -1,14 +0,0 @@
1
- # Markdown References
2
-
3
- Canonical docs for `markdown`.
4
-
5
- - `README/Guides/content/markdown-authoring-guide.md`
6
- Read first for the repo's markdown rules and markdown-specific verification
7
- flow.
8
- - `README/Templates/Plans-template.md`
9
- Read when the markdown file is a plan under `README/Plans/...`.
10
- - `README/Templates/Notes-template.md`
11
- Read when the markdown file is a notes entry under `README/Notes/...`.
12
- - `README/Guides/content/notes-consolidation-guide.md`
13
- Read when the markdown edit touches notes and you need to avoid creating note
14
- sprawl.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.claude/skills/phase-audit/SKILL.md DELETED
@@ -1,77 +0,0 @@
1
- ---
2
- name: phase-audit
3
- description: Audit a completed plan phase in this repo. Use when a phase has just been implemented and needs a findings-first review against the active plan, changed files, linked guides, and the canonical audit rubric before commit or before moving to the next phase. Do not use for implementing fixes, broad product critique, or replacing tests and CI execution.
4
- ---
5
-
6
- # Phase Audit
7
-
8
- ## Purpose
9
-
10
- Use this skill to audit a completed implementation phase like a skeptical
11
- senior engineer doing code review. The job is to decide whether the phase is actually complete and ready to commit or push, not to help implement it.
12
-
13
- ## Use When
14
-
15
- - A plan phase was just implemented.
16
- - The current plan checkboxes need validation against reality.
17
- - The repo needs a findings-first review before commit or before moving to the
18
- next phase.
19
-
20
- ## Do Not Use When
21
-
22
- - The request is to implement or patch code.
23
- - The request is broad product or UX feedback.
24
- - The request is to replace tests, CI, or runtime verification with a code
25
- review.
26
-
27
- ## Procedure
28
-
29
- 1. Read [references/index.md](references/index.md) first.
30
- 2. Read the active plan and isolate the exact phase being audited:
31
- - phase goal
32
- - checked tasks
33
- - phase verification text
34
- - linked canonical references in [README/Skills](../../../README/Skills),
35
- [README/Guides](../../../README/Guides), and [README/Notes](../../../README/Notes)
36
- 3. Inspect the implementation evidence:
37
- - changed files and diffs
38
- - tests or checks that were run
39
- - any notes that explain scope decisions
40
- 4. Compare the implementation against the canonical rubric and linked guides.
41
- 5. Produce a findings-first audit:
42
- - severity ordered
43
- - concrete file references when applicable
44
- - explicit call on whether the phase is complete
45
- 6. Explicitly check:
46
- - missing scope
47
- - missing edge cases
48
- - missing tests or weak verification
49
- - checkbox drift between the plan and the code
50
- - commit readiness
51
- - push and CI readiness
52
- 7. If there are no findings, say so directly and note residual risks or
53
- verification gaps.
54
-
55
- ## Output Contract
56
-
57
- - Findings first.
58
- - Severity ordered.
59
- - Concrete file references when applicable.
60
- - Brief summary only after the findings.
61
-
62
- ## Boundaries
63
-
64
- - Do not edit files.
65
- - Do not silently fix the problem instead of reporting it.
66
- - Do not replace tests, CI, or runtime verification with review prose.
67
-
68
- ## Canonical Docs
69
-
70
- Read [references/index.md](references/index.md) first. It maps the workflow
71
- guide, the audit rubric, and the repo artifacts that define whether a phase is
72
- actually done.
73
-
74
- ## Handoff Rules
75
-
76
- - Hand findings back to `execute-plan` or the user for remediation.
77
- - Re-run this skill after fixes if the phase changed materially.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.claude/skills/phase-audit/references/index.md DELETED
@@ -1,19 +0,0 @@
1
- # Phase Audit References
2
-
3
- Canonical docs for `phase-audit` live under **`README/Skills/`**:
4
-
5
- - `README/Skills/plan-workflow-skills-guide.md`
6
- Read first for the shared workflow contract and the boundary between
7
- `phase-audit` and `execute-plan`.
8
- - `README/Skills/phase-audit-rubric.md`
9
- Read for the canonical review checklist and commit-readiness criteria.
10
- - `README/Templates/Plans-template.md`
11
- Read when you need to validate whether the active plan phase, checkbox
12
- updates, and verification text still match the template contract.
13
-
14
- Always inspect:
15
-
16
- - the active plan file and the specific phase being audited
17
- - the changed files for that phase
18
- - any directly linked `README/Guides/...`, `README/Notes/...`, or
19
- `README/Skills/...` files that constrain the implementation
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.claude/skills/write-notes/SKILL.md DELETED
@@ -1,62 +0,0 @@
1
- ---
2
- name: write-notes
3
- description: Write or update repo notes under README/Notes. Use when the user wants debugging notes, investigation notes, audit notes, or institutional memory captured in the repo. Prefer updating the right high-level notes document over creating a fresh file for every session. Do not use for plans, README guides, or inline code comments.
4
- ---
5
-
6
- # Write Notes
7
-
8
- ## Purpose
9
-
10
- Capture useful institutional memory in `README/Notes/` without creating note
11
- sprawl.
12
-
13
- ## Use When
14
-
15
- - The user wants a bug, investigation, audit, or debugging trail captured in
16
- repo notes.
17
- - A change should leave behind durable troubleshooting context.
18
- - An existing notes bundle should be updated with a new issue section.
19
-
20
- ## Do Not Use When
21
-
22
- - The user wants a plan.
23
- - The output belongs in a guide or README instead of `README/Notes/`.
24
- - The content is really inline code documentation.
25
- - The note would be throwaway session chatter with no lasting value.
26
-
27
- ## Procedure
28
-
29
- 1. Read [references/index.md](references/index.md) first.
30
- 2. Scan `README/Notes/` for the best existing home before creating any new
31
- file.
32
- 3. Default to consolidation:
33
- - update the right high-level domain note file
34
- - add a new issue section inside that file
35
- - keep the issue self-contained with the notes-template structure
36
- 4. Create a new notes file only when the topic is durable enough to deserve its
37
- own entry point:
38
- - recurring subsystem problem
39
- - cross-cutting audit
40
- - report likely to be searched directly later
41
- 5. Use topic-based names for new files. Do not create a new file just because
42
- there is a new date or session.
43
- 6. Keep the note high signal:
44
- - summary
45
- - symptom
46
- - root cause or `TBD`
47
- - related guides
48
- - fix or current status
49
- - verification or next step
50
- 7. Keep active issues near the top. Convert fixed issues to resolved status and
51
- prune dead investigation branches after resolution.
52
-
53
- ## References
54
-
55
- Read [references/index.md](references/index.md) first.
56
-
57
- ## Handoff Rules
58
-
59
- - Hand off to `markdown` when the real task is markdown cleanup rather than note
60
- placement or note structure.
61
- - Hand off to `create-plan` when the user wants a real implementation plan
62
- instead of notes.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.claude/skills/write-notes/references/index.md DELETED
@@ -1,11 +0,0 @@
1
- # Write Notes References
2
-
3
- Canonical docs for `write-notes`.
4
-
5
- - `README/Guides/content/notes-consolidation-guide.md`
6
- Read first for the repo's anti-sprawl notes policy and file-selection rules.
7
- - `README/Templates/Notes-template.md`
8
- Read for the required issue structure inside a notes document.
9
- - the most relevant `README/Guides/...` files for the subsystem
10
- Read when the note should link out to canonical guidance for context or
11
- recurrence handling.
 
 
 
 
 
 
 
 
 
 
 
 
.github/FUNDING.yml DELETED
@@ -1,15 +0,0 @@
1
- # These are supported funding model platforms
2
-
3
- github: hexgrad # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4
- patreon: # Replace with a single Patreon username
5
- open_collective: # Replace with a single Open Collective username
6
- ko_fi: # Replace with a single Ko-fi username
7
- tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8
- community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9
- liberapay: # Replace with a single Liberapay username
10
- issuehunt: # Replace with a single IssueHunt username
11
- lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
12
- polar: # Replace with a single Polar username
13
- buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
14
- thanks_dev: # Replace with a single thanks.dev username
15
- custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.gitignore DELETED
@@ -1,178 +0,0 @@
1
- # Byte-compiled / optimized / DLL files
2
- __pycache__/
3
- *.py[cod]
4
- *$py.class
5
-
6
- # C extensions
7
- *.so
8
-
9
- # Distribution / packaging
10
- .Python
11
- build/
12
- develop-eggs/
13
- dist/
14
- downloads/
15
- eggs/
16
- .eggs/
17
- lib/
18
- lib64/
19
- parts/
20
- sdist/
21
- var/
22
- wheels/
23
- share/python-wheels/
24
- *.egg-info/
25
- .installed.cfg
26
- *.egg
27
- MANIFEST
28
-
29
- # PyInstaller
30
- # Usually these files are written by a python script from a template
31
- # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
- *.manifest
33
- *.spec
34
-
35
- # Installer logs
36
- pip-log.txt
37
- pip-delete-this-directory.txt
38
-
39
- # Unit test / coverage reports
40
- htmlcov/
41
- .tox/
42
- .nox/
43
- .coverage
44
- .coverage.*
45
- .cache
46
- nosetests.xml
47
- coverage.xml
48
- *.cover
49
- *.py,cover
50
- .hypothesis/
51
- .pytest_cache/
52
- cover/
53
-
54
- # Translations
55
- *.mo
56
- *.pot
57
-
58
- # Django stuff:
59
- *.log
60
- local_settings.py
61
- db.sqlite3
62
- db.sqlite3-journal
63
-
64
- # Flask stuff:
65
- instance/
66
- .webassets-cache
67
-
68
- # Scrapy stuff:
69
- .scrapy
70
-
71
- # Sphinx documentation
72
- docs/_build/
73
-
74
- # PyBuilder
75
- .pybuilder/
76
- target/
77
-
78
- # Jupyter Notebook
79
- .ipynb_checkpoints
80
-
81
- # IPython
82
- profile_default/
83
- ipython_config.py
84
-
85
- # pyenv
86
- # For a library or package, you might want to ignore these files since the code is
87
- # intended to run in multiple environments; otherwise, check them in:
88
- # .python-version
89
-
90
- # pipenv
91
- # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92
- # However, in case of collaboration, if having platform-specific dependencies or dependencies
93
- # having no cross-platform support, pipenv may install dependencies that don't work, or not
94
- # install all needed dependencies.
95
- #Pipfile.lock
96
-
97
- # UV
98
- # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
99
- # This is especially recommended for binary packages to ensure reproducibility, and is more
100
- # commonly ignored for libraries.
101
- #uv.lock
102
-
103
- # poetry
104
- # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
105
- # This is especially recommended for binary packages to ensure reproducibility, and is more
106
- # commonly ignored for libraries.
107
- # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
108
- #poetry.lock
109
-
110
- # pdm
111
- # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
112
- #pdm.lock
113
- # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
114
- # in version control.
115
- # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
116
- .pdm.toml
117
- .pdm-python
118
- .pdm-build/
119
-
120
- # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
121
- __pypackages__/
122
-
123
- # Celery stuff
124
- celerybeat-schedule
125
- celerybeat.pid
126
-
127
- # SageMath parsed files
128
- *.sage.py
129
-
130
- # Environments
131
- .env
132
- .venv
133
- env/
134
- venv/
135
- ENV/
136
- env.bak/
137
- venv.bak/
138
-
139
- # Spyder project settings
140
- .spyderproject
141
- .spyproject
142
-
143
- # Rope project settings
144
- .ropeproject
145
-
146
- # mkdocs documentation
147
- /site
148
-
149
- # mypy
150
- .mypy_cache/
151
- .dmypy.json
152
- dmypy.json
153
-
154
- # Pyre type checker
155
- .pyre/
156
-
157
- # pytype static type analyzer
158
- .pytype/
159
-
160
- # Cython debug symbols
161
- cython_debug/
162
-
163
- # PyCharm
164
- # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
165
- # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
166
- # and can be added to the global gitignore or merged into this file. For a more nuclear
167
- # option (not recommended) you can uncomment the following to ignore the entire idea folder.
168
- #.idea/
169
-
170
- # PyPI configuration file
171
- .pypirc
172
-
173
- # Local TTS debug outputs (WAV/CSV/JSON)
174
- outputs/
175
- outputs/**
176
-
177
- # Local scratch notes (not for version control)
178
- scratchpad.md
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.venv-coreml/bin/Activate.ps1 DELETED
@@ -1,247 +0,0 @@
1
- <#
2
- .Synopsis
3
- Activate a Python virtual environment for the current PowerShell session.
4
-
5
- .Description
6
- Pushes the python executable for a virtual environment to the front of the
7
- $Env:PATH environment variable and sets the prompt to signify that you are
8
- in a Python virtual environment. Makes use of the command line switches as
9
- well as the `pyvenv.cfg` file values present in the virtual environment.
10
-
11
- .Parameter VenvDir
12
- Path to the directory that contains the virtual environment to activate. The
13
- default value for this is the parent of the directory that the Activate.ps1
14
- script is located within.
15
-
16
- .Parameter Prompt
17
- The prompt prefix to display when this virtual environment is activated. By
18
- default, this prompt is the name of the virtual environment folder (VenvDir)
19
- surrounded by parentheses and followed by a single space (ie. '(.venv) ').
20
-
21
- .Example
22
- Activate.ps1
23
- Activates the Python virtual environment that contains the Activate.ps1 script.
24
-
25
- .Example
26
- Activate.ps1 -Verbose
27
- Activates the Python virtual environment that contains the Activate.ps1 script,
28
- and shows extra information about the activation as it executes.
29
-
30
- .Example
31
- Activate.ps1 -VenvDir C:\Users\MyUser\Common\.venv
32
- Activates the Python virtual environment located in the specified location.
33
-
34
- .Example
35
- Activate.ps1 -Prompt "MyPython"
36
- Activates the Python virtual environment that contains the Activate.ps1 script,
37
- and prefixes the current prompt with the specified string (surrounded in
38
- parentheses) while the virtual environment is active.
39
-
40
- .Notes
41
- On Windows, it may be required to enable this Activate.ps1 script by setting the
42
- execution policy for the user. You can do this by issuing the following PowerShell
43
- command:
44
-
45
- PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
46
-
47
- For more information on Execution Policies:
48
- https://go.microsoft.com/fwlink/?LinkID=135170
49
-
50
- #>
51
- Param(
52
- [Parameter(Mandatory = $false)]
53
- [String]
54
- $VenvDir,
55
- [Parameter(Mandatory = $false)]
56
- [String]
57
- $Prompt
58
- )
59
-
60
- <# Function declarations --------------------------------------------------- #>
61
-
62
- <#
63
- .Synopsis
64
- Remove all shell session elements added by the Activate script, including the
65
- addition of the virtual environment's Python executable from the beginning of
66
- the PATH variable.
67
-
68
- .Parameter NonDestructive
69
- If present, do not remove this function from the global namespace for the
70
- session.
71
-
72
- #>
73
- function global:deactivate ([switch]$NonDestructive) {
74
- # Revert to original values
75
-
76
- # The prior prompt:
77
- if (Test-Path -Path Function:_OLD_VIRTUAL_PROMPT) {
78
- Copy-Item -Path Function:_OLD_VIRTUAL_PROMPT -Destination Function:prompt
79
- Remove-Item -Path Function:_OLD_VIRTUAL_PROMPT
80
- }
81
-
82
- # The prior PYTHONHOME:
83
- if (Test-Path -Path Env:_OLD_VIRTUAL_PYTHONHOME) {
84
- Copy-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME -Destination Env:PYTHONHOME
85
- Remove-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME
86
- }
87
-
88
- # The prior PATH:
89
- if (Test-Path -Path Env:_OLD_VIRTUAL_PATH) {
90
- Copy-Item -Path Env:_OLD_VIRTUAL_PATH -Destination Env:PATH
91
- Remove-Item -Path Env:_OLD_VIRTUAL_PATH
92
- }
93
-
94
- # Just remove the VIRTUAL_ENV altogether:
95
- if (Test-Path -Path Env:VIRTUAL_ENV) {
96
- Remove-Item -Path env:VIRTUAL_ENV
97
- }
98
-
99
- # Just remove VIRTUAL_ENV_PROMPT altogether.
100
- if (Test-Path -Path Env:VIRTUAL_ENV_PROMPT) {
101
- Remove-Item -Path env:VIRTUAL_ENV_PROMPT
102
- }
103
-
104
- # Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether:
105
- if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) {
106
- Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force
107
- }
108
-
109
- # Leave deactivate function in the global namespace if requested:
110
- if (-not $NonDestructive) {
111
- Remove-Item -Path function:deactivate
112
- }
113
- }
114
-
115
- <#
116
- .Description
117
- Get-PyVenvConfig parses the values from the pyvenv.cfg file located in the
118
- given folder, and returns them in a map.
119
-
120
- For each line in the pyvenv.cfg file, if that line can be parsed into exactly
121
- two strings separated by `=` (with any amount of whitespace surrounding the =)
122
- then it is considered a `key = value` line. The left hand string is the key,
123
- the right hand is the value.
124
-
125
- If the value starts with a `'` or a `"` then the first and last character is
126
- stripped from the value before being captured.
127
-
128
- .Parameter ConfigDir
129
- Path to the directory that contains the `pyvenv.cfg` file.
130
- #>
131
- function Get-PyVenvConfig(
132
- [String]
133
- $ConfigDir
134
- ) {
135
- Write-Verbose "Given ConfigDir=$ConfigDir, obtain values in pyvenv.cfg"
136
-
137
- # Ensure the file exists, and issue a warning if it doesn't (but still allow the function to continue).
138
- $pyvenvConfigPath = Join-Path -Resolve -Path $ConfigDir -ChildPath 'pyvenv.cfg' -ErrorAction Continue
139
-
140
- # An empty map will be returned if no config file is found.
141
- $pyvenvConfig = @{ }
142
-
143
- if ($pyvenvConfigPath) {
144
-
145
- Write-Verbose "File exists, parse `key = value` lines"
146
- $pyvenvConfigContent = Get-Content -Path $pyvenvConfigPath
147
-
148
- $pyvenvConfigContent | ForEach-Object {
149
- $keyval = $PSItem -split "\s*=\s*", 2
150
- if ($keyval[0] -and $keyval[1]) {
151
- $val = $keyval[1]
152
-
153
- # Remove extraneous quotations around a string value.
154
- if ("'""".Contains($val.Substring(0, 1))) {
155
- $val = $val.Substring(1, $val.Length - 2)
156
- }
157
-
158
- $pyvenvConfig[$keyval[0]] = $val
159
- Write-Verbose "Adding Key: '$($keyval[0])'='$val'"
160
- }
161
- }
162
- }
163
- return $pyvenvConfig
164
- }
165
-
166
-
167
- <# Begin Activate script --------------------------------------------------- #>
168
-
169
- # Determine the containing directory of this script
170
- $VenvExecPath = Split-Path -Parent $MyInvocation.MyCommand.Definition
171
- $VenvExecDir = Get-Item -Path $VenvExecPath
172
-
173
- Write-Verbose "Activation script is located in path: '$VenvExecPath'"
174
- Write-Verbose "VenvExecDir Fullname: '$($VenvExecDir.FullName)"
175
- Write-Verbose "VenvExecDir Name: '$($VenvExecDir.Name)"
176
-
177
- # Set values required in priority: CmdLine, ConfigFile, Default
178
- # First, get the location of the virtual environment, it might not be
179
- # VenvExecDir if specified on the command line.
180
- if ($VenvDir) {
181
- Write-Verbose "VenvDir given as parameter, using '$VenvDir' to determine values"
182
- }
183
- else {
184
- Write-Verbose "VenvDir not given as a parameter, using parent directory name as VenvDir."
185
- $VenvDir = $VenvExecDir.Parent.FullName.TrimEnd("\\/")
186
- Write-Verbose "VenvDir=$VenvDir"
187
- }
188
-
189
- # Next, read the `pyvenv.cfg` file to determine any required value such
190
- # as `prompt`.
191
- $pyvenvCfg = Get-PyVenvConfig -ConfigDir $VenvDir
192
-
193
- # Next, set the prompt from the command line, or the config file, or
194
- # just use the name of the virtual environment folder.
195
- if ($Prompt) {
196
- Write-Verbose "Prompt specified as argument, using '$Prompt'"
197
- }
198
- else {
199
- Write-Verbose "Prompt not specified as argument to script, checking pyvenv.cfg value"
200
- if ($pyvenvCfg -and $pyvenvCfg['prompt']) {
201
- Write-Verbose " Setting based on value in pyvenv.cfg='$($pyvenvCfg['prompt'])'"
202
- $Prompt = $pyvenvCfg['prompt'];
203
- }
204
- else {
205
- Write-Verbose " Setting prompt based on parent's directory's name. (Is the directory name passed to venv module when creating the virutal environment)"
206
- Write-Verbose " Got leaf-name of $VenvDir='$(Split-Path -Path $venvDir -Leaf)'"
207
- $Prompt = Split-Path -Path $venvDir -Leaf
208
- }
209
- }
210
-
211
- Write-Verbose "Prompt = '$Prompt'"
212
- Write-Verbose "VenvDir='$VenvDir'"
213
-
214
- # Deactivate any currently active virtual environment, but leave the
215
- # deactivate function in place.
216
- deactivate -nondestructive
217
-
218
- # Now set the environment variable VIRTUAL_ENV, used by many tools to determine
219
- # that there is an activated venv.
220
- $env:VIRTUAL_ENV = $VenvDir
221
-
222
- if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) {
223
-
224
- Write-Verbose "Setting prompt to '$Prompt'"
225
-
226
- # Set the prompt to include the env name
227
- # Make sure _OLD_VIRTUAL_PROMPT is global
228
- function global:_OLD_VIRTUAL_PROMPT { "" }
229
- Copy-Item -Path function:prompt -Destination function:_OLD_VIRTUAL_PROMPT
230
- New-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Description "Python virtual environment prompt prefix" -Scope Global -Option ReadOnly -Visibility Public -Value $Prompt
231
-
232
- function global:prompt {
233
- Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) "
234
- _OLD_VIRTUAL_PROMPT
235
- }
236
- $env:VIRTUAL_ENV_PROMPT = $Prompt
237
- }
238
-
239
- # Clear PYTHONHOME
240
- if (Test-Path -Path Env:PYTHONHOME) {
241
- Copy-Item -Path Env:PYTHONHOME -Destination Env:_OLD_VIRTUAL_PYTHONHOME
242
- Remove-Item -Path Env:PYTHONHOME
243
- }
244
-
245
- # Add the venv to the PATH
246
- Copy-Item -Path Env:PATH -Destination Env:_OLD_VIRTUAL_PATH
247
- $Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.venv-coreml/bin/activate DELETED
@@ -1,69 +0,0 @@
1
- # This file must be used with "source bin/activate" *from bash*
2
- # you cannot run it directly
3
-
4
- deactivate () {
5
- # reset old environment variables
6
- if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
7
- PATH="${_OLD_VIRTUAL_PATH:-}"
8
- export PATH
9
- unset _OLD_VIRTUAL_PATH
10
- fi
11
- if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then
12
- PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}"
13
- export PYTHONHOME
14
- unset _OLD_VIRTUAL_PYTHONHOME
15
- fi
16
-
17
- # This should detect bash and zsh, which have a hash command that must
18
- # be called to get it to forget past commands. Without forgetting
19
- # past commands the $PATH changes we made may not be respected
20
- if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
21
- hash -r 2> /dev/null
22
- fi
23
-
24
- if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then
25
- PS1="${_OLD_VIRTUAL_PS1:-}"
26
- export PS1
27
- unset _OLD_VIRTUAL_PS1
28
- fi
29
-
30
- unset VIRTUAL_ENV
31
- unset VIRTUAL_ENV_PROMPT
32
- if [ ! "${1:-}" = "nondestructive" ] ; then
33
- # Self destruct!
34
- unset -f deactivate
35
- fi
36
- }
37
-
38
- # unset irrelevant variables
39
- deactivate nondestructive
40
-
41
- VIRTUAL_ENV="/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml"
42
- export VIRTUAL_ENV
43
-
44
- _OLD_VIRTUAL_PATH="$PATH"
45
- PATH="$VIRTUAL_ENV/bin:$PATH"
46
- export PATH
47
-
48
- # unset PYTHONHOME if set
49
- # this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
50
- # could use `if (set -u; : $PYTHONHOME) ;` in bash
51
- if [ -n "${PYTHONHOME:-}" ] ; then
52
- _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}"
53
- unset PYTHONHOME
54
- fi
55
-
56
- if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
57
- _OLD_VIRTUAL_PS1="${PS1:-}"
58
- PS1="(.venv-coreml) ${PS1:-}"
59
- export PS1
60
- VIRTUAL_ENV_PROMPT="(.venv-coreml) "
61
- export VIRTUAL_ENV_PROMPT
62
- fi
63
-
64
- # This should detect bash and zsh, which have a hash command that must
65
- # be called to get it to forget past commands. Without forgetting
66
- # past commands the $PATH changes we made may not be respected
67
- if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
68
- hash -r 2> /dev/null
69
- fi
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.venv-coreml/bin/activate.csh DELETED
@@ -1,26 +0,0 @@
1
- # This file must be used with "source bin/activate.csh" *from csh*.
2
- # You cannot run it directly.
3
- # Created by Davide Di Blasi <davidedb@gmail.com>.
4
- # Ported to Python 3.3 venv by Andrew Svetlov <andrew.svetlov@gmail.com>
5
-
6
- alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; unsetenv VIRTUAL_ENV_PROMPT; test "\!:*" != "nondestructive" && unalias deactivate'
7
-
8
- # Unset irrelevant variables.
9
- deactivate nondestructive
10
-
11
- setenv VIRTUAL_ENV "/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml"
12
-
13
- set _OLD_VIRTUAL_PATH="$PATH"
14
- setenv PATH "$VIRTUAL_ENV/bin:$PATH"
15
-
16
-
17
- set _OLD_VIRTUAL_PROMPT="$prompt"
18
-
19
- if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then
20
- set prompt = "(.venv-coreml) $prompt"
21
- setenv VIRTUAL_ENV_PROMPT "(.venv-coreml) "
22
- endif
23
-
24
- alias pydoc python -m pydoc
25
-
26
- rehash
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.venv-coreml/bin/activate.fish DELETED
@@ -1,66 +0,0 @@
1
- # This file must be used with "source <venv>/bin/activate.fish" *from fish*
2
- # (https://fishshell.com/); you cannot run it directly.
3
-
4
- function deactivate -d "Exit virtual environment and return to normal shell environment"
5
- # reset old environment variables
6
- if test -n "$_OLD_VIRTUAL_PATH"
7
- set -gx PATH $_OLD_VIRTUAL_PATH
8
- set -e _OLD_VIRTUAL_PATH
9
- end
10
- if test -n "$_OLD_VIRTUAL_PYTHONHOME"
11
- set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME
12
- set -e _OLD_VIRTUAL_PYTHONHOME
13
- end
14
-
15
- if test -n "$_OLD_FISH_PROMPT_OVERRIDE"
16
- functions -e fish_prompt
17
- set -e _OLD_FISH_PROMPT_OVERRIDE
18
- functions -c _old_fish_prompt fish_prompt
19
- functions -e _old_fish_prompt
20
- end
21
-
22
- set -e VIRTUAL_ENV
23
- set -e VIRTUAL_ENV_PROMPT
24
- if test "$argv[1]" != "nondestructive"
25
- # Self-destruct!
26
- functions -e deactivate
27
- end
28
- end
29
-
30
- # Unset irrelevant variables.
31
- deactivate nondestructive
32
-
33
- set -gx VIRTUAL_ENV "/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml"
34
-
35
- set -gx _OLD_VIRTUAL_PATH $PATH
36
- set -gx PATH "$VIRTUAL_ENV/bin" $PATH
37
-
38
- # Unset PYTHONHOME if set.
39
- if set -q PYTHONHOME
40
- set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME
41
- set -e PYTHONHOME
42
- end
43
-
44
- if test -z "$VIRTUAL_ENV_DISABLE_PROMPT"
45
- # fish uses a function instead of an env var to generate the prompt.
46
-
47
- # Save the current fish_prompt function as the function _old_fish_prompt.
48
- functions -c fish_prompt _old_fish_prompt
49
-
50
- # With the original prompt function renamed, we can override with our own.
51
- function fish_prompt
52
- # Save the return status of the last command.
53
- set -l old_status $status
54
-
55
- # Output the venv prompt; color taken from the blue of the Python logo.
56
- printf "%s%s%s" (set_color 4B8BBE) "(.venv-coreml) " (set_color normal)
57
-
58
- # Restore the return status of the previous command.
59
- echo "exit $old_status" | .
60
- # Output the original/"old" prompt.
61
- _old_fish_prompt
62
- end
63
-
64
- set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV"
65
- set -gx VIRTUAL_ENV_PROMPT "(.venv-coreml) "
66
- end
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.venv-coreml/bin/convert-caffe2-to-onnx DELETED
@@ -1,7 +0,0 @@
1
- #!/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml/bin/python3
2
- import sys
3
- from caffe2.python.onnx.bin.conversion import caffe2_to_onnx
4
- if __name__ == '__main__':
5
- if sys.argv[0].endswith('.exe'):
6
- sys.argv[0] = sys.argv[0][:-4]
7
- sys.exit(caffe2_to_onnx())
 
 
 
 
 
 
 
 
.venv-coreml/bin/convert-onnx-to-caffe2 DELETED
@@ -1,7 +0,0 @@
1
- #!/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml/bin/python3
2
- import sys
3
- from caffe2.python.onnx.bin.conversion import onnx_to_caffe2
4
- if __name__ == '__main__':
5
- if sys.argv[0].endswith('.exe'):
6
- sys.argv[0] = sys.argv[0][:-4]
7
- sys.exit(onnx_to_caffe2())
 
 
 
 
 
 
 
 
.venv-coreml/bin/csv2rdf DELETED
@@ -1,7 +0,0 @@
1
- #!/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml/bin/python3
2
- import sys
3
- from rdflib.tools.csv2rdf import main
4
- if __name__ == '__main__':
5
- if sys.argv[0].endswith('.exe'):
6
- sys.argv[0] = sys.argv[0][:-4]
7
- sys.exit(main())
 
 
 
 
 
 
 
 
.venv-coreml/bin/csvw2datasette DELETED
@@ -1,7 +0,0 @@
1
- #!/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml/bin/python3
2
- import sys
3
- from csvw.__main__ import csvw2datasette
4
- if __name__ == '__main__':
5
- if sys.argv[0].endswith('.exe'):
6
- sys.argv[0] = sys.argv[0][:-4]
7
- sys.exit(csvw2datasette())
 
 
 
 
 
 
 
 
.venv-coreml/bin/csvw2json DELETED
@@ -1,7 +0,0 @@
1
- #!/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml/bin/python3
2
- import sys
3
- from csvw.__main__ import csvw2json
4
- if __name__ == '__main__':
5
- if sys.argv[0].endswith('.exe'):
6
- sys.argv[0] = sys.argv[0][:-4]
7
- sys.exit(csvw2json())
 
 
 
 
 
 
 
 
.venv-coreml/bin/csvw2markdown DELETED
@@ -1,7 +0,0 @@
1
- #!/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml/bin/python3
2
- import sys
3
- from csvw.__main__ import csvw2markdown
4
- if __name__ == '__main__':
5
- if sys.argv[0].endswith('.exe'):
6
- sys.argv[0] = sys.argv[0][:-4]
7
- sys.exit(csvw2markdown())
 
 
 
 
 
 
 
 
.venv-coreml/bin/csvw2sqlite DELETED
@@ -1,7 +0,0 @@
1
- #!/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml/bin/python3
2
- import sys
3
- from csvw.__main__ import csvw2sqlite
4
- if __name__ == '__main__':
5
- if sys.argv[0].endswith('.exe'):
6
- sys.argv[0] = sys.argv[0][:-4]
7
- sys.exit(csvw2sqlite())
 
 
 
 
 
 
 
 
.venv-coreml/bin/csvwdescribe DELETED
@@ -1,7 +0,0 @@
1
- #!/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml/bin/python3
2
- import sys
3
- from csvw.__main__ import csvwdescribe
4
- if __name__ == '__main__':
5
- if sys.argv[0].endswith('.exe'):
6
- sys.argv[0] = sys.argv[0][:-4]
7
- sys.exit(csvwdescribe())
 
 
 
 
 
 
 
 
.venv-coreml/bin/csvwvalidate DELETED
@@ -1,7 +0,0 @@
1
- #!/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml/bin/python3
2
- import sys
3
- from csvw.__main__ import csvwvalidate
4
- if __name__ == '__main__':
5
- if sys.argv[0].endswith('.exe'):
6
- sys.argv[0] = sys.argv[0][:-4]
7
- sys.exit(csvwvalidate())
 
 
 
 
 
 
 
 
.venv-coreml/bin/espeak-phonemizer DELETED
@@ -1,7 +0,0 @@
1
- #!/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml/bin/python3
2
- import sys
3
- from espeak_phonemizer.__main__ import main
4
- if __name__ == '__main__':
5
- if sys.argv[0].endswith('.exe'):
6
- sys.argv[0] = sys.argv[0][:-4]
7
- sys.exit(main())
 
 
 
 
 
 
 
 
.venv-coreml/bin/f2py DELETED
@@ -1,7 +0,0 @@
1
- #!/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml/bin/python3
2
- import sys
3
- from numpy.f2py.f2py2e import main
4
- if __name__ == '__main__':
5
- if sys.argv[0].endswith('.exe'):
6
- sys.argv[0] = sys.argv[0][:-4]
7
- sys.exit(main())
 
 
 
 
 
 
 
 
.venv-coreml/bin/hf DELETED
@@ -1,7 +0,0 @@
1
- #!/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml/bin/python3
2
- import sys
3
- from huggingface_hub.cli.hf import main
4
- if __name__ == '__main__':
5
- if sys.argv[0].endswith('.exe'):
6
- sys.argv[0] = sys.argv[0][:-4]
7
- sys.exit(main())
 
 
 
 
 
 
 
 
.venv-coreml/bin/huggingface-cli DELETED
@@ -1,7 +0,0 @@
1
- #!/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml/bin/python3
2
- import sys
3
- from huggingface_hub.commands.huggingface_cli import main
4
- if __name__ == '__main__':
5
- if sys.argv[0].endswith('.exe'):
6
- sys.argv[0] = sys.argv[0][:-4]
7
- sys.exit(main())
 
 
 
 
 
 
 
 
.venv-coreml/bin/isympy DELETED
@@ -1,7 +0,0 @@
1
- #!/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml/bin/python3
2
- import sys
3
- from isympy import main
4
- if __name__ == '__main__':
5
- if sys.argv[0].endswith('.exe'):
6
- sys.argv[0] = sys.argv[0][:-4]
7
- sys.exit(main())
 
 
 
 
 
 
 
 
.venv-coreml/bin/jsonschema DELETED
@@ -1,7 +0,0 @@
1
- #!/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml/bin/python3
2
- import sys
3
- from jsonschema.cli import main
4
- if __name__ == '__main__':
5
- if sys.argv[0].endswith('.exe'):
6
- sys.argv[0] = sys.argv[0][:-4]
7
- sys.exit(main())
 
 
 
 
 
 
 
 
.venv-coreml/bin/normalizer DELETED
@@ -1,7 +0,0 @@
1
- #!/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml/bin/python3
2
- import sys
3
- from charset_normalizer.cli import cli_detect
4
- if __name__ == '__main__':
5
- if sys.argv[0].endswith('.exe'):
6
- sys.argv[0] = sys.argv[0][:-4]
7
- sys.exit(cli_detect())
 
 
 
 
 
 
 
 
.venv-coreml/bin/phonemize DELETED
@@ -1,7 +0,0 @@
1
- #!/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml/bin/python3
2
- import sys
3
- from phonemizer.main import main
4
- if __name__ == '__main__':
5
- if sys.argv[0].endswith('.exe'):
6
- sys.argv[0] = sys.argv[0][:-4]
7
- sys.exit(main())
 
 
 
 
 
 
 
 
.venv-coreml/bin/pip DELETED
@@ -1,8 +0,0 @@
1
- #!/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml/bin/python3
2
- # -*- coding: utf-8 -*-
3
- import re
4
- import sys
5
- from pip._internal.cli.main import main
6
- if __name__ == '__main__':
7
- sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
8
- sys.exit(main())
 
 
 
 
 
 
 
 
 
.venv-coreml/bin/pip3 DELETED
@@ -1,8 +0,0 @@
1
- #!/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml/bin/python3
2
- # -*- coding: utf-8 -*-
3
- import re
4
- import sys
5
- from pip._internal.cli.main import main
6
- if __name__ == '__main__':
7
- sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
8
- sys.exit(main())
 
 
 
 
 
 
 
 
 
.venv-coreml/bin/pip3.10 DELETED
@@ -1,8 +0,0 @@
1
- #!/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml/bin/python3
2
- # -*- coding: utf-8 -*-
3
- import re
4
- import sys
5
- from pip._internal.cli.main import main
6
- if __name__ == '__main__':
7
- sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
8
- sys.exit(main())
 
 
 
 
 
 
 
 
 
.venv-coreml/bin/pyaml DELETED
@@ -1,7 +0,0 @@
1
- #!/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml/bin/python3
2
- import sys
3
- from pyaml.cli import main
4
- if __name__ == '__main__':
5
- if sys.argv[0].endswith('.exe'):
6
- sys.argv[0] = sys.argv[0][:-4]
7
- sys.exit(main())
 
 
 
 
 
 
 
 
.venv-coreml/bin/pybabel DELETED
@@ -1,7 +0,0 @@
1
- #!/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml/bin/python3
2
- import sys
3
- from babel.messages.frontend import main
4
- if __name__ == '__main__':
5
- if sys.argv[0].endswith('.exe'):
6
- sys.argv[0] = sys.argv[0][:-4]
7
- sys.exit(main())
 
 
 
 
 
 
 
 
.venv-coreml/bin/rdf2dot DELETED
@@ -1,7 +0,0 @@
1
- #!/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml/bin/python3
2
- import sys
3
- from rdflib.tools.rdf2dot import main
4
- if __name__ == '__main__':
5
- if sys.argv[0].endswith('.exe'):
6
- sys.argv[0] = sys.argv[0][:-4]
7
- sys.exit(main())
 
 
 
 
 
 
 
 
.venv-coreml/bin/rdfgraphisomorphism DELETED
@@ -1,7 +0,0 @@
1
- #!/Users/mattmireles/Documents/GitHub/talktome/kokoro-coreml/.venv-coreml/bin/python3
2
- import sys
3
- from rdflib.tools.graphisomorphism import main
4
- if __name__ == '__main__':
5
- if sys.argv[0].endswith('.exe'):
6
- sys.argv[0] = sys.argv[0][:-4]
7
- sys.exit(main())