@skill-graph/cli 0.5.6 → 0.5.8

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 (90) hide show
  1. package/CHANGELOG.md +27 -3
  2. package/README.md +103 -31
  3. package/SKILL_GRAPH.md +2 -2
  4. package/bin/skill-graph.js +150 -10
  5. package/docs/ADOPTION.md +1 -1
  6. package/docs/PRIMER.md +6 -5
  7. package/docs/QUICKSTART-30MIN.md +2 -2
  8. package/docs/SKILL_AUDIT_CHECKLIST.md +1 -1
  9. package/docs/SKILL_METADATA_PROTOCOL.md +2 -2
  10. package/docs/_archived/marketplace-publication-priority-2026-05-18.md +1 -1
  11. package/docs/_drafts/0.5.8-release-prep.md +164 -0
  12. package/docs/adr/0009-sibling-repo-deprecation.md +48 -0
  13. package/docs/diagrams/skill-graph-ecosystem.mmd +17 -0
  14. package/docs/field-reference.generated.md +22 -2
  15. package/docs/field-reference.md +53 -2
  16. package/docs/images/skill-graph-ecosystem.svg +1 -0
  17. package/docs/manifest-field-mapping.md +3 -3
  18. package/docs/marketplace-publication-queue.generated.md +2 -2
  19. package/docs/plans/scripts-roadmap.md +2 -2
  20. package/docs/positioning.md +88 -0
  21. package/docs/research/skill-comprehension-eval-research.md +5 -5
  22. package/docs/research/skill-demand-gap-roadmap-2026-05-16.md +215 -0
  23. package/docs/status.generated.md +48 -0
  24. package/examples/audits/context-graph/findings.md +59 -0
  25. package/examples/audits/context-graph/scorecard.md +22 -0
  26. package/examples/audits/context-graph/verdict.md +33 -0
  27. package/examples/evals/a11y.json +45 -13
  28. package/examples/evals/api-design.json +18 -5
  29. package/examples/evals/code-review.json +18 -5
  30. package/examples/evals/data-modeling.json +18 -5
  31. package/examples/evals/database-migration.json +18 -5
  32. package/examples/evals/debugging.json +37 -11
  33. package/examples/evals/dependency-architecture.json +18 -5
  34. package/examples/evals/design-system-architecture.json +18 -5
  35. package/examples/evals/error-tracking.json +18 -5
  36. package/examples/evals/event-contract-design.json +18 -5
  37. package/examples/evals/form-ux-architecture.json +18 -5
  38. package/examples/evals/framework-fit-analysis.json +18 -5
  39. package/examples/evals/graph-audit.json +55 -13
  40. package/examples/evals/information-architecture.json +18 -5
  41. package/examples/evals/interaction-feedback.json +18 -5
  42. package/examples/evals/interaction-patterns.json +18 -5
  43. package/examples/evals/layout-composition.json +18 -5
  44. package/examples/evals/lint-overlay.json +38 -11
  45. package/examples/evals/microcopy.json +18 -5
  46. package/examples/evals/observability-modeling.json +18 -5
  47. package/examples/evals/pattern-recognition.json +32 -9
  48. package/examples/evals/performance-engineering.json +18 -5
  49. package/examples/evals/refactor.json +41 -12
  50. package/examples/evals/semiotics.json +18 -5
  51. package/examples/evals/skill-infrastructure.json +32 -9
  52. package/examples/evals/skill-router.json +42 -13
  53. package/examples/evals/system-interface-contracts.json +18 -5
  54. package/examples/evals/task-analysis.json +18 -5
  55. package/examples/evals/testing-strategy.json +36 -11
  56. package/examples/evals/type-safety.json +251 -66
  57. package/examples/evals/visual-design-foundations.json +18 -5
  58. package/examples/evals/webhook-integration.json +18 -5
  59. package/examples/fixture-skills/README.md +47 -0
  60. package/examples/fixture-skills/comprehension-full/SKILL.md +79 -0
  61. package/examples/fixture-skills/minimal-capability/SKILL.md +51 -0
  62. package/examples/fixture-skills/with-grounding/SKILL.md +78 -0
  63. package/examples/fixture-skills/with-relations/SKILL.md +87 -0
  64. package/examples/skills.manifest.sample.json +1722 -446
  65. package/marketplace/README.md +1 -1
  66. package/marketplace/skills/a11y/SKILL.md +1 -1
  67. package/marketplace/skills/best-practice/SKILL.md +211 -0
  68. package/marketplace/skills/context-graph/SKILL.md +1 -1
  69. package/marketplace/skills/debugging/SKILL.md +1 -1
  70. package/marketplace/skills/graph-audit/SKILL.md +3 -1
  71. package/marketplace/skills/postgres-rls/SKILL.md +284 -0
  72. package/marketplace/skills/refactor/SKILL.md +1 -1
  73. package/marketplace/skills/skill-infrastructure/SKILL.md +2 -0
  74. package/marketplace/skills/skill-router/SKILL.md +3 -1
  75. package/marketplace/skills/testing-strategy/SKILL.md +1 -1
  76. package/package.json +3 -1
  77. package/schemas/manifest.schema.json +8 -0
  78. package/schemas/manifest.v6.schema.json +8 -0
  79. package/schemas/skill.context.jsonld +5 -0
  80. package/schemas/skill.schema.json +27 -0
  81. package/scripts/__tests__/test-marketplace-export.js +6 -2
  82. package/scripts/__tests__/test-v3-1-alias-contract.js +3 -3
  83. package/scripts/build-status-doc.js +177 -0
  84. package/scripts/check-doc-drift.js +224 -0
  85. package/scripts/check-markdown-links.js +34 -4
  86. package/scripts/check-mirror-freeze.js +270 -0
  87. package/scripts/export-marketplace-skills.js +35 -6
  88. package/scripts/lib/audit-prompt-builder.js +3 -3
  89. package/scripts/lib/parse-frontmatter.js +2 -2
  90. package/scripts/skill-audit.js +7 -9
