arkaos 5.2.0 → 5.4.0

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 (62) hide show
  1. package/README.md +5 -3
  2. package/THE-ARKAOS-GUIDE.md +2 -2
  3. package/VERSION +1 -1
  4. package/arka/SKILL.md +18 -2
  5. package/config/constitution.yaml +2 -2
  6. package/config/skills-provenance.yaml +10 -0
  7. package/core/governance/evidence_checks.py +55 -10
  8. package/core/hooks/session_start.py +1 -1
  9. package/departments/brand/skills/colors/SKILL.md +3 -1
  10. package/departments/brand/skills/design-dna/SKILL.md +191 -0
  11. package/departments/brand/skills/design-dna/references/design-dna.LICENSE +21 -0
  12. package/departments/brand/skills/design-dna/references/generation-guide.md +209 -0
  13. package/departments/brand/skills/design-dna/references/schema.md +366 -0
  14. package/departments/brand/skills/design-system/SKILL.md +12 -3
  15. package/departments/dev/SKILL.md +25 -0
  16. package/departments/dev/skills/adversarial-review/SKILL.md +5 -0
  17. package/departments/dev/skills/api-design/SKILL.md +8 -0
  18. package/departments/dev/skills/architecture-design/SKILL.md +6 -0
  19. package/departments/dev/skills/build-fix/SKILL.md +8 -2
  20. package/departments/dev/skills/clean-code-review/SKILL.md +8 -0
  21. package/departments/dev/skills/code-review/SKILL.md +14 -0
  22. package/departments/dev/skills/dependency-audit/SKILL.md +8 -0
  23. package/departments/dev/skills/refactor-plan/SKILL.md +7 -0
  24. package/departments/dev/skills/research/SKILL.md +52 -6
  25. package/departments/dev/skills/stack-check/SKILL.md +9 -0
  26. package/harness/codex/AGENTS.md +2 -2
  27. package/harness/copilot/copilot-instructions.md +2 -2
  28. package/harness/cursor/rules/arkaos.mdc +3 -3
  29. package/harness/gemini/GEMINI.md +2 -2
  30. package/harness/opencode/AGENTS.md +2 -2
  31. package/harness/opencode/agents/arka-architect-gabriel.md +1 -1
  32. package/harness/opencode/agents/arka-brand-director-valentina.md +1 -1
  33. package/harness/opencode/agents/arka-cfo-helena.md +1 -1
  34. package/harness/opencode/agents/arka-chief-of-staff-afonso.md +1 -1
  35. package/harness/opencode/agents/arka-community-strategist-beatriz.md +1 -1
  36. package/harness/opencode/agents/arka-content-strategist-rafael.md +1 -1
  37. package/harness/opencode/agents/arka-conversion-strategist-ines.md +1 -1
  38. package/harness/opencode/agents/arka-coo-sofia.md +1 -1
  39. package/harness/opencode/agents/arka-copy-director-eduardo.md +1 -1
  40. package/harness/opencode/agents/arka-cqo-marta.md +1 -1
  41. package/harness/opencode/agents/arka-cto-marco.md +1 -1
  42. package/harness/opencode/agents/arka-design-ops-lead-iris.md +1 -1
  43. package/harness/opencode/agents/arka-ecom-director-ricardo.md +1 -1
  44. package/harness/opencode/agents/arka-knowledge-director-clara.md +1 -1
  45. package/harness/opencode/agents/arka-leadership-director-rodrigo.md +1 -1
  46. package/harness/opencode/agents/arka-marketing-director-luna.md +1 -1
  47. package/harness/opencode/agents/arka-ops-lead-daniel.md +1 -1
  48. package/harness/opencode/agents/arka-pm-director-carolina.md +1 -1
  49. package/harness/opencode/agents/arka-revops-lead-vicente.md +1 -1
  50. package/harness/opencode/agents/arka-saas-strategist-tiago.md +1 -1
  51. package/harness/opencode/agents/arka-sales-director-miguel.md +1 -1
  52. package/harness/opencode/agents/arka-strategy-director-tomas.md +1 -1
  53. package/harness/opencode/agents/arka-tech-director-francisca.md +1 -1
  54. package/harness/opencode/agents/arka-tech-lead-paulo.md +1 -1
  55. package/harness/opencode/agents/arka-video-producer-simao.md +1 -1
  56. package/harness/zed/.rules +2 -2
  57. package/knowledge/commands-keywords.json +10 -2
  58. package/knowledge/commands-registry.json +35 -3
  59. package/knowledge/skills-manifest.json +16 -1
  60. package/package.json +1 -1
  61. package/pyproject.toml +1 -1
  62. package/scripts/skills_catalog_gen.py +15 -6
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "_meta": {
3
3
  "version": "3.0.0",
4
- "generated": "2026-08-03T12:09:34Z",
5
- "total_commands": 298,
4
+ "generated": "2026-08-04T22:58:29Z",
5
+ "total_commands": 299,
6
6
  "generator": "core/registry/generator.py",
7
7
  "departments": {
8
8
  "arka": 22,
9
9
  "brand": 12,
10
10
  "community": 15,
11
11
  "content": 20,
12
- "dev": 36,
12
+ "dev": 37,
13
13
  "ecom": 18,
14
14
  "fin": 10,
15
15
  "kb": 23,
@@ -1744,6 +1744,38 @@
1744
1744
  "requires_branch": false,
1745
1745
  "modifies_code": false
1746
1746
  },
1747
+ {
1748
+ "id": "dev-research",
1749
+ "command": "/dev research <topic>",
1750
+ "department": "dev",
1751
+ "description": "Library evaluation and pattern discovery (KB + Context7 + gh-grep + web)",
1752
+ "lead_agent": "arka-dev",
1753
+ "keywords": [
1754
+ "research",
1755
+ "evaluate library",
1756
+ "compare frameworks",
1757
+ "investigate",
1758
+ "look into",
1759
+ "real-world examples",
1760
+ "exemplos reais",
1761
+ "como implementam os outros",
1762
+ "how do others implement",
1763
+ "search github code",
1764
+ "prior art"
1765
+ ],
1766
+ "examples": [
1767
+ "research payment gateways",
1768
+ "compare React vs Vue",
1769
+ "evaluate Stripe vs PayPal",
1770
+ "look into GraphQL",
1771
+ "como é que outros repos usam esta API",
1772
+ "procura exemplos reais de uso do ScrollTrigger"
1773
+ ],
1774
+ "source": "builtin",
1775
+ "tier": 2,
1776
+ "requires_branch": false,
1777
+ "modifies_code": false
1778
+ },
1747
1779
  {
1748
1780
  "id": "dev-spec",
1749
1781
  "command": "/dev spec <description>",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "_meta": {
3
3
  "generator": "scripts/marketplace_gen.py",
4
- "version": "5.2.0",
4
+ "version": "5.4.0",
5
5
  "marketplace": "arkaos"
6
6
  },
7
7
  "structural": {
@@ -1109,6 +1109,21 @@
1109
1109
  "origin": "arkaos"
1110
1110
  }
1111
1111
  },
1112
+ "design-dna": {
1113
+ "depts": [
1114
+ "brand"
1115
+ ],
1116
+ "curated": false,
1117
+ "plugins": [
1118
+ "arkaos-brand@arkaos"
1119
+ ],
1120
+ "collision": false,
1121
+ "provenance": {
1122
+ "origin": "community",
1123
+ "source": "https://github.com/zanwei/design-dna",
1124
+ "license": "MIT"
1125
+ }
1126
+ },
1112
1127
  "design-review": {
1113
1128
  "depts": [
1114
1129
  "brand"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arkaos",
3
- "version": "5.2.0",
3
+ "version": "5.4.0",
4
4
  "description": "The Operating System for AI Agent Teams",
5
5
  "type": "module",
6
6
  "bin": {
package/pyproject.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "arkaos-core"
3
- version = "5.2.0"
3
+ version = "5.4.0"
4
4
  description = "Core engine for ArkaOS — The Operating System for AI Agent Teams"
5
5
  readme = "README.md"
6
6
  license = {text = "MIT"}
@@ -1,7 +1,7 @@
1
1
  """Skills catalog generator — every SKILL.md in the system, one page.
2
2
 
3
- Documents the complete skill surface: 318 department skills plus the 15
4
- ``/arka`` meta skills (333 total). Single source of truth: the SKILL.md
3
+ Documents the complete skill surface: every department skill plus the
4
+ ``/arka`` meta skills. Single source of truth: the SKILL.md
5
5
  files themselves (``departments/*/skills/*/SKILL.md`` and
6
6
  ``arka/skills/*/SKILL.md``), never hand-typed counts. This script
7
7
  GENERATES:
@@ -80,7 +80,16 @@ def _clean_description(raw: str | None, fallback: str) -> str:
80
80
  text = re.sub(r"\s+", " ", text).strip()
81
81
  text = re.sub(r"\s+\.", ".", text)
82
82
  if len(text) > 180:
83
- text = text[:177].rstrip() + "..."
83
+ head = text[:177]
84
+ # Cut on a word boundary: a mid-word slice leaves a truncated word
85
+ # that spellcheckers report as a misspelling of the whole one, so
86
+ # every catalog regeneration used to redden the codespell gate.
87
+ boundary = head.rfind(" ")
88
+ cut = (head[:boundary] if boundary > 0 else head).rstrip(" ,;:—-")
89
+ # `or head` guards the degenerate case where the whole cut is
90
+ # separators: emitting a bare "..." would lose a description
91
+ # master rendered in full.
92
+ text = (cut or head) + "..."
84
93
  return text or fallback
85
94
 
86
95
 
@@ -112,7 +121,7 @@ def _dept_skills() -> dict[str, list[dict]]:
112
121
 
113
122
  Matches docs_stats.py semantics: the department hub
114
123
  (``departments/<dept>/SKILL.md``) IS counted as a skill, so the
115
- grand total reconciles with the canonical 333 headline.
124
+ grand total reconciles with the headline docs_stats reports.
116
125
  """
117
126
  result: dict[str, list[dict]] = {}
118
127
  for dept_dir in (REPO_ROOT / "departments").iterdir():
@@ -137,8 +146,8 @@ def _dept_skills() -> dict[str, list[dict]]:
137
146
 
138
147
 
139
148
  def _arka_skills() -> list[dict]:
140
- """The 15 /arka meta skills: the master orchestrator plus the 14
141
- sub-skills under arka/skills/*/SKILL.md."""
149
+ """The /arka meta skills: the master orchestrator plus every
150
+ sub-skill under arka/skills/*/SKILL.md."""
142
151
  master = REPO_ROOT / "arka" / "SKILL.md"
143
152
  entries = []
144
153
  if master.is_file():