git 4.3.2 → 5.0.0.beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (280) hide show
  1. checksums.yaml +4 -4
  2. data/.github/copilot-instructions.md +67 -2705
  3. data/.github/pull_request_template.md +3 -1
  4. data/.github/skills/breaking-change-analysis/SKILL.md +102 -0
  5. data/.github/skills/ci-cd-troubleshooting/SKILL.md +264 -0
  6. data/.github/skills/command-implementation/REFERENCE.md +993 -0
  7. data/.github/skills/command-implementation/SKILL.md +229 -0
  8. data/.github/skills/command-test-conventions/SKILL.md +660 -0
  9. data/.github/skills/command-yard-documentation/SKILL.md +426 -0
  10. data/.github/skills/dependency-management/SKILL.md +72 -0
  11. data/.github/skills/development-workflow/SKILL.md +506 -0
  12. data/.github/skills/extract-command-from-lib/SKILL.md +487 -0
  13. data/.github/skills/extract-facade-from-base-lib/SKILL.md +586 -0
  14. data/.github/skills/facade-implementation/REFERENCE.md +840 -0
  15. data/.github/skills/facade-implementation/SKILL.md +260 -0
  16. data/.github/skills/facade-test-conventions/SKILL.md +380 -0
  17. data/.github/skills/facade-yard-documentation/SKILL.md +429 -0
  18. data/.github/skills/make-skill-template/SKILL.md +176 -0
  19. data/.github/skills/pr-readiness-review/SKILL.md +185 -0
  20. data/.github/skills/project-context/SKILL.md +313 -0
  21. data/.github/skills/pull-request-review/SKILL.md +168 -0
  22. data/.github/skills/refactor-command-to-commandlineresult/SKILL.md +131 -0
  23. data/.github/skills/release-management/SKILL.md +125 -0
  24. data/.github/skills/review-arguments-dsl/CHECKLIST.md +788 -0
  25. data/.github/skills/review-arguments-dsl/SKILL.md +214 -0
  26. data/.github/skills/review-backward-compatibility/SKILL.md +275 -0
  27. data/.github/skills/review-cross-command-consistency/SKILL.md +139 -0
  28. data/.github/skills/reviewing-skills/SKILL.md +189 -0
  29. data/.github/skills/rspec-unit-testing-standards/SKILL.md +639 -0
  30. data/.github/skills/tdd-refactor-step/SKILL.md +236 -0
  31. data/.github/skills/test-debugging/SKILL.md +160 -0
  32. data/.github/skills/yard-documentation/SKILL.md +793 -0
  33. data/.github/workflows/continuous_integration.yml +3 -2
  34. data/.github/workflows/enforce_conventional_commits.yml +1 -1
  35. data/.github/workflows/experimental_continuous_integration.yml +2 -2
  36. data/.github/workflows/release.yml +3 -4
  37. data/.gitignore +8 -0
  38. data/.husky/pre-commit +13 -0
  39. data/.release-please-manifest.json +1 -1
  40. data/.rspec +3 -0
  41. data/.rubocop.yml +7 -3
  42. data/.rubocop_todo.yml +23 -5
  43. data/.yardopts +1 -0
  44. data/CHANGELOG.md +0 -40
  45. data/CONTRIBUTING.md +694 -53
  46. data/README.md +17 -5
  47. data/Rakefile +61 -9
  48. data/commitlint.test +4 -0
  49. data/git.gemspec +14 -8
  50. data/lib/git/args_builder.rb +0 -8
  51. data/lib/git/base.rb +486 -410
  52. data/lib/git/branch.rb +380 -43
  53. data/lib/git/branch_delete_failure.rb +31 -0
  54. data/lib/git/branch_delete_result.rb +63 -0
  55. data/lib/git/branch_info.rb +178 -0
  56. data/lib/git/branches.rb +130 -24
  57. data/lib/git/command_line/base.rb +245 -0
  58. data/lib/git/command_line/capturing.rb +249 -0
  59. data/lib/git/command_line/result.rb +96 -0
  60. data/lib/git/command_line/streaming.rb +194 -0
  61. data/lib/git/command_line.rb +43 -322
  62. data/lib/git/command_line_result.rb +4 -88
  63. data/lib/git/commands/add.rb +131 -0
  64. data/lib/git/commands/am/abort.rb +43 -0
  65. data/lib/git/commands/am/apply.rb +252 -0
  66. data/lib/git/commands/am/continue.rb +43 -0
  67. data/lib/git/commands/am/quit.rb +43 -0
  68. data/lib/git/commands/am/retry.rb +47 -0
  69. data/lib/git/commands/am/show_current_patch.rb +64 -0
  70. data/lib/git/commands/am/skip.rb +42 -0
  71. data/lib/git/commands/am.rb +33 -0
  72. data/lib/git/commands/apply.rb +237 -0
  73. data/lib/git/commands/archive/list_formats.rb +46 -0
  74. data/lib/git/commands/archive.rb +140 -0
  75. data/lib/git/commands/arguments.rb +3510 -0
  76. data/lib/git/commands/base.rb +403 -0
  77. data/lib/git/commands/branch/copy.rb +94 -0
  78. data/lib/git/commands/branch/create.rb +173 -0
  79. data/lib/git/commands/branch/delete.rb +80 -0
  80. data/lib/git/commands/branch/list.rb +162 -0
  81. data/lib/git/commands/branch/move.rb +94 -0
  82. data/lib/git/commands/branch/set_upstream.rb +86 -0
  83. data/lib/git/commands/branch/show_current.rb +49 -0
  84. data/lib/git/commands/branch/unset_upstream.rb +57 -0
  85. data/lib/git/commands/branch.rb +34 -0
  86. data/lib/git/commands/cat_file/batch.rb +364 -0
  87. data/lib/git/commands/cat_file/filtered.rb +105 -0
  88. data/lib/git/commands/cat_file/raw.rb +210 -0
  89. data/lib/git/commands/cat_file.rb +49 -0
  90. data/lib/git/commands/checkout/branch.rb +151 -0
  91. data/lib/git/commands/checkout/files.rb +115 -0
  92. data/lib/git/commands/checkout.rb +38 -0
  93. data/lib/git/commands/checkout_index.rb +105 -0
  94. data/lib/git/commands/clean.rb +100 -0
  95. data/lib/git/commands/clone.rb +240 -0
  96. data/lib/git/commands/commit.rb +272 -0
  97. data/lib/git/commands/commit_tree.rb +100 -0
  98. data/lib/git/commands/config_option_syntax/add.rb +83 -0
  99. data/lib/git/commands/config_option_syntax/get.rb +117 -0
  100. data/lib/git/commands/config_option_syntax/get_all.rb +115 -0
  101. data/lib/git/commands/config_option_syntax/get_color.rb +91 -0
  102. data/lib/git/commands/config_option_syntax/get_color_bool.rb +93 -0
  103. data/lib/git/commands/config_option_syntax/get_regexp.rb +115 -0
  104. data/lib/git/commands/config_option_syntax/get_urlmatch.rb +102 -0
  105. data/lib/git/commands/config_option_syntax/list.rb +107 -0
  106. data/lib/git/commands/config_option_syntax/remove_section.rb +74 -0
  107. data/lib/git/commands/config_option_syntax/rename_section.rb +78 -0
  108. data/lib/git/commands/config_option_syntax/replace_all.rb +104 -0
  109. data/lib/git/commands/config_option_syntax/set.rb +114 -0
  110. data/lib/git/commands/config_option_syntax/unset.rb +89 -0
  111. data/lib/git/commands/config_option_syntax/unset_all.rb +89 -0
  112. data/lib/git/commands/config_option_syntax.rb +56 -0
  113. data/lib/git/commands/describe.rb +155 -0
  114. data/lib/git/commands/diff.rb +656 -0
  115. data/lib/git/commands/diff_files.rb +518 -0
  116. data/lib/git/commands/diff_index.rb +496 -0
  117. data/lib/git/commands/fetch.rb +352 -0
  118. data/lib/git/commands/fsck.rb +136 -0
  119. data/lib/git/commands/gc.rb +132 -0
  120. data/lib/git/commands/grep.rb +338 -0
  121. data/lib/git/commands/init.rb +99 -0
  122. data/lib/git/commands/log.rb +632 -0
  123. data/lib/git/commands/ls_files.rb +191 -0
  124. data/lib/git/commands/ls_remote.rb +155 -0
  125. data/lib/git/commands/ls_tree.rb +131 -0
  126. data/lib/git/commands/maintenance/register.rb +75 -0
  127. data/lib/git/commands/maintenance/run.rb +104 -0
  128. data/lib/git/commands/maintenance/start.rb +66 -0
  129. data/lib/git/commands/maintenance/stop.rb +55 -0
  130. data/lib/git/commands/maintenance/unregister.rb +79 -0
  131. data/lib/git/commands/maintenance.rb +31 -0
  132. data/lib/git/commands/merge/abort.rb +44 -0
  133. data/lib/git/commands/merge/continue.rb +44 -0
  134. data/lib/git/commands/merge/quit.rb +46 -0
  135. data/lib/git/commands/merge/start.rb +245 -0
  136. data/lib/git/commands/merge.rb +28 -0
  137. data/lib/git/commands/merge_base.rb +86 -0
  138. data/lib/git/commands/mv.rb +77 -0
  139. data/lib/git/commands/name_rev.rb +114 -0
  140. data/lib/git/commands/pull.rb +377 -0
  141. data/lib/git/commands/push.rb +246 -0
  142. data/lib/git/commands/read_tree.rb +149 -0
  143. data/lib/git/commands/remote/add.rb +91 -0
  144. data/lib/git/commands/remote/get_url.rb +66 -0
  145. data/lib/git/commands/remote/list.rb +54 -0
  146. data/lib/git/commands/remote/prune.rb +61 -0
  147. data/lib/git/commands/remote/remove.rb +52 -0
  148. data/lib/git/commands/remote/rename.rb +69 -0
  149. data/lib/git/commands/remote/set_branches.rb +63 -0
  150. data/lib/git/commands/remote/set_head.rb +82 -0
  151. data/lib/git/commands/remote/set_url.rb +71 -0
  152. data/lib/git/commands/remote/set_url_add.rb +61 -0
  153. data/lib/git/commands/remote/set_url_delete.rb +64 -0
  154. data/lib/git/commands/remote/show.rb +71 -0
  155. data/lib/git/commands/remote/update.rb +72 -0
  156. data/lib/git/commands/remote.rb +42 -0
  157. data/lib/git/commands/repack.rb +277 -0
  158. data/lib/git/commands/reset.rb +147 -0
  159. data/lib/git/commands/rev_parse.rb +297 -0
  160. data/lib/git/commands/revert/abort.rb +45 -0
  161. data/lib/git/commands/revert/continue.rb +57 -0
  162. data/lib/git/commands/revert/quit.rb +47 -0
  163. data/lib/git/commands/revert/skip.rb +44 -0
  164. data/lib/git/commands/revert/start.rb +153 -0
  165. data/lib/git/commands/revert.rb +29 -0
  166. data/lib/git/commands/rm.rb +114 -0
  167. data/lib/git/commands/show.rb +632 -0
  168. data/lib/git/commands/show_ref/exclude_existing.rb +120 -0
  169. data/lib/git/commands/show_ref/exists.rb +78 -0
  170. data/lib/git/commands/show_ref/list.rb +145 -0
  171. data/lib/git/commands/show_ref/verify.rb +120 -0
  172. data/lib/git/commands/show_ref.rb +42 -0
  173. data/lib/git/commands/stash/apply.rb +75 -0
  174. data/lib/git/commands/stash/branch.rb +65 -0
  175. data/lib/git/commands/stash/clear.rb +41 -0
  176. data/lib/git/commands/stash/create.rb +58 -0
  177. data/lib/git/commands/stash/drop.rb +67 -0
  178. data/lib/git/commands/stash/list.rb +39 -0
  179. data/lib/git/commands/stash/pop.rb +78 -0
  180. data/lib/git/commands/stash/push.rb +103 -0
  181. data/lib/git/commands/stash/show.rb +149 -0
  182. data/lib/git/commands/stash/store.rb +63 -0
  183. data/lib/git/commands/stash.rb +38 -0
  184. data/lib/git/commands/status.rb +169 -0
  185. data/lib/git/commands/symbolic_ref/delete.rb +68 -0
  186. data/lib/git/commands/symbolic_ref/read.rb +95 -0
  187. data/lib/git/commands/symbolic_ref/update.rb +76 -0
  188. data/lib/git/commands/symbolic_ref.rb +38 -0
  189. data/lib/git/commands/tag/create.rb +139 -0
  190. data/lib/git/commands/tag/delete.rb +55 -0
  191. data/lib/git/commands/tag/list.rb +143 -0
  192. data/lib/git/commands/tag/verify.rb +71 -0
  193. data/lib/git/commands/tag.rb +26 -0
  194. data/lib/git/commands/update_ref/batch.rb +140 -0
  195. data/lib/git/commands/update_ref/delete.rb +92 -0
  196. data/lib/git/commands/update_ref/update.rb +106 -0
  197. data/lib/git/commands/update_ref.rb +42 -0
  198. data/lib/git/commands/version.rb +52 -0
  199. data/lib/git/commands/worktree/add.rb +140 -0
  200. data/lib/git/commands/worktree/list.rb +64 -0
  201. data/lib/git/commands/worktree/lock.rb +58 -0
  202. data/lib/git/commands/worktree/management_base.rb +51 -0
  203. data/lib/git/commands/worktree/move.rb +66 -0
  204. data/lib/git/commands/worktree/prune.rb +67 -0
  205. data/lib/git/commands/worktree/remove.rb +63 -0
  206. data/lib/git/commands/worktree/repair.rb +76 -0
  207. data/lib/git/commands/worktree/unlock.rb +47 -0
  208. data/lib/git/commands/worktree.rb +43 -0
  209. data/lib/git/commands/write_tree.rb +68 -0
  210. data/lib/git/commands.rb +89 -0
  211. data/lib/git/detached_head_info.rb +54 -0
  212. data/lib/git/diff.rb +297 -7
  213. data/lib/git/diff_file_numstat_info.rb +29 -0
  214. data/lib/git/diff_file_patch_info.rb +134 -0
  215. data/lib/git/diff_file_raw_info.rb +127 -0
  216. data/lib/git/diff_info.rb +169 -0
  217. data/lib/git/diff_path_status.rb +78 -19
  218. data/lib/git/diff_result.rb +32 -0
  219. data/lib/git/diff_stats.rb +59 -14
  220. data/lib/git/dirstat_info.rb +86 -0
  221. data/lib/git/errors.rb +65 -2
  222. data/lib/git/execution_context/global.rb +56 -0
  223. data/lib/git/execution_context/repository.rb +147 -0
  224. data/lib/git/execution_context.rb +482 -0
  225. data/lib/git/file_ref.rb +74 -0
  226. data/lib/git/fsck_object.rb +9 -9
  227. data/lib/git/fsck_result.rb +1 -1
  228. data/lib/git/lib.rb +1606 -1028
  229. data/lib/git/log.rb +15 -2
  230. data/lib/git/object.rb +92 -22
  231. data/lib/git/parsers/branch.rb +224 -0
  232. data/lib/git/parsers/cat_file.rb +111 -0
  233. data/lib/git/parsers/diff.rb +585 -0
  234. data/lib/git/parsers/fsck.rb +133 -0
  235. data/lib/git/parsers/grep.rb +42 -0
  236. data/lib/git/parsers/ls_tree.rb +58 -0
  237. data/lib/git/parsers/stash.rb +208 -0
  238. data/lib/git/parsers/tag.rb +257 -0
  239. data/lib/git/remote.rb +133 -9
  240. data/lib/git/repository/branching.rb +572 -0
  241. data/lib/git/repository/committing.rb +191 -0
  242. data/lib/git/repository/configuring.rb +156 -0
  243. data/lib/git/repository/diffing.rb +775 -0
  244. data/lib/git/repository/inspecting.rb +153 -0
  245. data/lib/git/repository/logging.rb +247 -0
  246. data/lib/git/repository/merging.rb +295 -0
  247. data/lib/git/repository/object_operations.rb +1101 -0
  248. data/lib/git/repository/path_resolver.rb +207 -0
  249. data/lib/git/repository/remote_operations.rb +753 -0
  250. data/lib/git/repository/shared_private.rb +51 -0
  251. data/lib/git/repository/staging.rb +390 -0
  252. data/lib/git/repository/stashing.rb +107 -0
  253. data/lib/git/repository/status_operations.rb +180 -0
  254. data/lib/git/repository/worktree_operations.rb +159 -0
  255. data/lib/git/repository.rb +264 -1
  256. data/lib/git/stash.rb +85 -4
  257. data/lib/git/stash_info.rb +104 -0
  258. data/lib/git/stashes.rb +130 -13
  259. data/lib/git/status.rb +224 -18
  260. data/lib/git/tag_delete_failure.rb +31 -0
  261. data/lib/git/tag_delete_result.rb +63 -0
  262. data/lib/git/tag_info.rb +105 -0
  263. data/lib/git/version.rb +109 -2
  264. data/lib/git/version_constraint.rb +81 -0
  265. data/lib/git/worktree.rb +120 -5
  266. data/lib/git/worktrees.rb +107 -7
  267. data/lib/git.rb +114 -18
  268. data/redesign/1_architecture_existing.md +54 -18
  269. data/redesign/2_architecture_redesign.md +365 -46
  270. data/redesign/3_architecture_implementation.md +1451 -54
  271. data/tasks/gem_tasks.rake +4 -0
  272. data/tasks/npm_tasks.rake +7 -0
  273. data/tasks/rspec.rake +48 -0
  274. data/tasks/test.rake +13 -1
  275. data/tasks/yard.rake +34 -7
  276. metadata +349 -20
  277. data/lib/git/index.rb +0 -6
  278. data/lib/git/path.rb +0 -38
  279. data/lib/git/working_directory.rb +0 -6
  280. /data/{release-please-config.json → .release-please-config.json} +0 -0
