@skill-graph/cli 0.5.6

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 (330) hide show
  1. package/CHANGELOG.md +247 -0
  2. package/LICENSE +200 -0
  3. package/NOTICE +62 -0
  4. package/README.md +398 -0
  5. package/SKILL_GRAPH.md +443 -0
  6. package/bin/skill-graph.js +374 -0
  7. package/docs/ADOPTION.md +117 -0
  8. package/docs/CONFORMANCE.md +66 -0
  9. package/docs/PRIMER.md +384 -0
  10. package/docs/QUICKSTART-30MIN.md +333 -0
  11. package/docs/ROUTING-METRICS.md +120 -0
  12. package/docs/SKILL-MD-FORMAT-COMPATIBILITY.md +127 -0
  13. package/docs/SKILL_AUDIT_CHECKLIST.md +199 -0
  14. package/docs/SKILL_AUDIT_LOOP.md +195 -0
  15. package/docs/SKILL_METADATA_PROTOCOL.md +609 -0
  16. package/docs/_archived/marketplace-publication-priority-2026-05-18.md +239 -0
  17. package/docs/adr/0001-predicate-set.md +69 -0
  18. package/docs/adr/0002-json-ld-context.md +82 -0
  19. package/docs/adr/0003-ontoclean-rigidity-tags.md +65 -0
  20. package/docs/adr/0004-persistent-identifiers.md +74 -0
  21. package/docs/adr/0005-freshness-consolidation.md +70 -0
  22. package/docs/adr/0006-revise-predicate-rename.md +105 -0
  23. package/docs/adr/0007-audit-loop-cadence.md +99 -0
  24. package/docs/adr/0008-skill-surface-split-and-curation-policy.md +93 -0
  25. package/docs/category-consumers.md +168 -0
  26. package/docs/concept-map.md +194 -0
  27. package/docs/diagrams/drift-states.mmd +21 -0
  28. package/docs/diagrams/manifest-pipeline.mmd +25 -0
  29. package/docs/diagrams/routing-harness.mmd +41 -0
  30. package/docs/diagrams/starter-graph.mmd +53 -0
  31. package/docs/field-decision-guide.md +315 -0
  32. package/docs/field-rationale.md +211 -0
  33. package/docs/field-reference.generated.md +624 -0
  34. package/docs/field-reference.md +1426 -0
  35. package/docs/glossary.md +190 -0
  36. package/docs/head-noun-glossary.md +63 -0
  37. package/docs/images/audit-phases.png +0 -0
  38. package/docs/images/drift-states.png +0 -0
  39. package/docs/images/graded-mode.png +0 -0
  40. package/docs/images/manifest-pipeline.png +0 -0
  41. package/docs/images/routing-harness.png +0 -0
  42. package/docs/images/skill-anatomy.png +0 -0
  43. package/docs/images/starter-graph.png +0 -0
  44. package/docs/images/system-model.png +0 -0
  45. package/docs/integrations/github-actions.md +155 -0
  46. package/docs/manifest-field-mapping.md +443 -0
  47. package/docs/marketplace-publication-queue.generated.md +240 -0
  48. package/docs/marketplace-release-agent-prompt.md +82 -0
  49. package/docs/marketplace-skill-candidate-list.md +272 -0
  50. package/docs/marketplace-syndication.md +222 -0
  51. package/docs/migration-sample-review.md +155 -0
  52. package/docs/migrations/v4-to-v5.md +168 -0
  53. package/docs/migrations/v5-to-v6.md +221 -0
  54. package/docs/name-exceptions.yaml +37 -0
  55. package/docs/plans/marketplace-p1-public-migration-plan.md +41 -0
  56. package/docs/plans/multi-root-workspace.md +148 -0
  57. package/docs/plans/scripts-roadmap.md +107 -0
  58. package/docs/plans/v4-schema-bump.md +160 -0
  59. package/docs/plans/wave-2-extraction.md +122 -0
  60. package/docs/positioning-vs-marketplaces.md +175 -0
  61. package/docs/proposals/skill-audit-loop-positioning.md +160 -0
  62. package/docs/quality-doctrine.md +138 -0
  63. package/docs/recommended-skills.md +150 -0
  64. package/docs/research/skill-comprehension-eval-research.md +1830 -0
  65. package/docs/research/skill-retrieval-evidence.md +66 -0
  66. package/docs/skill-metadata-protocol.md +471 -0
  67. package/docs/skills-sh-maintainer-cleanup-request.md +80 -0
  68. package/examples/audits/a11y/findings.md +52 -0
  69. package/examples/audits/a11y/scorecard.md +21 -0
  70. package/examples/audits/a11y/verdict.md +44 -0
  71. package/examples/audits/debugging/findings.md +59 -0
  72. package/examples/audits/debugging/scorecard.md +22 -0
  73. package/examples/audits/debugging/verdict.md +33 -0
  74. package/examples/audits/documentation/findings.md +59 -0
  75. package/examples/audits/documentation/scorecard.md +22 -0
  76. package/examples/audits/documentation/verdict.md +33 -0
  77. package/examples/evals/a11y.json +140 -0
  78. package/examples/evals/api-design.json +52 -0
  79. package/examples/evals/code-review.json +52 -0
  80. package/examples/evals/data-modeling.json +52 -0
  81. package/examples/evals/database-migration.json +52 -0
  82. package/examples/evals/debugging.json +118 -0
  83. package/examples/evals/dependency-architecture.json +52 -0
  84. package/examples/evals/design-system-architecture.json +52 -0
  85. package/examples/evals/error-tracking.json +52 -0
  86. package/examples/evals/event-contract-design.json +52 -0
  87. package/examples/evals/form-ux-architecture.json +52 -0
  88. package/examples/evals/framework-fit-analysis.json +52 -0
  89. package/examples/evals/graph-audit.json +139 -0
  90. package/examples/evals/information-architecture.json +52 -0
  91. package/examples/evals/interaction-feedback.json +52 -0
  92. package/examples/evals/interaction-patterns.json +52 -0
  93. package/examples/evals/layout-composition.json +52 -0
  94. package/examples/evals/lint-overlay.json +117 -0
  95. package/examples/evals/microcopy.json +52 -0
  96. package/examples/evals/observability-modeling.json +52 -0
  97. package/examples/evals/pattern-recognition.json +96 -0
  98. package/examples/evals/performance-engineering.json +52 -0
  99. package/examples/evals/refactor.json +128 -0
  100. package/examples/evals/semiotics.json +52 -0
  101. package/examples/evals/skill-infrastructure.json +96 -0
  102. package/examples/evals/skill-router.json +140 -0
  103. package/examples/evals/skill-router.routing.json +113 -0
  104. package/examples/evals/system-interface-contracts.json +52 -0
  105. package/examples/evals/task-analysis.json +52 -0
  106. package/examples/evals/testing-strategy.json +118 -0
  107. package/examples/evals/type-safety.json +249 -0
  108. package/examples/evals/visual-design-foundations.json +52 -0
  109. package/examples/evals/webhook-integration.json +52 -0
  110. package/examples/exports/a11y.skill-md.md +80 -0
  111. package/examples/exports/debugging.skill-md.md +80 -0
  112. package/examples/exports/refactor.skill-md.md +78 -0
  113. package/examples/exports/testing-strategy.skill-md.md +81 -0
  114. package/examples/projects/markdown-static-site/README.md +115 -0
  115. package/examples/projects/markdown-static-site/skills/content-source-router/SKILL.md +131 -0
  116. package/examples/projects/markdown-static-site/skills/image-optimization-pipeline-config/SKILL.md +132 -0
  117. package/examples/projects/markdown-static-site/skills/link-rot-detection/SKILL.md +103 -0
  118. package/examples/projects/markdown-static-site/skills/markdown-post-frontmatter-validation/SKILL.md +133 -0
  119. package/examples/projects/markdown-static-site/skills/migrate-posts-to-v2-frontmatter/SKILL.md +140 -0
  120. package/examples/projects/saas-stripe-postgres/README.md +208 -0
  121. package/examples/projects/saas-stripe-postgres/db/migrations/0004_canonicalize_orders.sql +37 -0
  122. package/examples/projects/saas-stripe-postgres/db/schema.sql +112 -0
  123. package/examples/projects/saas-stripe-postgres/skills/migrate-orders-to-canonical-schema/SKILL.md +149 -0
  124. package/examples/projects/saas-stripe-postgres/skills/nextjs-server-action-validation/SKILL.md +154 -0
  125. package/examples/projects/saas-stripe-postgres/skills/payment-provider-router/SKILL.md +153 -0
  126. package/examples/projects/saas-stripe-postgres/skills/postgres-rls-pattern/SKILL.md +163 -0
  127. package/examples/projects/saas-stripe-postgres/skills/stripe-webhook-signature-verification/SKILL.md +137 -0
  128. package/examples/protocol/skill-metadata-template.md +301 -0
  129. package/examples/protocol/skills.manifest.sample.json +13245 -0
  130. package/examples/skill-metadata-template.md +317 -0
  131. package/examples/skills.manifest.sample.json +13519 -0
  132. package/examples/tests/v3-1-skos-fixture/SKILL.md +93 -0
  133. package/marketplace/README.md +17 -0
  134. package/marketplace/skills/a11y/SKILL.md +66 -0
  135. package/marketplace/skills/acid-fundamentals/SKILL.md +106 -0
  136. package/marketplace/skills/agent-engineering/SKILL.md +386 -0
  137. package/marketplace/skills/agent-eval-design/SKILL.md +55 -0
  138. package/marketplace/skills/ai-native-development/SKILL.md +294 -0
  139. package/marketplace/skills/api-design/SKILL.md +60 -0
  140. package/marketplace/skills/architecture-decision-records/SKILL.md +55 -0
  141. package/marketplace/skills/background-jobs/SKILL.md +265 -0
  142. package/marketplace/skills/bounded-context-mapping/SKILL.md +55 -0
  143. package/marketplace/skills/cap-theorem-tradeoffs/SKILL.md +127 -0
  144. package/marketplace/skills/client-server-boundary/SKILL.md +187 -0
  145. package/marketplace/skills/code-review/SKILL.md +120 -0
  146. package/marketplace/skills/color-system-design/SKILL.md +43 -0
  147. package/marketplace/skills/component-architecture/SKILL.md +126 -0
  148. package/marketplace/skills/compression/SKILL.md +112 -0
  149. package/marketplace/skills/conceptual-modeling/SKILL.md +181 -0
  150. package/marketplace/skills/connection-pooling/SKILL.md +105 -0
  151. package/marketplace/skills/constraint-awareness/SKILL.md +287 -0
  152. package/marketplace/skills/content-monitor/SKILL.md +209 -0
  153. package/marketplace/skills/context-engineering/SKILL.md +320 -0
  154. package/marketplace/skills/context-graph/SKILL.md +174 -0
  155. package/marketplace/skills/context-management/SKILL.md +174 -0
  156. package/marketplace/skills/context-window/SKILL.md +239 -0
  157. package/marketplace/skills/contract-testing/SKILL.md +120 -0
  158. package/marketplace/skills/cron-scheduling/SKILL.md +223 -0
  159. package/marketplace/skills/dark-mode-implementation/SKILL.md +47 -0
  160. package/marketplace/skills/data-modeling/SKILL.md +59 -0
  161. package/marketplace/skills/data-modeling-fundamentals/SKILL.md +117 -0
  162. package/marketplace/skills/database-migration/SKILL.md +429 -0
  163. package/marketplace/skills/debugging/SKILL.md +67 -0
  164. package/marketplace/skills/dependency-architecture/SKILL.md +58 -0
  165. package/marketplace/skills/design-module-composition/SKILL.md +43 -0
  166. package/marketplace/skills/design-system-architecture/SKILL.md +61 -0
  167. package/marketplace/skills/design-thinking/SKILL.md +44 -0
  168. package/marketplace/skills/diagnosis/SKILL.md +296 -0
  169. package/marketplace/skills/diff-analysis/SKILL.md +188 -0
  170. package/marketplace/skills/e2e-test-design/SKILL.md +113 -0
  171. package/marketplace/skills/entity-relationship-modeling/SKILL.md +218 -0
  172. package/marketplace/skills/epistemic-grounding/SKILL.md +112 -0
  173. package/marketplace/skills/error-boundary/SKILL.md +235 -0
  174. package/marketplace/skills/error-tracking/SKILL.md +261 -0
  175. package/marketplace/skills/eval-driven-development/SKILL.md +147 -0
  176. package/marketplace/skills/evaluation/SKILL.md +113 -0
  177. package/marketplace/skills/event-contract-design/SKILL.md +60 -0
  178. package/marketplace/skills/event-storming/SKILL.md +56 -0
  179. package/marketplace/skills/form-ux-architecture/SKILL.md +60 -0
  180. package/marketplace/skills/framework-fit-analysis/SKILL.md +59 -0
  181. package/marketplace/skills/frontend-architecture/SKILL.md +43 -0
  182. package/marketplace/skills/generative-ui/SKILL.md +118 -0
  183. package/marketplace/skills/graph-audit/SKILL.md +81 -0
  184. package/marketplace/skills/guardrails/SKILL.md +118 -0
  185. package/marketplace/skills/hooks-patterns/SKILL.md +185 -0
  186. package/marketplace/skills/http-semantics/SKILL.md +136 -0
  187. package/marketplace/skills/ideation/SKILL.md +41 -0
  188. package/marketplace/skills/indexing-strategy/SKILL.md +108 -0
  189. package/marketplace/skills/information-architecture/SKILL.md +59 -0
  190. package/marketplace/skills/integration-test-design/SKILL.md +111 -0
  191. package/marketplace/skills/intent-recognition/SKILL.md +136 -0
  192. package/marketplace/skills/interaction-feedback/SKILL.md +59 -0
  193. package/marketplace/skills/interaction-patterns/SKILL.md +59 -0
  194. package/marketplace/skills/journey-mapping/SKILL.md +41 -0
  195. package/marketplace/skills/keywords/SKILL.md +213 -0
  196. package/marketplace/skills/knowledge-modeling/SKILL.md +232 -0
  197. package/marketplace/skills/layout-composition/SKILL.md +59 -0
  198. package/marketplace/skills/linguistics/SKILL.md +429 -0
  199. package/marketplace/skills/lint-overlay/SKILL.md +76 -0
  200. package/marketplace/skills/mental-models/SKILL.md +126 -0
  201. package/marketplace/skills/merge-queue/SKILL.md +94 -0
  202. package/marketplace/skills/methodology/SKILL.md +317 -0
  203. package/marketplace/skills/microcopy/SKILL.md +232 -0
  204. package/marketplace/skills/middleware-patterns/SKILL.md +363 -0
  205. package/marketplace/skills/mobile-responsive-ux/SKILL.md +287 -0
  206. package/marketplace/skills/mutation-testing/SKILL.md +112 -0
  207. package/marketplace/skills/naming-conventions/SKILL.md +112 -0
  208. package/marketplace/skills/observability-modeling/SKILL.md +59 -0
  209. package/marketplace/skills/ontology-modeling/SKILL.md +67 -0
  210. package/marketplace/skills/owasp-security/SKILL.md +153 -0
  211. package/marketplace/skills/pattern-recognition/SKILL.md +472 -0
  212. package/marketplace/skills/performance-budgets/SKILL.md +185 -0
  213. package/marketplace/skills/performance-engineering/SKILL.md +58 -0
  214. package/marketplace/skills/performance-testing/SKILL.md +125 -0
  215. package/marketplace/skills/printify/SKILL.md +42 -0
  216. package/marketplace/skills/prioritization/SKILL.md +118 -0
  217. package/marketplace/skills/problem-framing/SKILL.md +41 -0
  218. package/marketplace/skills/problem-locating-solving/SKILL.md +203 -0
  219. package/marketplace/skills/project-knowledge-extraction/SKILL.md +54 -0
  220. package/marketplace/skills/prompt-craft/SKILL.md +134 -0
  221. package/marketplace/skills/prompt-injection-defense/SKILL.md +132 -0
  222. package/marketplace/skills/property-based-testing/SKILL.md +100 -0
  223. package/marketplace/skills/prototyping/SKILL.md +43 -0
  224. package/marketplace/skills/query-optimization/SKILL.md +144 -0
  225. package/marketplace/skills/real-time-updates/SKILL.md +324 -0
  226. package/marketplace/skills/ref-patterns/SKILL.md +284 -0
  227. package/marketplace/skills/refactor/SKILL.md +65 -0
  228. package/marketplace/skills/rendering-models/SKILL.md +142 -0
  229. package/marketplace/skills/replication-patterns/SKILL.md +110 -0
  230. package/marketplace/skills/research-synthesis/SKILL.md +41 -0
  231. package/marketplace/skills/route-handler-design/SKILL.md +347 -0
  232. package/marketplace/skills/schema-evolution/SKILL.md +140 -0
  233. package/marketplace/skills/security-fundamentals/SKILL.md +139 -0
  234. package/marketplace/skills/semantic-center/SKILL.md +194 -0
  235. package/marketplace/skills/semantic-relations/SKILL.md +250 -0
  236. package/marketplace/skills/semantics/SKILL.md +366 -0
  237. package/marketplace/skills/semiotics/SKILL.md +230 -0
  238. package/marketplace/skills/seo-strategy/SKILL.md +260 -0
  239. package/marketplace/skills/server-actions-design/SKILL.md +243 -0
  240. package/marketplace/skills/server-components-design/SKILL.md +190 -0
  241. package/marketplace/skills/sharding-strategy/SKILL.md +123 -0
  242. package/marketplace/skills/shopify/SKILL.md +42 -0
  243. package/marketplace/skills/skill-infrastructure/SKILL.md +320 -0
  244. package/marketplace/skills/skill-router/SKILL.md +71 -0
  245. package/marketplace/skills/skill-scaffold/SKILL.md +105 -0
  246. package/marketplace/skills/snapshot-testing/SKILL.md +120 -0
  247. package/marketplace/skills/spec-driven-development/SKILL.md +148 -0
  248. package/marketplace/skills/state-machine-modeling/SKILL.md +56 -0
  249. package/marketplace/skills/state-management/SKILL.md +134 -0
  250. package/marketplace/skills/streaming-architecture/SKILL.md +194 -0
  251. package/marketplace/skills/summarization/SKILL.md +156 -0
  252. package/marketplace/skills/suspense-patterns/SKILL.md +265 -0
  253. package/marketplace/skills/system-interface-contracts/SKILL.md +59 -0
  254. package/marketplace/skills/task-analysis/SKILL.md +201 -0
  255. package/marketplace/skills/taxonomy-design/SKILL.md +66 -0
  256. package/marketplace/skills/test-coverage-strategy/SKILL.md +108 -0
  257. package/marketplace/skills/test-doubles-design/SKILL.md +98 -0
  258. package/marketplace/skills/test-driven-development/SKILL.md +96 -0
  259. package/marketplace/skills/testing-strategy/SKILL.md +67 -0
  260. package/marketplace/skills/theme-system-design/SKILL.md +43 -0
  261. package/marketplace/skills/tool-call-flow/SKILL.md +229 -0
  262. package/marketplace/skills/tool-call-strategy/SKILL.md +292 -0
  263. package/marketplace/skills/transaction-isolation/SKILL.md +98 -0
  264. package/marketplace/skills/type-safety/SKILL.md +177 -0
  265. package/marketplace/skills/typography-system/SKILL.md +43 -0
  266. package/marketplace/skills/usability-testing/SKILL.md +43 -0
  267. package/marketplace/skills/user-research/SKILL.md +43 -0
  268. package/marketplace/skills/vercel-composition-patterns/SKILL.md +157 -0
  269. package/marketplace/skills/version-control/SKILL.md +233 -0
  270. package/marketplace/skills/visual-design-foundations/SKILL.md +59 -0
  271. package/marketplace/skills/visual-hierarchy/SKILL.md +43 -0
  272. package/marketplace/skills/webhook-integration/SKILL.md +331 -0
  273. package/marketplace/skills/writing-humanizer/SKILL.md +380 -0
  274. package/package.json +67 -0
  275. package/schemas/manifest.schema.json +811 -0
  276. package/schemas/manifest.v2.schema.json +164 -0
  277. package/schemas/manifest.v3.schema.json +758 -0
  278. package/schemas/manifest.v4.schema.json +755 -0
  279. package/schemas/manifest.v5.schema.json +755 -0
  280. package/schemas/manifest.v6.schema.json +811 -0
  281. package/schemas/skill.context.jsonld +279 -0
  282. package/schemas/skill.schema.json +919 -0
  283. package/schemas/skill.v2.schema.json +201 -0
  284. package/schemas/skill.v3.schema.json +827 -0
  285. package/schemas/skill.v4.schema.json +822 -0
  286. package/schemas/skill.v5.schema.json +830 -0
  287. package/schemas/skill.v6.schema.json +946 -0
  288. package/schemas/vocabulary/keywords.json +180 -0
  289. package/schemas/vocabulary/workspace_tags.json +23 -0
  290. package/scripts/__tests__/migrate-skill-v2-to-v3.test.js +161 -0
  291. package/scripts/__tests__/migrate-skill-v3-to-v4.test.js +158 -0
  292. package/scripts/__tests__/test-export-parser-drift.js +149 -0
  293. package/scripts/__tests__/test-marketplace-export.js +114 -0
  294. package/scripts/__tests__/test-router-paths.js +82 -0
  295. package/scripts/__tests__/test-stability-promotion.js +244 -0
  296. package/scripts/__tests__/test-v3-1-alias-contract.js +109 -0
  297. package/scripts/__tests__/test-v3-1-skos-runtime.js +116 -0
  298. package/scripts/backfill-schema-version.js +198 -0
  299. package/scripts/build-field-reference.js +160 -0
  300. package/scripts/build-retrieval-baseline.js +511 -0
  301. package/scripts/check-markdown-links.js +211 -0
  302. package/scripts/check-protocol-consistency.js +979 -0
  303. package/scripts/export-marketplace-skills.js +610 -0
  304. package/scripts/export-skill.js +374 -0
  305. package/scripts/generate-manifest.js +787 -0
  306. package/scripts/lib/alias-contract.js +83 -0
  307. package/scripts/lib/audit-prompt-builder.js +771 -0
  308. package/scripts/lib/mock-grader.js +134 -0
  309. package/scripts/lib/parse-frontmatter.js +429 -0
  310. package/scripts/lib/roots.js +119 -0
  311. package/scripts/lint/check-archetype-sections.js +185 -0
  312. package/scripts/lint/check-category-enum.js +83 -0
  313. package/scripts/lint/check-routing-eval.js +146 -0
  314. package/scripts/lint/check-routing-quality.js +211 -0
  315. package/scripts/lint/check-stability-promotion.js +220 -0
  316. package/scripts/lint/format-code-frame.js +206 -0
  317. package/scripts/marketplace-install.js +125 -0
  318. package/scripts/migrate-category-to-enum.js +169 -0
  319. package/scripts/migrate-skill-v2-to-v3.js +424 -0
  320. package/scripts/migrate-skill-v3-to-v4.js +200 -0
  321. package/scripts/migrate-skill-v5-to-v6.js +304 -0
  322. package/scripts/restructure-by-category.js +85 -0
  323. package/scripts/seed-publication-classification.js +282 -0
  324. package/scripts/skill-audit.js +893 -0
  325. package/scripts/skill-graph-drift.js +483 -0
  326. package/scripts/skill-graph-route.js +766 -0
  327. package/scripts/skill-graph-routing-eval.js +393 -0
  328. package/scripts/skill-lint.js +1317 -0
  329. package/scripts/skill-overlap.js +213 -0
  330. package/scripts/verify-skill-md-export.js +201 -0