@@ -1,5 +1,5 @@
1
1
  {
2
- "generated_at": "2026-05-17T22:15:31Z",
2
+ "generated_at": "2026-05-19T03:11:32Z",
3
3
  "schema_version": 4,
4
4
  "skills": [
5
5
  {
@@ -33,7 +33,12 @@
33
33
  "assistive tech",
34
34
  "assistive technology",
35
35
  "accessible labels",
36
- "proper labels"
36
+ "proper labels",
37
+ "keyboard trapped",
38
+ "focus trap",
39
+ "escape key not working",
40
+ "modal keyboard trap",
41
+ "dialog keyboard trap"
37
42
  ],
38
43
  "paths": [
39
44
  "**/*.{html,tsx,jsx,vue,svelte}",
@@ -68,7 +73,7 @@
68
73
  "license": "MIT",
69
74
  "name": "a11y",
70
75
  "owner": "skill-graph-maintainer",
71
- "path": "../skills/skills/a11y/SKILL.md",
76
+ "path": "../skills/skills/quality/a11y/SKILL.md",
72
77
  "portability": {
73
78
  "readiness": "scripted",
74
79
  "targets": [
@@ -92,6 +97,10 @@
92
97
  {
93
98
  "reason": "interaction-feedback owns feedback-state staging; a11y owns whether those state changes are announced and operable",
94
99
  "skill": "interaction-feedback"
100
+ },
101
+ {
102
+ "reason": "best-practice owns generic code-quality cleanup and language/idiom hygiene; a11y owns assistive-tech behavior. Phrases like 'clean up this accessibility code without changing behavior' are best-practice refactor activities, not a11y semantic work — best-practice is named here so the router excludes it from a11y's positive scope.",
103
+ "skill": "best-practice"
95
104
  }
96
105
  ],
97
106
  "related": [
@@ -171,7 +180,7 @@
171
180
  "license": "MIT",
172
181
  "name": "acid-fundamentals",
173
182
  "owner": "skill-graph-maintainer",
174
- "path": "../skills/skills/acid-fundamentals/SKILL.md",
183
+ "path": "../skills/skills/engineering/data/acid-fundamentals/SKILL.md",
175
184
  "relations": {
176
185
  "boundary": [
177
186
  {
@@ -271,16 +280,46 @@
271
280
  "compatibility": {
272
281
  "notes": "Provider- and harness-agnostic. Patterns apply across Claude Code, Cursor, Copilot, OpenCode, Aider, Continue, custom Anthropic/OpenAI/Google SDK loops, and self-hosted multi-agent systems. Specific filenames in this skill (continuation.json, claim.lock, session-logs.jsonl) are example artefacts -- substitute your harness's equivalents."
273
282
  },
283
+ "concept": {
284
+ "analogy": "Agent engineering is like operating a crew of contractors on a construction site: each specialist may be capable, but the project succeeds only if the plan, locks, handoffs, inspections, budget, and stop conditions are explicit.",
285
+ "boundary": "It is not prompt wording, per-tool efficiency, single-agent context assembly, incident debugging, code review, or ADR writing. Neighboring skills own those surfaces; agent-engineering owns the workflow architecture that composes them.",
286
+ "definition": "Agent engineering is the discipline of designing production AI agent systems: loops, handoffs, coordination patterns, lifecycle state, verification gates, observability, budgets, and recovery mechanisms around one or more LLM agents.",
287
+ "mental_model": "Treat each LLM call as an unreliable component in a larger system. Use architecture to constrain variance: explicit state, clear ownership, durable handoffs, verification, stop conditions, and measurable operating limits.",
288
+ "misconception": "More agents is not automatically better. Extra agents add coordination overhead, duplicated work risk, context-transfer loss, and merge complexity; delegation needs a positive expected value.",
289
+ "purpose": "It turns ad hoc prompt-and-tool demos into systems that can run unattended, survive crashes, coordinate multiple agents, control cost, and produce verifiable outcomes.",
290
+ "taxonomy": "Core areas include lifecycle management, task decomposition, coordination patterns, handoff protocols, observability, cost controls, idempotency, failure recovery, safety caps, claim locks, and staged rollout."
291
+ },
274
292
  "description": "Use when designing or evaluating a production AI agent system, choosing a multi-agent coordination pattern (orchestrator/worker, fan-out, consensus, sequential chain, evaluator/optimizer), diagnosing coordination failures (claim races, silent stalls, context contamination, runaway loops), or auditing whether an agent loop is truly production-ready. Covers the four pillars (architecture and lifecycle, task decomposition, coordination patterns, production reliability), the six reliability requirements (observability, cost budgets, idempotency, failure recovery, safety caps, claim locks), the delegation decision framework with overhead crossover, and the most common anti-patterns. Do NOT use for prompt wording (use `prompt-craft`), per-call tool efficiency (use `tool-call-strategy`), context-stack design within a single agent (use `context-engineering`), or runtime debugging of a deployed system (use `debugging`).",
275
293
  "domain": "ai-engineering/architecture",
294
+ "grounding": {
295
+ "domain_object": "Production AI agent system architecture and multi-agent coordination",
296
+ "evidence_priority": "equal",
297
+ "failure_modes": [
298
+ "coordination_pattern_mismatch",
299
+ "unbounded_agent_loop",
300
+ "missing_observability",
301
+ "duplicate_task_claims",
302
+ "handoff_context_loss",
303
+ "over_delegation_cost_spike"
304
+ ],
305
+ "grounding_mode": "hybrid",
306
+ "truth_sources": [
307
+ "https://www.anthropic.com/engineering/building-effective-agents",
308
+ "https://www.anthropic.com/engineering/multi-agent-research-system",
309
+ "https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents",
310
+ "https://openai.github.io/openai-agents-python/tracing/",
311
+ "https://arxiv.org/abs/2308.08155"
312
+ ]
313
+ },
276
314
  "health": {
315
+ "comprehension_state": "present",
277
316
  "drift_check": {
278
- "last_verified": "2026-05-06"
317
+ "last_verified": "2026-05-18"
279
318
  },
280
319
  "eval_artifacts": "planned",
281
320
  "eval_state": "unverified",
282
- "freshness": "2026-05-06",
283
- "has_grounding": false,
321
+ "freshness": "2026-05-18",
322
+ "has_grounding": true,
284
323
  "has_relations": true,
285
324
  "lifecycle": {
286
325
  "review_cadence": "quarterly",
@@ -292,7 +331,7 @@
292
331
  "license": "MIT",
293
332
  "name": "agent-engineering",
294
333
  "owner": "skill-graph-maintainer",
295
- "path": "../skills/skills/agent-engineering/SKILL.md",
334
+ "path": "../skills/skills/engineering/agent-engineering/SKILL.md",
296
335
  "portability": {
297
336
  "readiness": "scripted",
298
337
  "targets": [
@@ -313,15 +352,25 @@
313
352
  "reason": "context-engineering owns what reaches a single agent's context window; agent-engineering owns the system architecture that decides which agent runs at all",
314
353
  "skill": "context-engineering"
315
354
  },
355
+ {
356
+ "reason": "context-window owns token-budget thresholds and compaction timing; agent-engineering uses those signals as one part of lifecycle and coordination design",
357
+ "skill": "context-window"
358
+ },
316
359
  {
317
360
  "reason": "debugging chases a specific runtime failure; agent-engineering is about preventing classes of coordination failure through architecture",
318
361
  "skill": "debugging"
362
+ },
363
+ {
364
+ "reason": "architecture-decision-records records and explains decisions; agent-engineering designs the agent-system architecture being decided",
365
+ "skill": "architecture-decision-records"
319
366
  }
320
367
  ],
321
368
  "related": [
322
369
  "context-engineering",
370
+ "context-window",
323
371
  "tool-call-strategy",
324
- "prompt-craft"
372
+ "prompt-craft",
373
+ "summarization"
325
374
  ],
326
375
  "verify_with": [
327
376
  "testing-strategy",
@@ -331,7 +380,7 @@
331
380
  "scope": "portable",
332
381
  "stability": "experimental",
333
382
  "type": "capability",
334
- "version": "1.0.0"
383
+ "version": "1.1.0"
335
384
  },
336
385
  {
337
386
  "activation": {
@@ -386,7 +435,7 @@
386
435
  "license": "MIT",
387
436
  "name": "agent-eval-design",
388
437
  "owner": "skill-graph-maintainer",
389
- "path": "../skills/skills/agent-eval-design/SKILL.md",
438
+ "path": "../skills/skills/quality/agent-eval-design/SKILL.md",
390
439
  "portability": {
391
440
  "readiness": "scripted",
392
441
  "targets": [
@@ -475,14 +524,35 @@
475
524
  },
476
525
  "description": "Use when reasoning about agent autonomy levels, designing auto-improve loops, evaluating AI-generated code quality, or measuring agent productivity in an LLM-assisted codebase. Covers Karpathy's three eras of software (1.0 explicit / 2.0 learned / 3.0 natural-language), the vibe-coding-vs-agentic-engineering distinction, the 0–5 autonomy slider with task-type recommendations, the one-asset / one-metric / one-time-box AutoResearch loop, Software 3.0 productivity metrics, and the documented quality regressions of ungated AI-generated code (the 'vibe hangover'). Do NOT use for choosing a specific autonomy-loop topology (use `agent-engineering`), for the per-prompt authoring discipline (use `prompt-craft`), or for reviewing the AI-generated code that comes out of a Software 3.0 workflow (use `code-review`).",
477
526
  "domain": "agent/concepts",
527
+ "grounding": {
528
+ "domain_object": "AI-native software development discipline for prompt-as-code workflows, agent autonomy calibration, metric-gated auto-improvement loops, and quality gates for AI-generated code",
529
+ "evidence_priority": "equal",
530
+ "failure_modes": [
531
+ "unintentional_high_autonomy_for_high_risk_work",
532
+ "accepting_ai_generated_code_without_review_or_tests",
533
+ "treating_prompts_and_skills_as_throwaway_notes",
534
+ "optimizing_agent_loops_against_multiple_moving_metrics",
535
+ "citing_stale_ai_code_security_statistics_as_fixed_truth",
536
+ "shipping_agentic_systems_without_prompt_injection_or_excessive_agency_controls"
537
+ ],
538
+ "grounding_mode": "hybrid",
539
+ "truth_sources": [
540
+ "https://www.youtube.com/watch?v=LCEmiRjPEtQ",
541
+ "https://github.com/karpathy/autoresearch",
542
+ "https://arxiv.org/abs/2211.03622",
543
+ "https://arxiv.org/abs/2504.20814",
544
+ "https://snyk.io/lp/secure-adoption-in-the-genai-era/",
545
+ "https://owasp.org/www-project-top-10-for-large-language-model-applications/"
546
+ ]
547
+ },
478
548
  "health": {
479
549
  "drift_check": {
480
- "last_verified": "2026-05-06"
550
+ "last_verified": "2026-05-18"
481
551
  },
482
552
  "eval_artifacts": "planned",
483
553
  "eval_state": "unverified",
484
- "freshness": "2026-05-06",
485
- "has_grounding": false,
554
+ "freshness": "2026-05-18",
555
+ "has_grounding": true,
486
556
  "has_relations": true,
487
557
  "lifecycle": {
488
558
  "review_cadence": "quarterly",
@@ -494,7 +564,7 @@
494
564
  "license": "MIT",
495
565
  "name": "ai-native-development",
496
566
  "owner": "skill-graph-maintainer",
497
- "path": "../skills/skills/ai-native-development/SKILL.md",
567
+ "path": "../skills/skills/agent/ai-native-development/SKILL.md",
498
568
  "portability": {
499
569
  "readiness": "scripted",
500
570
  "targets": [
@@ -534,7 +604,7 @@
534
604
  "scope": "portable",
535
605
  "stability": "experimental",
536
606
  "type": "capability",
537
- "version": "1.0.0"
607
+ "version": "1.1.0"
538
608
  },
539
609
  {
540
610
  "activation": {
@@ -589,7 +659,7 @@
589
659
  "license": "MIT",
590
660
  "name": "api-design",
591
661
  "owner": "skill-graph-maintainer",
592
- "path": "../skills/skills/api-design/SKILL.md",
662
+ "path": "../skills/skills/engineering/api-design/SKILL.md",
593
663
  "portability": {
594
664
  "readiness": "scripted",
595
665
  "targets": [
@@ -688,7 +758,7 @@
688
758
  "license": "MIT",
689
759
  "name": "architecture-decision-records",
690
760
  "owner": "skill-graph-maintainer",
691
- "path": "../skills/skills/architecture-decision-records/SKILL.md",
761
+ "path": "../skills/skills/engineering/architecture-decision-records/SKILL.md",
692
762
  "portability": {
693
763
  "readiness": "scripted",
694
764
  "targets": [
@@ -725,6 +795,59 @@
725
795
  "type": "capability",
726
796
  "version": "1.0.0"
727
797
  },
798
+ {
799
+ "activation": {
800
+ "keywords": [
801
+ "autonomous loop",
802
+ "ralph wiggum",
803
+ "grind loop",
804
+ "manage loop",
805
+ "agent respawn",
806
+ "completion detection",
807
+ "safety cap"
808
+ ],
809
+ "triggers": [
810
+ "autonomous-loop-skill",
811
+ "loop-patterns-skill"
812
+ ]
813
+ },
814
+ "category": "agent",
815
+ "description": "This skill consolidates autonomous AI agent loop patterns: the Ralph Wiggum exit-code-2 pattern, our manage-loop (manage-continuation.json + manage-loop-hook.py), grind-loop.sh supervisor, completion detection strategies, safety caps, stall detection, and the tradeoffs between simple loops and sophisticated orchestration. Use when designing or debugging autonomous agent loops, choosing between loop approaches, or implementing safety limits. Do NOT use for choosing which command to run (use ai-coding-agents) or for task management (use linear).",
816
+ "health": {
817
+ "comprehension_state": "present",
818
+ "eval_artifacts": "present",
819
+ "eval_state": "passing",
820
+ "freshness": "2026-05-18",
821
+ "has_grounding": false,
822
+ "has_relations": true,
823
+ "routing_eval": "present"
824
+ },
825
+ "id": "autonomous-loop-patterns",
826
+ "name": "autonomous-loop-patterns",
827
+ "owner": "claude",
828
+ "path": "../skills/skills/agent/autonomous-loop-patterns/SKILL.md",
829
+ "relations": {
830
+ "adjacent": [
831
+ "agent-governance",
832
+ "ai-native-development",
833
+ "hook-patterns",
834
+ "agent-observability",
835
+ "orchestration"
836
+ ],
837
+ "boundary": [
838
+ "ai-coding-agents",
839
+ "linear",
840
+ "task-execution"
841
+ ],
842
+ "verify_with": [
843
+ "agent-observability",
844
+ "agent-control"
845
+ ]
846
+ },
847
+ "scope": "portable",
848
+ "type": "capability",
849
+ "version": "1.2.0"
850
+ },
728
851
  {
729
852
  "activation": {
730
853
  "keywords": [
@@ -766,7 +889,7 @@
766
889
  "license": "MIT",
767
890
  "name": "background-jobs",
768
891
  "owner": "skill-graph-maintainer",
769
- "path": "../skills/skills/background-jobs/SKILL.md",
892
+ "path": "../skills/skills/engineering/background-jobs/SKILL.md",
770
893
  "portability": {
771
894
  "readiness": "scripted",
772
895
  "targets": [
@@ -786,6 +909,116 @@
786
909
  "type": "capability",
787
910
  "version": "1.0.0"
788
911
  },
912
+ {
913
+ "activation": {
914
+ "anti_examples": [
915
+ "reviewing PR feedback phrasing and comment classification (use code-review)",
916
+ "choosing between requireAuth, requireOrgAuth, and withOrgAuth (use nextauth-patterns)",
917
+ "implementing SQL injection prevention or webhook HMAC verification (use security-scanning)",
918
+ "designing the APCA contrast ratio for a new color palette (use color-science)",
919
+ "implementing the font loading strategy and vertical rhythm (use typography)",
920
+ "deciding what quality means per artifact type — code vs skill vs prompt (use craft-doctrine)"
921
+ ],
922
+ "examples": [
923
+ "reviewing a pull request for correctness, security, and style",
924
+ "creating a new React component and checking it against quality standards",
925
+ "auditing an existing feature for WCAG compliance and performance regressions",
926
+ "writing tests and verifying coverage shape (unit / integration / e2e pyramid)",
927
+ "authoring a new skill and checking it has structured scope, evals, and examples",
928
+ "adding a new Next.js Server Action and verifying it has Zod validation and auth check"
929
+ ],
930
+ "keywords": [
931
+ "best practice",
932
+ "best practices",
933
+ "code quality",
934
+ "quality enforcement",
935
+ "code review checklist",
936
+ "OWASP",
937
+ "WCAG",
938
+ "Core Web Vitals",
939
+ "SOLID principles",
940
+ "clean code",
941
+ "visual hierarchy",
942
+ "typographic hierarchy",
943
+ "color hierarchy",
944
+ "UI composition",
945
+ "cross-cutting concerns",
946
+ "quality gate",
947
+ "enforcement layer"
948
+ ]
949
+ },
950
+ "allowed-tools": "Read Grep Bash",
951
+ "category": "quality",
952
+ "compatibility": {
953
+ "notes": "Applies to any web application codebase using TypeScript, React, and Next.js App Router. The cross-domain enforcement priorities (security, a11y, performance, design system, testing, DevOps, AI/LLM) are framework-agnostic; the Next.js section is specific to the App Router pattern."
954
+ },
955
+ "description": "Cross-cutting best practices enforcement across code, templates, skills, prompts, scripts, documentation, pages, and design. The enforcement layer that catches violations any specialist might miss. Do NOT use for deep code review methodology (use code-review), auth guard selection (use nextauth-patterns), SQL injection prevention (use security-scanning), PII masking (use gdpr-compliance), accessibility implementation depth (use a11y), or financial semantics (use code-logic).",
956
+ "domain": "quality/cross-domain",
957
+ "grounding": {
958
+ "domain_object": "Cross-cutting quality enforcement across 14 domains",
959
+ "evidence_priority": "general_knowledge_first",
960
+ "failure_modes": [
961
+ "specialist_boundary_gaps",
962
+ "heading_hierarchy_violations",
963
+ "hardcoded_values_bypass_token_system",
964
+ "server_actions_treated_as_internal",
965
+ "dead_tests_accumulate"
966
+ ],
967
+ "grounding_mode": "hybrid",
968
+ "truth_sources": []
969
+ },
970
+ "health": {
971
+ "drift_check": {
972
+ "last_verified": "2026-05-18",
973
+ "truth_source_hashes": {}
974
+ },
975
+ "eval_artifacts": "none",
976
+ "eval_state": "unverified",
977
+ "freshness": "2026-05-18",
978
+ "has_grounding": true,
979
+ "has_relations": true,
980
+ "lifecycle": {
981
+ "review_cadence": "quarterly",
982
+ "stale_after_days": 180
983
+ },
984
+ "routing_eval": "absent"
985
+ },
986
+ "id": "best-practice",
987
+ "license": "MIT",
988
+ "name": "best-practice",
989
+ "owner": "skill-graph-maintainer",
990
+ "path": "../skills/skills/quality/best-practice/SKILL.md",
991
+ "portability": {
992
+ "readiness": "declared",
993
+ "targets": [
994
+ "skill-md"
995
+ ]
996
+ },
997
+ "relations": {
998
+ "adjacent": [
999
+ "code-review",
1000
+ "security-scanning",
1001
+ "a11y",
1002
+ "design-guide",
1003
+ "composition-theory",
1004
+ "color-science",
1005
+ "visual-design",
1006
+ "typography",
1007
+ "copywriting",
1008
+ "semantics",
1009
+ "ui-ux",
1010
+ "next-best-practices"
1011
+ ],
1012
+ "verify_with": [
1013
+ "code-review",
1014
+ "security-scanning"
1015
+ ]
1016
+ },
1017
+ "scope": "reference",
1018
+ "stability": "stable",
1019
+ "type": "capability",
1020
+ "version": "1.2.0"
1021
+ },
789
1022
  {
790
1023
  "activation": {
791
1024
  "anti_examples": [
@@ -839,7 +1072,7 @@
839
1072
  "license": "MIT",
840
1073
  "name": "bounded-context-mapping",
841
1074
  "owner": "skill-graph-maintainer",
842
- "path": "../skills/skills/bounded-context-mapping/SKILL.md",
1075
+ "path": "../skills/skills/engineering/bounded-context-mapping/SKILL.md",
843
1076
  "portability": {
844
1077
  "readiness": "scripted",
845
1078
  "targets": [
@@ -946,7 +1179,7 @@
946
1179
  "license": "MIT",
947
1180
  "name": "cap-theorem-tradeoffs",
948
1181
  "owner": "skill-graph-maintainer",
949
- "path": "../skills/skills/cap-theorem-tradeoffs/SKILL.md",
1182
+ "path": "../skills/skills/engineering/data/cap-theorem-tradeoffs/SKILL.md",
950
1183
  "relations": {
951
1184
  "boundary": [
952
1185
  {
@@ -1046,7 +1279,7 @@
1046
1279
  "license": "MIT",
1047
1280
  "name": "client-server-boundary",
1048
1281
  "owner": "skill-graph-maintainer",
1049
- "path": "../skills/skills/client-server-boundary/SKILL.md",
1282
+ "path": "../skills/skills/engineering/frontend/client-server-boundary/SKILL.md",
1050
1283
  "relations": {
1051
1284
  "boundary": [
1052
1285
  {
@@ -1145,7 +1378,7 @@
1145
1378
  "license": "MIT",
1146
1379
  "name": "code-review",
1147
1380
  "owner": "skill-graph-maintainer",
1148
- "path": "../skills/skills/code-review/SKILL.md",
1381
+ "path": "../skills/skills/quality/code-review/SKILL.md",
1149
1382
  "portability": {
1150
1383
  "readiness": "scripted",
1151
1384
  "targets": [
@@ -1237,7 +1470,7 @@
1237
1470
  "license": "CC-BY-4.0",
1238
1471
  "name": "color-system-design",
1239
1472
  "owner": "skill-graph-maintainer",
1240
- "path": "../skills/skills/color-system-design/SKILL.md",
1473
+ "path": "../skills/skills/design/color-system-design/SKILL.md",
1241
1474
  "relations": {
1242
1475
  "boundary": [
1243
1476
  {
@@ -1336,7 +1569,7 @@
1336
1569
  "license": "MIT",
1337
1570
  "name": "component-architecture",
1338
1571
  "owner": "skill-graph-maintainer",
1339
- "path": "../skills/skills/component-architecture/SKILL.md",
1572
+ "path": "../skills/skills/design/component-architecture/SKILL.md",
1340
1573
  "relations": {
1341
1574
  "boundary": [
1342
1575
  {
@@ -1416,7 +1649,7 @@
1416
1649
  "license": "MIT",
1417
1650
  "name": "compression",
1418
1651
  "owner": "skill-graph-maintainer",
1419
- "path": "../skills/skills/compression/SKILL.md",
1652
+ "path": "../skills/skills/engineering/data/compression/SKILL.md",
1420
1653
  "portability": {
1421
1654
  "readiness": "scripted",
1422
1655
  "targets": [
@@ -1441,57 +1674,94 @@
1441
1674
  "activation": {
1442
1675
  "anti_examples": [
1443
1676
  "give me the physical table design with PKs, FKs, and normalization forms",
1677
+ "turn this model into SQL migrations and index definitions",
1444
1678
  "I need OWL class axioms and reasoning constraints for these concepts",
1445
1679
  "build the DDD aggregate boundaries and anti-corruption layer",
1446
- "what hypernymy / meronymy labels apply between these terms",
1680
+ "what hypernymy or meronymy labels apply between these two terms",
1447
1681
  "review this ORM model class for code correctness",
1448
1682
  "name the entities and fields once we agree on the conceptual model"
1449
1683
  ],
1450
1684
  "examples": [
1451
- "a stakeholder says 'users place orders that ship in multiple boxes' how do I capture this as a model before naming tables?",
1452
- "is a refund its own entity or just a payment status what conceptual test decides that?",
1453
- "two business stakeholders disagree on whether a cart and an order are the same thing how should the conceptual model resolve that?",
1454
- "our domain diagram already mentions UUIDs and cascade-delete what anti-pattern is that and how do I pull it back?",
1455
- "this relationship has a date, an amount, and a status should it stay as a line between entities or become its own entity?",
1456
- "should this attribute live on the Customer entity or on Order what's the rule?",
1457
- "we have Physical, Digital, and Subscription products how do I model that as generalization without lying about totality?"
1685
+ "a stakeholder says users place orders that ship in multiple boxes -- how do I capture this as a model before naming tables?",
1686
+ "is a refund its own entity or just a payment status -- what conceptual test decides that?",
1687
+ "two business stakeholders disagree on whether a cart and an order are the same thing -- how should the conceptual model resolve that?",
1688
+ "our domain diagram already mentions UUIDs and cascade-delete -- what anti-pattern is that and how do I pull it back?",
1689
+ "this relationship has a date, an amount, and a status -- should it stay as a line between entities or become its own entity?",
1690
+ "should this attribute live on Customer or Order -- what is the rule?",
1691
+ "we have Physical, Digital, and Subscription products -- how do I model that as specialization without lying about totality?"
1458
1692
  ],
1459
1693
  "keywords": [
1460
1694
  "conceptual model",
1461
1695
  "conceptual modeling methodology",
1462
1696
  "domain abstraction",
1463
- "entity relationship cardinality",
1464
- "conceptual schema before implementation",
1697
+ "implementation neutral model",
1465
1698
  "business model to system model",
1699
+ "stakeholder validation",
1700
+ "entity identity criteria",
1701
+ "named relationship",
1702
+ "relationship cardinality",
1703
+ "reified relationship",
1704
+ "associative entity",
1466
1705
  "generalization specialization",
1467
1706
  "aggregation composition relationship",
1468
- "reify relationship to entity",
1469
1707
  "conceptual logical physical layers",
1470
1708
  "implementation leakage anti-pattern",
1471
1709
  "unnamed relationship anti-pattern",
1472
1710
  "god entity anti-pattern",
1473
1711
  "missing entity anti-pattern",
1474
- "validate model with stakeholders",
1712
+ "attribute as entity anti-pattern",
1713
+ "conceptual schema before implementation",
1475
1714
  "UML class diagram conceptual",
1476
1715
  "role modeling pattern",
1477
- "is-a vs has-a vs owns"
1716
+ "is-a vs part-of vs owns"
1478
1717
  ]
1479
1718
  },
1480
1719
  "allowed-tools": "Read Grep",
1481
1720
  "category": "engineering",
1482
1721
  "compatibility": {
1483
- "notes": "Domain- and language-agnostic. The conceptual / logical / physical ladder applies across relational, document, graph, and event-sourced systems."
1722
+ "notes": "Domain- and language-agnostic. The conceptual / logical / physical ladder applies across relational, document, graph, event-sourced, and service-oriented systems. Examples use generic commerce and education nouns only as public, portable modeling examples."
1484
1723
  },
1485
- "description": "Use when translating business requirements into a structured domain model before database schemas, API endpoints, or DDD aggregates are named. Covers entities, attributes, relationships, cardinality, specialization/generalization, aggregation/composition, roles, abstraction levels, stakeholder validation, and modeling anti-patterns such as implementation leakage, god entities, phantom relationships, premature normalization, attribute-as-entity, and unnamed relationships. Do NOT use for database ER diagrams with keys and normalization, formal ontology axioms with OWL/RDFS, or DDD tactical design; use those dedicated skills instead.",
1724
+ "concept": {
1725
+ "analogy": "It is the architectural floor plan before engineering drawings: useful because it is precise about the lived structure while still independent of materials and machinery.",
1726
+ "boundary": "It does not design physical database schemas, write migrations, define formal ontology axioms, choose aggregate boundaries, perform code review, or settle implementation naming once the model is already accepted.",
1727
+ "definition": "Conceptual modeling is the implementation-neutral discipline of representing a domain as entities, attributes, relationships, identity criteria, cardinalities, and abstraction boundaries that stakeholders can validate before technical design begins.",
1728
+ "mental_model": "Treat the conceptual model as a contract between stakeholder language and later system design. It must preserve business meaning while postponing storage, API, ontology, and DDD implementation choices.",
1729
+ "misconception": "A conceptual model is not informal hand-waving and not a premature table diagram. It should be business-readable, constraint-aware, and intentionally implementation-neutral.",
1730
+ "purpose": "It exposes hidden domain decisions early: what exists, what makes two things the same, how concepts relate, which relationships carry their own data, and which constraints are business truths rather than technical preferences.",
1731
+ "taxonomy": "Core moves include entity discovery, attribute placement, relationship naming, cardinality and optionality analysis, identity criteria, aggregation versus composition, specialization/generalization, reification of relationship concepts, abstraction-level policing, and stakeholder scenario validation."
1732
+ },
1733
+ "description": "Use when translating messy business requirements, stakeholder language, or early product ideas into an implementation-neutral domain model before database schemas, API endpoints, or DDD aggregates are named. Covers entities, attributes, named relationships, cardinality, identity criteria, specialization/generalization, aggregation/composition, reification, abstraction-level control, stakeholder validation, and modeling anti-patterns. Do NOT use for database ER diagrams with keys and normalization, formal ontology axioms with OWL/RDFS, or DDD tactical design; use those dedicated skills instead.",
1486
1734
  "domain": "engineering/modeling",
1735
+ "grounding": {
1736
+ "domain_object": "Implementation-neutral conceptual modeling for business domains before logical schema, physical database, ontology, API, or DDD tactical design",
1737
+ "evidence_priority": "equal",
1738
+ "failure_modes": [
1739
+ "implementation_leakage_turns_conceptual_model_into_physical_schema",
1740
+ "unnamed_relationships_hide_business_meaning",
1741
+ "cardinality_or_optionality_left_implicit",
1742
+ "identity_criteria_missing_for_entities",
1743
+ "relationship_with_attributes_not_reified",
1744
+ "generalization_claim_lies_about_disjointness_or_totality",
1745
+ "stakeholder_validation_skipped",
1746
+ "conceptual_model_overowns_ontology_data_modeling_or_ddd_design"
1747
+ ],
1748
+ "grounding_mode": "universal",
1749
+ "truth_sources": [
1750
+ "https://doi.org/10.1145/320434.320440",
1751
+ "https://www.omg.org/spec/UML/2.5.1/PDF",
1752
+ "https://opentextbc.ca/dbdesign01/chapter/chapter-8-entity-relationship-model/",
1753
+ "https://www.ibm.com/think/topics/conceptual-data-model"
1754
+ ]
1755
+ },
1487
1756
  "health": {
1757
+ "comprehension_state": "present",
1488
1758
  "drift_check": {
1489
- "last_verified": "2026-05-06"
1759
+ "last_verified": "2026-05-19"
1490
1760
  },
1491
1761
  "eval_artifacts": "planned",
1492
1762
  "eval_state": "unverified",
1493
- "freshness": "2026-05-06",
1494
- "has_grounding": false,
1763
+ "freshness": "2026-05-19",
1764
+ "has_grounding": true,
1495
1765
  "has_relations": true,
1496
1766
  "lifecycle": {
1497
1767
  "review_cadence": "quarterly",
@@ -1503,7 +1773,7 @@
1503
1773
  "license": "MIT",
1504
1774
  "name": "conceptual-modeling",
1505
1775
  "owner": "skill-graph-maintainer",
1506
- "path": "../skills/skills/conceptual-modeling/SKILL.md",
1776
+ "path": "../skills/skills/engineering/conceptual-modeling/SKILL.md",
1507
1777
  "portability": {
1508
1778
  "readiness": "scripted",
1509
1779
  "targets": [
@@ -1513,26 +1783,53 @@
1513
1783
  "relations": {
1514
1784
  "boundary": [
1515
1785
  {
1516
- "reason": "code-review evaluates implementation output; conceptual-modeling is the pre-implementation domain analysis above it",
1517
- "skill": "code-review"
1786
+ "reason": "data-modeling owns logical and physical persistence decisions such as keys, constraints, normalization, denormalization, provenance, and indexing; conceptual-modeling stays implementation-neutral and validates business meaning first.",
1787
+ "skill": "data-modeling"
1788
+ },
1789
+ {
1790
+ "reason": "entity-relationship-modeling owns database-oriented ER notation, primary and foreign keys, junction tables, inheritance mapping, and SQL translation; conceptual-modeling owns pre-database entity, attribute, relationship, and cardinality discovery.",
1791
+ "skill": "entity-relationship-modeling"
1792
+ },
1793
+ {
1794
+ "reason": "ontology-modeling formalizes classes, properties, axioms, validation shapes, and reasoning semantics; conceptual-modeling produces stakeholder-readable domain structure without OWL/RDFS/SHACL commitments.",
1795
+ "skill": "ontology-modeling"
1796
+ },
1797
+ {
1798
+ "reason": "semantic-relations types individual meaning edges such as IS-A, PART-OF, synonymy, and thematic roles; conceptual-modeling assembles the full implementation-neutral domain model that may consume those relation tests.",
1799
+ "skill": "semantic-relations"
1800
+ },
1801
+ {
1802
+ "reason": "bounded-context-mapping owns DDD context boundaries, translations, and anti-corruption layers; conceptual-modeling owns the concept inventory before tactical DDD boundaries are chosen.",
1803
+ "skill": "bounded-context-mapping"
1518
1804
  },
1519
1805
  {
1520
- "reason": "naming-conventions decides what to call entities and fields; conceptual-modeling decides what entities and fields exist in the first place",
1806
+ "reason": "naming-conventions owns how settled concepts are named in code, schemas, or APIs; conceptual-modeling decides which concepts exist and what their identity and relationships are before naming.",
1521
1807
  "skill": "naming-conventions"
1522
1808
  },
1523
1809
  {
1524
- "reason": "refactor preserves behavior while restructuring code; conceptual-modeling restructures the domain abstraction itself, which usually requires non-behavior-preserving change",
1525
- "skill": "refactor"
1810
+ "reason": "code-review evaluates an implementation diff; conceptual-modeling happens upstream before code or schema review exists.",
1811
+ "skill": "code-review"
1526
1812
  }
1527
1813
  ],
1528
1814
  "related": [
1815
+ "data-modeling",
1816
+ "entity-relationship-modeling",
1817
+ "semantic-relations",
1818
+ "ontology-modeling",
1819
+ "taxonomy-design",
1820
+ "bounded-context-mapping",
1529
1821
  "naming-conventions"
1822
+ ],
1823
+ "verify_with": [
1824
+ "semantic-relations",
1825
+ "data-modeling",
1826
+ "ontology-modeling"
1530
1827
  ]
1531
1828
  },
1532
1829
  "scope": "portable",
1533
1830
  "stability": "experimental",
1534
1831
  "type": "capability",
1535
- "version": "1.0.0"
1832
+ "version": "1.1.0"
1536
1833
  },
1537
1834
  {
1538
1835
  "activation": {
@@ -1599,7 +1896,7 @@
1599
1896
  "license": "MIT",
1600
1897
  "name": "connection-pooling",
1601
1898
  "owner": "skill-graph-maintainer",
1602
- "path": "../skills/skills/connection-pooling/SKILL.md",
1899
+ "path": "../skills/skills/engineering/data/connection-pooling/SKILL.md",
1603
1900
  "relations": {
1604
1901
  "boundary": [
1605
1902
  {
@@ -1710,7 +2007,7 @@
1710
2007
  "license": "MIT",
1711
2008
  "name": "constraint-awareness",
1712
2009
  "owner": "skill-graph-maintainer",
1713
- "path": "../skills/skills/constraint-awareness/SKILL.md",
2010
+ "path": "../skills/skills/foundations/constraint-awareness/SKILL.md",
1714
2011
  "portability": {
1715
2012
  "readiness": "scripted",
1716
2013
  "targets": [
@@ -1798,7 +2095,7 @@
1798
2095
  "license": "MIT",
1799
2096
  "name": "content-monitor",
1800
2097
  "owner": "skill-graph-maintainer",
1801
- "path": "../skills/skills/content-monitor/SKILL.md",
2098
+ "path": "../skills/skills/agent/content-monitor/SKILL.md",
1802
2099
  "portability": {
1803
2100
  "readiness": "scripted",
1804
2101
  "targets": [
@@ -1850,12 +2147,16 @@
1850
2147
  "wrong context",
1851
2148
  "overwhelming context",
1852
2149
  "context window",
2150
+ "context rot",
1853
2151
  "context utilization",
1854
2152
  "injection precision",
1855
2153
  "injection recall",
1856
2154
  "frequent intentional compaction",
1857
2155
  "FIC",
1858
2156
  "context compaction",
2157
+ "tool result clearing",
2158
+ "agent memory",
2159
+ "just in time context",
1859
2160
  "subagent delegation",
1860
2161
  "context stack",
1861
2162
  "context layers",
@@ -1870,16 +2171,45 @@
1870
2171
  "compatibility": {
1871
2172
  "notes": "Provider-agnostic; principles apply across Claude, GPT, Gemini, and open-weight models. Layer mapping varies by harness (Claude Code, OpenCode, Cursor, Continue, Aider) but the five-layer abstraction holds."
1872
2173
  },
2174
+ "concept": {
2175
+ "analogy": "Context engineering is like packing a surgical tray: success depends less on owning every possible instrument and more on putting the right clean tools in the right order before the operation starts.",
2176
+ "boundary": "It is not prompt wording, single-skill authoring, per-query routing, generic code review, or runtime incident debugging. It owns the information payload surrounding those surfaces: selection, structure, sequencing, memory, retrieval, compaction, delegation, and tool-result lifecycle.",
2177
+ "definition": "Context engineering is the practice of designing and maintaining the information environment an LLM sees at inference time so the model receives the right instructions, memory, retrieved knowledge, tool outputs, examples, and task state in usable form.",
2178
+ "mental_model": "Treat each model call as a context compile step. The compile output should be sufficient for the next decision, small enough to preserve attention, fresh enough to be trusted, and structured enough for the model to distinguish rules from evidence and current facts from historical notes.",
2179
+ "misconception": "More context is not automatically safer. Prompt stuffing, broad retrieval dumps, stale memory, and unbounded tool transcripts can make an agent less reliable by drowning the useful signal.",
2180
+ "purpose": "It prevents agent failures caused by missing, stale, wrong, or overwhelming context, and gives teams a diagnostic vocabulary for fixing the context pipeline rather than blaming the model or endlessly polishing prompt wording.",
2181
+ "taxonomy": "Core levers include context selection, context structuring, context sequencing, context compression, memory integration, retrieval strategy, tool-result clearing, provenance tracking, and subagent isolation."
2182
+ },
1873
2183
  "description": "Use when designing what information reaches an LLM agent before it reasons — system prompt, persistent memory, always-loaded rules, injected skills, and the user prompt — or when diagnosing why an agent produced a wrong answer despite a clear instruction. Covers the four context failure modes (missing, stale, wrong, overwhelming), the five-layer context stack, four context quality metrics (injection precision and recall, utilization, freshness), the Frequent Intentional Compaction (FIC) protocol, subagent delegation for context-heavy work, and the failure-mode decision tree. Do NOT use for prompt wording (use `prompt-craft`), authoring a new SKILL.md (use `skill-scaffold`), or deciding which skill the router activates for a given query (use `skill-router`).",
1874
2184
  "domain": "agent/context",
2185
+ "grounding": {
2186
+ "domain_object": "Context engineering for LLM agents",
2187
+ "evidence_priority": "equal",
2188
+ "failure_modes": [
2189
+ "context_window_treated_as_unlimited",
2190
+ "prompt_wording_treated_as_context_design",
2191
+ "retrieval_dump_replaces_selection",
2192
+ "tool_results_accumulate_without_clearing",
2193
+ "stale_memory_overrides_current_evidence"
2194
+ ],
2195
+ "grounding_mode": "hybrid",
2196
+ "truth_sources": [
2197
+ "https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents",
2198
+ "https://platform.claude.com/docs/en/build-with-claude/context-windows",
2199
+ "https://platform.claude.com/cookbook/tool-use-context-engineering-context-engineering-tools",
2200
+ "https://www.ibm.com/think/topics/context-engineering",
2201
+ "https://arxiv.org/abs/2510.26493"
2202
+ ]
2203
+ },
1875
2204
  "health": {
2205
+ "comprehension_state": "present",
1876
2206
  "drift_check": {
1877
- "last_verified": "2026-05-06"
2207
+ "last_verified": "2026-05-18"
1878
2208
  },
1879
2209
  "eval_artifacts": "planned",
1880
2210
  "eval_state": "unverified",
1881
- "freshness": "2026-05-06",
1882
- "has_grounding": false,
2211
+ "freshness": "2026-05-18",
2212
+ "has_grounding": true,
1883
2213
  "has_relations": true,
1884
2214
  "lifecycle": {
1885
2215
  "review_cadence": "quarterly",
@@ -1891,7 +2221,7 @@
1891
2221
  "license": "MIT",
1892
2222
  "name": "context-engineering",
1893
2223
  "owner": "skill-graph-maintainer",
1894
- "path": "../skills/skills/context-engineering/SKILL.md",
2224
+ "path": "../skills/skills/agent/context/context-engineering/SKILL.md",
1895
2225
  "portability": {
1896
2226
  "readiness": "scripted",
1897
2227
  "targets": [
@@ -1924,7 +2254,7 @@
1924
2254
  "scope": "portable",
1925
2255
  "stability": "experimental",
1926
2256
  "type": "capability",
1927
- "version": "1.0.0"
2257
+ "version": "1.1.0"
1928
2258
  },
1929
2259
  {
1930
2260
  "activation": {
@@ -1971,10 +2301,19 @@
1971
2301
  "compatibility": {
1972
2302
  "notes": "Architecture-level skill. Applies to any agent-coding workspace that has more than one skill / doc-routing / memory artifact and any way to traverse them — Claude Code, OpenCode, Cursor, Aider, Continue, Copilot Workspace, or a custom harness. The four-graph model and the orphan / connectivity metrics are independent of the specific runtime."
1973
2303
  },
2304
+ "concept": {
2305
+ "analogy": "A context graph is a transit map for an agent workspace: individual stations can be excellent, but the system only works when routes connect them, transfer points are intentional, and isolated stops are visible enough to fix.",
2306
+ "boundary": "It is not per-query skill routing, context-window budgeting, or single-file metadata linting. Routing consumes the graph, budgeting trims selected context, and single-skill audit checks one node; context-graph work asks whether the whole workspace is navigable and whether changes propagate through the right edges.",
2307
+ "definition": "A context graph is the explicit topology that connects an agent workspace's skills, docs, memory records, scripts, and commands so agents can discover relevant context by traversal rather than exact-name recall.",
2308
+ "mental_model": "Agents start from a task as the traversal root, then follow typed edges to reachable nodes. Node quality and graph reachability are separate properties: a beautifully written skill that no route reaches behaves like absent knowledge. Healthy graph work therefore watches edge meaning, orphan rate, degree distribution, cluster boundaries, and cross-graph propagation paths together.",
2309
+ "misconception": "The trap is believing more links always improve discovery. Over-linking creates noisy hubs, under-linking creates orphans, and untyped links destroy routing meaning. The useful graph is the one whose edges preserve intent and make important context reachable.",
2310
+ "purpose": "It solves the flat-library failure mode where useful knowledge exists but agents cannot find it unless the user names it directly. The replacement is explicit topology: authored relations, deterministic synthesis signals, health metrics, and propagation checks that make relevance discoverable and drift visible.",
2311
+ "taxonomy": "Main graph families are skill knowledge graphs, document routing graphs, memory indexes, and script or command registries. Main edge concerns are typed meaning, reachability, reciprocity, degree caps, cross-graph propagation, and deterministic rebuild signals."
2312
+ },
1974
2313
  "description": "Use when designing or auditing the multi-graph context architecture of an AI-coding workspace: skill graph, document routing graph, memory index, script registry, and the cross-graph edges between them. Covers edge typing, orphan detection, connectivity health, deterministic graph synthesis signals, change-propagation checks, and drift or hub-and-spoke anti-patterns. Do NOT use for authoring one SKILL.md (use `skill-scaffold`), validating one skill (use `graph-audit`), live routing decisions (use `skill-router`), context-window budgeting (use `context-window`), or session load/drop choices (use `context-management`).",
1975
2314
  "domain": "agent/context",
1976
2315
  "grounding": {
1977
- "domain_object": "Skill Graph library topology and context discovery model",
2316
+ "domain_object": "Agent workspace context topology and discovery model",
1978
2317
  "evidence_priority": "repo_code_first",
1979
2318
  "failure_modes": [
1980
2319
  "inferred_edges_replace_authored_relations",
@@ -1984,30 +2323,22 @@
1984
2323
  ],
1985
2324
  "grounding_mode": "hybrid",
1986
2325
  "truth_sources": [
1987
- "SKILL_GRAPH.md",
1988
- "docs/PRIMER.md",
1989
- "docs/concept-map.md",
1990
- "docs/diagrams/starter-graph.mmd",
1991
- "scripts/generate-manifest.js",
1992
- "scripts/skill-overlap.js"
2326
+ "https://github.com/jacob-balslev/skill-graph/blob/main/SKILL_GRAPH.md",
2327
+ "https://github.com/jacob-balslev/skill-graph/blob/main/docs/PRIMER.md",
2328
+ "https://github.com/jacob-balslev/skill-graph/blob/main/docs/concept-map.md",
2329
+ "https://github.com/jacob-balslev/skill-graph/blob/main/docs/diagrams/starter-graph.mmd",
2330
+ "https://github.com/jacob-balslev/skill-graph/blob/main/scripts/generate-manifest.js",
2331
+ "https://github.com/jacob-balslev/skill-graph/blob/main/scripts/skill-overlap.js"
1993
2332
  ]
1994
2333
  },
1995
2334
  "health": {
2335
+ "comprehension_state": "present",
1996
2336
  "drift_check": {
1997
- "last_verified": "2026-05-13",
1998
- "truth_source_hashes": {
1999
- "SKILL_GRAPH.md": "a63fc59a1d99933fc6bc5c4033f8be86ee2f5460f3b5d5ab232a3f77eff71c8f",
2000
- "docs/PRIMER.md": "e6bd99468c224fe4c9606e147c5db94dff889feeb9ca5d80084480039c7e9296",
2001
- "docs/concept-map.md": "053e5cf891d7abf7efb30c9014fd2365da7d13588ef6b55057520756a315dc8c",
2002
- "docs/diagrams/starter-graph.mmd": "6aeaa417e08efbb6bb90b34f56c8df7f06dc608e3c8cd743d428da9fcfaf278c",
2003
- "scripts/generate-manifest.js": "9d7bbbdae440fdb1763d61ffa7bda10c9efae92359d1c2139d0e971582d59e0e",
2004
- "scripts/skill-overlap.js": "ed642cbc677cc76ec1321300b37d6752337b6b5541c7a9f558fd315d6f934e4b"
2005
- }
2337
+ "last_verified": "2026-05-18"
2006
2338
  },
2007
- "drift_detected": true,
2008
2339
  "eval_artifacts": "planned",
2009
2340
  "eval_state": "unverified",
2010
- "freshness": "2026-05-06",
2341
+ "freshness": "2026-05-18",
2011
2342
  "has_grounding": true,
2012
2343
  "has_relations": true,
2013
2344
  "lifecycle": {
@@ -2020,7 +2351,7 @@
2020
2351
  "license": "MIT",
2021
2352
  "name": "context-graph",
2022
2353
  "owner": "skill-graph-maintainer",
2023
- "path": "../skills/skills/context-graph/SKILL.md",
2354
+ "path": "../skills/skills/agent/context/context-graph/SKILL.md",
2024
2355
  "portability": {
2025
2356
  "readiness": "scripted",
2026
2357
  "targets": [
@@ -2060,7 +2391,7 @@
2060
2391
  "scope": "portable",
2061
2392
  "stability": "experimental",
2062
2393
  "type": "capability",
2063
- "version": "1.0.0"
2394
+ "version": "1.1.0"
2064
2395
  },
2065
2396
  {
2066
2397
  "activation": {
@@ -2128,7 +2459,7 @@
2128
2459
  "license": "MIT",
2129
2460
  "name": "context-management",
2130
2461
  "owner": "skill-graph-maintainer",
2131
- "path": "../skills/skills/context-management/SKILL.md",
2462
+ "path": "../skills/skills/agent/context/context-management/SKILL.md",
2132
2463
  "portability": {
2133
2464
  "readiness": "scripted",
2134
2465
  "targets": [
@@ -2216,16 +2547,46 @@
2216
2547
  "compatibility": {
2217
2548
  "notes": "Provider-agnostic. The zone model, 80% rule, persistence hierarchy, and token-reduction techniques apply across Anthropic, OpenAI, Google, and open-weight contexts of any size. Specific token figures are illustrative — substitute the figures of the model you actually run."
2218
2549
  },
2550
+ "concept": {
2551
+ "analogy": "Context-window management is like scuba air management: a large tank lets you dive longer, but you still track pressure, reserve enough air for ascent, and surface before the gauge is empty.",
2552
+ "boundary": "It is budget math and compaction timing, not qualitative working-set selection, prompt writing, graph topology, memory curation, or per-tool choice. It tells neighboring skills how much room they have and when the session must checkpoint or compact.",
2553
+ "definition": "Context-window management is the practice of allocating and protecting the finite token budget available to an LLM call or agent session, including instructions, tool schemas, injected skills, conversation history, tool results, retrieved files, and output headroom.",
2554
+ "mental_model": "Treat the window as working memory with a gauge. Every added message, tool result, file slice, image, or reasoning/output allocation consumes capacity. The operating loop is measure, reserve headroom, narrow inputs, checkpoint durable state, compact before overflow, and rebuild selectively after compaction.",
2555
+ "misconception": "A 1M-token window is not infinite. It delays overflow but does not remove context pollution, stale assumptions, output-headroom needs, or the cost of raw dumps.",
2556
+ "purpose": "It keeps long-running agent work from losing state or degrading quality when the active context becomes too large, noisy, or close to the model limit.",
2557
+ "taxonomy": "Core levers include zone budgeting, health-state thresholds, output headroom, tool-result shaping, targeted reads, progressive skill disclosure, compaction checkpoints, persistence hierarchy, and model-class strategy."
2558
+ },
2219
2559
  "description": "Use when allocating context-window budget across system, skill-injection, working, and output zones; monitoring context health; deciding when to compact; preserving state before compaction; recovering after compaction; or choosing strategies for 1M, 200K, or 128K context windows. Covers zone budgets, practical model-budget tables, the 80% compaction rule, pre/post-compact protocols, persistence hierarchy, operation token costs, and token-reduction techniques. Do NOT use for deciding what information belongs in the working set (use `context-management`), prompt design (use `prompt-craft`), graph architecture (use `context-graph`), or memory curation.",
2220
2560
  "domain": "agent/context",
2561
+ "grounding": {
2562
+ "domain_object": "Runtime context-window budgeting and compaction discipline for LLM agents",
2563
+ "evidence_priority": "equal",
2564
+ "failure_modes": [
2565
+ "large_context_treated_as_unlimited",
2566
+ "output_headroom_not_reserved",
2567
+ "compaction_started_after_overflow",
2568
+ "mixed_git_tree_committed_before_compaction",
2569
+ "raw_tool_results_preserved_after_distillation"
2570
+ ],
2571
+ "grounding_mode": "hybrid",
2572
+ "truth_sources": [
2573
+ "https://platform.claude.com/docs/en/build-with-claude/context-windows",
2574
+ "https://ai.google.dev/gemini-api/docs/long-context",
2575
+ "https://developers.openai.com/api/docs/models/compare",
2576
+ "https://github.com/jacob-balslev/skills/blob/main/skills/context-engineering/SKILL.md",
2577
+ "https://github.com/jacob-balslev/skills/blob/main/skills/context-management/SKILL.md",
2578
+ "https://github.com/jacob-balslev/skills/blob/main/skills/tool-call-strategy/SKILL.md"
2579
+ ]
2580
+ },
2221
2581
  "health": {
2582
+ "comprehension_state": "present",
2222
2583
  "drift_check": {
2223
- "last_verified": "2026-05-06"
2584
+ "last_verified": "2026-05-18"
2224
2585
  },
2225
2586
  "eval_artifacts": "planned",
2226
2587
  "eval_state": "unverified",
2227
- "freshness": "2026-05-06",
2228
- "has_grounding": false,
2588
+ "freshness": "2026-05-18",
2589
+ "has_grounding": true,
2229
2590
  "has_relations": true,
2230
2591
  "lifecycle": {
2231
2592
  "review_cadence": "quarterly",
@@ -2237,7 +2598,7 @@
2237
2598
  "license": "MIT",
2238
2599
  "name": "context-window",
2239
2600
  "owner": "skill-graph-maintainer",
2240
- "path": "../skills/skills/context-window/SKILL.md",
2601
+ "path": "../skills/skills/agent/context/context-window/SKILL.md",
2241
2602
  "portability": {
2242
2603
  "readiness": "scripted",
2243
2604
  "targets": [
@@ -2276,7 +2637,7 @@
2276
2637
  "scope": "portable",
2277
2638
  "stability": "experimental",
2278
2639
  "type": "capability",
2279
- "version": "1.0.0"
2640
+ "version": "1.1.0"
2280
2641
  },
2281
2642
  {
2282
2643
  "activation": {
@@ -2340,7 +2701,7 @@
2340
2701
  "license": "MIT",
2341
2702
  "name": "contract-testing",
2342
2703
  "owner": "skill-graph-maintainer",
2343
- "path": "../skills/skills/contract-testing/SKILL.md",
2704
+ "path": "../skills/skills/quality/testing/contract-testing/SKILL.md",
2344
2705
  "relations": {
2345
2706
  "boundary": [
2346
2707
  {
@@ -2423,7 +2784,7 @@
2423
2784
  "license": "MIT",
2424
2785
  "name": "cron-scheduling",
2425
2786
  "owner": "skill-graph-maintainer",
2426
- "path": "../skills/skills/cron-scheduling/SKILL.md",
2787
+ "path": "../skills/skills/engineering/cron-scheduling/SKILL.md",
2427
2788
  "portability": {
2428
2789
  "readiness": "scripted",
2429
2790
  "targets": [
@@ -2491,7 +2852,7 @@
2491
2852
  "license": "CC-BY-4.0",
2492
2853
  "name": "dark-mode-implementation",
2493
2854
  "owner": "skill-graph-maintainer",
2494
- "path": "../skills/skills/dark-mode-implementation/SKILL.md",
2855
+ "path": "../skills/skills/design/dark-mode-implementation/SKILL.md",
2495
2856
  "relations": {
2496
2857
  "boundary": [
2497
2858
  {
@@ -2569,7 +2930,7 @@
2569
2930
  "license": "MIT",
2570
2931
  "name": "data-modeling",
2571
2932
  "owner": "skill-graph-maintainer",
2572
- "path": "../skills/skills/data-modeling/SKILL.md",
2933
+ "path": "../skills/skills/engineering/data-modeling/SKILL.md",
2573
2934
  "portability": {
2574
2935
  "readiness": "scripted",
2575
2936
  "targets": [
@@ -2684,7 +3045,7 @@
2684
3045
  "license": "MIT",
2685
3046
  "name": "data-modeling-fundamentals",
2686
3047
  "owner": "skill-graph-maintainer",
2687
- "path": "../skills/skills/data-modeling-fundamentals/SKILL.md",
3048
+ "path": "../skills/skills/engineering/data/data-modeling-fundamentals/SKILL.md",
2688
3049
  "relations": {
2689
3050
  "boundary": [
2690
3051
  {
@@ -2787,7 +3148,7 @@
2787
3148
  "license": "MIT",
2788
3149
  "name": "database-migration",
2789
3150
  "owner": "skill-graph-maintainer",
2790
- "path": "../skills/skills/database-migration/SKILL.md",
3151
+ "path": "../skills/skills/engineering/database-migration/SKILL.md",
2791
3152
  "portability": {
2792
3153
  "readiness": "scripted",
2793
3154
  "targets": [
@@ -2894,7 +3255,7 @@
2894
3255
  "license": "MIT",
2895
3256
  "name": "debugging",
2896
3257
  "owner": "skill-graph-maintainer",
2897
- "path": "../skills/skills/debugging/SKILL.md",
3258
+ "path": "../skills/skills/engineering/debugging/SKILL.md",
2898
3259
  "portability": {
2899
3260
  "readiness": "scripted",
2900
3261
  "targets": [
@@ -2910,6 +3271,10 @@
2910
3271
  {
2911
3272
  "reason": "refactor is behavior-preserving code change with green tests; debugging is invoked because tests or behavior are NOT green",
2912
3273
  "skill": "refactor"
3274
+ },
3275
+ {
3276
+ "reason": "generative-ui owns the model-emits-typed-UI-spec pattern for writing documentation or explanatory content; debugging owns chasing observed runtime failures, not writing documentation about functions",
3277
+ "skill": "generative-ui"
2913
3278
  }
2914
3279
  ],
2915
3280
  "verify_with": [
@@ -2974,7 +3339,7 @@
2974
3339
  "license": "MIT",
2975
3340
  "name": "dependency-architecture",
2976
3341
  "owner": "skill-graph-maintainer",
2977
- "path": "../skills/skills/dependency-architecture/SKILL.md",
3342
+ "path": "../skills/skills/engineering/dependency-architecture/SKILL.md",
2978
3343
  "portability": {
2979
3344
  "readiness": "scripted",
2980
3345
  "targets": [
@@ -3068,7 +3433,7 @@
3068
3433
  "license": "CC-BY-4.0",
3069
3434
  "name": "design-module-composition",
3070
3435
  "owner": "skill-graph-maintainer",
3071
- "path": "../skills/skills/design-module-composition/SKILL.md",
3436
+ "path": "../skills/skills/design/design-module-composition/SKILL.md",
3072
3437
  "relations": {
3073
3438
  "boundary": [
3074
3439
  {
@@ -3150,7 +3515,7 @@
3150
3515
  "license": "MIT",
3151
3516
  "name": "design-system-architecture",
3152
3517
  "owner": "skill-graph-maintainer",
3153
- "path": "../skills/skills/design-system-architecture/SKILL.md",
3518
+ "path": "../skills/skills/design/design-system-architecture/SKILL.md",
3154
3519
  "portability": {
3155
3520
  "readiness": "scripted",
3156
3521
  "targets": [
@@ -3260,7 +3625,7 @@
3260
3625
  "license": "CC-BY-4.0",
3261
3626
  "name": "design-thinking",
3262
3627
  "owner": "skill-graph-maintainer",
3263
- "path": "../skills/skills/design-thinking/SKILL.md",
3628
+ "path": "../skills/skills/design/design-thinking/SKILL.md",
3264
3629
  "relations": {
3265
3630
  "boundary": [
3266
3631
  {
@@ -3334,14 +3699,37 @@
3334
3699
  },
3335
3700
  "description": "Use when facing an unknown software failure, when symptoms point to different root causes, or when an initial debugging attempt has not converged. Provides a triage-first diagnostic routing framework: classify the failure, collect the right evidence, choose a technique, track confidence, and escalate when stuck. Do NOT use for executing scientific debugging after triage (use `debugging`), code-quality review (use `code-review`), or proactive observability setup.",
3336
3701
  "domain": "engineering/debugging",
3702
+ "grounding": {
3703
+ "domain_object": "Portable software-failure diagnostic triage: evidence collection, symptom classification, technique selection, confidence tracking, escalation, and sensitive diagnostic evidence handling",
3704
+ "evidence_priority": "equal",
3705
+ "failure_modes": [
3706
+ "fixing_before_classification",
3707
+ "hypothesis_without_baseline_evidence",
3708
+ "wrong_technique_for_problem_class",
3709
+ "confidence_inflation_without_verification",
3710
+ "stuck_state_not_escalated_or_reclassified",
3711
+ "diagnostic_evidence_captures_sensitive_or_secret_data",
3712
+ "eval_or_routing_claim_inflated_without_run"
3713
+ ],
3714
+ "grounding_mode": "universal",
3715
+ "truth_sources": [
3716
+ "https://sre.google/sre-book/effective-troubleshooting/",
3717
+ "https://git-scm.com/docs/git-bisect",
3718
+ "https://stackoverflow.com/help/minimal-reproducible-example",
3719
+ "https://developer.chrome.com/docs/devtools/performance/overview",
3720
+ "https://www.postgresql.org/docs/current/sql-explain.html",
3721
+ "https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html",
3722
+ "https://opentelemetry.io/docs/security/handling-sensitive-data/"
3723
+ ]
3724
+ },
3337
3725
  "health": {
3338
3726
  "drift_check": {
3339
- "last_verified": "2026-05-06"
3727
+ "last_verified": "2026-05-18"
3340
3728
  },
3341
3729
  "eval_artifacts": "planned",
3342
3730
  "eval_state": "unverified",
3343
- "freshness": "2026-05-06",
3344
- "has_grounding": false,
3731
+ "freshness": "2026-05-18",
3732
+ "has_grounding": true,
3345
3733
  "has_relations": true,
3346
3734
  "lifecycle": {
3347
3735
  "review_cadence": "quarterly",
@@ -3353,7 +3741,7 @@
3353
3741
  "license": "MIT",
3354
3742
  "name": "diagnosis",
3355
3743
  "owner": "skill-graph-maintainer",
3356
- "path": "../skills/skills/diagnosis/SKILL.md",
3744
+ "path": "../skills/skills/engineering/diagnosis/SKILL.md",
3357
3745
  "portability": {
3358
3746
  "readiness": "scripted",
3359
3747
  "targets": [
@@ -3391,7 +3779,7 @@
3391
3779
  "scope": "portable",
3392
3780
  "stability": "experimental",
3393
3781
  "type": "capability",
3394
- "version": "1.0.0"
3782
+ "version": "1.1.0"
3395
3783
  },
3396
3784
  {
3397
3785
  "activation": {
@@ -3433,7 +3821,7 @@
3433
3821
  "license": "MIT",
3434
3822
  "name": "diff-analysis",
3435
3823
  "owner": "skill-graph-maintainer",
3436
- "path": "../skills/skills/diff-analysis/SKILL.md",
3824
+ "path": "../skills/skills/quality/diff-analysis/SKILL.md",
3437
3825
  "portability": {
3438
3826
  "readiness": "scripted",
3439
3827
  "targets": [
@@ -3520,7 +3908,7 @@
3520
3908
  "license": "MIT",
3521
3909
  "name": "e2e-test-design",
3522
3910
  "owner": "skill-graph-maintainer",
3523
- "path": "../skills/skills/e2e-test-design/SKILL.md",
3911
+ "path": "../skills/skills/quality/testing/e2e-test-design/SKILL.md",
3524
3912
  "relations": {
3525
3913
  "boundary": [
3526
3914
  {
@@ -3602,7 +3990,7 @@
3602
3990
  "license": "MIT",
3603
3991
  "name": "entity-relationship-modeling",
3604
3992
  "owner": "skill-graph-maintainer",
3605
- "path": "../skills/skills/entity-relationship-modeling/SKILL.md",
3993
+ "path": "../skills/skills/engineering/entity-relationship-modeling/SKILL.md",
3606
3994
  "portability": {
3607
3995
  "readiness": "scripted",
3608
3996
  "targets": [
@@ -3687,7 +4075,7 @@
3687
4075
  "license": "MIT",
3688
4076
  "name": "epistemic-grounding",
3689
4077
  "owner": "skill-graph-maintainer",
3690
- "path": "../skills/skills/epistemic-grounding/SKILL.md",
4078
+ "path": "../skills/skills/foundations/epistemic-grounding/SKILL.md",
3691
4079
  "relations": {
3692
4080
  "boundary": [
3693
4081
  {
@@ -3784,7 +4172,7 @@
3784
4172
  "license": "MIT",
3785
4173
  "name": "error-boundary",
3786
4174
  "owner": "skill-graph-maintainer",
3787
- "path": "../skills/skills/error-boundary/SKILL.md",
4175
+ "path": "../skills/skills/engineering/frontend/error-boundary/SKILL.md",
3788
4176
  "relations": {
3789
4177
  "boundary": [
3790
4178
  {
@@ -3863,14 +4251,33 @@
3863
4251
  },
3864
4252
  "description": "Use when designing or extending an application exception-reporting pipeline: error boundary placement, tracker SDK wrappers, sanitized reporting calls, environment gating, user context without PII leaks, breadcrumbs, and verification that each layer reports correctly. Covers component, route, global, and manual capture surfaces plus central `reportError`/`reportMessage` patterns. Do NOT use for the visual error UX shown to users (use `a11y` and interaction skills), chasing one captured error (use `debugging`), or broad privacy and retention policy (use `owasp-security`).",
3865
4253
  "domain": "engineering/observability",
4254
+ "grounding": {
4255
+ "domain_object": "Application exception-reporting pipeline design across boundaries, tracker wrappers, sanitization, user context, breadcrumbs, and environment gates",
4256
+ "evidence_priority": "equal",
4257
+ "failure_modes": [
4258
+ "route_fallback_renders_recovery_ui_but_never_reports",
4259
+ "manual_async_error_path_logs_locally_only",
4260
+ "payload_or_breadcrumb_leaks_pii_or_secrets",
4261
+ "tracker_sdk_imported_directly_at_many_call_sites",
4262
+ "user_context_uses_email_name_phone_or_ip_instead_of_internal_ids",
4263
+ "test_environment_bypasses_sanitization_wrapper"
4264
+ ],
4265
+ "grounding_mode": "universal",
4266
+ "truth_sources": [
4267
+ "https://nextjs.org/docs/app/getting-started/error-handling",
4268
+ "https://docs.sentry.io/platforms/javascript/configuration/environments/",
4269
+ "https://docs.sentry.io/platforms/javascript/guides/koa/data-management/data-collected/",
4270
+ "https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html"
4271
+ ]
4272
+ },
3866
4273
  "health": {
3867
4274
  "drift_check": {
3868
- "last_verified": "2026-05-06"
4275
+ "last_verified": "2026-05-18"
3869
4276
  },
3870
- "eval_artifacts": "present",
4277
+ "eval_artifacts": "planned",
3871
4278
  "eval_state": "unverified",
3872
- "freshness": "2026-05-06",
3873
- "has_grounding": false,
4279
+ "freshness": "2026-05-18",
4280
+ "has_grounding": true,
3874
4281
  "has_relations": true,
3875
4282
  "lifecycle": {
3876
4283
  "review_cadence": "quarterly",
@@ -3882,7 +4289,7 @@
3882
4289
  "license": "MIT",
3883
4290
  "name": "error-tracking",
3884
4291
  "owner": "skill-graph-maintainer",
3885
- "path": "../skills/skills/error-tracking/SKILL.md",
4292
+ "path": "../skills/skills/engineering/error-tracking/SKILL.md",
3886
4293
  "portability": {
3887
4294
  "readiness": "scripted",
3888
4295
  "targets": [
@@ -3923,7 +4330,7 @@
3923
4330
  "scope": "portable",
3924
4331
  "stability": "experimental",
3925
4332
  "type": "capability",
3926
- "version": "1.0.0"
4333
+ "version": "1.1.0"
3927
4334
  },
3928
4335
  {
3929
4336
  "activation": {
@@ -3992,7 +4399,7 @@
3992
4399
  "license": "MIT",
3993
4400
  "name": "eval-driven-development",
3994
4401
  "owner": "skill-graph-maintainer",
3995
- "path": "../skills/skills/eval-driven-development/SKILL.md",
4402
+ "path": "../skills/skills/agent/eval-driven-development/SKILL.md",
3996
4403
  "relations": {
3997
4404
  "boundary": [
3998
4405
  {
@@ -4036,36 +4443,93 @@
4036
4443
  },
4037
4444
  {
4038
4445
  "activation": {
4446
+ "anti_examples": [
4447
+ "design a new eval dataset, grader, and hard negatives for this router",
4448
+ "review this pull request line by line for bugs and security issues",
4449
+ "choose unit versus integration versus end-to-end tests for this feature",
4450
+ "design the whole implementation methodology and quality gate sequence before work starts",
4451
+ "debug why the existing run failed in production",
4452
+ "author a new SKILL.md from scratch"
4453
+ ],
4454
+ "examples": [
4455
+ "score this completed agent task against the original request, changed files, tests, and remaining risks before we call it done",
4456
+ "act as a skeptical critic and tell me whether this deliverable is actually complete or only technically working",
4457
+ "run a completion gate on this implementation: what is the 1-5 score, what evidence supports it, and what must be revised?",
4458
+ "evaluate whether this documentation update satisfies the acceptance criteria and preserves all required information",
4459
+ "after the focused checks pass, decide whether the skill upgrade can be marked complete without inflating eval claims",
4460
+ "review the final artifact and produce a scorecard with blockers, required revisions, residual risks, and verification evidence"
4461
+ ],
4039
4462
  "keywords": [
4040
4463
  "evaluation",
4041
4464
  "quality gate",
4042
- "feedback loop",
4043
- "critic persona",
4044
- "evaluation revision",
4045
- "completion contract",
4465
+ "deliverable review",
4466
+ "completion review",
4467
+ "evidence-based score",
4468
+ "skeptical critic",
4046
4469
  "score 1-5",
4047
- "skeptical critic"
4470
+ "evaluation revision loop",
4471
+ "acceptance criteria review",
4472
+ "done gate",
4473
+ "artifact scorecard",
4474
+ "gap analysis",
4475
+ "quality verdict",
4476
+ "verification evidence",
4477
+ "score ceiling",
4478
+ "agent output evaluation",
4479
+ "final answer review",
4480
+ "rubric scoring"
4048
4481
  ],
4049
4482
  "triggers": [
4050
4483
  "evaluation-skill",
4051
- "critic-loop-skill"
4484
+ "critic-loop-skill",
4485
+ "quality-gate-skill"
4052
4486
  ]
4053
4487
  },
4054
4488
  "allowed-tools": "Read Grep Bash",
4055
4489
  "category": "engineering",
4056
4490
  "compatibility": {
4057
- "notes": "Markdown, Git, agent-skill runtimes"
4491
+ "notes": "Portable completion-evaluation discipline for AI agent work, documentation, skill upgrades, and software deliverables. It assumes the evaluator can inspect the request, artifact, changed files or report, and verification evidence; substitute local tools and acceptance criteria as needed."
4492
+ },
4493
+ "concept": {
4494
+ "analogy": "Evaluation is like an inspection gate at the end of a production line: passing one measurement is not enough if the product misses the order, lacks traceability, or carries a known safety risk.",
4495
+ "boundary": "It does not design eval datasets, review code line by line, choose test levels before implementation, debug failures, or design the whole process. It scores an artifact or task result after evidence exists.",
4496
+ "definition": "Evaluation is the disciplined scoring of a concrete output against explicit goals, evidence, rubric criteria, and residual risks so a team can decide whether to accept, revise, or block the work.",
4497
+ "mental_model": "Treat evaluation as a gate, not a compliment. The evaluator compares the requested outcome, the produced artifact, the evidence trail, and the failure modes that would matter if the artifact shipped unchanged.",
4498
+ "misconception": "The common mistake is treating evaluation as praise, taste, or a post-hoc score. Good evaluation is adversarial in the useful sense: it looks for the first honest reason the work is not done yet.",
4499
+ "purpose": "It prevents optimistic done claims by forcing visible scores, score ceilings, missing-evidence callouts, required revisions, and a final accept or block decision.",
4500
+ "taxonomy": "Core evaluation surfaces are acceptance fit, evidence sufficiency, artifact quality, risk handling, regression protection, portability, and reporting completeness. Common graders are checklist, rubric, exact or code-based checks, trace inspection, human review, and LLM-as-judge with calibration."
4501
+ },
4502
+ "description": "Use when scoring a completed agent task, implementation, document, skill upgrade, or other deliverable against the original request, acceptance criteria, verification evidence, quality rubric, and residual risks before calling it done. Covers skeptical critic review, 1-5 scoring, score ceilings, evidence sufficiency, finding/action capture, and the evaluation-revision loop. Do NOT use for designing eval datasets or graders (use agent-eval-design), line-by-line diff review (use code-review), choosing test levels (use testing-strategy), or designing the overall process and gates before work starts (use methodology).",
4503
+ "domain": "engineering/evaluation",
4504
+ "grounding": {
4505
+ "domain_object": "Evidence-based evaluation of agent outputs, deliverables, and completion claims",
4506
+ "evidence_priority": "equal",
4507
+ "failure_modes": [
4508
+ "self_assessment_optimism_marks_incomplete_work_done",
4509
+ "tests_pass_treated_as_full_quality_evidence",
4510
+ "score_inflated_despite_missing_acceptance_criteria",
4511
+ "rubric_omits_negative_boundaries_or_residual_risks",
4512
+ "evaluation_confused_with_code_review_or_eval_dataset_design",
4513
+ "unverified_claims_enter_final_report"
4514
+ ],
4515
+ "grounding_mode": "universal",
4516
+ "truth_sources": [
4517
+ "https://github.com/openai/evals",
4518
+ "https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents",
4519
+ "https://platform.claude.com/docs/en/test-and-evaluate/develop-tests",
4520
+ "https://adk.dev/evaluate/",
4521
+ "https://airc.nist.gov/"
4522
+ ]
4058
4523
  },
4059
- "description": "This skill provides a structured framework for automated agentic evaluation and human feedback loops. It defines the 'Critic' persona, the 5-point quality scale, and the mandatory 'Evaluation-Revision' loop for all critical work.",
4060
- "domain": "engineering/skill-system",
4061
4524
  "health": {
4525
+ "comprehension_state": "present",
4062
4526
  "drift_check": {
4063
- "last_verified": "2026-03-29"
4527
+ "last_verified": "2026-05-18"
4064
4528
  },
4065
4529
  "eval_artifacts": "planned",
4066
4530
  "eval_state": "unverified",
4067
- "freshness": "2026-03-29",
4068
- "has_grounding": false,
4531
+ "freshness": "2026-05-18",
4532
+ "has_grounding": true,
4069
4533
  "has_relations": true,
4070
4534
  "lifecycle": {
4071
4535
  "review_cadence": "quarterly",
@@ -4077,7 +4541,7 @@
4077
4541
  "license": "MIT",
4078
4542
  "name": "evaluation",
4079
4543
  "owner": "skill-graph-maintainer",
4080
- "path": "../skills/skills/evaluation/SKILL.md",
4544
+ "path": "../skills/skills/engineering/evaluation/SKILL.md",
4081
4545
  "portability": {
4082
4546
  "readiness": "scripted",
4083
4547
  "targets": [
@@ -4086,13 +4550,44 @@
4086
4550
  },
4087
4551
  "relations": {
4088
4552
  "boundary": [
4089
- "code-review"
4090
- ]
4091
- },
4092
- "scope": "portable",
4093
- "stability": "experimental",
4094
- "type": "capability",
4095
- "version": "1.0.0"
4553
+ {
4554
+ "reason": "agent-eval-design creates eval suites, graders, thresholds, and hard negatives; evaluation applies a completion rubric to a concrete artifact or finished task.",
4555
+ "skill": "agent-eval-design"
4556
+ },
4557
+ {
4558
+ "reason": "code-review inspects a diff for correctness, security, maintainability, and review comments; evaluation scores the whole deliverable against request, evidence, risks, and done criteria.",
4559
+ "skill": "code-review"
4560
+ },
4561
+ {
4562
+ "reason": "testing-strategy decides what behavior deserves which test level; evaluation judges whether the delivered verification evidence is sufficient for the task risk.",
4563
+ "skill": "testing-strategy"
4564
+ },
4565
+ {
4566
+ "reason": "methodology designs the process and gates before execution; evaluation is the gate applied to an artifact after work exists.",
4567
+ "skill": "methodology"
4568
+ },
4569
+ {
4570
+ "reason": "skill-infrastructure runs deterministic health tooling across a skill library; evaluation is a human-readable scoring discipline for one deliverable.",
4571
+ "skill": "skill-infrastructure"
4572
+ }
4573
+ ],
4574
+ "related": [
4575
+ "best-practice",
4576
+ "methodology",
4577
+ "agent-eval-design",
4578
+ "testing-strategy",
4579
+ "code-review"
4580
+ ],
4581
+ "verify_with": [
4582
+ "code-review",
4583
+ "testing-strategy",
4584
+ "best-practice"
4585
+ ]
4586
+ },
4587
+ "scope": "portable",
4588
+ "stability": "experimental",
4589
+ "type": "capability",
4590
+ "version": "1.1.0"
4096
4591
  },
4097
4592
  {
4098
4593
  "activation": {
@@ -4147,7 +4642,7 @@
4147
4642
  "license": "MIT",
4148
4643
  "name": "event-contract-design",
4149
4644
  "owner": "skill-graph-maintainer",
4150
- "path": "../skills/skills/event-contract-design/SKILL.md",
4645
+ "path": "../skills/skills/engineering/event-contract-design/SKILL.md",
4151
4646
  "portability": {
4152
4647
  "readiness": "scripted",
4153
4648
  "targets": [
@@ -4243,7 +4738,7 @@
4243
4738
  "license": "MIT",
4244
4739
  "name": "event-storming",
4245
4740
  "owner": "skill-graph-maintainer",
4246
- "path": "../skills/skills/event-storming/SKILL.md",
4741
+ "path": "../skills/skills/engineering/event-storming/SKILL.md",
4247
4742
  "portability": {
4248
4743
  "readiness": "scripted",
4249
4744
  "targets": [
@@ -4344,7 +4839,7 @@
4344
4839
  "license": "MIT",
4345
4840
  "name": "form-ux-architecture",
4346
4841
  "owner": "skill-graph-maintainer",
4347
- "path": "../skills/skills/form-ux-architecture/SKILL.md",
4842
+ "path": "../skills/skills/design/form-ux-architecture/SKILL.md",
4348
4843
  "portability": {
4349
4844
  "readiness": "scripted",
4350
4845
  "targets": [
@@ -4440,7 +4935,7 @@
4440
4935
  "license": "MIT",
4441
4936
  "name": "framework-fit-analysis",
4442
4937
  "owner": "skill-graph-maintainer",
4443
- "path": "../skills/skills/framework-fit-analysis/SKILL.md",
4938
+ "path": "../skills/skills/engineering/framework-fit-analysis/SKILL.md",
4444
4939
  "portability": {
4445
4940
  "readiness": "scripted",
4446
4941
  "targets": [
@@ -4534,7 +5029,7 @@
4534
5029
  "license": "CC-BY-4.0",
4535
5030
  "name": "frontend-architecture",
4536
5031
  "owner": "skill-graph-maintainer",
4537
- "path": "../skills/skills/frontend-architecture/SKILL.md",
5032
+ "path": "../skills/skills/engineering/frontend/frontend-architecture/SKILL.md",
4538
5033
  "relations": {
4539
5034
  "boundary": [
4540
5035
  {
@@ -4621,7 +5116,7 @@
4621
5116
  "license": "MIT",
4622
5117
  "name": "generative-ui",
4623
5118
  "owner": "skill-graph-maintainer",
4624
- "path": "../skills/skills/generative-ui/SKILL.md",
5119
+ "path": "../skills/skills/agent/generative-ui/SKILL.md",
4625
5120
  "relations": {
4626
5121
  "boundary": [
4627
5122
  {
@@ -4729,16 +5224,16 @@
4729
5224
  },
4730
5225
  "health": {
4731
5226
  "drift_check": {
4732
- "last_verified": "2026-05-13",
5227
+ "last_verified": "2026-05-18",
4733
5228
  "truth_source_hashes": {
4734
- "docs/skill-metadata-protocol.md": "bce8933a4f4f6386e36e618f2de97f0f6feb864a4c1aaeec225291110e7f8a76",
4735
- "examples/evals/graph-audit.json": "8edab7bc057c65c8fd43f6ca17863c7a12ea831f6eb2158f1b2fde2ba03ad4b2",
4736
- "schemas/manifest.schema.json": "b5181764e0b645d01a8b6918c78463e53a2f28669a6883365c3a1d132323c066",
4737
- "schemas/skill.schema.json": "370a021a129cba5b54cd15daaaa934fbb172df306dc0095608ea4a5607fe2526",
4738
- "scripts/check-protocol-consistency.js": "0ff39406d36e7a9e51c176f657f4f426d8bd5a3fe6411d28b9e9a93dc7d89f29",
4739
- "scripts/generate-manifest.js": "9d7bbbdae440fdb1763d61ffa7bda10c9efae92359d1c2139d0e971582d59e0e",
4740
- "scripts/lib/alias-contract.js": "ab7b4f15c13caf1ff1f3205e285415b086f7b6cbc3fcfaba982a590cc56b49cd",
4741
- "scripts/skill-lint.js": "3a78f75f8921542b91dc619cd41bde29bf379de3c16bdcf3653c854ecbe9fa29"
5229
+ "docs/skill-metadata-protocol.md": "300bbdaf87754298ca19e581b587d2fac901ab57b8c4c75d33e11bebc24a5fe4",
5230
+ "examples/evals/graph-audit.json": "4fc0fa157b363c9d5675112bfe860ed48a599d05c41720b387aa2d8798eab5a3",
5231
+ "schemas/manifest.schema.json": "94f2e990cc81b7a9aa26ea9855de1dbe1535a127feb5e5c74629c9e1dad2ee1a",
5232
+ "schemas/skill.schema.json": "f9fc4fc8f61999c18d5c1c534f9642101b0ee7173f261e28f9470aeb03b68e5b",
5233
+ "scripts/check-protocol-consistency.js": "22f1f747b6b578e83ae371ac3f9af4b6906d94529f383d1785ed3303b4c5a008",
5234
+ "scripts/generate-manifest.js": "ec4ad89e21e44c272676846377679f59a272c193f0b0d448a7b6d881b0b9effc",
5235
+ "scripts/lib/alias-contract.js": "d2a9831fef1ab06d2ea37b9d41e000d8b3a9a327357b62063ad00102cd2763cf",
5236
+ "scripts/skill-lint.js": "e5de8a822b88172079263c8316b173e688b71498c9ed6a8a54dd0fba6aa9fd66"
4742
5237
  }
4743
5238
  },
4744
5239
  "drift_detected": true,
@@ -4753,7 +5248,7 @@
4753
5248
  "license": "MIT",
4754
5249
  "name": "graph-audit",
4755
5250
  "owner": "skill-graph-maintainer",
4756
- "path": "../skills/skills/graph-audit/SKILL.md",
5251
+ "path": "../skills/skills/quality/graph-audit/SKILL.md",
4757
5252
  "relations": {
4758
5253
  "boundary": [
4759
5254
  {
@@ -4763,6 +5258,10 @@
4763
5258
  {
4764
5259
  "reason": "debugging chases a specific runtime failure; graph-audit is bulk static verification of every skill",
4765
5260
  "skill": "debugging"
5261
+ },
5262
+ {
5263
+ "reason": "eval-driven-development owns LLM eval iteration discipline and writing reference documentation; graph-audit is read-only static verification of skill metadata schemas — writing an explanatory doc about a pipeline is documentation work, not a schema audit",
5264
+ "skill": "eval-driven-development"
4766
5265
  }
4767
5266
  ],
4768
5267
  "verify_with": [
@@ -4778,17 +5277,28 @@
4778
5277
  "activation": {
4779
5278
  "keywords": [
4780
5279
  "guardrails",
5280
+ "tool guardrails",
4781
5281
  "tripwire",
4782
5282
  "safety gate",
4783
5283
  "force push",
4784
5284
  "secret detection",
4785
5285
  "destructive action",
4786
5286
  "protected files",
4787
- "circuit breaker"
5287
+ "circuit breaker",
5288
+ "excessive agency",
5289
+ "prompt injection containment",
5290
+ "blocking guardrail",
5291
+ "advisory guardrail",
5292
+ "tool-call safety",
5293
+ "credential exposure",
5294
+ "destructive SQL",
5295
+ "package publication safety"
4788
5296
  ],
4789
5297
  "triggers": [
4790
5298
  "guardrails-skill",
4791
- "security-skill"
5299
+ "tool-guardrails",
5300
+ "tripwire-skill",
5301
+ "agent-safety-guardrails"
4792
5302
  ]
4793
5303
  },
4794
5304
  "allowed-tools": "Read Grep Bash",
@@ -4796,16 +5306,37 @@
4796
5306
  "compatibility": {
4797
5307
  "notes": "Markdown, Git, agent-skill runtimes"
4798
5308
  },
4799
- "description": "Use when planning or executing operations that touch protected files, credentials, destructive git commands, destructive SQL, PII, secrets, or irreversible system mutations. Covers proactive policy plus reactive pattern blocking for dangerous operations, data exfiltration, and unsafe mutations. Do NOT use for application input validation, user RBAC, or general code logic review (use `code-review`).",
5309
+ "description": "Use when planning or executing agent/tool operations that touch protected files, credentials, destructive git commands, destructive SQL, PII, secrets, deployments, package publication, or irreversible system mutations. Covers proactive safety policy, tool-call tripwires, blocking vs advisory enforcement, secret-exposure prevention, and excessive-agency containment. Do NOT use for application input validation, routine git workflow design, migration authoring, or general code correctness review (use `code-review`, `version-control`, or `database-migration`).",
4800
5310
  "domain": "quality/safety",
5311
+ "grounding": {
5312
+ "domain_object": "Agent and tool-call safety guardrails for destructive operations, secret exposure prevention, excessive-agency containment, and irreversible system mutations",
5313
+ "evidence_priority": "equal",
5314
+ "failure_modes": [
5315
+ "tool_call_runs_before_guardrail_completes",
5316
+ "agent_level_guardrail_misses_delegated_tool_call",
5317
+ "secret_pattern_committed_or_echoed",
5318
+ "force_push_or_hard_reset_destroys_work",
5319
+ "unbounded_sql_mutation_reaches_live_database",
5320
+ "excessive_agency_allows_unchecked_real_world_action",
5321
+ "guardrail_bypass_treated_as_normal_override"
5322
+ ],
5323
+ "grounding_mode": "hybrid",
5324
+ "truth_sources": [
5325
+ "https://openai.github.io/openai-agents-python/guardrails/",
5326
+ "https://owasp.org/www-project-top-10-for-large-language-model-applications/",
5327
+ "https://www.nist.gov/itl/ai-risk-management-framework",
5328
+ "https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.600-1.pdf",
5329
+ "https://docs.github.com/en/code-security/how-tos/secure-your-secrets/detect-secret-leaks"
5330
+ ]
5331
+ },
4801
5332
  "health": {
4802
5333
  "drift_check": {
4803
- "last_verified": "2026-03-28"
5334
+ "last_verified": "2026-05-18"
4804
5335
  },
4805
5336
  "eval_artifacts": "planned",
4806
5337
  "eval_state": "unverified",
4807
- "freshness": "2026-03-28",
4808
- "has_grounding": false,
5338
+ "freshness": "2026-05-18",
5339
+ "has_grounding": true,
4809
5340
  "has_relations": true,
4810
5341
  "lifecycle": {
4811
5342
  "review_cadence": "quarterly",
@@ -4817,7 +5348,7 @@
4817
5348
  "license": "MIT",
4818
5349
  "name": "guardrails",
4819
5350
  "owner": "skill-graph-maintainer",
4820
- "path": "../skills/skills/guardrails/SKILL.md",
5351
+ "path": "../skills/skills/quality/guardrails/SKILL.md",
4821
5352
  "portability": {
4822
5353
  "readiness": "scripted",
4823
5354
  "targets": [
@@ -4825,14 +5356,34 @@
4825
5356
  ]
4826
5357
  },
4827
5358
  "relations": {
5359
+ "boundary": [
5360
+ {
5361
+ "reason": "code-review evaluates a proposed code change; guardrails evaluates whether an agent/tool action should be blocked, confirmed, or allowed before side effects happen",
5362
+ "skill": "code-review"
5363
+ },
5364
+ {
5365
+ "reason": "version-control owns routine git hygiene; guardrails owns high-risk git tripwires such as force-push, hard reset, branch deletion, and history rewrite",
5366
+ "skill": "version-control"
5367
+ },
5368
+ {
5369
+ "reason": "database-migration plans safe DDL and data migrations; guardrails blocks or escalates destructive SQL patterns at execution time",
5370
+ "skill": "database-migration"
5371
+ }
5372
+ ],
4828
5373
  "related": [
4829
- "intent-recognition"
5374
+ "intent-recognition",
5375
+ "version-control",
5376
+ "database-migration"
5377
+ ],
5378
+ "verify_with": [
5379
+ "intent-recognition",
5380
+ "code-review"
4830
5381
  ]
4831
5382
  },
4832
5383
  "scope": "portable",
4833
5384
  "stability": "experimental",
4834
5385
  "type": "capability",
4835
- "version": "1.0.0"
5386
+ "version": "1.2.0"
4836
5387
  },
4837
5388
  {
4838
5389
  "activation": {
@@ -4902,7 +5453,7 @@
4902
5453
  "license": "MIT",
4903
5454
  "name": "hooks-patterns",
4904
5455
  "owner": "skill-graph-maintainer",
4905
- "path": "../skills/skills/hooks-patterns/SKILL.md",
5456
+ "path": "../skills/skills/engineering/frontend/hooks-patterns/SKILL.md",
4906
5457
  "relations": {
4907
5458
  "boundary": [
4908
5459
  {
@@ -4992,7 +5543,7 @@
4992
5543
  "license": "MIT",
4993
5544
  "name": "http-semantics",
4994
5545
  "owner": "skill-graph-maintainer",
4995
- "path": "../skills/skills/http-semantics/SKILL.md",
5546
+ "path": "../skills/skills/engineering/http-semantics/SKILL.md",
4996
5547
  "relations": {
4997
5548
  "boundary": [
4998
5549
  {
@@ -5077,7 +5628,7 @@
5077
5628
  "license": "CC-BY-4.0",
5078
5629
  "name": "ideation",
5079
5630
  "owner": "skill-graph-maintainer",
5080
- "path": "../skills/skills/ideation/SKILL.md",
5631
+ "path": "../skills/skills/design/ideation/SKILL.md",
5081
5632
  "relations": {
5082
5633
  "boundary": [
5083
5634
  {
@@ -5166,7 +5717,7 @@
5166
5717
  "license": "MIT",
5167
5718
  "name": "indexing-strategy",
5168
5719
  "owner": "skill-graph-maintainer",
5169
- "path": "../skills/skills/indexing-strategy/SKILL.md",
5720
+ "path": "../skills/skills/engineering/data/indexing-strategy/SKILL.md",
5170
5721
  "relations": {
5171
5722
  "boundary": [
5172
5723
  {
@@ -5251,7 +5802,7 @@
5251
5802
  "license": "MIT",
5252
5803
  "name": "information-architecture",
5253
5804
  "owner": "skill-graph-maintainer",
5254
- "path": "../skills/skills/information-architecture/SKILL.md",
5805
+ "path": "../skills/skills/design/information-architecture/SKILL.md",
5255
5806
  "portability": {
5256
5807
  "readiness": "scripted",
5257
5808
  "targets": [
@@ -5359,7 +5910,7 @@
5359
5910
  "license": "MIT",
5360
5911
  "name": "integration-test-design",
5361
5912
  "owner": "skill-graph-maintainer",
5362
- "path": "../skills/skills/integration-test-design/SKILL.md",
5913
+ "path": "../skills/skills/quality/testing/integration-test-design/SKILL.md",
5363
5914
  "relations": {
5364
5915
  "boundary": [
5365
5916
  {
@@ -5462,7 +6013,7 @@
5462
6013
  "license": "MIT",
5463
6014
  "name": "intent-recognition",
5464
6015
  "owner": "skill-graph-maintainer",
5465
- "path": "../skills/skills/intent-recognition/SKILL.md",
6016
+ "path": "../skills/skills/engineering/intent-recognition/SKILL.md",
5466
6017
  "portability": {
5467
6018
  "readiness": "scripted",
5468
6019
  "targets": [
@@ -5558,7 +6109,7 @@
5558
6109
  "license": "MIT",
5559
6110
  "name": "interaction-feedback",
5560
6111
  "owner": "skill-graph-maintainer",
5561
- "path": "../skills/skills/interaction-feedback/SKILL.md",
6112
+ "path": "../skills/skills/design/interaction-feedback/SKILL.md",
5562
6113
  "portability": {
5563
6114
  "readiness": "scripted",
5564
6115
  "targets": [
@@ -5656,7 +6207,7 @@
5656
6207
  "license": "MIT",
5657
6208
  "name": "interaction-patterns",
5658
6209
  "owner": "skill-graph-maintainer",
5659
- "path": "../skills/skills/interaction-patterns/SKILL.md",
6210
+ "path": "../skills/skills/design/interaction-patterns/SKILL.md",
5660
6211
  "portability": {
5661
6212
  "readiness": "scripted",
5662
6213
  "targets": [
@@ -5760,7 +6311,7 @@
5760
6311
  "license": "CC-BY-4.0",
5761
6312
  "name": "journey-mapping",
5762
6313
  "owner": "skill-graph-maintainer",
5763
- "path": "../skills/skills/journey-mapping/SKILL.md",
6314
+ "path": "../skills/skills/design/journey-mapping/SKILL.md",
5764
6315
  "relations": {
5765
6316
  "boundary": [
5766
6317
  {
@@ -5833,7 +6384,7 @@
5833
6384
  "license": "MIT",
5834
6385
  "name": "keywords",
5835
6386
  "owner": "skill-graph-maintainer",
5836
- "path": "../skills/skills/keywords/SKILL.md",
6387
+ "path": "../skills/skills/product/keywords/SKILL.md",
5837
6388
  "portability": {
5838
6389
  "readiness": "scripted",
5839
6390
  "targets": [
@@ -5896,25 +6447,44 @@
5896
6447
  "notes": "Theory-level skill. Applies to any AI-coding workspace that maintains structured knowledge artefacts: skill libraries, reference docs, decision records, runbooks, agent memory systems, RAG/GraphRAG pipelines."
5897
6448
  },
5898
6449
  "concept": {
5899
- "analogy": "|",
5900
- "boundary": "|",
5901
- "definition": "Knowledge modeling is the discipline of choosing a *representation paradigm* — knowledge graph, frames, production rules, semantic network, concept map, procedural ontology, or a hybrid — that fits how the resulting knowledge will be queried, reasoned over, and maintained. Drawing from Brachman & Levesque's knowledge-representation tradition and Newell's knowledge-level account, it treats representation as a strategic choice with explicit expressiveness-tractability trade-offs rather than as a default.",
5902
- "mental_model": "|",
5903
- "misconception": "|",
5904
- "purpose": "|",
5905
- "taxonomy": "|"
5906
- },
5907
- "description": "Use when choosing the representation paradigm for domain knowledge: knowledge graph, frame, production rule, semantic network, concept map, procedural ontology, or hybrid. Covers knowledge acquisition from tacit to explicit, graph design principles, validation types, lifecycle states, AI-agent context systems, skills as frames, routing as rules, memory as graph, and GraphRAG patterns such as entity-anchored retrieval, relationship-aware context, path reasoning, subgraph summaries, and hybrid vector+graph retrieval. Do NOT use for human-readable domain analysis (`conceptual-modeling`), ER/database design, pure taxonomy work, formal ontology axioms, or live skill-library tooling (`skill-infrastructure`).",
6450
+ "analogy": "Knowledge modeling is like choosing between a blueprint, schematic, flowchart, and storyboard for the same device: each representation makes different questions easy and different mistakes visible.",
6451
+ "boundary": "It is representation strategy, not human-readable domain analysis, database/data modeling, pure taxonomy design, formal ontology axiom authoring, exact semantic edge labeling, or live skill-library operations.",
6452
+ "definition": "Knowledge modeling is the discipline of choosing a representation paradigm — knowledge graph, frames, production rules, semantic network, concept map, procedural ontology, or a hybrid — that fits how knowledge will be queried, reasoned over, validated, and maintained.",
6453
+ "mental_model": "Choose by the dominant query pattern and operating constraint. Graphs answer relationship questions, rules answer decision questions, frames answer object-property questions, concept maps communicate to humans, procedural ontologies preserve why/how traces, and hybrids handle real systems when one paradigm is insufficient.",
6454
+ "misconception": "The common mistake is believing more structure or more formalism is automatically better. A sparse graph, vague edge labels, or OWL-level formality without query demand can make the system harder to validate and worse for retrieval than plain text with conventions.",
6455
+ "purpose": "It prevents teams from treating all structured text as equivalent. The goal is to make agent and product knowledge explicit enough to retrieve, reason over, validate, update, and retire without over-formalizing beyond the system's real needs.",
6456
+ "taxonomy": "Core paradigms include knowledge graphs, frames, semantic networks, production rules, concept maps, procedural knowledge ontologies, and hybrids. Core lifecycle stages include create, validate, publish, use, monitor, update, and retire."
6457
+ },
6458
+ "description": "Use when choosing the representation paradigm for domain knowledge: knowledge graph, frame, production rule, semantic network, concept map, procedural ontology, or hybrid. Covers knowledge acquisition from tacit to explicit, graph design principles, validation types, lifecycle states, AI-agent context systems, skills as frames, routing as rules, memory as graph, and GraphRAG patterns such as entity-anchored retrieval, relationship-aware context, path reasoning, subgraph summaries, and hybrid vector+graph retrieval. Do NOT use for human-readable domain analysis (use `conceptual-modeling`), ER/database design (use `data-modeling`), pure taxonomy hierarchy (use `taxonomy-design`), formal ontology axioms (use `ontology-modeling`), exact semantic edge labels (use `semantic-relations`), or live skill-library tooling (use `skill-infrastructure`).",
5908
6459
  "domain": "foundations/knowledge",
6460
+ "grounding": {
6461
+ "domain_object": "Knowledge representation paradigm choice and GraphRAG-ready knowledge modeling",
6462
+ "evidence_priority": "equal",
6463
+ "failure_modes": [
6464
+ "representation_chosen_by_familiarity_not_query_pattern",
6465
+ "graph_structure_too_sparse_for_graphrag",
6466
+ "formalism_overfit_to_theory_not_maintenance",
6467
+ "tacit_knowledge_transcribed_without_validation",
6468
+ "taxonomy_used_when_rules_or_frames_are_required"
6469
+ ],
6470
+ "grounding_mode": "hybrid",
6471
+ "truth_sources": [
6472
+ "https://doi.org/10.1016/0004-3702(82)90012-1",
6473
+ "https://books.google.com/books/about/Knowledge_Representation_and_Reasoning.html?id=ln6Ux-EZm6YC",
6474
+ "https://courses.media.mit.edu/2004spring/mas966/Minsky%201974%20Framework%20for%20knowledge.pdf",
6475
+ "https://www.w3.org/TR/skos-reference/",
6476
+ "https://arxiv.org/abs/2404.16130"
6477
+ ]
6478
+ },
5909
6479
  "health": {
5910
6480
  "comprehension_state": "present",
5911
6481
  "drift_check": {
5912
- "last_verified": "2026-05-16"
6482
+ "last_verified": "2026-05-18"
5913
6483
  },
5914
6484
  "eval_artifacts": "planned",
5915
6485
  "eval_state": "unverified",
5916
- "freshness": "2026-05-16",
5917
- "has_grounding": false,
6486
+ "freshness": "2026-05-18",
6487
+ "has_grounding": true,
5918
6488
  "has_relations": true,
5919
6489
  "lifecycle": {
5920
6490
  "review_cadence": "quarterly",
@@ -5926,7 +6496,7 @@
5926
6496
  "license": "MIT",
5927
6497
  "name": "knowledge-modeling",
5928
6498
  "owner": "skill-graph-maintainer",
5929
- "path": "../skills/skills/knowledge-modeling/SKILL.md",
6499
+ "path": "../skills/skills/foundations/knowledge-modeling/SKILL.md",
5930
6500
  "portability": {
5931
6501
  "readiness": "scripted",
5932
6502
  "targets": [
@@ -5936,36 +6506,52 @@
5936
6506
  "relations": {
5937
6507
  "boundary": [
5938
6508
  {
5939
- "reason": "conceptual-modeling is the human-readable domain analysis layer (entities, attributes, relationships, cardinality); knowledge-modeling is the *representation-strategy* layer above that — choosing between graphs, frames, rules, hybrids",
6509
+ "reason": "conceptual-modeling is the human-readable domain analysis layer (entities, attributes, relationships, cardinality); knowledge-modeling is the representation-strategy layer above that — choosing between graphs, frames, rules, and hybrids",
5940
6510
  "skill": "conceptual-modeling"
5941
6511
  },
5942
6512
  {
5943
- "reason": "context-graph is one specific *application* of knowledge modeling (the multi-graph context architecture for skills + docs + memory + scripts); knowledge-modeling is the general theory it draws on",
5944
- "skill": "context-graph"
6513
+ "reason": "data-modeling owns logical and physical data structures such as tables, columns, constraints, and persistence shape; knowledge-modeling owns meaning structures and representation paradigms",
6514
+ "skill": "data-modeling"
5945
6515
  },
5946
6516
  {
5947
- "reason": "skill-infrastructure is the live tooling that maintains the skill library; knowledge-modeling is the theory of *what kind of knowledge artefact* a SKILL.md is and why frames are the right paradigm for one",
5948
- "skill": "skill-infrastructure"
6517
+ "reason": "taxonomy-design owns pure IS-A hierarchy design and browse/category structure; knowledge-modeling owns broader representation choice across graphs, frames, rules, concept maps, and hybrids",
6518
+ "skill": "taxonomy-design"
5949
6519
  },
5950
6520
  {
5951
- "reason": "database-migration concerns *data* structure (tables, columns, FK constraints); knowledge-modeling concerns *meaning* structure (entities, relations, rules)",
5952
- "skill": "database-migration"
6521
+ "reason": "ontology-modeling owns formal axioms, OWL/RDFS-style constraints, and automated reasoning semantics; knowledge-modeling decides whether that level of formality is needed",
6522
+ "skill": "ontology-modeling"
6523
+ },
6524
+ {
6525
+ "reason": "semantic-relations owns exact edge-label semantics such as hypernymy, meronymy, synonymy, and polysemy; knowledge-modeling chooses the representation paradigm that will contain those edges",
6526
+ "skill": "semantic-relations"
6527
+ },
6528
+ {
6529
+ "reason": "context-graph is one specific application of knowledge modeling to workspace context topology; knowledge-modeling is the general theory it draws on",
6530
+ "skill": "context-graph"
6531
+ },
6532
+ {
6533
+ "reason": "skill-infrastructure is the live tooling that maintains the skill library; knowledge-modeling is the theory of what kind of knowledge artefact a SKILL.md is and why frames are the right paradigm for one",
6534
+ "skill": "skill-infrastructure"
5953
6535
  }
5954
6536
  ],
5955
6537
  "related": [
5956
6538
  "conceptual-modeling",
6539
+ "ontology-modeling",
6540
+ "taxonomy-design",
6541
+ "semantic-relations",
5957
6542
  "context-graph",
5958
6543
  "context-engineering",
5959
6544
  "skill-infrastructure"
5960
6545
  ],
5961
6546
  "verify_with": [
5962
- "conceptual-modeling"
6547
+ "conceptual-modeling",
6548
+ "ontology-modeling"
5963
6549
  ]
5964
6550
  },
5965
6551
  "scope": "portable",
5966
6552
  "stability": "experimental",
5967
6553
  "type": "capability",
5968
- "version": "1.1.0"
6554
+ "version": "1.2.0"
5969
6555
  },
5970
6556
  {
5971
6557
  "activation": {
@@ -6021,7 +6607,7 @@
6021
6607
  "license": "MIT",
6022
6608
  "name": "layout-composition",
6023
6609
  "owner": "skill-graph-maintainer",
6024
- "path": "../skills/skills/layout-composition/SKILL.md",
6610
+ "path": "../skills/skills/design/layout-composition/SKILL.md",
6025
6611
  "portability": {
6026
6612
  "readiness": "scripted",
6027
6613
  "targets": [
@@ -6139,7 +6725,7 @@
6139
6725
  "license": "MIT",
6140
6726
  "name": "linguistics",
6141
6727
  "owner": "skill-graph-maintainer",
6142
- "path": "../skills/skills/linguistics/SKILL.md",
6728
+ "path": "../skills/skills/foundations/linguistics/SKILL.md",
6143
6729
  "portability": {
6144
6730
  "readiness": "scripted",
6145
6731
  "targets": [
@@ -6264,7 +6850,7 @@
6264
6850
  "license": "MIT",
6265
6851
  "name": "lint-overlay",
6266
6852
  "owner": "skill-graph-maintainer",
6267
- "path": "../skills/skills/lint-overlay/SKILL.md",
6853
+ "path": "../skills/skills/quality/lint-overlay/SKILL.md",
6268
6854
  "portability": {
6269
6855
  "readiness": "scripted",
6270
6856
  "targets": [
@@ -6363,7 +6949,7 @@
6363
6949
  "license": "MIT",
6364
6950
  "name": "mental-models",
6365
6951
  "owner": "skill-graph-maintainer",
6366
- "path": "../skills/skills/mental-models/SKILL.md",
6952
+ "path": "../skills/skills/foundations/mental-models/SKILL.md",
6367
6953
  "relations": {
6368
6954
  "boundary": [
6369
6955
  {
@@ -6436,7 +7022,7 @@
6436
7022
  "license": "MIT",
6437
7023
  "name": "merge-queue",
6438
7024
  "owner": "skill-graph-maintainer",
6439
- "path": "../skills/skills/merge-queue/SKILL.md",
7025
+ "path": "../skills/skills/engineering/merge-queue/SKILL.md",
6440
7026
  "portability": {
6441
7027
  "readiness": "scripted",
6442
7028
  "targets": [
@@ -6458,6 +7044,21 @@
6458
7044
  },
6459
7045
  {
6460
7046
  "activation": {
7047
+ "anti_examples": [
7048
+ "review this PR and decide whether to approve it",
7049
+ "refactor this file while preserving behavior",
7050
+ "decide unit vs integration vs e2e coverage for this feature",
7051
+ "write the eval cases and grader rubric for this router",
7052
+ "block this dangerous git command or secret-bearing tool call"
7053
+ ],
7054
+ "examples": [
7055
+ "design a verification protocol for this multi-step agent workflow before implementation starts",
7056
+ "turn these recurring agent failure modes into a checklist and hard quality gate",
7057
+ "explain why this process step exists instead of just telling the agent to follow it",
7058
+ "choose whether this task needs PDCA, DMAIC, hypothesis-driven development, or V&V-style traceability",
7059
+ "build a methodology-backed plan for preventing defects earlier in this skill audit loop",
7060
+ "convert a vague done checklist into binary gates with evidence receipts"
7061
+ ],
6461
7062
  "keywords": [
6462
7063
  "methodology",
6463
7064
  "method",
@@ -6491,15 +7092,41 @@
6491
7092
  },
6492
7093
  "description": "Use when planning multi-step implementations, designing quality gates, establishing verification protocols, or building agent checklists calibrated to known failure modes. Covers methodology/method/process distinctions, Cleanroom, PSP/TSP, hypothesis-driven development, DMAIC, checklist design, V&V frameworks, EDDOps, quality gates, and PDCA. Do NOT use for code-review verdicts (use `code-review`), behavior-preserving implementation work (use `refactor`), or test strategy (use `testing-strategy`).",
6493
7094
  "domain": "quality/method",
7095
+ "grounding": {
7096
+ "domain_object": "Reference methodology for rigorous agent work: methodology-method-process layering, defect prevention, PSP/TSP measurement, hypothesis-driven development, DMAIC/PDCA, checklist design, V&V, and evaluation-driven LLM agent operations",
7097
+ "evidence_priority": "equal",
7098
+ "failure_modes": [
7099
+ "process_steps_followed_without_underlying_methodology",
7100
+ "quality_gate_treated_as_advisory",
7101
+ "verification_claim_without_evidence_receipt",
7102
+ "checklist_not_calibrated_to_known_failure_modes",
7103
+ "exact_cost_or_success_claim_made_without_source_or_eval",
7104
+ "non_public_neighbor_skill_used_as_public_boundary",
7105
+ "eval_or_routing_state_inflated_without_run"
7106
+ ],
7107
+ "grounding_mode": "universal",
7108
+ "truth_sources": [
7109
+ "https://voljournals.utk.edu/utk_harlan/18/",
7110
+ "https://www.sei.cmu.edu/library/the-team-software-process-tsp/",
7111
+ "https://www.sei.cmu.edu/library/team-software-process-tsp-and-personal-software-process-psp-materials/",
7112
+ "https://asq.org/Quality-resources/Dmaic",
7113
+ "https://asq.org/quality-resources/pdca-cycle",
7114
+ "https://www.who.int/publications/i/item/9789241598590",
7115
+ "https://www.nasa.gov/ivv-overview/",
7116
+ "https://www.nasa.gov/reference/system-engineering-handbook-appendix/",
7117
+ "https://barryoreilly.com/explore/blog/how-to-implement-hypothesis-driven-development/",
7118
+ "https://arxiv.org/abs/2411.13768"
7119
+ ]
7120
+ },
6494
7121
  "health": {
6495
7122
  "drift_check": {
6496
- "last_verified": "2026-04-01"
7123
+ "last_verified": "2026-05-18"
6497
7124
  },
6498
7125
  "eval_artifacts": "planned",
6499
7126
  "eval_state": "unverified",
6500
- "freshness": "2026-04-01",
6501
- "has_grounding": false,
6502
- "has_relations": false,
7127
+ "freshness": "2026-05-18",
7128
+ "has_grounding": true,
7129
+ "has_relations": true,
6503
7130
  "lifecycle": {
6504
7131
  "review_cadence": "quarterly",
6505
7132
  "stale_after_days": 90
@@ -6510,17 +7137,52 @@
6510
7137
  "license": "MIT",
6511
7138
  "name": "methodology",
6512
7139
  "owner": "skill-graph-maintainer",
6513
- "path": "../skills/skills/methodology/SKILL.md",
7140
+ "path": "../skills/skills/quality/methodology/SKILL.md",
6514
7141
  "portability": {
6515
7142
  "readiness": "scripted",
6516
7143
  "targets": [
6517
7144
  "skill-md"
6518
7145
  ]
6519
7146
  },
7147
+ "relations": {
7148
+ "boundary": [
7149
+ {
7150
+ "reason": "code-review evaluates a concrete diff or PR; methodology designs the process and gates that make rigorous execution possible before a diff exists",
7151
+ "skill": "code-review"
7152
+ },
7153
+ {
7154
+ "reason": "refactor changes code structure while preserving behavior; methodology defines why and when a process should contain gates, traces, and feedback loops",
7155
+ "skill": "refactor"
7156
+ },
7157
+ {
7158
+ "reason": "testing-strategy decides what software behavior deserves tests and at which level; methodology defines the broader quality-management frame behind verification gates",
7159
+ "skill": "testing-strategy"
7160
+ },
7161
+ {
7162
+ "reason": "agent-eval-design authors agent eval cases, rubrics, and graders; methodology provides the process principles behind evidence-driven agent quality loops",
7163
+ "skill": "agent-eval-design"
7164
+ },
7165
+ {
7166
+ "reason": "guardrails blocks or escalates high-risk tool actions at execution time; methodology designs the preventive process and checklist discipline around work",
7167
+ "skill": "guardrails"
7168
+ }
7169
+ ],
7170
+ "related": [
7171
+ "best-practice",
7172
+ "agent-eval-design",
7173
+ "guardrails",
7174
+ "testing-strategy",
7175
+ "code-review"
7176
+ ],
7177
+ "verify_with": [
7178
+ "best-practice",
7179
+ "agent-eval-design"
7180
+ ]
7181
+ },
6520
7182
  "scope": "reference",
6521
7183
  "stability": "experimental",
6522
7184
  "type": "capability",
6523
- "version": "1.0.0"
7185
+ "version": "1.1.0"
6524
7186
  },
6525
7187
  {
6526
7188
  "activation": {
@@ -6586,7 +7248,7 @@
6586
7248
  "license": "MIT",
6587
7249
  "name": "microcopy",
6588
7250
  "owner": "skill-graph-maintainer",
6589
- "path": "../skills/skills/microcopy/SKILL.md",
7251
+ "path": "../skills/skills/design/microcopy/SKILL.md",
6590
7252
  "portability": {
6591
7253
  "readiness": "scripted",
6592
7254
  "targets": [
@@ -6700,7 +7362,7 @@
6700
7362
  "license": "MIT",
6701
7363
  "name": "middleware-patterns",
6702
7364
  "owner": "skill-graph-maintainer",
6703
- "path": "../skills/skills/middleware-patterns/SKILL.md",
7365
+ "path": "../skills/skills/engineering/frontend/middleware-patterns/SKILL.md",
6704
7366
  "relations": {
6705
7367
  "boundary": [
6706
7368
  {
@@ -6776,7 +7438,7 @@
6776
7438
  "license": "MIT",
6777
7439
  "name": "mobile-responsive-ux",
6778
7440
  "owner": "skill-graph-maintainer",
6779
- "path": "../skills/skills/mobile-responsive-ux/SKILL.md",
7441
+ "path": "../skills/skills/design/mobile-responsive-ux/SKILL.md",
6780
7442
  "portability": {
6781
7443
  "readiness": "scripted",
6782
7444
  "targets": [
@@ -6857,7 +7519,7 @@
6857
7519
  "license": "MIT",
6858
7520
  "name": "mutation-testing",
6859
7521
  "owner": "skill-graph-maintainer",
6860
- "path": "../skills/skills/mutation-testing/SKILL.md",
7522
+ "path": "../skills/skills/quality/testing/mutation-testing/SKILL.md",
6861
7523
  "relations": {
6862
7524
  "boundary": [
6863
7525
  {
@@ -6954,7 +7616,7 @@
6954
7616
  "license": "MIT",
6955
7617
  "name": "naming-conventions",
6956
7618
  "owner": "skill-graph-maintainer",
6957
- "path": "../skills/skills/naming-conventions/SKILL.md",
7619
+ "path": "../skills/skills/engineering/naming-conventions/SKILL.md",
6958
7620
  "portability": {
6959
7621
  "readiness": "scripted",
6960
7622
  "targets": [
@@ -7040,7 +7702,7 @@
7040
7702
  "license": "MIT",
7041
7703
  "name": "observability-modeling",
7042
7704
  "owner": "skill-graph-maintainer",
7043
- "path": "../skills/skills/observability-modeling/SKILL.md",
7705
+ "path": "../skills/skills/engineering/observability-modeling/SKILL.md",
7044
7706
  "portability": {
7045
7707
  "readiness": "scripted",
7046
7708
  "targets": [
@@ -7152,7 +7814,7 @@
7152
7814
  "license": "MIT",
7153
7815
  "name": "ontology-modeling",
7154
7816
  "owner": "skill-graph-maintainer",
7155
- "path": "../skills/skills/ontology-modeling/SKILL.md",
7817
+ "path": "../skills/skills/foundations/ontology-modeling/SKILL.md",
7156
7818
  "portability": {
7157
7819
  "readiness": "scripted",
7158
7820
  "targets": [
@@ -7266,7 +7928,7 @@
7266
7928
  "license": "MIT",
7267
7929
  "name": "owasp-security",
7268
7930
  "owner": "skill-graph-maintainer",
7269
- "path": "../skills/skills/owasp-security/SKILL.md",
7931
+ "path": "../skills/skills/quality/security/owasp-security/SKILL.md",
7270
7932
  "portability": {
7271
7933
  "readiness": "scripted",
7272
7934
  "targets": [
@@ -7361,11 +8023,11 @@
7361
8023
  "health": {
7362
8024
  "comprehension_state": "present",
7363
8025
  "drift_check": {
7364
- "last_verified": "2026-05-16"
8026
+ "last_verified": "2026-05-18"
7365
8027
  },
7366
- "eval_artifacts": "planned",
8028
+ "eval_artifacts": "present",
7367
8029
  "eval_state": "unverified",
7368
- "freshness": "2026-05-16",
8030
+ "freshness": "2026-05-18",
7369
8031
  "has_grounding": false,
7370
8032
  "has_relations": true,
7371
8033
  "lifecycle": {
@@ -7378,7 +8040,7 @@
7378
8040
  "license": "MIT",
7379
8041
  "name": "pattern-recognition",
7380
8042
  "owner": "skill-graph-maintainer",
7381
- "path": "../skills/skills/pattern-recognition/SKILL.md",
8043
+ "path": "../skills/skills/foundations/pattern-recognition/SKILL.md",
7382
8044
  "portability": {
7383
8045
  "readiness": "scripted",
7384
8046
  "targets": [
@@ -7411,7 +8073,7 @@
7411
8073
  "scope": "portable",
7412
8074
  "stability": "experimental",
7413
8075
  "type": "capability",
7414
- "version": "1.1.0"
8076
+ "version": "1.2.0"
7415
8077
  },
7416
8078
  {
7417
8079
  "activation": {
@@ -7479,7 +8141,7 @@
7479
8141
  "license": "MIT",
7480
8142
  "name": "performance-budgets",
7481
8143
  "owner": "skill-graph-maintainer",
7482
- "path": "../skills/skills/performance-budgets/SKILL.md",
8144
+ "path": "../skills/skills/quality/performance-budgets/SKILL.md",
7483
8145
  "relations": {
7484
8146
  "boundary": [
7485
8147
  {
@@ -7569,7 +8231,7 @@
7569
8231
  "license": "MIT",
7570
8232
  "name": "performance-engineering",
7571
8233
  "owner": "skill-graph-maintainer",
7572
- "path": "../skills/skills/performance-engineering/SKILL.md",
8234
+ "path": "../skills/skills/quality/performance-engineering/SKILL.md",
7573
8235
  "portability": {
7574
8236
  "readiness": "scripted",
7575
8237
  "targets": [
@@ -7678,7 +8340,7 @@
7678
8340
  "license": "MIT",
7679
8341
  "name": "performance-testing",
7680
8342
  "owner": "skill-graph-maintainer",
7681
- "path": "../skills/skills/performance-testing/SKILL.md",
8343
+ "path": "../skills/skills/quality/testing/performance-testing/SKILL.md",
7682
8344
  "relations": {
7683
8345
  "boundary": [
7684
8346
  {
@@ -7720,6 +8382,136 @@
7720
8382
  "type": "capability",
7721
8383
  "version": "1.0.0"
7722
8384
  },
8385
+ {
8386
+ "activation": {
8387
+ "anti_examples": [
8388
+ "implementing application-level auth guards (requireAuth, requireOrgAuth) — use nextauth-patterns",
8389
+ "choosing when to use orgQuery() vs query() in application code — use multi-tenancy-rls",
8390
+ "implementing CSRF protection or webhook HMAC verification — use security-scanning",
8391
+ "designing the overall multi-tenant data architecture — use data-architect",
8392
+ "designing row-level access control in non-PostgreSQL databases"
8393
+ ],
8394
+ "examples": [
8395
+ "adding RLS to a new table — what statements are required and in what order?",
8396
+ "auditing our existing RLS migrations for missing FORCE or WITH CHECK",
8397
+ "implementing a view on an RLS-protected table in PostgreSQL 15+",
8398
+ "debugging a cross-tenant data leak in a multi-tenant SaaS system",
8399
+ "ensuring connection pool context (SET LOCAL) does not leak tenant state between requests",
8400
+ "reviewing a migration that enables RLS to check for superuser and owner bypass risks",
8401
+ "verifying that materialized views over RLS tables are documented as security-sensitive"
8402
+ ],
8403
+ "keywords": [
8404
+ "rls",
8405
+ "row-level-security",
8406
+ "postgres",
8407
+ "tenant-isolation",
8408
+ "org-id",
8409
+ "security-policy",
8410
+ "set-local",
8411
+ "view-bypass",
8412
+ "migration",
8413
+ "multi-tenant",
8414
+ "ENABLE ROW LEVEL SECURITY",
8415
+ "FORCE ROW LEVEL SECURITY",
8416
+ "security_invoker",
8417
+ "USING clause",
8418
+ "WITH CHECK",
8419
+ "superuser bypass",
8420
+ "orgQuery",
8421
+ "app.organization_id",
8422
+ "connection pool safety",
8423
+ "materialized view RLS"
8424
+ ]
8425
+ },
8426
+ "allowed-tools": "Read Grep Glob Bash",
8427
+ "category": "engineering",
8428
+ "compatibility": {
8429
+ "notes": "Targets PostgreSQL 15+ with Neon serverless driver. The security_invoker view pattern requires PG15+. The SET LOCAL / set_config(key, val, true) pattern applies to any connection-pooled PostgreSQL setup. Core ENABLE+FORCE+USING+WITH CHECK rules are PG version-independent."
8430
+ },
8431
+ "description": "Guides agents implementing or auditing PostgreSQL Row Level Security in a multi-tenant SaaS codebase. Covers ENABLE+FORCE pairing, USING+WITH CHECK policies, view bypass via security_invoker, SET LOCAL for connection pool safety, superuser/owner bypass detection, and materialized view risks. Do NOT use for application-level authorization logic (use nextauth-patterns), non-PostgreSQL databases, or application query tier questions (use multi-tenancy-rls for orgQuery() usage).",
8432
+ "domain": "engineering/database-security",
8433
+ "grounding": {
8434
+ "domain_object": "PostgreSQL Row Level Security implementation in Sales Hub",
8435
+ "evidence_priority": "repo_code_first",
8436
+ "failure_modes": [
8437
+ "security_leak",
8438
+ "incorrect_isolation",
8439
+ "missing_force_rls",
8440
+ "missing_with_check",
8441
+ "superuser_bypass",
8442
+ "connection_pool_context_leakage",
8443
+ "view_security_invoker_missing"
8444
+ ],
8445
+ "grounding_mode": "repo_specific",
8446
+ "truth_sources": [
8447
+ "../sales-hub/apps/web/src/lib/db.ts",
8448
+ "../sales-hub/db/migrations/20260218_rls_hardening.sql",
8449
+ "../sales-hub/db/migrations/20260314_rls_expansion.sql",
8450
+ "../sales-hub/db/migrations/20260314_rls_with_check_and_security_invoker.sql",
8451
+ "../sales-hub/db/migrations/20260315_enable_rls_all.sql"
8452
+ ]
8453
+ },
8454
+ "health": {
8455
+ "drift_check": {
8456
+ "last_verified": "2026-05-18",
8457
+ "truth_source_hashes": {
8458
+ "../sales-hub/apps/web/src/lib/db.ts": "d1d9988d1da4545c58f76b5f44dbd12d5323409b777920d31d5f496db31ad7cb",
8459
+ "../sales-hub/db/migrations/20260218_rls_hardening.sql": "b5fb6dc74e78a3fb7e77c669af4e4b4303a4e995eaf4993cb6bdcbe7bdca424f",
8460
+ "../sales-hub/db/migrations/20260314_rls_expansion.sql": "406e2c419b09a6866f10c508e4ff6dc1f7a1ee82b788c5e2515186561c30ffb5",
8461
+ "../sales-hub/db/migrations/20260314_rls_with_check_and_security_invoker.sql": "2edcb51debd4ab4e7306eb6f8908c7a725217b19962e1429728e911fc57e88fb",
8462
+ "../sales-hub/db/migrations/20260315_enable_rls_all.sql": "c8de6823684f84b54376284a3a51bb6b52e38acd4f5c29664be26e89e5d39570"
8463
+ }
8464
+ },
8465
+ "drift_detected": false,
8466
+ "eval_artifacts": "none",
8467
+ "eval_state": "unverified",
8468
+ "freshness": "2026-05-18",
8469
+ "has_grounding": true,
8470
+ "has_relations": true,
8471
+ "lifecycle": {
8472
+ "review_cadence": "quarterly",
8473
+ "stale_after_days": 90
8474
+ },
8475
+ "routing_eval": "absent"
8476
+ },
8477
+ "id": "postgres-rls",
8478
+ "license": "MIT",
8479
+ "name": "postgres-rls",
8480
+ "owner": "skill-graph-maintainer",
8481
+ "path": "../skills/skills/engineering/postgres-rls/SKILL.md",
8482
+ "portability": {
8483
+ "readiness": "declared",
8484
+ "targets": [
8485
+ "skill-md"
8486
+ ]
8487
+ },
8488
+ "relations": {
8489
+ "adjacent": [
8490
+ "database-migration",
8491
+ "security-scanning",
8492
+ "data-architect",
8493
+ "guardrails"
8494
+ ],
8495
+ "boundary": [
8496
+ {
8497
+ "reason": "nextauth-patterns owns application-level authorization (requireAuth, requireOrgAuth, withOrgAuth); postgres-rls owns database-level isolation via PostgreSQL RLS policies",
8498
+ "skill": "nextauth-patterns"
8499
+ },
8500
+ {
8501
+ "reason": "multi-tenancy-rls owns the application query tier (orgQuery, query, withAppSession usage patterns); postgres-rls owns the PostgreSQL server-side RLS policy implementation",
8502
+ "skill": "multi-tenancy-rls"
8503
+ }
8504
+ ],
8505
+ "verify_with": [
8506
+ "security-scanning",
8507
+ "database-migration"
8508
+ ]
8509
+ },
8510
+ "scope": "codebase",
8511
+ "stability": "stable",
8512
+ "type": "capability",
8513
+ "version": "1.1.0"
8514
+ },
7723
8515
  {
7724
8516
  "activation": {
7725
8517
  "anti_examples": [
@@ -7769,7 +8561,7 @@
7769
8561
  "license": "CC-BY-4.0",
7770
8562
  "name": "printify",
7771
8563
  "owner": "skill-graph-maintainer",
7772
- "path": "../skills/skills/printify/SKILL.md",
8564
+ "path": "../skills/skills/engineering/printify/SKILL.md",
7773
8565
  "relations": {
7774
8566
  "boundary": [
7775
8567
  {
@@ -7838,7 +8630,7 @@
7838
8630
  "license": "MIT",
7839
8631
  "name": "prioritization",
7840
8632
  "owner": "skill-graph-maintainer",
7841
- "path": "../skills/skills/prioritization/SKILL.md",
8633
+ "path": "../skills/skills/quality/prioritization/SKILL.md",
7842
8634
  "portability": {
7843
8635
  "readiness": "scripted",
7844
8636
  "targets": [
@@ -7908,7 +8700,7 @@
7908
8700
  "license": "CC-BY-4.0",
7909
8701
  "name": "problem-framing",
7910
8702
  "owner": "skill-graph-maintainer",
7911
- "path": "../skills/skills/problem-framing/SKILL.md",
8703
+ "path": "../skills/skills/design/problem-framing/SKILL.md",
7912
8704
  "relations": {
7913
8705
  "boundary": [
7914
8706
  {
@@ -8002,7 +8794,7 @@
8002
8794
  "license": "MIT",
8003
8795
  "name": "problem-locating-solving",
8004
8796
  "owner": "skill-graph-maintainer",
8005
- "path": "../skills/skills/problem-locating-solving/SKILL.md",
8797
+ "path": "../skills/skills/engineering/problem-locating-solving/SKILL.md",
8006
8798
  "portability": {
8007
8799
  "readiness": "scripted",
8008
8800
  "targets": [
@@ -8123,7 +8915,7 @@
8123
8915
  "license": "MIT",
8124
8916
  "name": "project-knowledge-extraction",
8125
8917
  "owner": "skill-graph-maintainer",
8126
- "path": "../skills/skills/project-knowledge-extraction/SKILL.md",
8918
+ "path": "../skills/skills/agent/project-knowledge-extraction/SKILL.md",
8127
8919
  "portability": {
8128
8920
  "readiness": "scripted",
8129
8921
  "targets": [
@@ -8165,18 +8957,19 @@
8165
8957
  "review this AI-generated PR for correctness",
8166
8958
  "scaffold a new skill that teaches prompt engineering",
8167
8959
  "which skill should the router pick for this query?",
8168
- "the prompt routes to the wrong skill debug it",
8169
- "write a doc explaining our prompt conventions"
8960
+ "design an eval suite and grader thresholds for this agent",
8961
+ "debug why the deployed prompt failed last night",
8962
+ "write a doc explaining our prompt conventions for humans only"
8170
8963
  ],
8171
8964
  "examples": [
8172
- "I'm writing a prompt for the LLM to grade essays how do I structure it?",
8173
- "improve this system prompt the model keeps giving generic answers",
8174
- "how do I get the model to return strict JSON every time?",
8175
- "the agent's sub-task prompt is too vague how do I tighten it?",
8176
- "few-shot or chain-of-thought for this classification task?",
8177
- "the model is being talked into bypassing its instructions fix the prompt",
8178
- "review this prompt for an LLM-as-judge eval",
8179
- "how do I prompt the model to ask clarifying questions when ambiguous?"
8965
+ "write a reusable prompt for an LLM to classify support tickets and return one JSON object",
8966
+ "improve this system prompt because the model keeps giving generic answers",
8967
+ "how do I get the model to return strict JSON and retry safely when it does not?",
8968
+ "tighten this sub-agent prompt so it knows what evidence to gather and when to stop",
8969
+ "should this task use zero-shot, few-shot examples, or a separate eval loop?",
8970
+ "the model follows instructions embedded in user content; harden the prompt against injection",
8971
+ "review this LLM-as-judge prompt for clarity and output constraints",
8972
+ "how do I prompt the model to ask clarifying questions only when ambiguity blocks the task?"
8180
8973
  ],
8181
8974
  "keywords": [
8182
8975
  "prompt",
@@ -8187,33 +8980,74 @@
8187
8980
  "iterate on prompt",
8188
8981
  "prompt template",
8189
8982
  "system prompt",
8983
+ "developer prompt",
8190
8984
  "user prompt",
8191
8985
  "few shot",
8192
- "few shot examples",
8986
+ "few-shot examples",
8193
8987
  "role prompt",
8194
- "instruction layering",
8988
+ "instruction hierarchy",
8989
+ "message roles",
8195
8990
  "output format",
8196
- "chain of thought",
8991
+ "structured output",
8992
+ "reasoning prompt",
8993
+ "prompt injection",
8197
8994
  "adversarial input",
8198
8995
  "llm prompt",
8199
8996
  "agent prompt"
8997
+ ],
8998
+ "triggers": [
8999
+ "prompt-craft-skill",
9000
+ "prompt-engineering-skill",
9001
+ "prompt-template-skill"
8200
9002
  ]
8201
9003
  },
8202
9004
  "allowed-tools": "Read Grep Bash Edit",
8203
9005
  "category": "agent",
8204
9006
  "compatibility": {
8205
- "notes": "Provider-agnostic; principles apply across Anthropic, OpenAI, Google, open-weight models"
9007
+ "notes": "Provider-agnostic prompt-design discipline for OpenAI, Anthropic, Google Gemini, open-weight models, and agent runtimes; provider-specific APIs, role names, structured-output features, and reasoning controls must be checked before implementation."
8206
9008
  },
8207
- "description": "Use when writing, structuring, evaluating, or improving a prompt for an LLM — whether for one-shot completion, agent dispatch, sub-agent spawning, eval grading, or prompt-engineered tools. Covers role and instruction layering, context insertion order, few-shot example selection, output-format constraints, the negative-instruction principle, defence against adversarial input, and iterative prompt-improvement evaluation. Do NOT use when the task is reviewing AI-generated code (use `code-review`), authoring a SKILL.md (use `skill-scaffold`), or selecting which agent to dispatch (use `skill-router` for cross-skill dispatch decisions).",
9009
+ "concept": {
9010
+ "analogy": "It is like writing a contract for a skilled but unfamiliar collaborator: the contract names the job, evidence, allowed moves, examples, acceptance format, and escalation path.",
9011
+ "boundary": "It does not design the full context stack, create eval harnesses, review generated code, author SKILL.md files, select routing, or debug deployed failures without prompt-specific evidence.",
9012
+ "definition": "Prompt craft is the disciplined design and revision of LLM instructions, examples, context boundaries, and output constraints so a model can perform a target task reliably under measured conditions.",
9013
+ "mental_model": "Treat the prompt as an executable contract. Stable instructions and examples define the function, variable user content supplies arguments, and eval results decide whether the contract works.",
9014
+ "misconception": "A longer or more forceful prompt is not automatically better. Prompt quality is measured by reliable task performance, format compliance, safety behavior, and maintainability under realistic inputs.",
9015
+ "purpose": "It turns vague intent into inspectable instructions with clear task framing, input boundaries, output shape, safety constraints, and revision evidence.",
9016
+ "taxonomy": "Core surfaces are instruction authority, role and tone, task statement, context and retrieval payload, constraints, examples, variable input delimitation, output format, tool-use instructions, safety boundaries, provider controls, and eval-linked revision."
9017
+ },
9018
+ "description": "Use when writing, tightening, evaluating, or repairing an LLM prompt or reusable prompt template for completion, agent dispatch, grading, structured extraction, tool use, or prompt-engineered workflows. Covers instruction hierarchy, message roles, context placement, few-shot examples, structured output, positive constraints, reasoning guidance, prompt-injection resistance, provider differences, and eval-driven iteration. Do NOT use for whole context-system design (use context-engineering), eval dataset or grader design (use agent-eval-design), reviewing generated code (use code-review), authoring SKILL.md files (use skill-scaffold), choosing which skill or agent should activate (use skill-router), or root-causing a deployed failure after outputs already exist (use debugging).",
8208
9019
  "domain": "agent/prompts",
9020
+ "grounding": {
9021
+ "domain_object": "Portable LLM prompt design, instruction hierarchy, structured-output prompting, adversarial-input boundaries, and eval-driven prompt iteration",
9022
+ "evidence_priority": "equal",
9023
+ "failure_modes": [
9024
+ "prompt_shipped_after_one_plausible_output_without_eval",
9025
+ "role_or_instruction_authority_confused_with_user_input",
9026
+ "examples_teach_surface_patterns_instead_of_decision_boundaries",
9027
+ "structured_output_assumed_without_validation_or_schema_support",
9028
+ "negative_instruction_increases_salience_without_positive_target",
9029
+ "hidden_chain_of_thought_requested_or_exposed_unnecessarily",
9030
+ "prompt_injection_treated_as_wording_problem_instead_of_data_instruction_separation",
9031
+ "prompt_changes_claimed_success_without_rerunning_linked_eval"
9032
+ ],
9033
+ "grounding_mode": "universal",
9034
+ "truth_sources": [
9035
+ "https://developers.openai.com/api/docs/guides/prompt-engineering",
9036
+ "https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/overview",
9037
+ "https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices",
9038
+ "https://ai.google.dev/gemini-api/docs/prompting-strategies",
9039
+ "https://cheatsheetseries.owasp.org/cheatsheets/LLM_Prompt_Injection_Prevention_Cheat_Sheet.html"
9040
+ ]
9041
+ },
8209
9042
  "health": {
9043
+ "comprehension_state": "present",
8210
9044
  "drift_check": {
8211
- "last_verified": "2026-05-04"
9045
+ "last_verified": "2026-05-18"
8212
9046
  },
8213
9047
  "eval_artifacts": "planned",
8214
9048
  "eval_state": "unverified",
8215
- "freshness": "2026-05-04",
8216
- "has_grounding": false,
9049
+ "freshness": "2026-05-18",
9050
+ "has_grounding": true,
8217
9051
  "has_relations": true,
8218
9052
  "lifecycle": {
8219
9053
  "review_cadence": "quarterly",
@@ -8225,7 +9059,7 @@
8225
9059
  "license": "MIT",
8226
9060
  "name": "prompt-craft",
8227
9061
  "owner": "skill-graph-maintainer",
8228
- "path": "../skills/skills/prompt-craft/SKILL.md",
9062
+ "path": "../skills/skills/agent/prompt-craft/SKILL.md",
8229
9063
  "portability": {
8230
9064
  "readiness": "scripted",
8231
9065
  "targets": [
@@ -8235,26 +9069,48 @@
8235
9069
  "relations": {
8236
9070
  "boundary": [
8237
9071
  {
8238
- "reason": "skill-router decides which skill activates for a given query; prompt-craft writes the prompts that the activated skill consumes",
8239
- "skill": "skill-router"
9072
+ "reason": "context-engineering designs the whole information environment, retrieval payload, memory, compaction, and context budget; prompt-craft shapes the instructions and prompt template that consume that context.",
9073
+ "skill": "context-engineering"
8240
9074
  },
8241
9075
  {
8242
- "reason": "code-review evaluates code; prompt-craft writes the prompts that produce code (or grade it)",
9076
+ "reason": "agent-eval-design creates eval datasets, graders, thresholds, hard negatives, and harnesses; prompt-craft uses eval evidence to revise prompt wording and structure.",
9077
+ "skill": "agent-eval-design"
9078
+ },
9079
+ {
9080
+ "reason": "code-review evaluates generated or human-written code; prompt-craft writes or improves the prompt that may produce or grade code.",
8243
9081
  "skill": "code-review"
8244
9082
  },
8245
9083
  {
8246
- "reason": "skill-scaffold authors a new SKILL.md; prompt-craft is the skill consumed when authoring prompts that any skill might use",
9084
+ "reason": "skill-scaffold owns SKILL.md authoring and metadata structure; prompt-craft owns prompts used by agents or tools.",
8247
9085
  "skill": "skill-scaffold"
9086
+ },
9087
+ {
9088
+ "reason": "skill-router decides which skill or agent activates for a user request; prompt-craft writes the selected prompt or dispatch instruction after that routing decision.",
9089
+ "skill": "skill-router"
9090
+ },
9091
+ {
9092
+ "reason": "debugging investigates a known deployed failure and root cause; prompt-craft provides prompt-level remediation once evidence shows prompt wording or structure is the failing surface.",
9093
+ "skill": "debugging"
8248
9094
  }
8249
9095
  ],
8250
9096
  "related": [
9097
+ "context-engineering",
9098
+ "agent-eval-design",
9099
+ "evaluation",
9100
+ "guardrails",
9101
+ "debugging",
8251
9102
  "code-review"
9103
+ ],
9104
+ "verify_with": [
9105
+ "agent-eval-design",
9106
+ "evaluation",
9107
+ "guardrails"
8252
9108
  ]
8253
9109
  },
8254
9110
  "scope": "portable",
8255
9111
  "stability": "experimental",
8256
9112
  "type": "capability",
8257
- "version": "1.0.0"
9113
+ "version": "1.1.0"
8258
9114
  },
8259
9115
  {
8260
9116
  "activation": {
@@ -8323,7 +9179,7 @@
8323
9179
  "license": "MIT",
8324
9180
  "name": "prompt-injection-defense",
8325
9181
  "owner": "skill-graph-maintainer",
8326
- "path": "../skills/skills/prompt-injection-defense/SKILL.md",
9182
+ "path": "../skills/skills/quality/security/prompt-injection-defense/SKILL.md",
8327
9183
  "relations": {
8328
9184
  "boundary": [
8329
9185
  {
@@ -8424,7 +9280,7 @@
8424
9280
  "license": "MIT",
8425
9281
  "name": "property-based-testing",
8426
9282
  "owner": "skill-graph-maintainer",
8427
- "path": "../skills/skills/property-based-testing/SKILL.md",
9283
+ "path": "../skills/skills/quality/testing/property-based-testing/SKILL.md",
8428
9284
  "relations": {
8429
9285
  "boundary": [
8430
9286
  {
@@ -8509,7 +9365,7 @@
8509
9365
  "license": "CC-BY-4.0",
8510
9366
  "name": "prototyping",
8511
9367
  "owner": "skill-graph-maintainer",
8512
- "path": "../skills/skills/prototyping/SKILL.md",
9368
+ "path": "../skills/skills/design/prototyping/SKILL.md",
8513
9369
  "relations": {
8514
9370
  "boundary": [
8515
9371
  {
@@ -8597,7 +9453,7 @@
8597
9453
  "license": "MIT",
8598
9454
  "name": "query-optimization",
8599
9455
  "owner": "skill-graph-maintainer",
8600
- "path": "../skills/skills/query-optimization/SKILL.md",
9456
+ "path": "../skills/skills/engineering/data/query-optimization/SKILL.md",
8601
9457
  "relations": {
8602
9458
  "boundary": [
8603
9459
  {
@@ -8671,7 +9527,7 @@
8671
9527
  "license": "MIT",
8672
9528
  "name": "real-time-updates",
8673
9529
  "owner": "skill-graph-maintainer",
8674
- "path": "../skills/skills/real-time-updates/SKILL.md",
9530
+ "path": "../skills/skills/engineering/real-time-updates/SKILL.md",
8675
9531
  "portability": {
8676
9532
  "readiness": "scripted",
8677
9533
  "targets": [
@@ -8766,7 +9622,7 @@
8766
9622
  "license": "MIT",
8767
9623
  "name": "ref-patterns",
8768
9624
  "owner": "skill-graph-maintainer",
8769
- "path": "../skills/skills/ref-patterns/SKILL.md",
9625
+ "path": "../skills/skills/engineering/frontend/ref-patterns/SKILL.md",
8770
9626
  "relations": {
8771
9627
  "boundary": [
8772
9628
  {
@@ -8865,7 +9721,7 @@
8865
9721
  "license": "MIT",
8866
9722
  "name": "refactor",
8867
9723
  "owner": "skill-graph-maintainer",
8868
- "path": "../skills/skills/refactor/SKILL.md",
9724
+ "path": "../skills/skills/engineering/refactor/SKILL.md",
8869
9725
  "portability": {
8870
9726
  "readiness": "scripted",
8871
9727
  "targets": [
@@ -8885,6 +9741,14 @@
8885
9741
  {
8886
9742
  "reason": "generative-ui owns the model-emits-typed-UI-spec pattern; refactor only restructures existing code while preserving behavior. The retries anti_example has token overlap with the model-output/runtime cycle vocabulary generative-ui discusses, so naming it here keeps the boundary explicit.",
8887
9743
  "skill": "generative-ui"
9744
+ },
9745
+ {
9746
+ "reason": "context-graph owns the design and documentation of AI workspace graph architecture; refactor owns behavior-preserving code restructuring. Writing an architecture note for team members is documentation work, not a code refactor.",
9747
+ "skill": "context-graph"
9748
+ },
9749
+ {
9750
+ "reason": "error-boundary owns React error boundary design and the mechanics of retry-on-error patterns; refactor owns behavior-preserving code restructuring. Reproducing or explaining retry behavior is a runtime/error-handling concern, not a refactor concern.",
9751
+ "skill": "error-boundary"
8888
9752
  }
8889
9753
  ],
8890
9754
  "depends_on": [
@@ -8967,7 +9831,7 @@
8967
9831
  "license": "MIT",
8968
9832
  "name": "rendering-models",
8969
9833
  "owner": "skill-graph-maintainer",
8970
- "path": "../skills/skills/rendering-models/SKILL.md",
9834
+ "path": "../skills/skills/engineering/frontend/rendering-models/SKILL.md",
8971
9835
  "relations": {
8972
9836
  "boundary": [
8973
9837
  {
@@ -9069,7 +9933,7 @@
9069
9933
  "license": "MIT",
9070
9934
  "name": "replication-patterns",
9071
9935
  "owner": "skill-graph-maintainer",
9072
- "path": "../skills/skills/replication-patterns/SKILL.md",
9936
+ "path": "../skills/skills/engineering/data/replication-patterns/SKILL.md",
9073
9937
  "relations": {
9074
9938
  "boundary": [
9075
9939
  {
@@ -9154,7 +10018,7 @@
9154
10018
  "license": "CC-BY-4.0",
9155
10019
  "name": "research-synthesis",
9156
10020
  "owner": "skill-graph-maintainer",
9157
- "path": "../skills/skills/research-synthesis/SKILL.md",
10021
+ "path": "../skills/skills/design/research-synthesis/SKILL.md",
9158
10022
  "relations": {
9159
10023
  "boundary": [
9160
10024
  {
@@ -9254,7 +10118,7 @@
9254
10118
  "license": "MIT",
9255
10119
  "name": "route-handler-design",
9256
10120
  "owner": "skill-graph-maintainer",
9257
- "path": "../skills/skills/route-handler-design/SKILL.md",
10121
+ "path": "../skills/skills/engineering/frontend/route-handler-design/SKILL.md",
9258
10122
  "relations": {
9259
10123
  "boundary": [
9260
10124
  {
@@ -9348,7 +10212,7 @@
9348
10212
  "license": "MIT",
9349
10213
  "name": "schema-evolution",
9350
10214
  "owner": "skill-graph-maintainer",
9351
- "path": "../skills/skills/schema-evolution/SKILL.md",
10215
+ "path": "../skills/skills/engineering/data/schema-evolution/SKILL.md",
9352
10216
  "relations": {
9353
10217
  "boundary": [
9354
10218
  {
@@ -9452,7 +10316,7 @@
9452
10316
  "license": "MIT",
9453
10317
  "name": "security-fundamentals",
9454
10318
  "owner": "skill-graph-maintainer",
9455
- "path": "../skills/skills/security-fundamentals/SKILL.md",
10319
+ "path": "../skills/skills/quality/security/security-fundamentals/SKILL.md",
9456
10320
  "relations": {
9457
10321
  "boundary": [
9458
10322
  {
@@ -9551,7 +10415,7 @@
9551
10415
  "license": "MIT",
9552
10416
  "name": "semantic-center",
9553
10417
  "owner": "skill-graph-maintainer",
9554
- "path": "../skills/skills/semantic-center/SKILL.md",
10418
+ "path": "../skills/skills/foundations/semantics/semantic-center/SKILL.md",
9555
10419
  "portability": {
9556
10420
  "readiness": "scripted",
9557
10421
  "targets": [
@@ -9595,16 +10459,17 @@
9595
10459
  "I need to connect external IDs from one platform to canonical IDs in our system operationally",
9596
10460
  "I need the broader representation choice between graph, frames, rules, or hybrid knowledge systems",
9597
10461
  "I need to analyze icon metaphors, color connotation, and UI sign systems",
9598
- "rename this function across all call-sites in the repo"
10462
+ "rename this function across all call-sites in the repo",
10463
+ "design the full taxonomy, facets, and assignment rules for this category system"
9599
10464
  ],
9600
10465
  "examples": [
9601
- "our codebase uses customer, client, buyer, and user in different modules which relation analysis tells us whether this is synonymy, near-synonymy, or distinct domain language?",
9602
- "a new graph schema uses related_to for every edge which semantic relation types should replace it so traversal and reasoning stay meaningful?",
10466
+ "our codebase uses customer, client, buyer, and user in different modules -- which relation analysis tells us whether this is synonymy, near-synonymy, or distinct domain language?",
10467
+ "a new graph schema uses related_to for every edge -- which semantic relation types should replace it so traversal and reasoning stay meaningful?",
9603
10468
  "is a refund a kind of payment, part of a payment, or the result of a payment action?",
9604
- "two skills seem close: one owns structure design and one owns assignment into that structure is that adjacency, a boundary, or a deeper taxonomic relation?",
9605
- "the word status appears across payments, orders, and fulfillment how should relation analysis expose the polysemy and guide disambiguation?",
10469
+ "two skills seem close: one owns structure design and one owns assignment into that structure -- is that adjacency, a boundary, or a deeper taxonomic relation?",
10470
+ "the word status appears across payments, orders, and fulfillment -- how should relation analysis expose the polysemy and guide disambiguation?",
9606
10471
  "type these knowledge-graph edges so traversal is meaningful instead of generic",
9607
- "test whether 'every line item is an order' passes the IS-A substitution test"
10472
+ "test whether every line item is an order passes the IS-A substitution test"
9608
10473
  ],
9609
10474
  "keywords": [
9610
10475
  "semantic relations",
@@ -9622,34 +10487,57 @@
9622
10487
  "typed-edge taxonomy",
9623
10488
  "conceptual-relation analysis",
9624
10489
  "adjacency-vs-boundary disambiguation",
9625
- "generic related-to anti-pattern"
10490
+ "generic related-to anti-pattern",
10491
+ "SKOS broader narrower related",
10492
+ "WordNet semantic relations",
10493
+ "FrameNet frame elements"
9626
10494
  ]
9627
10495
  },
9628
10496
  "allowed-tools": "Read Grep",
9629
10497
  "category": "foundations",
9630
10498
  "compatibility": {
9631
- "notes": "Vocabulary-layer skill, stack- and storage-agnostic. The relation taxonomy and the substitution / property tests apply to any knowledge graph, concept map, taxonomy, or naming system; downstream implementation skills (ontology, ER modeling, relational mapping) consume the typed relations defined here."
10499
+ "notes": "Vocabulary-layer skill, stack- and storage-agnostic. The relation taxonomy and the substitution / property tests apply to any knowledge graph, concept map, taxonomy, naming system, or conceptual model; downstream implementation skills such as ontology-modeling, taxonomy-design, entity-relationship-modeling, and relational mapping consume the typed relations defined here."
9632
10500
  },
9633
10501
  "concept": {
9634
- "analogy": "|",
9635
- "boundary": "|",
9636
- "definition": "Semantic relations are the *typed connections* between concepts in a meaning structure: IS-A (hypernymy/hyponymy), PART-OF (holonymy/meronymy), synonymy, antonymy, polysemy, homonymy, metonymy, and the thematic role relations (agent, patient, instrument, location, source, goal, cause, result). Drawn from lexical semantics (Lyons, Cruse), Princeton WordNet, the W3C SKOS vocabulary, and cognitive-semantics work on thematic roles (Fillmore 1968, Jackendoff 1990), it treats every edge in a knowledge graph, concept map, or hierarchy as a relation of a *named kind* rather than a generic association.",
9637
- "mental_model": "|",
9638
- "misconception": "|",
9639
- "purpose": "|",
9640
- "taxonomy": "|"
10502
+ "analogy": "Semantic relations are road types on a map: motorway, bridge, one-way street, and roundabout each permit different movement. Labelling every road as connector loses the rules that make navigation possible.",
10503
+ "boundary": "It does not build the full conceptual model, choose the knowledge-representation paradigm, design a taxonomy, formalize an ontology, implement database relationships, or solve linguistic form and register questions.",
10504
+ "definition": "Semantic relations are typed connections between concepts in a meaning structure: IS-A, PART-OF, synonymy, antonymy, polysemy, homonymy, metonymy, causal relations, thematic roles, and relation properties such as symmetry and transitivity.",
10505
+ "mental_model": "Treat every edge as a claim with a named kind and testable behavior. A typed edge says how traversal, inheritance, substitution, role assignment, or inference should work; a vague edge only says two things are nearby.",
10506
+ "misconception": "The common mistake is believing relation labels are optional decoration. In practice, confusing IS-A with PART-OF, synonymy with polysemy, or actor with instrument changes what readers and tools infer.",
10507
+ "purpose": "The purpose is to replace generic association with relation vocabulary that supports reasoning, retrieval, naming disambiguation, hierarchy validation, and clean boundaries between neighboring skills or concepts.",
10508
+ "taxonomy": "Relation families include taxonomic relations such as hypernymy and hyponymy; mereological relations such as holonymy and meronymy; associative lexical relations such as synonymy, antonymy, polysemy, homonymy, and metonymy; thematic roles such as agent, patient, instrument, source, goal, cause, and result; and formal properties such as symmetry, asymmetry, transitivity, reflexivity, and irreflexivity."
9641
10509
  },
9642
10510
  "description": "Use when typing edges in a knowledge graph or concept map, resolving synonym/antonym/polysemy/homonym confusion, testing whether a connection is IS-A, PART-OF, causal, thematic, or vague, explaining adjacent concepts, or auditing whether hierarchy and skill-boundary decisions use the wrong relation type. Covers taxonomic, associative, and thematic relations plus symmetry, asymmetry, transitivity, reflexivity, and irreflexivity. Do NOT use for formal ontology axioms with reasoning constraints, database foreign-key or junction-table design, or operational data correspondence across systems.",
9643
10511
  "domain": "foundations/semantics",
9644
- "health": {
10512
+ "grounding": {
10513
+ "domain_object": "Semantic relation typing for concept edges, lexical sense relations, knowledge-organization links, thematic roles, and relation-property checks",
10514
+ "evidence_priority": "equal",
10515
+ "failure_modes": [
10516
+ "generic_related_to_edges_collapse_relation_meaning",
10517
+ "is_a_part_of_conflation_breaks_inheritance_reasoning",
10518
+ "synonym_polysemy_homonymy_confusion_drives_wrong_rename_or_flattening",
10519
+ "relation_properties_left_implicit",
10520
+ "thematic_roles_conflate_actor_instrument_cause_or_goal",
10521
+ "relation_typing_overowns_formal_ontology_taxonomy_or_database_design",
10522
+ "publishability_scan_false_positive_from_customer_specific_examples"
10523
+ ],
10524
+ "grounding_mode": "universal",
10525
+ "truth_sources": [
10526
+ "https://wordnet.princeton.edu/",
10527
+ "https://www.w3.org/TR/skos-reference/",
10528
+ "https://www.w3.org/TR/owl2-primer/",
10529
+ "https://framenet.icsi.berkeley.edu/WhatIsFrameNet"
10530
+ ]
10531
+ },
10532
+ "health": {
9645
10533
  "comprehension_state": "present",
9646
10534
  "drift_check": {
9647
- "last_verified": "2026-05-16"
10535
+ "last_verified": "2026-05-19"
9648
10536
  },
9649
10537
  "eval_artifacts": "planned",
9650
10538
  "eval_state": "unverified",
9651
- "freshness": "2026-05-16",
9652
- "has_grounding": false,
10539
+ "freshness": "2026-05-19",
10540
+ "has_grounding": true,
9653
10541
  "has_relations": true,
9654
10542
  "lifecycle": {
9655
10543
  "review_cadence": "quarterly",
@@ -9661,7 +10549,7 @@
9661
10549
  "license": "MIT",
9662
10550
  "name": "semantic-relations",
9663
10551
  "owner": "skill-graph-maintainer",
9664
- "path": "../skills/skills/semantic-relations/SKILL.md",
10552
+ "path": "../skills/skills/foundations/semantics/semantic-relations/SKILL.md",
9665
10553
  "portability": {
9666
10554
  "readiness": "scripted",
9667
10555
  "targets": [
@@ -9671,55 +10559,78 @@
9671
10559
  "relations": {
9672
10560
  "boundary": [
9673
10561
  {
9674
- "reason": "linguistics owns the rules of word form (morphology, polysemy resolution at the identifier level, audience register); semantic-relations owns the typing of meaning connections between concepts (IS-A, PART-OF, thematic roles, relation properties) — the same 'what's the relationship between these two terms?' prompt routes by whether the lens is the term form/morphology or the typed connection between meanings",
10562
+ "reason": "linguistics owns word form, morphology, register, and identifier-level phrasing; semantic-relations owns the typed meaning connection between concepts such as IS-A, PART-OF, causal, thematic, synonymy, polysemy, and homonymy.",
9675
10563
  "skill": "linguistics"
9676
10564
  },
9677
10565
  {
9678
- "reason": "conceptual-modeling builds the full concept structure (which entities, which attributes, which relationships exist); semantic-relations supplies the relation-typing vocabulary used inside that structure (whether a relationship is taxonomic, mereological, thematic, causal) — the same 'model these concepts' prompt routes by whether the user wants the structure built or the relation types named",
10566
+ "reason": "conceptual-modeling builds the full pre-implementation domain structure of entities, attributes, relationships, and cardinality; semantic-relations supplies the relation-type vocabulary used inside or around that structure.",
9679
10567
  "skill": "conceptual-modeling"
9680
10568
  },
9681
10569
  {
9682
- "reason": "knowledge-modeling chooses the representation paradigm (graph, frames, rules, hybrid) for a knowledge surface; semantic-relations chooses the relation vocabulary used inside whatever paradigm is picked — the same 'design how to represent this knowledge' prompt routes by whether the trigger is the representation choice or the relation typing",
10570
+ "reason": "knowledge-modeling chooses the representation paradigm such as graph, frame, rules, concept map, or hybrid; semantic-relations chooses the edge vocabulary inside whichever representation is selected.",
9683
10571
  "skill": "knowledge-modeling"
10572
+ },
10573
+ {
10574
+ "reason": "ontology-modeling formalizes classes, properties, axioms, constraints, and reasoning semantics; semantic-relations is the pre-formal relation-typing layer and must not imply OWL/RDFS/SHACL commitments by itself.",
10575
+ "skill": "ontology-modeling"
10576
+ },
10577
+ {
10578
+ "reason": "taxonomy-design governs browse/category hierarchies, facets, assignment rules, and SKOS-style classification; semantic-relations only tests whether a single relation is hierarchy, association, part-whole, thematic role, or another typed edge.",
10579
+ "skill": "taxonomy-design"
10580
+ },
10581
+ {
10582
+ "reason": "entity-relationship-modeling owns physical or logical database relationships, keys, junction tables, and persistence constraints; semantic-relations owns conceptual meaning relations before schema implementation.",
10583
+ "skill": "entity-relationship-modeling"
9684
10584
  }
9685
10585
  ],
9686
10586
  "related": [
9687
10587
  "linguistics",
9688
10588
  "pattern-recognition",
9689
- "semantic-center"
10589
+ "semantic-center",
10590
+ "conceptual-modeling",
10591
+ "knowledge-modeling",
10592
+ "ontology-modeling",
10593
+ "taxonomy-design"
9690
10594
  ],
9691
10595
  "verify_with": [
9692
10596
  "linguistics",
10597
+ "taxonomy-design",
10598
+ "ontology-modeling",
9693
10599
  "code-review"
9694
10600
  ]
9695
10601
  },
9696
10602
  "scope": "portable",
9697
10603
  "stability": "experimental",
9698
10604
  "type": "capability",
9699
- "version": "1.1.0"
10605
+ "version": "1.2.0"
9700
10606
  },
9701
10607
  {
9702
10608
  "activation": {
9703
10609
  "anti_examples": [
9704
10610
  "should onboarding be hyphenated, and how does English compound morphology affect that decision?",
9705
- "what does margin mean in finance reporting versus CSS layout give me the canonical definition?",
9706
- "what casing should a new database timestamp column use — kebab, snake, or camel?",
9707
- "audit whether this button has the correct aria-label and focus semantics for screen readers",
10611
+ "what casing should a new database timestamp column use -- kebab, snake, or camel?",
10612
+ "rename this function and update every call-site across the repo",
10613
+ "type the relation between refund and payment as IS-A, PART-OF, causal, or thematic",
10614
+ "draft the empty-state copy for a freshly connected storefront with no orders yet",
9708
10615
  "decide whether these entities should live in a strict hierarchy or a faceted taxonomy",
9709
- "draft the empty-state copy for a freshly connected storefront with no orders yet"
10616
+ "audit whether this button has the correct aria-label and focus semantics for screen readers",
10617
+ "should we squash or rebase this feature branch before release?"
9710
10618
  ],
9711
10619
  "examples": [
9712
- "a function named process(data) actually reconciles revenue with production cost what semantic rename would make the operation self-explanatory without reading the implementation?",
9713
- "our API returns HTTP 200 with { success: false, error: 'User not found' } is that syntactically valid but semantically wrong, and what should the response signal be instead?",
9714
- "we named a token --light-blue and now dark mode plus rebranding broke its meaning what semantic token pattern should replace it?",
9715
- "a variable called provider could mean payment, fulfillment, or auth in three different modules how should semantics resolve that ambiguity?",
9716
- "I need to choose between feat(billing): add email notifications and chore(billing): add email notifications which commit message is semantically correct?",
9717
- "should this ID be a branded type or a plain string, and what does parse-don't-validate mean for it?",
9718
- "audit this database schema for unitless financial columns and timestamp-naming drift"
10620
+ "a function named process(data) actually reconciles revenue with production cost -- what semantic rename would make the operation self-explanatory without reading the implementation?",
10621
+ "our API returns HTTP 200 with an error payload for a failed request -- is that syntactically valid but semantically wrong, and what should the response signal be instead?",
10622
+ "we named a token --light-blue and now dark mode plus rebranding broke its meaning -- what semantic token pattern should replace it?",
10623
+ "a variable called provider could mean payment, fulfillment, or auth in three different modules -- how should semantics resolve that ambiguity?",
10624
+ "I need to choose between feat(billing): add email notifications and chore(billing): add email notifications -- which commit type communicates the change correctly?",
10625
+ "should this ID be a branded type or a plain string, and what does parse-dont-validate mean for it?",
10626
+ "audit this schema for unitless financial columns and timestamp-naming drift",
10627
+ "this UI state uses color only to distinguish warning from success -- what semantic signal is missing?"
9719
10628
  ],
9720
10629
  "keywords": [
9721
10630
  "semantic naming",
9722
10631
  "semantic drift detection",
10632
+ "meaning encoding",
10633
+ "names as contracts",
9723
10634
  "branded type design",
9724
10635
  "semantic versioning rules",
9725
10636
  "conventional commit type choice",
@@ -9730,38 +10641,67 @@
9730
10641
  "semantic affordance naming",
9731
10642
  "semantic UI signal",
9732
10643
  "semantic API contract",
9733
- "parse-do-not-validate pattern",
10644
+ "parse-dont-validate pattern",
9734
10645
  "three-layer token architecture",
9735
- "meaning-encoding identifier",
9736
10646
  "semantic-vs-syntactic distinction",
9737
- "cargo-cult naming anti-pattern"
10647
+ "cargo-cult naming anti-pattern",
10648
+ "status code semantics",
10649
+ "semantic design tokens"
9738
10650
  ]
9739
10651
  },
9740
10652
  "allowed-tools": "Read Grep",
9741
10653
  "category": "foundations",
9742
10654
  "compatibility": {
9743
- "notes": "Cross-domain naming and meaning skill, stack-agnostic. The naming-smells catalogue, SemVer rules, conventional-commit format, three-layer token architecture, HTTP-status semantics, REST/GraphQL conventions, and anti-pattern catalog apply to any codebase; example identifiers use generic e-commerce framings substitute the equivalents from your domain."
10655
+ "notes": "Cross-domain naming and meaning skill, stack-agnostic. The naming-smells catalogue, SemVer rules, conventional-commit format, semantic-token architecture, HTTP-status semantics, REST/GraphQL conventions, semantic type patterns, and anti-pattern catalog apply to any codebase; examples use generic commerce/order language and should be substituted for the user's domain."
9744
10656
  },
9745
10657
  "concept": {
9746
- "analogy": "|",
9747
- "boundary": "|",
9748
- "definition": "Semantics applied to software is the discipline of *meaning encoding* in identifiers and signals: function names, variable names, design tokens, HTTP status codes, version numbers, commit messages, branded types, and the small textual artefacts that communicate intent to humans and machines. Drawing from Domain-Driven Design's *ubiquitous language* (Evans 2003), Don Norman's affordance theory, semantic versioning, and the broader tradition that treats names as contracts, it commits to the view that every visible identifier is a micro-decision whose meaning compounds across the codebase.",
9749
- "mental_model": "|",
9750
- "misconception": "|",
9751
- "purpose": "|",
9752
- "taxonomy": "|"
9753
- },
9754
- "description": "Use when naming artifacts across code, APIs, design tokens, commits, HTTP/status signals, UI labels, error codes, or branded types, especially when a name feels ambiguous or misleading. Covers cross-domain meaning-encoding: naming smells, DDD ubiquitous language, SemVer, conventional commits, branded types, semantic design tokens/CSS/APIs, semantic UI affordances, and naming anti-patterns. Do NOT use for word morphology/polysemy (use linguistics), casing formats (use naming-conventions), typed concept relations (use semantic-relations), or in-product UI-text patterns (use microcopy).",
10658
+ "analogy": "Semantics is like road signage: a sign is small compared with the road, but if it points to the wrong destination, every later decision built on that sign is at risk.",
10659
+ "boundary": "It does not decide casing formats, word morphology, audience register, rename mechanics, relation types between concepts, UI-copy patterns, taxonomy structure, accessibility compliance, or git history shape.",
10660
+ "definition": "Semantics applied to software is the discipline of encoding meaning in names and signals: identifiers, status codes, version numbers, commit types, design tokens, UI signifiers, API resources, and semantic types.",
10661
+ "mental_model": "Treat every visible name or signal as a contract between a sign, the thing it refers to, and the convention readers use to decode it. Semantic drift happens when the thing changes but the signal does not.",
10662
+ "misconception": "Good semantics is not taste or clever wording. It is evidence-backed alignment between the words/signals a system exposes and the behavior, domain concept, or compatibility promise those words/signals represent.",
10663
+ "purpose": "It reduces translation tax, prevents misleading signals, and makes intent legible to humans, agents, tools, and downstream systems before they inspect implementation details.",
10664
+ "taxonomy": "Core surfaces include code names, database names, API names, HTTP status signals, SemVer bumps, Conventional Commit types, design-token layers, semantic UI signifiers, branded or refined types, and anti-patterns such as generic names, stale names, appearance-based names, and syntactically valid but semantically false responses."
10665
+ },
10666
+ "description": "Use when choosing or auditing the meaning encoded by names and signals across code, APIs, design tokens, commits, versions, HTTP responses, UI labels, error codes, branded types, and domain terms, especially when a name feels ambiguous, misleading, or semantically stale. Covers meaning-encoding decisions: naming smells, DDD ubiquitous language, SemVer, Conventional Commits type choice, branded/semantic types, parse-don't-validate, semantic design tokens/CSS/API signals, semantic UI affordances, and anti-patterns where syntax is valid but the signal lies. Do NOT use for word morphology or audience register (use linguistics), casing/format conventions or rename mechanics (use naming-conventions or refactor), typed concept-edge analysis (use semantic-relations), in-product UI-copy patterns (use microcopy), classification structure (use taxonomy-design), accessibility compliance (use a11y), or git history shape (use version-control).",
9755
10667
  "domain": "foundations/semantics",
10668
+ "grounding": {
10669
+ "domain_object": "Cross-domain meaning encoding in software names, status signals, versions, commits, APIs, design tokens, UI signals, and semantic types",
10670
+ "evidence_priority": "equal",
10671
+ "failure_modes": [
10672
+ "identifier_name_still_matches_syntax_but_not_behavior",
10673
+ "domain_language_drift_creates_translation_tax",
10674
+ "http_status_code_contradicts_response_body",
10675
+ "version_bump_understates_api_breakage",
10676
+ "commit_type_hides_feature_or_breaking_change",
10677
+ "design_token_name_coupled_to_appearance_instead_of_purpose",
10678
+ "primitive_type_allows_id_or_unit_mixups",
10679
+ "color_is_the_only_state_signal",
10680
+ "concept_block_contains_placeholder_values",
10681
+ "semantics_overowns_morphology_relation_typing_or_microcopy_work"
10682
+ ],
10683
+ "grounding_mode": "universal",
10684
+ "truth_sources": [
10685
+ "https://martinfowler.com/bliki/UbiquitousLanguage.html",
10686
+ "https://hilton.org.uk/blog/naming-smells",
10687
+ "https://semver.org/",
10688
+ "https://www.conventionalcommits.org/en/v1.0.0/",
10689
+ "https://www.rfc-editor.org/rfc/rfc9110.html",
10690
+ "https://www.designtokens.org/tr/drafts/format/",
10691
+ "https://www.w3.org/WAI/WCAG22/Understanding/use-of-color.html",
10692
+ "https://www.typescriptlang.org/docs/handbook/type-compatibility.html",
10693
+ "https://lexi-lambda.github.io/blog/2019/11/05/parse-don-t-validate/"
10694
+ ]
10695
+ },
9756
10696
  "health": {
9757
10697
  "comprehension_state": "present",
9758
10698
  "drift_check": {
9759
- "last_verified": "2026-05-16"
10699
+ "last_verified": "2026-05-19"
9760
10700
  },
9761
10701
  "eval_artifacts": "planned",
9762
10702
  "eval_state": "unverified",
9763
- "freshness": "2026-05-16",
9764
- "has_grounding": false,
10703
+ "freshness": "2026-05-19",
10704
+ "has_grounding": true,
9765
10705
  "has_relations": true,
9766
10706
  "lifecycle": {
9767
10707
  "review_cadence": "quarterly",
@@ -9773,7 +10713,7 @@
9773
10713
  "license": "MIT",
9774
10714
  "name": "semantics",
9775
10715
  "owner": "skill-graph-maintainer",
9776
- "path": "../skills/skills/semantics/SKILL.md",
10716
+ "path": "../skills/skills/foundations/semantics/semantics/SKILL.md",
9777
10717
  "portability": {
9778
10718
  "readiness": "scripted",
9779
10719
  "targets": [
@@ -9783,28 +10723,46 @@
9783
10723
  "relations": {
9784
10724
  "boundary": [
9785
10725
  {
9786
- "reason": "linguistics owns word-form rules (morphology, compound-word ordering, abbreviation policy, audience register, blame-free phrasing); semantics owns meaning encoding (what the name communicates, semantic drift, branded types, HTTP-status semantics, SemVer signaling) — the same 'is this name good?' prompt routes by whether the trigger is the form of the word or the meaning the name encodes",
10726
+ "reason": "linguistics owns word-form rules, polysemy phrasing, morphology, audience register, and blame-free wording; semantics owns what a name or signal communicates about the underlying concept or behavior.",
9787
10727
  "skill": "linguistics"
9788
10728
  },
9789
10729
  {
9790
- "reason": "naming-conventions owns the deterministic casing/format choice per artifact kind (kebab vs camel vs snake vs Pascal); semantics owns the meaning encoding behind the name the same 'what should I call this?' prompt routes by whether the user wants the format rule or the meaning-encoding decision",
10730
+ "reason": "naming-conventions owns casing, prefix/suffix conventions, and rename mechanics per artifact kind; semantics owns whether the chosen words encode the right meaning before any casing rule is applied.",
9791
10731
  "skill": "naming-conventions"
9792
10732
  },
9793
10733
  {
9794
- "reason": "semantic-relations owns the typed-connection vocabulary between concepts (IS-A, PART-OF, thematic roles); semantics owns the meaning encoding for an individual identifier or signal — the same 'what does this mean?' prompt routes by whether the trigger is the relation between things or the encoding of one thing",
10734
+ "reason": "semantic-relations owns typed connections between concepts such as IS-A, PART-OF, causal, and thematic relations; semantics owns the meaning encoded by one identifier, token, status, or signal.",
9795
10735
  "skill": "semantic-relations"
9796
10736
  },
9797
10737
  {
9798
- "reason": "microcopy owns specific in-product UI-text patterns (button labels, empty states, tooltips, dialogs, toasts); semantics owns the underlying meaning-encoding rules that apply to any name or signal — the same 'rewrite this UI text' prompt routes by whether the trigger is the UX-pattern surface or the cross-domain meaning rule",
10738
+ "reason": "microcopy owns concrete UI-text patterns such as button labels, empty states, dialogs, validation, and toasts; semantics owns the cross-domain meaning rule those words must preserve.",
9799
10739
  "skill": "microcopy"
10740
+ },
10741
+ {
10742
+ "reason": "taxonomy-design owns classification structures, facets, and category governance; semantics owns the names and signals inside or around that structure.",
10743
+ "skill": "taxonomy-design"
10744
+ },
10745
+ {
10746
+ "reason": "a11y owns accessibility compliance and assistive-technology behavior; semantics can flag a missing non-color signal but a11y verifies the actual accessibility contract.",
10747
+ "skill": "a11y"
10748
+ },
10749
+ {
10750
+ "reason": "version-control owns branch, commit, tag, and release-history shape; semantics owns the meaning encoded by version numbers and conventional-commit type choice.",
10751
+ "skill": "version-control"
9800
10752
  }
9801
10753
  ],
9802
10754
  "related": [
9803
10755
  "linguistics",
10756
+ "naming-conventions",
9804
10757
  "semantic-relations",
9805
- "microcopy"
10758
+ "microcopy",
10759
+ "semantic-center",
10760
+ "conceptual-modeling",
10761
+ "taxonomy-design"
9806
10762
  ],
9807
10763
  "verify_with": [
10764
+ "naming-conventions",
10765
+ "semantic-relations",
9808
10766
  "a11y",
9809
10767
  "code-review"
9810
10768
  ]
@@ -9812,7 +10770,7 @@
9812
10770
  "scope": "portable",
9813
10771
  "stability": "experimental",
9814
10772
  "type": "capability",
9815
- "version": "1.1.0"
10773
+ "version": "1.2.0"
9816
10774
  },
9817
10775
  {
9818
10776
  "activation": {
@@ -9858,25 +10816,45 @@
9858
10816
  "notes": "Stack-agnostic sign-system analysis. The Peirce / Saussure / Barthes models, color-as-sign rules, iconography principles, and affordance taxonomy apply to any UI; example surfaces use generic e-commerce framings — substitute the equivalents from your domain."
9859
10817
  },
9860
10818
  "concept": {
9861
- "analogy": "|",
9862
- "boundary": "|",
9863
- "definition": "Semiotics is the study of *sign systems* how signifiers (perceivable forms: icons, colors, shapes, positions, words) point to signifieds (concepts, states, actions) via convention, resemblance, or causal connection. Applied to interfaces, it is the discipline of designing and auditing the multi-channel sign systems through which a product communicates with its users. Drawing from Peirce's icon/index/symbol trichotomy, Saussure's signifier/signified dyad, Barthes' denotation/connotation/myth layering, and Norman's affordance theory, it treats every interface element as a sign whose meaning is constructed, not given.",
9864
- "mental_model": "|",
9865
- "misconception": "|",
9866
- "purpose": "|",
9867
- "taxonomy": "|"
10819
+ "analogy": "Semiotics is like stage direction for an interface: the words matter, but gesture, placement, lighting, costume, and timing tell the audience what the scene means before anyone explains it.",
10820
+ "boundary": "It owns sign-to-meaning analysis across visual and textual systems, not the final wording, visual craft, accessibility compliance, formal ontology, database modeling, or morphology rules.",
10821
+ "definition": "Semiotics is the study of sign systems: how signifiers such as icons, colors, shapes, positions, words, names, and interaction cues point to signified concepts, states, actions, or judgments through resemblance, causal trace, convention, and cultural association.",
10822
+ "mental_model": "Treat an interface as a layered sign system. Peirce helps classify icon, index, and symbol; Saussure separates signifier from signified; Barthes separates denotation, connotation, and myth; Norman's signifiers connect perceivable cues to expected action. A good surface aligns those layers so the user reads the intended meaning without extra inference.",
10823
+ "misconception": "The common mistake is treating sign-system failures as taste or polish. They are communication failures: if green signals good in one place and bad in another, or a non-interactive label looks clickable, the system is teaching users the wrong language.",
10824
+ "purpose": "It makes implicit communication explicit before users misread the product. The goal is to prevent sign drift, color-only state signaling, icon polysemy, misleading affordances, and code/API names that force readers to inspect implementation before they understand intent.",
10825
+ "taxonomy": "Core lenses include Peircean icon/index/symbol, Saussurean signifier/signified, Barthesian denotation/connotation/myth, affordance/signifier/anti-affordance, color-as-sign, shape/position channels, icon-system coherence, and code/API signifiers."
9868
10826
  },
9869
10827
  "description": "Use when designing or auditing icon systems, colors/badges/shapes, visual metaphors, interface signs, or naming-plus-visual surfaces that users misread. Covers semiotic reasoning across icon/index/symbol, signifier/signified, denotation/connotation/myth, color/shape/position/iconography, affordances, code/API signifiers, and semiotic-coherence audits. Do NOT use for actual UI wording (use `microcopy`), palette/typography craft (use `visual-design-foundations`), accessibility or contrast compliance (use `a11y`), formal class hierarchies, or word morphology rules.",
9870
10828
  "domain": "design/semantics",
10829
+ "grounding": {
10830
+ "domain_object": "Interface sign-system analysis for icons, color, badges, affordances, visual metaphors, and code/API signifiers",
10831
+ "evidence_priority": "equal",
10832
+ "failure_modes": [
10833
+ "icon_polysemy_masked_as_style_issue",
10834
+ "color_connotation_conflated_with_metric_direction",
10835
+ "disabled_state_lacks_anti_affordance",
10836
+ "abstract_icon_unpaired_before_convention_is_learned",
10837
+ "identifier_or_api_name_forces_reader_to_open_implementation"
10838
+ ],
10839
+ "grounding_mode": "universal",
10840
+ "truth_sources": [
10841
+ "https://plato.stanford.edu/archives/spr2024/entries/peirce-semiotics/",
10842
+ "https://openlibrary.org/books/OL23291521M/Course_in_general_linguistics.",
10843
+ "https://openlibrary.org/books/OL21215289M/Mythologies",
10844
+ "https://jnd.org/signifiers-not-affordances/",
10845
+ "https://www.nngroup.com/articles/icon-usability/",
10846
+ "https://www.w3.org/WAI/WCAG22/Understanding/use-of-color"
10847
+ ]
10848
+ },
9871
10849
  "health": {
9872
10850
  "comprehension_state": "present",
9873
10851
  "drift_check": {
9874
- "last_verified": "2026-05-16"
10852
+ "last_verified": "2026-05-18"
9875
10853
  },
9876
- "eval_artifacts": "present",
10854
+ "eval_artifacts": "planned",
9877
10855
  "eval_state": "unverified",
9878
- "freshness": "2026-05-16",
9879
- "has_grounding": false,
10856
+ "freshness": "2026-05-18",
10857
+ "has_grounding": true,
9880
10858
  "has_relations": true,
9881
10859
  "lifecycle": {
9882
10860
  "review_cadence": "quarterly",
@@ -9888,7 +10866,7 @@
9888
10866
  "license": "MIT",
9889
10867
  "name": "semiotics",
9890
10868
  "owner": "skill-graph-maintainer",
9891
- "path": "../skills/skills/semiotics/SKILL.md",
10869
+ "path": "../skills/skills/design/semiotics/SKILL.md",
9892
10870
  "portability": {
9893
10871
  "readiness": "scripted",
9894
10872
  "targets": [
@@ -9928,7 +10906,7 @@
9928
10906
  "scope": "portable",
9929
10907
  "stability": "experimental",
9930
10908
  "type": "capability",
9931
- "version": "1.1.0"
10909
+ "version": "1.2.0"
9932
10910
  },
9933
10911
  {
9934
10912
  "activation": {
@@ -9983,7 +10961,7 @@
9983
10961
  "license": "MIT",
9984
10962
  "name": "seo-strategy",
9985
10963
  "owner": "skill-graph-maintainer",
9986
- "path": "../skills/skills/seo-strategy/SKILL.md",
10964
+ "path": "../skills/skills/quality/seo-strategy/SKILL.md",
9987
10965
  "portability": {
9988
10966
  "readiness": "scripted",
9989
10967
  "targets": [
@@ -10069,7 +11047,7 @@
10069
11047
  "license": "MIT",
10070
11048
  "name": "server-actions-design",
10071
11049
  "owner": "skill-graph-maintainer",
10072
- "path": "../skills/skills/server-actions-design/SKILL.md",
11050
+ "path": "../skills/skills/engineering/frontend/server-actions-design/SKILL.md",
10073
11051
  "relations": {
10074
11052
  "boundary": [
10075
11053
  {
@@ -10162,7 +11140,7 @@
10162
11140
  "license": "MIT",
10163
11141
  "name": "server-components-design",
10164
11142
  "owner": "skill-graph-maintainer",
10165
- "path": "../skills/skills/server-components-design/SKILL.md",
11143
+ "path": "../skills/skills/engineering/frontend/server-components-design/SKILL.md",
10166
11144
  "relations": {
10167
11145
  "boundary": [
10168
11146
  {
@@ -10257,7 +11235,7 @@
10257
11235
  "license": "MIT",
10258
11236
  "name": "sharding-strategy",
10259
11237
  "owner": "skill-graph-maintainer",
10260
- "path": "../skills/skills/sharding-strategy/SKILL.md",
11238
+ "path": "../skills/skills/engineering/data/sharding-strategy/SKILL.md",
10261
11239
  "relations": {
10262
11240
  "boundary": [
10263
11241
  {
@@ -10344,7 +11322,7 @@
10344
11322
  "license": "CC-BY-4.0",
10345
11323
  "name": "shopify",
10346
11324
  "owner": "skill-graph-maintainer",
10347
- "path": "../skills/skills/shopify/SKILL.md",
11325
+ "path": "../skills/skills/engineering/shopify/SKILL.md",
10348
11326
  "relations": {
10349
11327
  "boundary": [
10350
11328
  {
@@ -10448,24 +11426,24 @@
10448
11426
  },
10449
11427
  "health": {
10450
11428
  "drift_check": {
10451
- "last_verified": "2026-05-13",
11429
+ "last_verified": "2026-05-18",
10452
11430
  "truth_source_hashes": {
10453
- "bin/skill-graph.js": "113a1e01ac7276ac1b5d77a1c32e35a73113da93fc33cfd0caf6db842d2d679f",
10454
- "docs/manifest-field-mapping.md": "aca0b7f2d4631be24a3e7daed1a1d207b488f253164a7d514b9db7af21c6177f",
10455
- "package.json": "7a3410a004aea78a2065092e289c0f3cf3c082298804dda6c5829eff22c14b62",
10456
- "scripts/check-protocol-consistency.js": "0ff39406d36e7a9e51c176f657f4f426d8bd5a3fe6411d28b9e9a93dc7d89f29",
10457
- "scripts/generate-manifest.js": "9d7bbbdae440fdb1763d61ffa7bda10c9efae92359d1c2139d0e971582d59e0e",
10458
- "scripts/lib/roots.js": "e742efa57b6c33ff1c87034b16a689d1499f6d53c1e6b740f3e9783db7fd557f",
10459
- "scripts/skill-graph-drift.js": "6b69c25b59c16b477a377e5ab40adb6ff30f72d5a12947772053a6cd16b1f409",
11431
+ "bin/skill-graph.js": "3048b6e2d9e648a25efa38152578217eaf230716c1dabc921e8f8d944164ec8b",
11432
+ "docs/manifest-field-mapping.md": "8de06aa16e23c219da1f5f2ec38b5b29aa912ad577377c8422e2300cdd77ee90",
11433
+ "package.json": "2f480e50b8eecaa022caf065b5bb98db5db407f4e3ff8553a092a3f70750edba",
11434
+ "scripts/check-protocol-consistency.js": "22f1f747b6b578e83ae371ac3f9af4b6906d94529f383d1785ed3303b4c5a008",
11435
+ "scripts/generate-manifest.js": "ec4ad89e21e44c272676846377679f59a272c193f0b0d448a7b6d881b0b9effc",
11436
+ "scripts/lib/roots.js": "49085fc54b2c6ff0ad23a2dffe25b5ab2b3d1e8d14a8d5b1e1eefb53a30f20de",
11437
+ "scripts/skill-graph-drift.js": "350f624a6e82bb488cd9abd3be4d832ca7892ce1c7f27d39efd97326e1f04db6",
10460
11438
  "scripts/skill-graph-routing-eval.js": "fffac2858863662bde6bc54c56bb77a219ae93f626e0c8d5886566f998181deb",
10461
- "scripts/skill-lint.js": "3a78f75f8921542b91dc619cd41bde29bf379de3c16bdcf3653c854ecbe9fa29",
11439
+ "scripts/skill-lint.js": "e5de8a822b88172079263c8316b173e688b71498c9ed6a8a54dd0fba6aa9fd66",
10462
11440
  "scripts/skill-overlap.js": "ed642cbc677cc76ec1321300b37d6752337b6b5541c7a9f558fd315d6f934e4b"
10463
11441
  }
10464
11442
  },
10465
11443
  "drift_detected": true,
10466
- "eval_artifacts": "planned",
11444
+ "eval_artifacts": "present",
10467
11445
  "eval_state": "unverified",
10468
- "freshness": "2026-05-13",
11446
+ "freshness": "2026-05-18",
10469
11447
  "has_grounding": true,
10470
11448
  "has_relations": true,
10471
11449
  "lifecycle": {
@@ -10478,7 +11456,7 @@
10478
11456
  "license": "MIT",
10479
11457
  "name": "skill-infrastructure",
10480
11458
  "owner": "skill-graph-maintainer",
10481
- "path": "../skills/skills/skill-infrastructure/SKILL.md",
11459
+ "path": "../skills/skills/agent/skill-system/skill-infrastructure/SKILL.md",
10482
11460
  "portability": {
10483
11461
  "readiness": "scripted",
10484
11462
  "targets": [
@@ -10513,7 +11491,7 @@
10513
11491
  "scope": "portable",
10514
11492
  "stability": "experimental",
10515
11493
  "type": "capability",
10516
- "version": "1.0.0"
11494
+ "version": "1.1.0"
10517
11495
  },
10518
11496
  {
10519
11497
  "activation": {
@@ -10689,11 +11667,11 @@
10689
11667
  },
10690
11668
  "health": {
10691
11669
  "drift_check": {
10692
- "last_verified": "2026-05-13",
11670
+ "last_verified": "2026-05-18",
10693
11671
  "truth_source_hashes": {
10694
11672
  "examples/evals/skill-router.json": "fccabcbc5f9d8057536f397fb0fc71a567371f75fb9a21afda343b197af30293",
10695
11673
  "examples/evals/skill-router.routing.json": "c4dc88db1e746bea78a7cf96b50c6c84532a07eda42da2e35d790c8928d4da8c",
10696
- "scripts/skill-graph-route.js": "b9a7b51d0e8b845b11473f479c4593754768c3775508049db7339892b2f08cc2",
11674
+ "scripts/skill-graph-route.js": "7c29b1bc2420887f32809b8f52f5bd448c1234542672e669a68247942dd77df4",
10697
11675
  "scripts/skill-graph-routing-eval.js": "fffac2858863662bde6bc54c56bb77a219ae93f626e0c8d5886566f998181deb"
10698
11676
  }
10699
11677
  },
@@ -10709,7 +11687,7 @@
10709
11687
  "license": "MIT",
10710
11688
  "name": "skill-router",
10711
11689
  "owner": "skill-graph-maintainer",
10712
- "path": "../skills/skills/skill-router/SKILL.md",
11690
+ "path": "../skills/skills/agent/skill-system/skill-router/SKILL.md",
10713
11691
  "portability": {
10714
11692
  "readiness": "scripted",
10715
11693
  "targets": [
@@ -10729,6 +11707,10 @@
10729
11707
  {
10730
11708
  "reason": "skill-infrastructure analyses routing-miss patterns across the whole library to find systemic gaps; skill-router authors the routing logic for one library at a time",
10731
11709
  "skill": "skill-infrastructure"
11710
+ },
11711
+ {
11712
+ "reason": "middleware-patterns owns the design of Next.js middleware (request/response transforms, edge runtime, matchers); skill-router owns agent skill dispatch. Writing a guide explaining 'how our routing works' is documentation about Next.js middleware patterns, not an agent skill routing exercise.",
11713
+ "skill": "middleware-patterns"
10732
11714
  }
10733
11715
  ],
10734
11716
  "verify_with": [
@@ -10766,12 +11748,15 @@
10766
11748
  "skill scaffold",
10767
11749
  "skill template",
10768
11750
  "skill frontmatter",
11751
+ "skill metadata protocol v6",
10769
11752
  "skill graph contract",
10770
11753
  "capability or workflow",
10771
11754
  "description vs coverage",
10772
11755
  "archetype selection",
10773
11756
  "skill body layout",
10774
11757
  "teaching layer",
11758
+ "understanding fields",
11759
+ "health block",
10775
11760
  "placeholder sludge",
10776
11761
  "cargo cult meta sections",
10777
11762
  "lint first authoring",
@@ -10783,38 +11768,45 @@
10783
11768
  "compatibility": {
10784
11769
  "notes": "Markdown, YAML, JSON Schema"
10785
11770
  },
11771
+ "concept": {
11772
+ "analogy": "A skill scaffold is like construction formwork: it gives the new structure its shape while the concrete sets, but the temporary braces must be removed before the finished building is occupied.",
11773
+ "boundary": "It is not routine editing, router debugging, static graph audit, general documentation, or domain-content review for an existing skill.",
11774
+ "definition": "Skill scaffolding is the protocol-backed process of creating a SKILL.md whose frontmatter, body sections, relations, grounding, and verification claims are coherent from the first commit.",
11775
+ "mental_model": "Think of a skill as a graph node with a routing contract, an instructional body, typed edges, evidence, and health state. Scaffolding is the work of shaping all five together before the node joins the graph.",
11776
+ "misconception": "The template is not copy text to fill in. It is an authoring instrument whose teaching layer must be removed and whose claims must be re-earned for the new skill.",
11777
+ "purpose": "It prevents cargo-culted templates, vague activation text, false eval claims, dangling relation targets, and stale schema assumptions from entering a skill library.",
11778
+ "taxonomy": "Authoring workflow adjacent to graph-audit, skill-router, skill-infrastructure, and naming-conventions; distinct because it happens before a skill is fully authored."
11779
+ },
10786
11780
  "description": "Use when creating a new SKILL.md from scratch, adapting an existing skill to a different archetype, or teaching another author the canonical Skill Metadata Protocol frontmatter and body structure. Covers schema-conformant frontmatter, archetype-aware body layout, semantic-layer discipline (description vs Coverage), teaching-layer mechanics (TEMPLATE NOTE blockquotes), the lint-first authoring gate, and the routing-eval honesty rule. Do NOT use when modifying an already-written skill (edit it directly), when writing general technical documentation (use `documentation`), or when fixing a malformed skill detected by lint (use `graph-audit` for systematic library health, not authoring scaffold help).",
10787
11781
  "domain": "agent/skill-system",
10788
11782
  "grounding": {
10789
- "domain_object": "Authoring a new SKILL.md against Skill Metadata Protocol v5",
10790
- "evidence_priority": "repo_code_first",
11783
+ "domain_object": "Authoring a new SKILL.md against Skill Metadata Protocol v6",
11784
+ "evidence_priority": "equal",
10791
11785
  "failure_modes": [
10792
11786
  "placeholder_sludge",
10793
11787
  "cargo_cult_meta_sections",
10794
11788
  "description_coverage_collapse",
10795
11789
  "authoring_gate_skipped",
10796
- "inflated_routing_eval"
11790
+ "inflated_routing_eval",
11791
+ "v5_v6_contract_drift"
10797
11792
  ],
10798
- "grounding_mode": "repo_specific",
11793
+ "grounding_mode": "hybrid",
10799
11794
  "truth_sources": [
10800
- "examples/skill-metadata-template.md",
10801
- "schemas/skill.v4.schema.json",
10802
- "docs/skill-metadata-protocol.md"
11795
+ "https://github.com/jacob-balslev/skill-graph/blob/main/examples/skill-metadata-template.md",
11796
+ "https://github.com/jacob-balslev/skill-metadata-protocol/blob/main/SKILL_METADATA_PROTOCOL.md",
11797
+ "https://github.com/jacob-balslev/skill-metadata-protocol/blob/main/schemas/skill.v6.schema.json",
11798
+ "https://github.com/jacob-balslev/skill-metadata-protocol/blob/main/docs/field-reference.md",
11799
+ "https://github.com/jacob-balslev/skill-metadata-protocol/blob/main/docs/migrations/v5-to-v6.md"
10803
11800
  ]
10804
11801
  },
10805
11802
  "health": {
11803
+ "comprehension_state": "present",
10806
11804
  "drift_check": {
10807
- "last_verified": "2026-05-14",
10808
- "truth_source_hashes": {
10809
- "docs/skill-metadata-protocol.md": "08ad662c5f470fac337aa559dacd0b9e882be7df8d7918f20a5d4e3aaaaa2ed7",
10810
- "examples/skill-metadata-template.md": "42b3185ebf53f9efc6a32977ee9408efce0957c0a7ed62cabca97cb83c33600a",
10811
- "schemas/skill.v4.schema.json": "e83d6be8b1314488b39b8c7bec2784d6459980d3f9965be68ad1c9a53865622d"
10812
- }
11805
+ "last_verified": "2026-05-18"
10813
11806
  },
10814
- "drift_detected": true,
10815
11807
  "eval_artifacts": "planned",
10816
11808
  "eval_state": "unverified",
10817
- "freshness": "2026-05-04",
11809
+ "freshness": "2026-05-18",
10818
11810
  "has_grounding": true,
10819
11811
  "has_relations": true,
10820
11812
  "lifecycle": {
@@ -10827,7 +11819,7 @@
10827
11819
  "license": "MIT",
10828
11820
  "name": "skill-scaffold",
10829
11821
  "owner": "skill-graph-maintainer",
10830
- "path": "../skills/skills/skill-scaffold/SKILL.md",
11822
+ "path": "../skills/skills/agent/skill-system/skill-scaffold/SKILL.md",
10831
11823
  "portability": {
10832
11824
  "readiness": "scripted",
10833
11825
  "targets": [
@@ -10856,7 +11848,7 @@
10856
11848
  "scope": "reference",
10857
11849
  "stability": "experimental",
10858
11850
  "type": "capability",
10859
- "version": "1.0.0"
11851
+ "version": "1.1.0"
10860
11852
  },
10861
11853
  {
10862
11854
  "activation": {
@@ -10922,7 +11914,7 @@
10922
11914
  "license": "MIT",
10923
11915
  "name": "snapshot-testing",
10924
11916
  "owner": "skill-graph-maintainer",
10925
- "path": "../skills/skills/snapshot-testing/SKILL.md",
11917
+ "path": "../skills/skills/quality/testing/snapshot-testing/SKILL.md",
10926
11918
  "relations": {
10927
11919
  "boundary": [
10928
11920
  {
@@ -10963,10 +11955,13 @@
10963
11955
  "keywords": [
10964
11956
  "spec driven development",
10965
11957
  "SDD",
11958
+ "specification first",
10966
11959
  "technical plan",
10967
11960
  "task decomposition",
10968
- "specification",
10969
- "architecture plan",
11961
+ "spec.md",
11962
+ "plan.md",
11963
+ "tasks.md",
11964
+ "requirements before code",
10970
11965
  "phase gates",
10971
11966
  "AI engineering methodology"
10972
11967
  ],
@@ -10981,16 +11976,34 @@
10981
11976
  "compatibility": {
10982
11977
  "notes": "Markdown, Git, agent-skill runtimes"
10983
11978
  },
10984
- "description": "This skill provides Spec Driven Development (SDD) expertise for AI engineering: the Specify Plan Tasks Implement lifecycle. Use when starting any non-trivial task, refactoring a core module, or when an agent loop has stalled due to ambiguous requirements. Do NOT use for one-line edits or README fixes.",
11979
+ "description": "Use when starting a non-trivial feature, refactor, or agent implementation that needs a written spec, plan, task breakdown, and verification path before code changes. Covers Spec Kit-style SDD phases, requirements-vs-plan separation, task traceability, review gates, and spec-compliance verification. Do NOT use for one-line edits, README-only fixes, post-implementation code review (use `code-review`), or test-level decisions (use `testing-strategy`).",
10985
11980
  "domain": "engineering/methodology",
11981
+ "grounding": {
11982
+ "domain_object": "Spec-driven development workflow for AI-assisted engineering using specification, plan, task, implementation, and verification artifacts",
11983
+ "evidence_priority": "equal",
11984
+ "failure_modes": [
11985
+ "code_started_before_spec_or_plan",
11986
+ "implementation_plan_missing_architecture_contracts_or_tests",
11987
+ "tasks_not_traceable_to_plan_or_success_criteria",
11988
+ "verification_not_mapped_to_spec_requirements",
11989
+ "workflow_requires_vendor_specific_commands_when_plain_markdown_would_work"
11990
+ ],
11991
+ "grounding_mode": "hybrid",
11992
+ "truth_sources": [
11993
+ "https://github.github.com/spec-kit/index.html",
11994
+ "https://github.github.com/spec-kit/reference/workflows.html",
11995
+ "https://github.com/github/spec-kit",
11996
+ "https://standards.ieee.org/ieee/29148/6937/"
11997
+ ]
11998
+ },
10986
11999
  "health": {
10987
12000
  "drift_check": {
10988
- "last_verified": "2026-03-28"
12001
+ "last_verified": "2026-05-18"
10989
12002
  },
10990
12003
  "eval_artifacts": "planned",
10991
12004
  "eval_state": "unverified",
10992
- "freshness": "2026-03-28",
10993
- "has_grounding": false,
12005
+ "freshness": "2026-05-18",
12006
+ "has_grounding": true,
10994
12007
  "has_relations": true,
10995
12008
  "lifecycle": {
10996
12009
  "review_cadence": "quarterly",
@@ -11002,7 +12015,7 @@
11002
12015
  "license": "MIT",
11003
12016
  "name": "spec-driven-development",
11004
12017
  "owner": "skill-graph-maintainer",
11005
- "path": "../skills/skills/spec-driven-development/SKILL.md",
12018
+ "path": "../skills/skills/engineering/spec-driven-development/SKILL.md",
11006
12019
  "portability": {
11007
12020
  "readiness": "scripted",
11008
12021
  "targets": [
@@ -11010,14 +12023,29 @@
11010
12023
  ]
11011
12024
  },
11012
12025
  "relations": {
12026
+ "boundary": [
12027
+ {
12028
+ "reason": "code-review evaluates a concrete diff after implementation; spec-driven-development shapes the spec, plan, and task path before implementation",
12029
+ "skill": "code-review"
12030
+ },
12031
+ {
12032
+ "reason": "testing-strategy decides the right test level and regression target; spec-driven-development only requires that the plan names verification evidence traceable to the spec",
12033
+ "skill": "testing-strategy"
12034
+ }
12035
+ ],
12036
+ "related": [
12037
+ "testing-strategy",
12038
+ "evaluation"
12039
+ ],
11013
12040
  "verify_with": [
11014
- "code-review"
12041
+ "code-review",
12042
+ "testing-strategy"
11015
12043
  ]
11016
12044
  },
11017
12045
  "scope": "reference",
11018
12046
  "stability": "experimental",
11019
12047
  "type": "workflow",
11020
- "version": "1.0.0"
12048
+ "version": "1.1.0"
11021
12049
  },
11022
12050
  {
11023
12051
  "activation": {
@@ -11071,7 +12099,7 @@
11071
12099
  "license": "MIT",
11072
12100
  "name": "state-machine-modeling",
11073
12101
  "owner": "skill-graph-maintainer",
11074
- "path": "../skills/skills/state-machine-modeling/SKILL.md",
12102
+ "path": "../skills/skills/engineering/state-machine-modeling/SKILL.md",
11075
12103
  "portability": {
11076
12104
  "readiness": "scripted",
11077
12105
  "targets": [
@@ -11185,7 +12213,7 @@
11185
12213
  "license": "MIT",
11186
12214
  "name": "state-management",
11187
12215
  "owner": "skill-graph-maintainer",
11188
- "path": "../skills/skills/state-management/SKILL.md",
12216
+ "path": "../skills/skills/engineering/frontend/state-management/SKILL.md",
11189
12217
  "relations": {
11190
12218
  "boundary": [
11191
12219
  {
@@ -11291,7 +12319,7 @@
11291
12319
  "license": "MIT",
11292
12320
  "name": "streaming-architecture",
11293
12321
  "owner": "skill-graph-maintainer",
11294
- "path": "../skills/skills/streaming-architecture/SKILL.md",
12322
+ "path": "../skills/skills/engineering/streaming-architecture/SKILL.md",
11295
12323
  "relations": {
11296
12324
  "boundary": [
11297
12325
  {
@@ -11328,6 +12356,63 @@
11328
12356
  "type": "capability",
11329
12357
  "version": "1.0.0"
11330
12358
  },
12359
+ {
12360
+ "activation": {
12361
+ "keywords": [
12362
+ "stripeEventMapper",
12363
+ "stripe-event-mapper",
12364
+ "stripe event mapper",
12365
+ "stripe webhook event",
12366
+ "stripe_order_links",
12367
+ "payout reconciliation",
12368
+ "payout matching",
12369
+ "balance transaction"
12370
+ ],
12371
+ "triggers": [
12372
+ "stripe-skill",
12373
+ "reconciliation-skill",
12374
+ "payment-skill",
12375
+ "stripe-fee-skill",
12376
+ "stripe-webhook-skill",
12377
+ "stripe-refund-skill",
12378
+ "stripe-dispute-skill",
12379
+ "payment-reconciliation-skill"
12380
+ ]
12381
+ },
12382
+ "category": "engineering",
12383
+ "description": "Stripe payment reconciliation for Sales Hub: webhook lifecycle (signature verification, idempotency, PII-redacted raw event storage, order linking, ledger projection, normalization queueing), fee allocation from balance transactions, refund/dispute handling, currency conversion via fx_rates_daily, GDPR erasure, and the gateway allocator registry. Covers stripe_events_raw, stripe_payments_raw, stripe_order_links, and the `stripe_balance_transactions` fee-allocation read path used by jobs. Use when reconciling Stripe charges against platform orders, allocating Stripe fees to order line items, handling refunds or disputes from Stripe, debugging stripe_order_links mismatches, implementing payment-to-order linkage, or building financial event views. Do NOT use for Shopify Payments fee allocation (use shopify / gateway-specific finance logic), full 8-component profit formula (use data-reconciliation skill), or subscription billing management (use billing-subscription).",
12384
+ "health": {
12385
+ "eval_artifacts": "present",
12386
+ "eval_state": "passing",
12387
+ "freshness": "2026-05-18",
12388
+ "has_grounding": false,
12389
+ "has_relations": true,
12390
+ "routing_eval": "present"
12391
+ },
12392
+ "id": "stripe-ledger-recon",
12393
+ "name": "stripe-ledger-recon",
12394
+ "owner": "claude",
12395
+ "path": "../skills/skills/engineering/stripe-ledger-recon/SKILL.md",
12396
+ "relations": {
12397
+ "adjacent": [
12398
+ "deterministic",
12399
+ "data-reconciliation",
12400
+ "financial-allocation",
12401
+ "feature-gating"
12402
+ ],
12403
+ "boundary": [
12404
+ "webhook-integration",
12405
+ "entity-resolution",
12406
+ "shopify"
12407
+ ],
12408
+ "verify_with": [
12409
+ "feature-gating"
12410
+ ]
12411
+ },
12412
+ "scope": "codebase",
12413
+ "type": "capability",
12414
+ "version": "3.0.0"
12415
+ },
11331
12416
  {
11332
12417
  "activation": {
11333
12418
  "keywords": [
@@ -11354,16 +12439,46 @@
11354
12439
  "compatibility": {
11355
12440
  "notes": "Markdown, Git, agent-skill runtimes"
11356
12441
  },
11357
- "description": "Prose condensation and abstraction patterns for AI agents: extracting key findings from long reports, writing executive summaries, creating TLDRs, compressing context for handoffs between agents, progressive summarization (literature notes → permanent notes), audit report condensation, and the discipline of deciding what to keep and what to cut when space is limited. Use when summarizing session findings, writing wrap reports, condensing research for memory files, creating executive summaries of audits, compressing context before agent handoffs, or distilling long documents into actionable briefs. Do NOT use for data compression algorithms (use compression), context window budget management (use token-efficiency), or document structure (use editorial-standards).",
12442
+ "concept": {
12443
+ "analogy": "Summarization is like packing an evidence suitcase for a trip: you cannot bring the whole room, so you choose the items the next person will actually need, label where they came from, and leave a map back to the rest.",
12444
+ "boundary": "It is not byte compression, context-budget math, working-set selection, prose tone repair, or quality scoring. Those neighboring skills decide size constraints, context membership, style, and evaluation; summarization preserves meaning inside the chosen constraint.",
12445
+ "definition": "Summarization is semantic compression of prose: creating a shorter artifact that preserves the source's main meaning, task-relevant evidence, decisions, and provenance while intentionally omitting lower-value detail.",
12446
+ "mental_model": "Treat every summary as a lossy transform with a declared audience and job. First choose the summary level, then preserve the causal chain and evidence links, then cut material whose absence will not harm the reader's next decision.",
12447
+ "misconception": "Shorter is not automatically better. A summary that drops the decisive evidence, hides findings, or invents a clean story is worse than the messy source.",
12448
+ "purpose": "It turns long agent outputs, research notes, audit reports, and handoff materials into usable briefs without losing the facts a successor needs to trust or continue the work.",
12449
+ "taxonomy": "Core forms include TLDR, executive summary, brief, condensed report, progressive summary, agent handoff, research-to-memory note, and audit summary. Core methods include extractive, abstractive, synthesis, evidence-linking, and priority grouping."
12450
+ },
12451
+ "description": "Use when condensing prose while preserving meaning: session findings, wrap reports, research briefs, executive summaries, TLDRs, agent handoffs, progressive summaries, audit summaries, and long-document distillation. Covers extractive vs abstractive summarization, what to keep vs drop, evidence preservation, summary levels, handoff summaries, and audit-report condensation without hiding findings. Do NOT use for byte/data compression algorithms (use `compression`), context-window budget math or compaction triggers (use `context-window`), working-set selection (use `context-management`), prose tone repair (use `writing-humanizer`), or quality scoring (use `evaluation`).",
11358
12452
  "domain": "agent/cognition",
12453
+ "grounding": {
12454
+ "domain_object": "Prose summarization and agent handoff condensation",
12455
+ "evidence_priority": "equal",
12456
+ "failure_modes": [
12457
+ "summary_drops_decisive_evidence",
12458
+ "summary_introduces_new_claims",
12459
+ "audit_summary_hides_findings",
12460
+ "handoff_omits_next_step",
12461
+ "style_polish_overrides_meaning_preservation"
12462
+ ],
12463
+ "grounding_mode": "hybrid",
12464
+ "truth_sources": [
12465
+ "https://owl.purdue.edu/owl/research_and_citation/using_research/quoting_paraphrasing_and_summarizing/index.html",
12466
+ "https://fortelabs.com/blog/progressive-summarization-a-practical-technique-for-designing-discoverable-notes/",
12467
+ "https://arxiv.org/abs/2204.09519",
12468
+ "https://github.com/jacob-balslev/skills/blob/main/skills/agent/context/context-management/SKILL.md",
12469
+ "https://github.com/jacob-balslev/skills/blob/main/skills/agent/context/context-window/SKILL.md",
12470
+ "https://github.com/jacob-balslev/skills/blob/main/skills/design/writing-humanizer/SKILL.md"
12471
+ ]
12472
+ },
11359
12473
  "health": {
12474
+ "comprehension_state": "present",
11360
12475
  "drift_check": {
11361
- "last_verified": "2026-03-28"
12476
+ "last_verified": "2026-05-18"
11362
12477
  },
11363
12478
  "eval_artifacts": "planned",
11364
12479
  "eval_state": "unverified",
11365
- "freshness": "2026-03-28",
11366
- "has_grounding": false,
12480
+ "freshness": "2026-05-18",
12481
+ "has_grounding": true,
11367
12482
  "has_relations": true,
11368
12483
  "lifecycle": {
11369
12484
  "review_cadence": "quarterly",
@@ -11375,7 +12490,7 @@
11375
12490
  "license": "MIT",
11376
12491
  "name": "summarization",
11377
12492
  "owner": "skill-graph-maintainer",
11378
- "path": "../skills/skills/summarization/SKILL.md",
12493
+ "path": "../skills/skills/agent/summarization/SKILL.md",
11379
12494
  "portability": {
11380
12495
  "readiness": "scripted",
11381
12496
  "targets": [
@@ -11384,21 +12499,41 @@
11384
12499
  },
11385
12500
  "relations": {
11386
12501
  "boundary": [
11387
- "compression",
11388
- "context-window"
12502
+ {
12503
+ "reason": "compression owns byte, payload, and storage compression; summarization owns semantic prose condensation",
12504
+ "skill": "compression"
12505
+ },
12506
+ {
12507
+ "reason": "context-window owns token-budget math and compaction triggers; summarization is one technique for shrinking prose after the budget decision is made",
12508
+ "skill": "context-window"
12509
+ },
12510
+ {
12511
+ "reason": "context-management decides what belongs in the active working set; summarization condenses selected material into a usable form",
12512
+ "skill": "context-management"
12513
+ },
12514
+ {
12515
+ "reason": "writing-humanizer repairs tone and AI-patterned prose; summarization decides what meaning to preserve and what to omit",
12516
+ "skill": "writing-humanizer"
12517
+ },
12518
+ {
12519
+ "reason": "evaluation scores work quality; summarization may report scores but does not define the rubric",
12520
+ "skill": "evaluation"
12521
+ }
11389
12522
  ],
11390
12523
  "related": [
11391
12524
  "context-management",
12525
+ "context-window",
11392
12526
  "writing-humanizer"
11393
12527
  ],
11394
12528
  "verify_with": [
11395
- "evaluation"
12529
+ "evaluation",
12530
+ "writing-humanizer"
11396
12531
  ]
11397
12532
  },
11398
12533
  "scope": "reference",
11399
12534
  "stability": "experimental",
11400
12535
  "type": "capability",
11401
- "version": "1.0.0"
12536
+ "version": "1.1.0"
11402
12537
  },
11403
12538
  {
11404
12539
  "activation": {
@@ -11467,7 +12602,7 @@
11467
12602
  "license": "MIT",
11468
12603
  "name": "suspense-patterns",
11469
12604
  "owner": "skill-graph-maintainer",
11470
- "path": "../skills/skills/suspense-patterns/SKILL.md",
12605
+ "path": "../skills/skills/engineering/frontend/suspense-patterns/SKILL.md",
11471
12606
  "relations": {
11472
12607
  "boundary": [
11473
12608
  {
@@ -11548,7 +12683,7 @@
11548
12683
  "license": "MIT",
11549
12684
  "name": "system-interface-contracts",
11550
12685
  "owner": "skill-graph-maintainer",
11551
- "path": "../skills/skills/system-interface-contracts/SKILL.md",
12686
+ "path": "../skills/skills/engineering/system-interface-contracts/SKILL.md",
11552
12687
  "portability": {
11553
12688
  "readiness": "scripted",
11554
12689
  "targets": [
@@ -11661,7 +12796,7 @@
11661
12796
  "license": "MIT",
11662
12797
  "name": "task-analysis",
11663
12798
  "owner": "skill-graph-maintainer",
11664
- "path": "../skills/skills/task-analysis/SKILL.md",
12799
+ "path": "../skills/skills/foundations/task-analysis/SKILL.md",
11665
12800
  "portability": {
11666
12801
  "readiness": "scripted",
11667
12802
  "targets": [
@@ -11716,6 +12851,67 @@
11716
12851
  "type": "workflow",
11717
12852
  "version": "1.0.0"
11718
12853
  },
12854
+ {
12855
+ "activation": {
12856
+ "keywords": [
12857
+ "optimal path",
12858
+ "plan vs act",
12859
+ "task decomposition",
12860
+ "critical path",
12861
+ "parallelization strategy",
12862
+ "agent architecture",
12863
+ "scope management",
12864
+ "execution efficiency",
12865
+ "shortest path to solution",
12866
+ "when to plan",
12867
+ "when to act immediately",
12868
+ "fresh approach",
12869
+ "task complexity assessment"
12870
+ ],
12871
+ "triggers": [
12872
+ "task-path-optimization",
12873
+ "execution-strategy",
12874
+ "approach-selection"
12875
+ ]
12876
+ },
12877
+ "category": "agent",
12878
+ "description": "This skill provides decision frameworks for choosing the optimal execution path before starting work: plan-vs-act gates, agent architecture selection (chaining, routing, parallelization, orchestrator-worker, evaluator-optimizer), scope management heuristics, critical-path analysis across task networks, and context budget awareness. Use when deciding how to approach a task (plan first vs act immediately), decomposing complex work into parallelizable subtasks, choosing between subagent patterns, or when a task has failed twice and needs a fresh approach. Do NOT use for executing the chosen plan (use task-execution), debugging failures (use troubleshooting or diagnosis), or tool-level efficiency (use tool-call-strategy).",
12879
+ "health": {
12880
+ "comprehension_state": "present",
12881
+ "eval_artifacts": "present",
12882
+ "eval_state": "passing",
12883
+ "freshness": "2026-05-18",
12884
+ "has_grounding": false,
12885
+ "has_relations": true,
12886
+ "routing_eval": "present"
12887
+ },
12888
+ "id": "task-path-optimization",
12889
+ "name": "task-path-optimization",
12890
+ "owner": "claude",
12891
+ "path": "../skills/skills/agent/task-path-optimization/SKILL.md",
12892
+ "relations": {
12893
+ "adjacent": [
12894
+ "task-lifecycle",
12895
+ "agents",
12896
+ "task-sizing",
12897
+ "sequential-thinking",
12898
+ "codebase-search",
12899
+ "task-execution"
12900
+ ],
12901
+ "boundary": [
12902
+ "tool-call-strategy",
12903
+ "diagnosis",
12904
+ "troubleshooting"
12905
+ ],
12906
+ "verify_with": [
12907
+ "task-evaluation",
12908
+ "code-review"
12909
+ ]
12910
+ },
12911
+ "scope": "portable",
12912
+ "type": "capability",
12913
+ "version": "1.1.0"
12914
+ },
11719
12915
  {
11720
12916
  "activation": {
11721
12917
  "anti_examples": [
@@ -11780,7 +12976,7 @@
11780
12976
  "license": "MIT",
11781
12977
  "name": "taxonomy-design",
11782
12978
  "owner": "skill-graph-maintainer",
11783
- "path": "../skills/skills/taxonomy-design/SKILL.md",
12979
+ "path": "../skills/skills/foundations/taxonomy-design/SKILL.md",
11784
12980
  "portability": {
11785
12981
  "readiness": "scripted",
11786
12982
  "targets": [
@@ -11884,7 +13080,7 @@
11884
13080
  "license": "MIT",
11885
13081
  "name": "test-coverage-strategy",
11886
13082
  "owner": "skill-graph-maintainer",
11887
- "path": "../skills/skills/test-coverage-strategy/SKILL.md",
13083
+ "path": "../skills/skills/quality/testing/test-coverage-strategy/SKILL.md",
11888
13084
  "relations": {
11889
13085
  "boundary": [
11890
13086
  {
@@ -11984,7 +13180,7 @@
11984
13180
  "license": "MIT",
11985
13181
  "name": "test-doubles-design",
11986
13182
  "owner": "skill-graph-maintainer",
11987
- "path": "../skills/skills/test-doubles-design/SKILL.md",
13183
+ "path": "../skills/skills/quality/testing/test-doubles-design/SKILL.md",
11988
13184
  "relations": {
11989
13185
  "boundary": [
11990
13186
  {
@@ -12061,33 +13257,65 @@
12061
13257
  "allowed-tools": "Read Grep",
12062
13258
  "category": "quality",
12063
13259
  "concept": {
12064
- "analogy": "|",
12065
- "boundary": "|",
12066
- "definition": "Test-Driven Development is a software design discipline in which the test for a behavior is written before the production code that satisfies the test, then production code is written until the test passes, then the code is restructured to improve its shape while the test continues to pass. The cycle — red (failing test), green (passing test), refactor (clean code, still passing) — is the unit of work, and the test suite is the design pressure that shapes the production code. TDD is not 'writing tests first' as a procedural rule; it is using the act of writing a test as the moment to design the interface, decompose the responsibility, and discover what the code should be. The tests are a beneficial side effect of doing design through the test-writing lens; mistaking the side effect for the purpose is the most common failure mode.",
12067
- "mental_model": "|",
12068
- "misconception": "|",
12069
- "purpose": "|",
12070
- "taxonomy": "|"
13260
+ "analogy": "TDD is to code design what a piano-teacher metronome is to a student performance: the rhythm is not the music, but it surfaces rushed measures and hesitations early enough to correct them before they become habit.",
13261
+ "boundary": "Testing-strategy chooses what level and scope deserves a test; TDD prescribes the rhythm inside that chosen surface. Test-doubles-design chooses the stand-ins used by tests; TDD chooses when and why tests are written. Refactor owns behavior-preserving restructuring; TDD invokes refactor as the third beat. Eval-driven-development is the LLM analog with statistical pass-rate rather than binary test pass/fail.",
13262
+ "definition": "Test-Driven Development is a software design discipline in which the test for a behavior is written before the production code that satisfies it, the production code is written until the test passes, and the code is then refactored while the test suite stays green. The red-green-refactor cycle is the unit of work; the test suite is the design pressure that shapes the code.",
13263
+ "mental_model": "TDD applies pressure through short red-green-refactor loops. Red names one behavior before implementation, green proves the smallest production change satisfies it, and refactor improves the code and test shape without changing behavior. London-school TDD applies pressure through collaborator interactions and mocks; Detroit-school TDD applies pressure through observable state and sparse doubles; hybrid practice names which pressure is intentional.",
13264
+ "misconception": "The common mistake is treating TDD as a mechanical rule to write tests first. Tests are not the point; they are the artifact of design through a test-shaped tool. A team that writes tests first but ignores design pressure gets the cost without the benefit.",
13265
+ "purpose": "TDD solves the problem of tests written after implementation merely mirroring the implementation. Writing the test first forces the interface, responsibility, and observable behavior to be designed before internal structure hardens. Regression coverage is a side effect; the primary purpose is design feedback while change is still cheap.",
13266
+ "taxonomy": "Prerequisite: testing-strategy selects the test surface. Composition: test-doubles-design supplies mocks, stubs, fakes, spies, and dummies when the chosen TDD school needs them. Phase relation: refactor is the third beat of each cycle. Alternative/analog: eval-driven-development adapts the iteration-first discipline to stochastic LLM systems."
12071
13267
  },
12072
13268
  "description": "Use when reasoning about Test-Driven Development as a design discipline rather than a workflow: the red-green-refactor cycle as a feedback loop, the difference between London-school (outside-in, interaction-heavy, mock-driven) and Detroit-school (inside-out, state-heavy, classicist) TDD, the role of TDD as a design tool (how tests pressure code into more decomposable shapes), the connection between TDD and emergent design, the boundary between TDD and prior-test-suites, why TDD's failure mode is not 'no tests' but 'tests that mirror implementation', and the empirical record of TDD's effects on defect density, design quality, and development velocity. Do NOT use for the strategy of what to test at which level (use testing-strategy), the construction of test doubles (use test-doubles-design), the discipline of LLM eval iteration (use eval-driven-development), or general-software process workflow (use the obra/superpowers test-driven-development workflow skill — this skill is the concept-shape complement).",
12073
13269
  "domain": "quality/testing",
13270
+ "grounding": {
13271
+ "domain_object": "Reference-grounded Test-Driven Development concept, school taxonomy, design-discipline mechanics, and empirical evidence boundaries",
13272
+ "evidence_priority": "equal",
13273
+ "failure_modes": [
13274
+ "treating_test_first_order_as_tdd_without_refactor_design_pressure",
13275
+ "over_specifying_interactions_so_tests_mirror_implementation",
13276
+ "choosing_london_or_detroit_school_accidentally",
13277
+ "using_tdd_as_a_substitute_for_testing_strategy",
13278
+ "treating_empirical_defect_reduction_numbers_as_guaranteed_outcomes",
13279
+ "claiming_eval_or_routing_verification_without_a_run"
13280
+ ],
13281
+ "grounding_mode": "universal",
13282
+ "truth_sources": [
13283
+ "https://martinfowler.com/bliki/TestDrivenDevelopment.html",
13284
+ "https://martinfowler.com/articles/mocksArentStubs.html",
13285
+ "https://link.springer.com/article/10.1007/s10664-008-9062-z",
13286
+ "https://ieeexplore.ieee.org/document/1423994",
13287
+ "https://ieeexplore.ieee.org/document/4493089",
13288
+ "https://doi.org/10.1016/j.infsof.2016.02.004",
13289
+ "https://dannorth.net/introducing-bdd/"
13290
+ ]
13291
+ },
12074
13292
  "health": {
12075
13293
  "comprehension_state": "present",
12076
13294
  "drift_check": {
12077
- "last_verified": "2026-05-16"
13295
+ "last_verified": "2026-05-18"
12078
13296
  },
12079
13297
  "eval_artifacts": "planned",
12080
13298
  "eval_state": "unverified",
12081
- "freshness": "2026-05-16",
12082
- "has_grounding": false,
13299
+ "freshness": "2026-05-18",
13300
+ "has_grounding": true,
12083
13301
  "has_relations": true,
13302
+ "lifecycle": {
13303
+ "review_cadence": "quarterly",
13304
+ "stale_after_days": 180
13305
+ },
12084
13306
  "routing_eval": "absent"
12085
13307
  },
12086
13308
  "id": "test-driven-development",
12087
13309
  "license": "MIT",
12088
13310
  "name": "test-driven-development",
12089
13311
  "owner": "skill-graph-maintainer",
12090
- "path": "../skills/skills/test-driven-development/SKILL.md",
13312
+ "path": "../skills/skills/quality/testing/test-driven-development/SKILL.md",
13313
+ "portability": {
13314
+ "readiness": "scripted",
13315
+ "targets": [
13316
+ "skill-md"
13317
+ ]
13318
+ },
12091
13319
  "relations": {
12092
13320
  "boundary": [
12093
13321
  {
@@ -12122,7 +13350,7 @@
12122
13350
  "scope": "reference",
12123
13351
  "stability": "experimental",
12124
13352
  "type": "capability",
12125
- "version": "1.0.0"
13353
+ "version": "1.2.0"
12126
13354
  },
12127
13355
  {
12128
13356
  "activation": {
@@ -12158,7 +13386,11 @@
12158
13386
  "automated test",
12159
13387
  "manual QA coverage",
12160
13388
  "passes manual QA",
12161
- "test level decision"
13389
+ "test level decision",
13390
+ "right test level",
13391
+ "correct test level",
13392
+ "test level for webhook",
13393
+ "test level for handler"
12162
13394
  ],
12163
13395
  "triggers": [
12164
13396
  "testing-skill"
@@ -12185,7 +13417,7 @@
12185
13417
  "license": "MIT",
12186
13418
  "name": "testing-strategy",
12187
13419
  "owner": "skill-graph-maintainer",
12188
- "path": "../skills/skills/testing-strategy/SKILL.md",
13420
+ "path": "../skills/skills/quality/testing-strategy/SKILL.md",
12189
13421
  "portability": {
12190
13422
  "readiness": "scripted",
12191
13423
  "targets": [
@@ -12205,6 +13437,10 @@
12205
13437
  {
12206
13438
  "reason": "integration-test-design owns the design of integration-level tests including their setup and data lifecycle; the 'duplicated test setup across three files' anti_example has token overlap with integration-test setup discipline. testing-strategy decides what level a test should be; integration-test-design owns how to design integration tests once chosen.",
12207
13439
  "skill": "integration-test-design"
13440
+ },
13441
+ {
13442
+ "reason": "microcopy owns functional UI text and contributor-facing writing; testing-strategy decides what and how to test. Writing a testing-patterns guide for contributor docs is a documentation/writing task owned by microcopy, not a test-scope decision.",
13443
+ "skill": "microcopy"
12208
13444
  }
12209
13445
  ],
12210
13446
  "verify_with": [
@@ -12270,7 +13506,7 @@
12270
13506
  "license": "CC-BY-4.0",
12271
13507
  "name": "theme-system-design",
12272
13508
  "owner": "skill-graph-maintainer",
12273
- "path": "../skills/skills/theme-system-design/SKILL.md",
13509
+ "path": "../skills/skills/design/theme-system-design/SKILL.md",
12274
13510
  "relations": {
12275
13511
  "boundary": [
12276
13512
  {
@@ -12360,7 +13596,7 @@
12360
13596
  "license": "MIT",
12361
13597
  "name": "tool-call-flow",
12362
13598
  "owner": "skill-graph-maintainer",
12363
- "path": "../skills/skills/tool-call-flow/SKILL.md",
13599
+ "path": "../skills/skills/agent/tool-call-flow/SKILL.md",
12364
13600
  "relations": {
12365
13601
  "boundary": [
12366
13602
  {
@@ -12447,16 +13683,45 @@
12447
13683
  "compatibility": {
12448
13684
  "notes": "Provider-agnostic; abstract tool capabilities map to concrete tools across Claude Code, Cursor, Copilot, OpenCode, Aider, Continue. Specific tool names in this skill (read_file, grep_search, run_in_terminal, apply_patch) are concrete examples — substitute the equivalent in your harness."
12449
13685
  },
13686
+ "concept": {
13687
+ "analogy": "Tool-call strategy is like planning queries against a slow, expensive database: ask the smallest question that returns the needed evidence, combine independent queries when possible, avoid repeating a query whose result is already in hand, and use set-based operations for bulk deterministic work.",
13688
+ "boundary": "It is not the tool-call protocol itself, prompt wording, whole-context architecture, runtime debugging, or refactor methodology. It owns per-call efficiency choices inside those broader workflows.",
13689
+ "definition": "Tool-call strategy is the discipline of choosing, batching, sequencing, and shaping an agent's external operations so each call produces enough evidence for the next decision without unnecessary latency, token cost, or context pollution.",
13690
+ "mental_model": "Treat tool use as query planning for an expensive, persistent evidence stream. Each call should have a specific information need, a bounded expected result, and a clear reason it cannot be satisfied from existing context. Independent calls can run together; dependent calls wait; deterministic bulk work moves into scripts; judgment-dependent work stays in the agent loop.",
13691
+ "misconception": "Fewer calls is not automatically better. The correct target is sufficient evidence with minimal noise; skipping a needed check is worse than making one more focused call.",
13692
+ "purpose": "It keeps agents fast and accurate by preventing redundant reads, serial round trips, noisy outputs, and manual N+1 edits while preserving enough verification to avoid hallucination.",
13693
+ "taxonomy": "Core levers include tool selection, script-vs-call gating, batching and parallelization, dependency detection, redundancy checks, output bounding, subagent isolation, and reviewable edit strategy."
13694
+ },
12450
13695
  "description": "Use when an agent is making too many tool calls, when context is filling from verbose tool outputs, when the same operation could be a script instead of N individual calls, or when designing a tool-use protocol for a new agent or harness. Covers the three costs of every call (token, latency, context pollution), the script-vs-call decision gate, tool-selection decision trees (file-search vs content-search vs targeted-read vs full-read), call batching and parallelization, redundancy avoidance, the poka-yoke principle, subagent delegation for context protection, and cost-benchmark heuristics by task type. Do NOT use for prompt wording (use `prompt-craft`), broader context stack design across the five layers (use `context-engineering`), runtime tool failures or production debugging (use `debugging`), or behaviour-preserving refactor mechanics (use `refactor`).",
12451
13696
  "domain": "ai-engineering/tool-use",
13697
+ "grounding": {
13698
+ "domain_object": "Efficient tool-call strategy for LLM coding agents",
13699
+ "evidence_priority": "equal",
13700
+ "failure_modes": [
13701
+ "tool_call_minimization_without_verification",
13702
+ "serial_calls_when_parallel_independent",
13703
+ "shell_bulk_work_without_reviewable_diff",
13704
+ "verbose_outputs_pollute_context",
13705
+ "same_result_refetched_from_conversation"
13706
+ ],
13707
+ "grounding_mode": "hybrid",
13708
+ "truth_sources": [
13709
+ "https://developers.openai.com/api/docs/guides/function-calling",
13710
+ "https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview",
13711
+ "https://platform.claude.com/docs/en/agents-and-tools/tool-use/manage-tool-context",
13712
+ "https://github.com/jacob-balslev/skills/blob/main/skills/tool-call-flow/SKILL.md",
13713
+ "https://github.com/jacob-balslev/skills/blob/main/skills/context-engineering/SKILL.md"
13714
+ ]
13715
+ },
12452
13716
  "health": {
13717
+ "comprehension_state": "present",
12453
13718
  "drift_check": {
12454
- "last_verified": "2026-05-06"
13719
+ "last_verified": "2026-05-18"
12455
13720
  },
12456
13721
  "eval_artifacts": "planned",
12457
13722
  "eval_state": "unverified",
12458
- "freshness": "2026-05-06",
12459
- "has_grounding": false,
13723
+ "freshness": "2026-05-18",
13724
+ "has_grounding": true,
12460
13725
  "has_relations": true,
12461
13726
  "lifecycle": {
12462
13727
  "review_cadence": "quarterly",
@@ -12468,7 +13733,7 @@
12468
13733
  "license": "MIT",
12469
13734
  "name": "tool-call-strategy",
12470
13735
  "owner": "skill-graph-maintainer",
12471
- "path": "../skills/skills/tool-call-strategy/SKILL.md",
13736
+ "path": "../skills/skills/engineering/tool-call-strategy/SKILL.md",
12472
13737
  "portability": {
12473
13738
  "readiness": "scripted",
12474
13739
  "targets": [
@@ -12506,7 +13771,7 @@
12506
13771
  "scope": "portable",
12507
13772
  "stability": "experimental",
12508
13773
  "type": "capability",
12509
- "version": "1.0.0"
13774
+ "version": "1.1.0"
12510
13775
  },
12511
13776
  {
12512
13777
  "activation": {
@@ -12573,7 +13838,7 @@
12573
13838
  "license": "MIT",
12574
13839
  "name": "transaction-isolation",
12575
13840
  "owner": "skill-graph-maintainer",
12576
- "path": "../skills/skills/transaction-isolation/SKILL.md",
13841
+ "path": "../skills/skills/engineering/data/transaction-isolation/SKILL.md",
12577
13842
  "relations": {
12578
13843
  "boundary": [
12579
13844
  {
@@ -12671,7 +13936,7 @@
12671
13936
  "license": "MIT",
12672
13937
  "name": "type-safety",
12673
13938
  "owner": "skill-graph-maintainer",
12674
- "path": "../skills/skills/type-safety/SKILL.md",
13939
+ "path": "../skills/skills/quality/type-safety/SKILL.md",
12675
13940
  "relations": {
12676
13941
  "boundary": [
12677
13942
  {
@@ -12753,7 +14018,7 @@
12753
14018
  "license": "CC-BY-4.0",
12754
14019
  "name": "typography-system",
12755
14020
  "owner": "skill-graph-maintainer",
12756
- "path": "../skills/skills/typography-system/SKILL.md",
14021
+ "path": "../skills/skills/design/typography-system/SKILL.md",
12757
14022
  "relations": {
12758
14023
  "boundary": [
12759
14024
  {
@@ -12831,7 +14096,7 @@
12831
14096
  "license": "CC-BY-4.0",
12832
14097
  "name": "usability-testing",
12833
14098
  "owner": "skill-graph-maintainer",
12834
- "path": "../skills/skills/usability-testing/SKILL.md",
14099
+ "path": "../skills/skills/design/usability-testing/SKILL.md",
12835
14100
  "relations": {
12836
14101
  "boundary": [
12837
14102
  {
@@ -12908,7 +14173,7 @@
12908
14173
  "license": "CC-BY-4.0",
12909
14174
  "name": "user-research",
12910
14175
  "owner": "skill-graph-maintainer",
12911
- "path": "../skills/skills/user-research/SKILL.md",
14176
+ "path": "../skills/skills/design/user-research/SKILL.md",
12912
14177
  "relations": {
12913
14178
  "boundary": [
12914
14179
  {
@@ -12975,7 +14240,7 @@
12975
14240
  "license": "MIT",
12976
14241
  "name": "vercel-composition-patterns",
12977
14242
  "owner": "skill-graph-maintainer",
12978
- "path": "../skills/skills/vercel-composition-patterns/SKILL.md",
14243
+ "path": "../skills/skills/engineering/frontend/vercel-composition-patterns/SKILL.md",
12979
14244
  "portability": {
12980
14245
  "readiness": "scripted",
12981
14246
  "targets": [
@@ -13065,7 +14330,7 @@
13065
14330
  "license": "MIT",
13066
14331
  "name": "version-control",
13067
14332
  "owner": "skill-graph-maintainer",
13068
- "path": "../skills/skills/version-control/SKILL.md",
14333
+ "path": "../skills/skills/engineering/version-control/SKILL.md",
13069
14334
  "portability": {
13070
14335
  "readiness": "scripted",
13071
14336
  "targets": [
@@ -13154,7 +14419,7 @@
13154
14419
  "license": "MIT",
13155
14420
  "name": "visual-design-foundations",
13156
14421
  "owner": "skill-graph-maintainer",
13157
- "path": "../skills/skills/visual-design-foundations/SKILL.md",
14422
+ "path": "../skills/skills/design/visual-design-foundations/SKILL.md",
13158
14423
  "portability": {
13159
14424
  "readiness": "scripted",
13160
14425
  "targets": [
@@ -13249,7 +14514,7 @@
13249
14514
  "license": "CC-BY-4.0",
13250
14515
  "name": "visual-hierarchy",
13251
14516
  "owner": "skill-graph-maintainer",
13252
- "path": "../skills/skills/visual-hierarchy/SKILL.md",
14517
+ "path": "../skills/skills/design/visual-hierarchy/SKILL.md",
13253
14518
  "relations": {
13254
14519
  "boundary": [
13255
14520
  {
@@ -13341,7 +14606,7 @@
13341
14606
  "license": "MIT",
13342
14607
  "name": "webhook-integration",
13343
14608
  "owner": "skill-graph-maintainer",
13344
- "path": "../skills/skills/webhook-integration/SKILL.md",
14609
+ "path": "../skills/skills/engineering/webhook-integration/SKILL.md",
13345
14610
  "portability": {
13346
14611
  "readiness": "scripted",
13347
14612
  "targets": [
@@ -13418,8 +14683,9 @@
13418
14683
  "3-beat sentence variety",
13419
14684
  "hook-body-landing paragraph",
13420
14685
  "tone mapping framework",
13421
- "AI-detection avoidance",
13422
- "perplexity burstiness rule",
14686
+ "AI detector limitations",
14687
+ "prose fingerprint cleanup",
14688
+ "perplexity burstiness caveat",
13423
14689
  "enumeration-trap anti-pattern",
13424
14690
  "hollow-intensifier removal",
13425
14691
  "jargon decision tree",
@@ -13429,17 +14695,27 @@
13429
14695
  "allowed-tools": "Read Grep Edit",
13430
14696
  "category": "design",
13431
14697
  "compatibility": {
13432
- "notes": "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."
14698
+ "notes": "Stack-agnostic prose-humanization rules. The AI-tell catalog, voice-conversion decision tree, readability formulas, sentence-rhythm patterns, tone-mapping table, and responsible prose-fingerprint guidance apply to any human-readable text in any product domain — substitute the equivalents from your own audience and brand voice."
14699
+ },
14700
+ "concept": {
14701
+ "analogy": "Writing humanization is like audio mastering: the recording may already contain the right notes, but mastering removes hiss, balances loudness, and restores dynamics so a listener can trust what they hear.",
14702
+ "boundary": "It does not prove authorship, promise detector-proof output, bypass review processes, design persuasive marketing, choose documentation structure, or own specialized UI microcopy patterns.",
14703
+ "definition": "Writing humanization is the discipline of turning robotic or AI-patterned prose into clear, direct, reader-trustworthy text while preserving truth and intent.",
14704
+ "mental_model": "Writing humanization is prose-quality repair, not authorship laundering. Its primitives are AI tells, readability signals, rhythm signals, audience register, evidence specificity, and detector-limit awareness.",
14705
+ "misconception": "Humanizing is not adding slang, contractions, typos, or random fragments until a detector score changes; the reader, not the detector, is the audience.",
14706
+ "purpose": "The skill replaces vague requests to make writing sound human with a repeatable edit pass that improves clarity, specificity, rhythm, and trust across docs, PRs, UI-adjacent prose, and support text.",
14707
+ "taxonomy": "Design/content skill adjacent to linguistics, microcopy, and semantics; distinct from copywriting and documentation architecture."
13433
14708
  },
13434
14709
  "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.",
13435
14710
  "domain": "design/content",
13436
14711
  "health": {
14712
+ "comprehension_state": "present",
13437
14713
  "drift_check": {
13438
- "last_verified": "2026-05-06"
14714
+ "last_verified": "2026-05-18"
13439
14715
  },
13440
14716
  "eval_artifacts": "planned",
13441
14717
  "eval_state": "unverified",
13442
- "freshness": "2026-05-06",
14718
+ "freshness": "2026-05-18",
13443
14719
  "has_grounding": false,
13444
14720
  "has_relations": true,
13445
14721
  "lifecycle": {
@@ -13452,7 +14728,7 @@
13452
14728
  "license": "MIT",
13453
14729
  "name": "writing-humanizer",
13454
14730
  "owner": "skill-graph-maintainer",
13455
- "path": "../skills/skills/writing-humanizer/SKILL.md",
14731
+ "path": "../skills/skills/design/writing-humanizer/SKILL.md",
13456
14732
  "portability": {
13457
14733
  "readiness": "scripted",
13458
14734
  "targets": [
@@ -13482,34 +14758,34 @@
13482
14758
  "scope": "portable",
13483
14759
  "stability": "experimental",
13484
14760
  "type": "capability",
13485
- "version": "1.0.0"
14761
+ "version": "1.1.0"
13486
14762
  }
13487
14763
  ],
13488
14764
  "summary": {
13489
14765
  "by_category": {
13490
- "agent": 16,
14766
+ "agent": 18,
13491
14767
  "design": 26,
13492
- "engineering": 59,
14768
+ "engineering": 61,
13493
14769
  "foundations": 12,
13494
14770
  "product": 1,
13495
- "quality": 27
14771
+ "quality": 28
13496
14772
  },
13497
14773
  "by_scope": {
13498
- "codebase": 1,
13499
- "portable": 91,
13500
- "reference": 49
14774
+ "codebase": 3,
14775
+ "portable": 93,
14776
+ "reference": 50
13501
14777
  },
13502
14778
  "by_stability": {
13503
14779
  "experimental": 140,
13504
- "stable": 1
14780
+ "stable": 3
13505
14781
  },
13506
14782
  "by_type": {
13507
- "capability": 131,
14783
+ "capability": 136,
13508
14784
  "overlay": 1,
13509
14785
  "router": 1,
13510
14786
  "workflow": 8
13511
14787
  },
13512
- "total_skills": 141
14788
+ "total_skills": 146
13513
14789
  },
13514
14790
  "workspace": {
13515
14791
  "skill_roots": [