@@ -0,0 +1,189 @@
1
+ ---
2
+ name: reviewing-skills
3
+ description: 'Audits Agent Skills for quality, discoverability, and adherence to best practices. Use when reviewing a skill, checking skill quality, auditing skill descriptions, or validating skill structure before committing.'
4
+ ---
5
+
6
+ # Reviewing Skills
7
+
8
+ Audit one or more Agent Skills for quality, discoverability, consistency, and
9
+ adherence to the Anthropic skill-authoring best practices.
10
+
11
+ ## Contents
12
+
13
+ - [How to use this skill](#how-to-use-this-skill)
14
+ - [Related skills](#related-skills)
15
+ - [Input](#input)
16
+ - [Review checklist](#review-checklist)
17
+ - [1. Frontmatter](#1-frontmatter)
18
+ - [2. Description quality](#2-description-quality)
19
+ - [3. Body structure and size](#3-body-structure-and-size)
20
+ - [4. Conciseness](#4-conciseness)
21
+ - [5. Degrees of freedom](#5-degrees-of-freedom)
22
+ - [6. Progressive disclosure](#6-progressive-disclosure)
23
+ - [7. Workflows and feedback loops](#7-workflows-and-feedback-loops)
24
+ - [8. Content quality](#8-content-quality)
25
+ - [9. Cross-skill consistency](#9-cross-skill-consistency)
26
+ - [10. Discoverability sections](#10-discoverability-sections)
27
+ - [Output](#output)
28
+ - [Reference: Anthropic best-practices summary](#reference-anthropic-best-practices-summary)
29
+
30
+ ## How to use this skill
31
+
32
+ Attach this file to your Copilot Chat context, then invoke it with the skill
33
+ folder or SKILL.md file(s) to review. Examples:
34
+
35
+ ```text
36
+ Using the Reviewing Skills skill, review .github/skills/command-implementation/.
37
+ ```
38
+
39
+ ```text
40
+ Review all skills under .github/skills/ for best-practice compliance.
41
+ ```
42
+
43
+ ## Related skills
44
+
45
+ - [Make Skill Template](../make-skill-template/SKILL.md) — scaffold new skills;
46
+ use this reviewing skill afterward to validate quality
47
+ - [PR Readiness Review](../pr-readiness-review/SKILL.md) — final pre-PR quality
48
+ gate (broader than skill-specific review)
49
+
50
+ ## Input
51
+
52
+ One or more skill directories or SKILL.md files from `.github/skills/`.
53
+
54
+ ## Review checklist
55
+
56
+ Work through each section below for every skill under review.
57
+
58
+ ### 1. Frontmatter
59
+
60
+ - [ ] `name` is present, 1-64 chars, lowercase letters/numbers/hyphens only
61
+ - [ ] `name` matches the folder name exactly
62
+ - [ ] `name` does not contain reserved words (`anthropic`, `claude`)
63
+ - [ ] `description` is present, 1-1024 chars
64
+ - [ ] `description` does not contain XML tags
65
+
66
+ ### 2. Description quality
67
+
68
+ The description is the **primary discovery mechanism** — it determines whether the
69
+ skill is selected from potentially hundreds of available skills.
70
+
71
+ - [ ] Written in **third person** (not "I can…" or "You can…")
72
+ - [ ] Describes **what** the skill does (capabilities)
73
+ - [ ] Describes **when** to use it (triggers, scenarios, keywords)
74
+ - [ ] Includes specific key terms users are likely to mention
75
+ - [ ] Is not vague (e.g. "Helps with documents" is too vague)
76
+
77
+ ### 3. Body structure and size
78
+
79
+ - [ ] SKILL.md body is **under 600 lines** (optimal performance threshold)
80
+ - [ ] If approaching the limit, content is split into separate reference files
81
+ - [ ] Reference files are at most **one level deep** from SKILL.md (no
82
+ deeply-nested chains like SKILL → A.md → B.md → actual content)
83
+ - [ ] Reference files longer than 100 lines include a table of contents
84
+
85
+ ### 4. Conciseness
86
+
87
+ Every token in a loaded skill competes with conversation history and other
88
+ context. Challenge each piece of information:
89
+
90
+ - [ ] Only includes context the model does not already have
91
+ - [ ] Does not over-explain concepts the model already knows
92
+ - [ ] Avoids redundant paragraphs or verbose preambles
93
+ - [ ] Uses code examples instead of lengthy prose where possible
94
+
95
+ ### 5. Degrees of freedom
96
+
97
+ Match instruction specificity to task fragility:
98
+
99
+ - [ ] **High freedom** (general text guidance) for tasks where multiple
100
+ approaches are valid and context determines the best route
101
+ - [ ] **Medium freedom** (pseudocode / parameterized templates) for tasks with a
102
+ preferred pattern but acceptable variation
103
+ - [ ] **Low freedom** (exact scripts, no parameters) for fragile or
104
+ error-prone operations where consistency is critical
105
+ - [ ] The chosen level is appropriate for the skill's domain
106
+
107
+ ### 6. Progressive disclosure
108
+
109
+ - [ ] SKILL.md serves as an overview / table of contents
110
+ - [ ] Detailed materials are in separate files loaded only when needed
111
+ - [ ] File names are descriptive (not `doc1.md`, `file2.md`)
112
+ - [ ] Directory structure is organized by domain or feature
113
+
114
+ ### 7. Workflows and feedback loops
115
+
116
+ - [ ] Complex multi-step operations are broken into clear, sequential steps
117
+ - [ ] Long workflows include a progress checklist the agent can track
118
+ - [ ] Validation / feedback loops are present for quality-critical tasks
119
+ (run validator → fix errors → repeat until clean)
120
+ - [ ] Decision points use conditional workflow patterns (if X → workflow A,
121
+ if Y → workflow B)
122
+
123
+ ### 8. Content quality
124
+
125
+ - [ ] No time-sensitive information (dates that will become stale); if legacy
126
+ context is needed, it is in a collapsible "old patterns" section
127
+ - [ ] Consistent terminology throughout (one term per concept, not synonyms)
128
+ - [ ] Examples are concrete, not abstract
129
+ - [ ] All file paths use forward slashes (no Windows-style backslashes)
130
+ - [ ] No "voodoo constants" — every magic number or config value is justified
131
+
132
+ ### 9. Cross-skill consistency
133
+
134
+ When reviewing multiple skills in the same repository:
135
+
136
+ - [ ] Naming convention is consistent (all gerund, all noun-phrase, or all
137
+ action-oriented — not a mix)
138
+ - [ ] Shared policies (branch rules, commit conventions, quality gates,
139
+ changelog policy) do not contradict each other
140
+ - [ ] Cross-skill links in `## Related skills` resolve to existing files
141
+ - [ ] Every skill referenced in `.github/copilot-instructions.md`'s routing
142
+ table resolves to an existing `.github/skills/*/SKILL.md` file
143
+ - [ ] Stop/ask checkpoints are used consistently for comparable risk levels
144
+
145
+ ### 10. Discoverability sections
146
+
147
+ Every skill in this repository must include these standard sections:
148
+
149
+ - [ ] `## Contents` — table of contents with anchor links
150
+ - [ ] `## How to use this skill` — brief invocation guidance
151
+ - [ ] `## Related skills` — cross-links to related skills with one-line
152
+ descriptions
153
+
154
+ ## Output
155
+
156
+ For each reviewed skill, produce:
157
+
158
+ 1. A per-check result table:
159
+
160
+ | # | Check | Status | Issue |
161
+ | --- | ----- | ------ | ----- |
162
+
163
+ 2. A summary of required fixes (if any)
164
+
165
+ 3. A list of suggestions for improvement (optional, lower priority)
166
+
167
+ ## Reference: Anthropic best-practices summary
168
+
169
+ This checklist is derived from the official Anthropic skill-authoring best
170
+ practices at
171
+ <https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices>.
172
+
173
+ Key principles distilled:
174
+
175
+ | Principle | One-liner |
176
+ | --------- | --------- |
177
+ | Concise is key | Only add context the model does not already have |
178
+ | Degrees of freedom | Match specificity to task fragility |
179
+ | Progressive disclosure | SKILL.md is an overview; details in separate files |
180
+ | Effective descriptions | Third-person, specific, includes triggers and keywords |
181
+ | Workflows | Sequential steps with checklists and feedback loops |
182
+ | No time-sensitive info | Avoid dates that will become stale |
183
+ | Consistent terminology | One term per concept throughout |
184
+ | One-level references | No deeply nested file chains |
185
+ | Under 600 lines | Split if approaching the limit |
186
+ | Test with real usage | Iterate based on observed agent behavior |
187
+
188
+ > **Branch workflow:** Implement any fixes on a feature branch. Never commit or
189
+ > push directly to `main` — open a pull request when changes are ready to merge.