@@ -0,0 +1,380 @@
1
+ ---
2
+ name: writing-humanizer
3
+ description: "Use when writing or editing human-readable prose such as docs, PRs, issues, release notes, errors, UI copy, commits, tooltips, or support replies, especially when text sounds robotic, padded, monotonous, or overly formal. Covers AI-tell removal, active voice, hedging reduction, readability diagnosis, sentence rhythm, vocabulary variety, tone mapping, paragraph rhythm, bullets-vs-prose choice, and the 5-step humanization workflow. Do NOT use for documentation routing/type selection, code-identifier naming, or in-product UI-text pattern catalogs."
4
+ license: MIT
5
+ compatibility: "Stack-agnostic prose-humanization rules. The AI-tell catalog, voice-conversion decision tree, readability formulas, sentence-rhythm patterns, tone-mapping table, and detection-avoidance techniques apply to any human-readable text in any product domain — substitute the equivalents from your own audience and brand voice."
6
+ allowed-tools: Read Grep Edit
7
+ metadata:
8
+ metadata: "{\"schema_version\":6,\"version\":\"1.0.0\",\"type\":\"capability\",\"category\":\"design\",\"domain\":\"design/content\",\"scope\":\"portable\",\"owner\":\"skill-graph-maintainer\",\"freshness\":\"2026-05-06\",\"drift_check\":\"{\\\\\\\"last_verified\\\\\\\":\\\\\\\"2026-05-06\\\\\\\"}\",\"eval_artifacts\":\"planned\",\"eval_state\":\"unverified\",\"routing_eval\":\"absent\",\"stability\":\"experimental\",\"keywords\":\"[\\\\\\\"AI-tell detection\\\\\\\",\\\\\\\"AI-tell removal\\\\\\\",\\\\\\\"prose humanization\\\\\\\",\\\\\\\"passive-to-active voice\\\\\\\",\\\\\\\"hedging-pattern removal\\\\\\\",\\\\\\\"readability scoring diagnosis\\\\\\\",\\\\\\\"sentence-rhythm pattern\\\\\\\",\\\\\\\"3-beat sentence variety\\\\\\\",\\\\\\\"hook-body-landing paragraph\\\\\\\",\\\\\\\"tone mapping framework\\\\\\\",\\\\\\\"AI-detection avoidance\\\\\\\",\\\\\\\"perplexity burstiness rule\\\\\\\",\\\\\\\"enumeration-trap anti-pattern\\\\\\\",\\\\\\\"hollow-intensifier removal\\\\\\\",\\\\\\\"jargon decision tree\\\\\\\",\\\\\\\"humanization 5-step workflow\\\\\\\"]\",\"examples\":\"[\\\\\\\"this PR description sounds AI-generated — strip the tells and rewrite it concisely\\\\\\\",\\\\\\\"rewrite this onboarding paragraph in the active voice with shorter average sentence length\\\\\\\",\\\\\\\"audit this release-notes draft for Tier 1 AI tells (delve, leverage, comprehensive, testament)\\\\\\\",\\\\\\\"this paragraph starts every sentence with The dashboard — rotate the openers and vary the rhythm\\\\\\\",\\\\\\\"humanize this error-message body so it stops sounding like a corporate FAQ\\\\\\\",\\\\\\\"drop the hollow intensifiers and over-qualification from this tooltip\\\\\\\",\\\\\\\"the docs team flagged this prose as robotic — apply the 5-step humanization workflow\\\\\\\"]\",\"anti_examples\":\"[\\\\\\\"decide kebab-case vs camelCase for this new database column\\\\\\\",\\\\\\\"draft the marketing headline for the pricing page with strong persuasion\\\\\\\",\\\\\\\"restructure this doc into a tutorial format with progressive disclosure\\\\\\\",\\\\\\\"rewrite this UI button label so it names the actual action instead of saying Submit\\\\\\\",\\\\\\\"rename this React component across all call-sites in the repo\\\\\\\",\\\\\\\"audit this WCAG 2.2 contrast violation on the dashboard\\\\\\\"]\",\"relations\":\"{\\\\\\\"boundary\\\\\\\":[{\\\\\\\"skill\\\\\\\":\\\\\\\"microcopy\\\\\\\",\\\\\\\"reason\\\\\\\":\\\\\\\"microcopy owns the specific in-product UX-text patterns (button labels, empty-state structure, tooltip rules, dialog rules, toast rules); writing-humanizer owns AI-tell removal and prose-rhythm rules across any human-readable text including but not limited to UI — the same 'rewrite this for humans' prompt routes by whether the surface is a specific UI pattern or any other prose\\\\\\\"},{\\\\\\\"skill\\\\\\\":\\\\\\\"linguistics\\\\\\\",\\\\\\\"reason\\\\\\\":\\\\\\\"linguistics owns the underlying language rules (morphology, polysemy, audience register as a general principle, blame-free framing); writing-humanizer owns the specific catalog of AI tells, the perplexity/burstiness fingerprint, and the 5-step humanization workflow — the same 'is this writing good?' prompt routes by whether the trigger is the linguistic rationale or the AI-fingerprint detection-and-fix\\\\\\\"}],\\\\\\\"related\\\\\\\":[\\\\\\\"linguistics\\\\\\\",\\\\\\\"microcopy\\\\\\\",\\\\\\\"semantics\\\\\\\"],\\\\\\\"verify_with\\\\\\\":[\\\\\\\"linguistics\\\\\\\"]}\",\"portability\":\"{\\\\\\\"readiness\\\\\\\":\\\\\\\"scripted\\\\\\\",\\\\\\\"targets\\\\\\\":[\\\\\\\"skill-md\\\\\\\"]}\",\"lifecycle\":\"{\\\\\\\"stale_after_days\\\\\\\":365,\\\\\\\"review_cadence\\\\\\\":\\\\\\\"quarterly\\\\\\\"}\",\"skill_graph_source_repo\":\"https://github.com/jacob-balslev/skill-graph\",\"skill_graph_protocol\":\"Skill Metadata Protocol v5\",\"skill_graph_project\":\"Skill Graph\",\"skill_graph_canonical_skill\":\"skills/writing-humanizer/SKILL.md\"}"
9
+ skill_graph_source_repo: "https://github.com/jacob-balslev/skill-graph"
10
+ skill_graph_protocol: Skill Metadata Protocol v4
11
+ skill_graph_project: Skill Graph
12
+ skill_graph_canonical_skill: skills/writing-humanizer/SKILL.md
13
+ ---
14
+
15
+ # Writing Humanizer
16
+
17
+ ## Coverage
18
+
19
+ The full pipeline for transforming AI-generated or robotic text into clear, human-sounding prose:
20
+
21
+ - **AI-tell detection and removal** — Tier 1 zero-tolerance word list (`delve`, `testament`, `crucial`, `vital`, `paramount`, `furthermore`, `seamless`, `robust`, `comprehensive`, `cutting-edge`, `foster`, `empower`, `leverage`, `harness`, etc.); Tier 2 conditional list (`utilize`, `facilitate`, `streamline`, `implement`, `optimize`)
22
+ - **Active-voice conversion** — passive-to-active decision tree based on actor knownness; hedging-pattern removal table
23
+ - **Readability scoring as diagnosis** — Flesch-Kincaid Grade (target 8–10 for general docs), Gunning Fog Index (10–12 for technical docs), Flesch Reading Ease (60–70 for UI copy); the readability diagnostic tree for sentence length, word complexity, paragraph density, and nested clauses
24
+ - **Sentence variety and rhythm** — the 3-beat short-long-medium pattern; sentence-structure variety checklist (declarative, compound, conditional, question+answer, fragment); opening-word rotation rule
25
+ - **Vocabulary diversity** — repeat technical terms exactly, rotate generic verbs, avoid elegant variation; the abstract-vs-concrete table; the jargon decision tree
26
+ - **Tone mapping** — the formal-to-casual spectrum (1–5) and a context-tone table covering API documentation, error messages, UI tooltips, commit messages, PR descriptions, release notes, issue bodies, onboarding copy, empty states, and marketing copy
27
+ - **AI-detection avoidance** — perplexity (word predictability) and burstiness (sentence-length variance) techniques: sentence-length variance, unexpected word choices, idiomatic expressions, contractions, sentence fragments, rhetorical questions, first-person asides, specific numbers
28
+ - **Paragraph rhythm and structure** — paragraph-length rules per context, the hook-body-landing pattern, the bullets-vs-prose decision tree
29
+ - **Anti-patterns** — over-qualification, repetitive transitions, the enumeration trap, hollow intensifiers
30
+ - **The 5-step humanization workflow** — Tell Scan, Readability Check, Structural Rewrite, Rhythm Pass, Voice Calibration
31
+
32
+ ## Philosophy
33
+
34
+ AI-generated text has consistent, detectable failure modes: excessive hedging, passive voice, hollow superlatives, monotonous sentence structure, and vocabulary that signals machine authorship. Left unchecked, these patterns erode trust with human readers, trigger AI-detection tools, and produce text that is longer and less clear than necessary. Every agent in a system produces text that humans read, and every piece of that text reflects on the product.
35
+
36
+ The mental model: human prose scores higher on **perplexity** (word unpredictability) and **burstiness** (sentence-length variance) than AI prose. The humanizer's job is to shift the linguistic fingerprint toward the human distribution *without sacrificing clarity*. Plain-language editing addressed the same underlying failure long before LLMs existed; this skill applies that discipline specifically to AI fingerprints.
37
+
38
+ This skill is *not* about making text casual. A technical API doc can be fully humanized while staying formal. It is also not about adding contractions alone — structural uniformity is the stronger fingerprint. And it is not a substitute for copywriting; persuasion and conversion are separate concerns owned by a copywriting skill.
39
+
40
+ > Clear, direct, and human. AI tells are bugs in the prose.
41
+
42
+ ## When to Use
43
+
44
+ Use this skill whenever you are tasked with:
45
+
46
+ 1. Writing new documentation, reports, or communicative user text.
47
+ 2. Editing existing copy or documentation.
48
+ 3. Reviewing PR descriptions, issue bodies, or release notes.
49
+ 4. "Humanizing" or adjusting the tone of any drafted text.
50
+ 5. Writing error messages, UI copy, tooltips, or onboarding instructions.
51
+ 6. Rewriting text flagged as AI-generated or robotic.
52
+ 7. Writing commit messages, changelogs, or release notes.
53
+
54
+ ---
55
+
56
+ ## 1. Remove AI Tells and Cliches
57
+
58
+ Eradicate filler words and overused phrases that immediately signal AI authorship.
59
+
60
+ **Tier 1 — Always remove (zero tolerance):**
61
+
62
+ - `delve`, `dive into`, `navigate` (unless literally navigating a UI)
63
+ - `testament`, `crucial`, `vital`, `paramount`
64
+ - `furthermore`, `moreover`, `consequently`, `in conclusion`
65
+ - `seamless`, `robust`, `comprehensive`, `cutting-edge`
66
+ - `foster`, `empower`, `elevate`, `leverage`, `harness`
67
+ - `it's important to note that`, `it's worth mentioning`
68
+ - `in today's world`, `in the ever-evolving landscape`
69
+
70
+ **Tier 2 — Remove unless technically precise:**
71
+
72
+ - `utilize` → `use`; `facilitate` → `help` / `enable`; `streamline` → say what improves
73
+ - `implement` is OK in code context; `optimize` is OK when measurable
74
+
75
+ **Before:** *Let's delve into the comprehensive architecture, which serves as a testament to our robust backend.*
76
+ **After:** *Here is the backend architecture.*
77
+
78
+ ---
79
+
80
+ ## 2. Enforce Active Voice and Direct Phrasing
81
+
82
+ Convert passive constructions into active ones. Remove hedging and unnecessary introductory clauses.
83
+
84
+ ### Passive-to-Active Decision Tree
85
+
86
+ ```text
87
+ Is the actor known?
88
+ ├── Yes → Name them: "The server rejects invalid tokens"
89
+ │ (not "Invalid tokens are rejected")
90
+ └── No → Is the reader the actor?
91
+ ├── Yes → Use imperative: "Click the button to submit"
92
+ │ (not "The button should be clicked")
93
+ └── No → Passive is acceptable: "The migration was applied at 03:00 UTC"
94
+ ```
95
+
96
+ ### Hedging Language to Remove
97
+
98
+ | Hedging Pattern | Replace With |
99
+ |----------------|-------------|
100
+ | "It is recommended that..." | Direct imperative: "Do X" |
101
+ | "In order to ensure..." | "To..." |
102
+ | "It should be noted that..." | Delete — just state the fact |
103
+ | "There are several reasons why..." | State the reasons directly |
104
+ | "Basically," / "Essentially," | Delete — adds nothing |
105
+ | "I think" / "I believe" | State the claim, qualify with evidence if needed |
106
+ | "Kind of" / "Sort of" | Either commit to the statement or don't make it |
107
+
108
+ **Before:** *In order to ensure that the synchronization process completes successfully, it is important to check your internet connection.*
109
+ **After:** *Check your internet connection before syncing.*
110
+
111
+ ---
112
+
113
+ ## 3. Readability Scoring
114
+
115
+ Use readability formulas to *diagnose* problems, not as optimization targets. Over-optimizing for a score produces choppy, unnatural prose.
116
+
117
+ ### When to Apply Each Formula
118
+
119
+ | Formula | Best For | Target Score | Red Flag |
120
+ |---------|----------|--------------|----------|
121
+ | **Flesch-Kincaid Grade** | General docs, onboarding copy | Grade 8–10 | > Grade 14 (academic) |
122
+ | **Gunning Fog Index** | Technical documentation | 10–12 | > 15 (impenetrable) |
123
+ | **Flesch Reading Ease** | UI copy, tooltips, error messages | 60–70 (standard) | < 30 (very hard) |
124
+
125
+ ### Readability Diagnostic Tree
126
+
127
+ ```text
128
+ Text feels hard to read?
129
+ ├── Long sentences (avg > 20 words)?
130
+ │ └── Break sentences. Target 12–18 word average.
131
+ ├── Multi-syllable words (> 3 syllables frequently)?
132
+ │ └── Replace with plain equivalents where meaning is preserved.
133
+ ├── Dense paragraphs (> 4 sentences)?
134
+ │ └── Split. Use bullets for lists of 3+ items.
135
+ └── Nested clauses (2+ commas per sentence)?
136
+ └── Unpack into separate sentences or use a colon + list.
137
+ ```
138
+
139
+ ### Word-Level Simplification
140
+
141
+ | Complex | Plain | When Complex Is OK |
142
+ |---------|-------|--------------------|
143
+ | Utilize | Use | Never |
144
+ | Ameliorate | Improve / Fix | Never in user-facing text |
145
+ | Facilitate | Help / Enable | Formal API docs only |
146
+ | Aforementioned | (delete — refer by name) | Never |
147
+ | Subsequently | Then / Next | Never in UI copy |
148
+
149
+ ---
150
+
151
+ ## 4. Sentence Variety and Rhythm
152
+
153
+ Monotonous sentence structure is the #1 tell of AI-generated text. Humans naturally vary sentence length, structure, and opening words.
154
+
155
+ ### The 3-Beat Rhythm Pattern
156
+
157
+ Alternate sentence lengths in a roughly short–long–medium pattern. This creates a natural cadence that mirrors how people actually write.
158
+
159
+ **Monotonous (AI pattern):**
160
+ > The dashboard shows your profit. The dashboard shows your costs. The dashboard shows your revenue. The dashboard shows your orders.
161
+
162
+ **Natural rhythm:**
163
+ > The dashboard shows your profit at a glance. Below the headline number, you will find a full cost breakdown — production cost, ad spend, transaction fees, and refunds, each with its own trend line. Revenue and order counts sit in the sidebar.
164
+
165
+ ### Sentence Structure Variety Checklist
166
+
167
+ | Structure | Example | Use When |
168
+ |-----------|---------|----------|
169
+ | Simple declarative | "Production cost was 41% of sales." | Stating facts, KPI summaries |
170
+ | Compound (two clauses) | "Revenue grew 12%, but ad spend grew faster." | Showing contrast or cause-effect |
171
+ | Leading with condition | "If cost data is missing, the profit column shows a dash." | Conditional instructions |
172
+ | Question + answer | "Why did profit drop? Three refunds hit on Tuesday." | Explanatory sections, FAQs |
173
+ | Fragment (intentional) | "Not great." / "Three reasons." | Emphasis, transitions, hooks |
174
+
175
+ ### Opening Word Rotation
176
+
177
+ Never start 3+ consecutive sentences with the same word. Especially avoid `The` (the most common AI opener), `This`, `It`, `There`. Rotate `We` / `You` too.
178
+
179
+ ---
180
+
181
+ ## 5. Vocabulary Diversity
182
+
183
+ ### Synonym Rotation Rules
184
+
185
+ 1. **Repeat technical terms exactly** — your domain term (an acronym like `MRR` or `CAC`, or any other established industry abbreviation) is always written the same way; never call the same concept `production costs` in one place and `fulfillment expenses` in another.
186
+ 2. **Rotate generic verbs** — `shows`, `displays`, `lists`, `includes` can rotate for non-technical usage.
187
+ 3. **Avoid elegant variation** — do not call the same thing three different names. Clarity beats variety.
188
+
189
+ ### Concrete vs. Abstract
190
+
191
+ | Abstract (weak) | Concrete (strong) | Why |
192
+ |-----------------|-------------------|-----|
193
+ | "Improve performance" | "Reduce page load from 3.2 s to 1.1 s" | Measurable |
194
+ | "Enhance user experience" | "Add inline validation so users fix errors before submitting" | Specific |
195
+ | "Significant growth" | "Revenue grew 34% in Q1" | Quantified |
196
+ | "Various issues" | "Three bugs: stale cache, missing null check, off-by-one in pagination" | Named |
197
+
198
+ ### Jargon Decision Tree
199
+
200
+ ```text
201
+ Is the term domain-specific (industry vocabulary your audience knows)?
202
+ ├── Yes → Keep it. Add a tooltip or parenthetical on first use.
203
+ │ Example: "production cost (what your fulfillment partner charges per order)"
204
+ └── No → Is there a simpler word with identical meaning?
205
+ ├── Yes → Use the simpler word.
206
+ └── No → Keep the term but define it inline.
207
+ ```
208
+
209
+ ---
210
+
211
+ ## 6. Tone Mapping Framework
212
+
213
+ Tone is not one-size-fits-all. Match the tone to the context and audience.
214
+
215
+ ### The Formal-to-Casual Spectrum
216
+
217
+ ```text
218
+ Legal/Compliance ←──── Technical Docs ←──── Product Copy ←──── Internal Comms ←──── Chat
219
+ 1 2 3 4 5
220
+ ```
221
+
222
+ ### Context-Specific Tone Rules
223
+
224
+ | Context | Tone Level | Character | Example |
225
+ |---------|-----------|-----------|---------|
226
+ | **API documentation** | 2 (technical) | Precise, neutral | "Returns a 404 if the order ID does not exist." |
227
+ | **Error messages** | 3 (product) | Calm, solution-oriented | "Sync failed. We'll retry in 5 minutes." |
228
+ | **UI tooltips** | 3 (product) | One sentence, domain-specific | "What your fulfillment partner charges per order." |
229
+ | **Commit messages** | 2 (technical) | Imperative, factual | "fix: resolve stale cache in order list" |
230
+ | **PR descriptions** | 3 (product) | What changed, why, how to test | Direct bullets, no narrative |
231
+ | **Release notes** | 3 (product) | User benefit first | "You can now filter orders by profit margin." |
232
+ | **Issue bodies** | 3–4 (product / internal) | Problem → evidence → solution | Structured, not conversational |
233
+ | **Onboarding copy** | 3 (product) | Encouraging, time-anchored | "Step 2 of 3: Link your storefront. Takes about 2 minutes." |
234
+ | **Empty states** | 3 (product) | Helpful, specific, actionable | "Connect your fulfillment partner to see your production cost here." |
235
+ | **Marketing copy** | 4 (internal / casual) | Direct, benefit-led, no hype | "See your real profit per order." |
236
+
237
+ ---
238
+
239
+ ## 7. AI-Detection Avoidance
240
+
241
+ AI detectors measure two properties: **perplexity** (word predictability) and **burstiness** (sentence-length variance). AI text is low-perplexity (predictable words) and low-burstiness (uniform sentence lengths).
242
+
243
+ ### Techniques That Increase Human-Likeness
244
+
245
+ | Technique | What It Does | Example |
246
+ |-----------|--------------|---------|
247
+ | **Sentence-length variance** | Raises burstiness score | Mix 5-word sentences with 25-word ones |
248
+ | **Unexpected word choices** | Raises perplexity | "The API barks back a 403" vs. "The API returns a 403" |
249
+ | **Idiomatic expressions** | Raises perplexity | "That shipped" / "under the hood" / "the gotcha is..." |
250
+ | **Contractions** | Natural speech pattern | "doesn't" not "does not"; "you'll" not "you will" |
251
+ | **Sentence fragments** | Burstiness spike | "Not ideal." / "Three reasons." / "Here's why." |
252
+ | **Rhetorical questions** | Pattern break | "Why does this matter?" before an explanation |
253
+ | **First-person asides** | Personal voice signal | "(I ran into this on the webhook handler)" |
254
+ | **Specific numbers / names** | Concrete detail | "The 847th order" vs. "a particular order" |
255
+
256
+ ### What NOT to Do
257
+
258
+ - Do **not** insert typos or grammatical errors.
259
+ - Do **not** use obscure vocabulary just to raise perplexity.
260
+ - Do **not** sacrifice clarity for detection avoidance — clarity always wins.
261
+ - Do **not** apply these techniques to code comments or strict API docs (precision over personality there).
262
+
263
+ ---
264
+
265
+ ## 8. Paragraph Rhythm and Structure
266
+
267
+ ### Paragraph Length Rules
268
+
269
+ | Context | Max Sentences | Max Words | Notes |
270
+ |---------|---------------|-----------|-------|
271
+ | Body paragraphs (docs) | 4 | ~80 | Break at topic shifts |
272
+ | UI descriptions | 2 | ~30 | One idea per paragraph |
273
+ | Tooltips | 1 | ~15 | Single sentence, no period |
274
+ | Error messages | 2 | ~25 | Problem + action |
275
+ | Commit messages | 1 (subject) + optional body | 50 (subject) | Imperative mood |
276
+
277
+ ### The Hook-Body-Landing Pattern
278
+
279
+ Strong paragraphs follow this structure:
280
+
281
+ 1. **Hook sentence** — short, direct, states the point (5–10 words)
282
+ 2. **Body sentences** — develop the point with evidence or detail (1–3 sentences)
283
+ 3. **Landing sentence** — wraps up or transitions (optional, keep short)
284
+
285
+ **Weak (no hook):** *When you consider the various factors that contribute to the overall profitability of an order, including the cost of goods sold...* (reader lost by word 10)
286
+
287
+ **Strong (hook-body-landing):** *Order profit depends on three cost layers. Production cost covers what your fulfillment partner charges. Transaction fees come from your payment processor. Add refunds, and you get real margin.*
288
+
289
+ ### When to Use Bullets vs. Prose
290
+
291
+ ```text
292
+ Is it a list of 3+ items?
293
+ ├── Yes → Are items parallel in structure?
294
+ │ ├── Yes → Bulleted list
295
+ │ └── No → Fix parallelism first, then bullet
296
+ └── No → Prose (2 items can stay inline with "and")
297
+ ```
298
+
299
+ ---
300
+
301
+ ## 9. Anti-Patterns Reference
302
+
303
+ ### Over-Qualification
304
+
305
+ Adding unnecessary caveats that weaken every statement.
306
+
307
+ | Over-Qualified | Direct |
308
+ |----------------|--------|
309
+ | "It might be worth considering that perhaps..." | State the recommendation |
310
+ | "This could potentially help to somewhat improve..." | "This improves..." |
311
+ | "In some cases, it may be possible to..." | "You can..." |
312
+
313
+ ### Repetitive Transitions
314
+
315
+ AI text chains paragraphs with the same connectors. Vary or delete.
316
+
317
+ | Overused | Alternatives |
318
+ |----------|--------------|
319
+ | "Additionally," | (delete — just start the sentence) |
320
+ | "Furthermore," | (delete — or use a colon on the previous sentence) |
321
+ | "However," | "But" / "That said," / start with the contrasting fact |
322
+ | "Therefore," | "So" / (delete — the logic should be self-evident) |
323
+ | "In conclusion," | (delete — just conclude) |
324
+
325
+ ### The Enumeration Trap
326
+
327
+ AI loves "There are three key aspects:" followed by "First, ... Second, ... Third, ..." Humans just list them: *Order profitability depends on production cost, transaction fees, and refund rates.*
328
+
329
+ ### Hollow Intensifiers
330
+
331
+ Remove words that add emphasis but no meaning: `very`, `really`, `extremely`, `highly`, `absolutely`. If `important` needs strengthening, pick a stronger word (`critical`, `required`). If `fast` needs a number, give the number.
332
+
333
+ ---
334
+
335
+ ## 10. The Humanization Workflow
336
+
337
+ When tasked with humanizing text, follow this 5-step process:
338
+
339
+ 1. **Tell Scan.** Read the text once. Highlight every word from the Tier 1 removal list (section 1). Mark passive constructions and hedging phrases.
340
+ 2. **Readability Check.** Estimate average sentence length. If over 20 words, flag for splitting. Count paragraphs over 4 sentences — flag for breaking.
341
+ 3. **Structural Rewrite.** Break long sentences. Convert inline semicolon lists to bullets. Apply the hook-body-landing pattern to weak paragraphs. Fix passive voice using the decision tree (section 2).
342
+ 4. **Rhythm Pass.** Read the rewrite aloud (mentally). Check for:
343
+ - 3+ consecutive sentences starting with the same word → rotate openers
344
+ - All sentences the same length → vary (short-long-medium)
345
+ - All sentences the same structure → mix declarative, conditional, fragment
346
+ 5. **Voice Calibration.** Match tone to context using the tone-mapping table (section 6). For technical docs, keep precision over personality.
347
+
348
+ ---
349
+
350
+ ## Output Expectations
351
+
352
+ When asked to revise text or provide new text following these guidelines, **only output the revised text**. Do not provide metacommentary like "Here is the humanized version:" unless explicitly asked to explain your changes.
353
+
354
+ ## Verification
355
+
356
+ Before finalizing any humanized text, confirm:
357
+
358
+ - [ ] Zero Tier 1 AI tells remaining (section 1 word list)
359
+ - [ ] No passive voice where active is possible (section 2 decision tree)
360
+ - [ ] Average sentence length between 12–18 words
361
+ - [ ] No paragraph exceeds 4 sentences (docs) or 2 sentences (UI copy)
362
+ - [ ] No 3+ consecutive sentences start with the same word
363
+ - [ ] Sentence lengths vary (not all within 2–3 words of each other)
364
+ - [ ] Technical jargon is explained on first use or tooltipped
365
+ - [ ] Tone matches the context (section 6 tone table)
366
+ - [ ] Concrete details used instead of abstract claims (section 5)
367
+ - [ ] No metacommentary in output ("Here is the humanized version:")
368
+
369
+ ## Do NOT Use When
370
+
371
+ | Instead, use | Why |
372
+ |---|---|
373
+ | `documentation` | Choosing a doc type, structuring a doc, or applying progressive disclosure of *content*. Documentation owns the doc architecture; writing-humanizer owns the prose form inside it. |
374
+ | `microcopy` | Writing the specific UX-text patterns (button labels, empty-state structure, tooltip rules, dialog rules, toast rules). Microcopy owns the UX patterns; writing-humanizer owns AI-tell removal in any prose. |
375
+ | `linguistics` | The underlying linguistic rules — morphology, polysemy resolution, audience register as a general principle, blame-free framing. Linguistics owns the rationale; writing-humanizer owns the AI-fingerprint detection-and-fix workflow. |
376
+ | `semantics` | Naming an identifier, design token, HTTP status code, or commit type — the meaning encoding behind any name. Semantics owns the meaning encoding; writing-humanizer owns the prose around it. |
377
+ | `naming-conventions` | Deciding the casing format for an artifact kind. Naming-conventions is a code-identifier convention skill, not a prose skill. |
378
+ | `code-review` | Reviewing a specific PR for correctness, security, or quality. Code-review may use writing-humanizer as one input for the PR description; it does not own the prose rules. |
379
+ | (a copywriting skill) | Marketing headlines, pricing copy, landing-page persuasion, brand-voice work. Copywriting owns persuasive product surfaces; writing-humanizer owns prose-quality humanization. |
380
+ | (a typography skill) | Font rendering, font loading, or typographic hierarchy work. Typography owns font engineering; writing-humanizer owns the words rendered in the font. |
package/package.json ADDED
@@ -0,0 +1,67 @@
1
+ {
2
+ "name": "@skill-graph/cli",
3
+ "version": "0.5.6",
4
+ "description": "Skill Graph — library-level tooling for SKILL.md libraries: lint, manifest compiler, router, drift sentinel, and export pipeline.",
5
+ "type": "commonjs",
6
+ "license": "Apache-2.0",
7
+ "author": "Jacob Balslev",
8
+ "homepage": "https://github.com/jacob-balslev/skill-graph#readme",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/jacob-balslev/skill-graph.git"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/jacob-balslev/skill-graph/issues"
15
+ },
16
+ "keywords": [
17
+ "ai-agents",
18
+ "agent-orchestration",
19
+ "skills",
20
+ "skill-md",
21
+ "skill-catalog",
22
+ "skill-metadata",
23
+ "schema-validation",
24
+ "knowledge-graph"
25
+ ],
26
+ "engines": {
27
+ "node": ">=20.0.0"
28
+ },
29
+ "bin": {
30
+ "skill-graph": "bin/skill-graph.js"
31
+ },
32
+ "files": [
33
+ "bin/",
34
+ "docs/",
35
+ "examples/",
36
+ "schemas/",
37
+ "scripts/",
38
+ "marketplace/",
39
+ "README.md",
40
+ "SKILL_GRAPH.md",
41
+ "CHANGELOG.md",
42
+ "LICENSE",
43
+ "NOTICE"
44
+ ],
45
+ "publishConfig": {
46
+ "access": "public"
47
+ },
48
+ "dependencies": {},
49
+ "devDependencies": {},
50
+ "scripts": {
51
+ "lint": "node scripts/skill-lint.js",
52
+ "lint:template": "node scripts/skill-lint.js --include-template examples/skill-metadata-template.md",
53
+ "protocol:check": "node scripts/check-protocol-consistency.js",
54
+ "docs:links": "node scripts/check-markdown-links.js",
55
+ "manifest:validate": "node scripts/generate-manifest.js --validate-only",
56
+ "routing-eval": "node scripts/generate-manifest.js --output .skill-graph/_routing-eval.manifest.json && node scripts/skill-graph-routing-eval.js --manifest .skill-graph/_routing-eval.manifest.json --only-asserted",
57
+ "export:verify-skill-md": "node scripts/verify-skill-md-export.js",
58
+ "marketplace:export": "node scripts/export-marketplace-skills.js",
59
+ "marketplace:verify": "node scripts/export-marketplace-skills.js --check && node scripts/verify-skill-md-export.js --plain marketplace/skills",
60
+ "overlap": "node scripts/skill-overlap.js",
61
+ "drift": "node scripts/skill-graph-drift.js",
62
+ "test:unit": "node scripts/__tests__/test-v3-1-skos-runtime.js && node scripts/__tests__/test-router-paths.js && node scripts/__tests__/test-v3-1-alias-contract.js && node scripts/__tests__/test-export-parser-drift.js && node scripts/__tests__/test-marketplace-export.js && node scripts/__tests__/test-stability-promotion.js && node bin/skill-graph.js --help",
63
+ "test:migrate": "node scripts/__tests__/migrate-skill-v3-to-v4.test.js && node scripts/__tests__/migrate-skill-v2-to-v3.test.js",
64
+ "test": "npm run test:unit && npm run test:migrate",
65
+ "verify": "npm run lint && npm run lint:template && npm run protocol:check && npm run docs:links && npm run manifest:validate && npm run routing-eval && npm run export:verify-skill-md && npm run overlap && npm run test:unit"
66
+ }
67
+ }