arkaos 4.22.0 → 4.24.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 (256) hide show
  1. package/README.md +1 -1
  2. package/THE-ARKAOS-GUIDE.md +72 -0
  3. package/VERSION +1 -1
  4. package/arka/SKILL.md +29 -7
  5. package/arka/skills/bootstrap-agent/SKILL.md +3 -2
  6. package/arka/skills/conclave/SKILL.md +11 -0
  7. package/arka/skills/flow/SKILL.md +3 -2
  8. package/arka/skills/forge/SKILL.md +3 -2
  9. package/arka/skills/recipes/SKILL.md +3 -2
  10. package/arka/skills/refine/SKILL.md +3 -2
  11. package/arka/skills/research/SKILL.md +3 -2
  12. package/bin/arka-doctor +8 -0
  13. package/core/cognition/insights/store.py +15 -4
  14. package/core/forge/persistence.py +27 -9
  15. package/core/forge/schema.py +45 -22
  16. package/core/governance/evidence_checks.py +101 -9
  17. package/core/governance/kb_cite_check.py +16 -6
  18. package/core/governance/stop_lint.py +38 -11
  19. package/core/governance/stop_lint_telemetry.py +11 -2
  20. package/core/hooks/user_prompt_submit.py +21 -23
  21. package/core/synapse/engine.py +46 -16
  22. package/core/synapse/graph_context_layer.py +7 -2
  23. package/core/synapse/kb_cache.py +63 -16
  24. package/core/synapse/layers.py +93 -30
  25. package/core/synapse/layers_base.py +16 -0
  26. package/core/synapse/layers_kb.py +325 -19
  27. package/dashboard/app/layouts/default.vue +7 -0
  28. package/dashboard/app/pages/plan-canvas.vue +630 -0
  29. package/departments/brand/SKILL.md +3 -2
  30. package/departments/brand/skills/archetype-finder/SKILL.md +3 -2
  31. package/departments/brand/skills/colors/SKILL.md +3 -2
  32. package/departments/brand/skills/design-system/SKILL.md +3 -2
  33. package/departments/brand/skills/identity-system/SKILL.md +3 -2
  34. package/departments/brand/skills/logo-brief/SKILL.md +3 -2
  35. package/departments/brand/skills/mockup-generate/SKILL.md +3 -2
  36. package/departments/brand/skills/naming-evaluate/SKILL.md +3 -2
  37. package/departments/brand/skills/positioning-statement/SKILL.md +3 -2
  38. package/departments/brand/skills/primal-audit/SKILL.md +3 -2
  39. package/departments/brand/skills/ux-audit/SKILL.md +3 -2
  40. package/departments/brand/skills/voice-guide/SKILL.md +3 -2
  41. package/departments/brand/skills/wireframe/SKILL.md +3 -2
  42. package/departments/community/SKILL.md +3 -2
  43. package/departments/community/skills/ai-community/SKILL.md +3 -2
  44. package/departments/community/skills/betting-setup/SKILL.md +3 -2
  45. package/departments/community/skills/business-model/SKILL.md +3 -2
  46. package/departments/community/skills/content-calendar/SKILL.md +3 -2
  47. package/departments/community/skills/events-plan/SKILL.md +3 -2
  48. package/departments/community/skills/gamification-design/SKILL.md +3 -2
  49. package/departments/community/skills/growth-plan/SKILL.md +3 -2
  50. package/departments/community/skills/metrics-track/SKILL.md +3 -2
  51. package/departments/community/skills/moderation/SKILL.md +3 -2
  52. package/departments/community/skills/monetize-plan/SKILL.md +3 -2
  53. package/departments/community/skills/niche-setup/SKILL.md +3 -2
  54. package/departments/community/skills/onboarding-flow/SKILL.md +3 -2
  55. package/departments/community/skills/platform-select/SKILL.md +3 -2
  56. package/departments/content/SKILL.md +3 -2
  57. package/departments/content/skills/ai-workflow/SKILL.md +3 -2
  58. package/departments/content/skills/analytics/SKILL.md +3 -2
  59. package/departments/content/skills/calendar/SKILL.md +3 -2
  60. package/departments/content/skills/content-system/SKILL.md +3 -2
  61. package/departments/content/skills/monetization-plan/SKILL.md +3 -2
  62. package/departments/content/skills/newsletter-write/SKILL.md +3 -2
  63. package/departments/content/skills/platform-optimize/SKILL.md +3 -2
  64. package/departments/content/skills/repurpose-plan/SKILL.md +3 -2
  65. package/departments/content/skills/research-compile/SKILL.md +3 -2
  66. package/departments/content/skills/script-structure/SKILL.md +3 -2
  67. package/departments/content/skills/short-form/SKILL.md +3 -2
  68. package/departments/content/skills/thumbnail-package/SKILL.md +3 -2
  69. package/departments/content/skills/trend-hunt/SKILL.md +3 -2
  70. package/departments/content/skills/video-produce/SKILL.md +3 -2
  71. package/departments/content/skills/video-setup/SKILL.md +3 -2
  72. package/departments/content/skills/viral-design/SKILL.md +3 -2
  73. package/departments/content/skills/youtube-strategy/SKILL.md +3 -2
  74. package/departments/dev/SKILL.md +3 -2
  75. package/departments/dev/skills/ai-assisted-dev/SKILL.md +3 -2
  76. package/departments/dev/skills/animated-website/SKILL.md +7 -0
  77. package/departments/dev/skills/architecture-design/SKILL.md +3 -2
  78. package/departments/dev/skills/code-review/SKILL.md +3 -2
  79. package/departments/dev/skills/db-design/SKILL.md +3 -2
  80. package/departments/dev/skills/ddd-model/SKILL.md +3 -2
  81. package/departments/dev/skills/demo-gif/SKILL.md +3 -2
  82. package/departments/dev/skills/deploy/SKILL.md +3 -2
  83. package/departments/dev/skills/devops-pipeline/SKILL.md +3 -2
  84. package/departments/dev/skills/docs/SKILL.md +3 -2
  85. package/departments/dev/skills/evaluator-build-loop/SKILL.md +93 -0
  86. package/departments/dev/skills/mcp/SKILL.md +3 -2
  87. package/departments/dev/skills/performance-audit/SKILL.md +3 -2
  88. package/departments/dev/skills/refactor-plan/SKILL.md +3 -2
  89. package/departments/dev/skills/research/SKILL.md +3 -2
  90. package/departments/dev/skills/security-compliance/SKILL.md +3 -2
  91. package/departments/dev/skills/spec-miner/SKILL.md +86 -0
  92. package/departments/dev/skills/stack-check/SKILL.md +3 -2
  93. package/departments/ecom/SKILL.md +3 -2
  94. package/departments/ecom/skills/analytics/SKILL.md +3 -2
  95. package/departments/ecom/skills/browse-competitor/SKILL.md +3 -2
  96. package/departments/ecom/skills/cart-recovery/SKILL.md +3 -2
  97. package/departments/ecom/skills/cro-optimize/SKILL.md +3 -2
  98. package/departments/ecom/skills/customer-journey/SKILL.md +3 -2
  99. package/departments/ecom/skills/fulfillment-plan/SKILL.md +3 -2
  100. package/departments/ecom/skills/marketplace-manage/SKILL.md +3 -2
  101. package/departments/ecom/skills/pricing-strategy/SKILL.md +3 -2
  102. package/departments/ecom/skills/product-launch/SKILL.md +3 -2
  103. package/departments/ecom/skills/rfm-segment/SKILL.md +3 -2
  104. package/departments/ecom/skills/social-commerce/SKILL.md +3 -2
  105. package/departments/ecom/skills/store-audit/SKILL.md +3 -2
  106. package/departments/ecom/skills/subscription-model/SKILL.md +3 -2
  107. package/departments/finance/SKILL.md +3 -2
  108. package/departments/finance/skills/budget-plan/SKILL.md +3 -2
  109. package/departments/finance/skills/cashflow-forecast/SKILL.md +3 -2
  110. package/departments/finance/skills/ciso-advisor/SKILL.md +3 -2
  111. package/departments/finance/skills/financial-model/SKILL.md +3 -2
  112. package/departments/finance/skills/pitch-deck/SKILL.md +3 -2
  113. package/departments/finance/skills/scenario-analysis/SKILL.md +3 -2
  114. package/departments/finance/skills/unit-economics/SKILL.md +3 -2
  115. package/departments/finance/skills/valuation-model/SKILL.md +3 -2
  116. package/departments/kb/SKILL.md +3 -2
  117. package/departments/kb/skills/ai-research/SKILL.md +3 -2
  118. package/departments/kb/skills/competitive-intel/SKILL.md +3 -2
  119. package/departments/kb/skills/doc-extraction/SKILL.md +3 -2
  120. package/departments/kb/skills/doc-redaction/SKILL.md +3 -2
  121. package/departments/kb/skills/knowledge-ops/SKILL.md +3 -2
  122. package/departments/kb/skills/knowledge-review/SKILL.md +3 -2
  123. package/departments/kb/skills/learn-content/SKILL.md +3 -2
  124. package/departments/kb/skills/moc-create/SKILL.md +3 -2
  125. package/departments/kb/skills/persona-build/SKILL.md +3 -2
  126. package/departments/kb/skills/research-plan/SKILL.md +3 -2
  127. package/departments/kb/skills/search-kb/SKILL.md +3 -2
  128. package/departments/kb/skills/source-evaluate/SKILL.md +3 -2
  129. package/departments/kb/skills/taxonomy-manage/SKILL.md +3 -2
  130. package/departments/kb/skills/write-as-persona/SKILL.md +3 -2
  131. package/departments/landing/SKILL.md +3 -2
  132. package/departments/landing/skills/ab-test/SKILL.md +3 -2
  133. package/departments/landing/skills/affiliate-bridge/SKILL.md +3 -2
  134. package/departments/landing/skills/awareness-diagnose/SKILL.md +3 -2
  135. package/departments/landing/skills/email-sequence/SKILL.md +3 -2
  136. package/departments/landing/skills/funnel-metrics/SKILL.md +3 -2
  137. package/departments/landing/skills/headline-write/SKILL.md +3 -2
  138. package/departments/landing/skills/launch-sequence/SKILL.md +3 -2
  139. package/departments/landing/skills/offer-create/SKILL.md +3 -2
  140. package/departments/landing/skills/optimize-page/SKILL.md +3 -2
  141. package/departments/landing/skills/page-architect/SKILL.md +3 -2
  142. package/departments/landing/skills/persuasion-apply/SKILL.md +3 -2
  143. package/departments/landing/skills/webinar-funnel/SKILL.md +3 -2
  144. package/departments/leadership/SKILL.md +3 -2
  145. package/departments/leadership/skills/change-manage/SKILL.md +3 -2
  146. package/departments/leadership/skills/conflict-resolve/SKILL.md +3 -2
  147. package/departments/leadership/skills/culture-audit/SKILL.md +3 -2
  148. package/departments/leadership/skills/delegation-matrix/SKILL.md +3 -2
  149. package/departments/leadership/skills/disc-assess/SKILL.md +3 -2
  150. package/departments/leadership/skills/feedback-give/SKILL.md +3 -2
  151. package/departments/leadership/skills/hiring-plan/SKILL.md +3 -2
  152. package/departments/leadership/skills/performance-review/SKILL.md +3 -2
  153. package/departments/marketing/SKILL.md +3 -2
  154. package/departments/marketing/skills/ab-test/SKILL.md +3 -2
  155. package/departments/marketing/skills/analytics-report/SKILL.md +3 -2
  156. package/departments/marketing/skills/audience-segment/SKILL.md +3 -2
  157. package/departments/marketing/skills/calendar-plan/SKILL.md +3 -2
  158. package/departments/marketing/skills/competitor-analysis/SKILL.md +3 -2
  159. package/departments/marketing/skills/content-audit/SKILL.md +3 -2
  160. package/departments/marketing/skills/email-sequence/SKILL.md +3 -2
  161. package/departments/marketing/skills/growth-loop/SKILL.md +3 -2
  162. package/departments/marketing/skills/marketing-automation/SKILL.md +3 -2
  163. package/departments/marketing/skills/paid-campaign/SKILL.md +3 -2
  164. package/departments/marketing/skills/programmatic-seo/SKILL.md +3 -2
  165. package/departments/marketing/skills/seo-audit/SKILL.md +3 -2
  166. package/departments/marketing/skills/social-strategy/SKILL.md +3 -2
  167. package/departments/ops/SKILL.md +3 -2
  168. package/departments/ops/skills/bottleneck-find/SKILL.md +3 -2
  169. package/departments/ops/skills/dashboard-build/SKILL.md +3 -2
  170. package/departments/ops/skills/gdpr-compliance/SKILL.md +3 -2
  171. package/departments/ops/skills/github-ops/SKILL.md +3 -2
  172. package/departments/ops/skills/gtd-setup/SKILL.md +3 -2
  173. package/departments/ops/skills/integration-design/SKILL.md +3 -2
  174. package/departments/ops/skills/iso27001/SKILL.md +3 -2
  175. package/departments/ops/skills/lean-audit/SKILL.md +3 -2
  176. package/departments/ops/skills/metrics-dashboard/SKILL.md +3 -2
  177. package/departments/ops/skills/n8n-flow/SKILL.md +3 -2
  178. package/departments/ops/skills/quality-management/SKILL.md +3 -2
  179. package/departments/ops/skills/risk-management/SKILL.md +3 -2
  180. package/departments/ops/skills/soc2-compliance/SKILL.md +3 -2
  181. package/departments/ops/skills/sop-create/SKILL.md +3 -2
  182. package/departments/ops/skills/terminal-ops/SKILL.md +3 -2
  183. package/departments/ops/skills/workflow-automate/SKILL.md +3 -2
  184. package/departments/ops/skills/zapier-flow/SKILL.md +3 -2
  185. package/departments/org/SKILL.md +3 -2
  186. package/departments/org/skills/compensation-plan/SKILL.md +3 -2
  187. package/departments/org/skills/culture-define/SKILL.md +3 -2
  188. package/departments/org/skills/decision-framework/SKILL.md +3 -2
  189. package/departments/org/skills/hiring-plan/SKILL.md +3 -2
  190. package/departments/org/skills/meeting-optimize/SKILL.md +3 -2
  191. package/departments/org/skills/onboarding-design/SKILL.md +3 -2
  192. package/departments/org/skills/org-design/SKILL.md +3 -2
  193. package/departments/org/skills/remote-setup/SKILL.md +3 -2
  194. package/departments/org/skills/sop-process/SKILL.md +3 -2
  195. package/departments/org/skills/team-assess/SKILL.md +3 -2
  196. package/departments/pm/SKILL.md +3 -2
  197. package/departments/pm/skills/backlog-groom/SKILL.md +3 -2
  198. package/departments/pm/skills/discovery-plan/SKILL.md +3 -2
  199. package/departments/pm/skills/estimate-forecast/SKILL.md +3 -2
  200. package/departments/pm/skills/impact-map/SKILL.md +3 -2
  201. package/departments/pm/skills/kanban-setup/SKILL.md +3 -2
  202. package/departments/pm/skills/risk-register/SKILL.md +3 -2
  203. package/departments/pm/skills/roadmap-build/SKILL.md +3 -2
  204. package/departments/pm/skills/sprint-plan/SKILL.md +3 -2
  205. package/departments/pm/skills/stakeholder-map/SKILL.md +3 -2
  206. package/departments/pm/skills/standup-run/SKILL.md +3 -2
  207. package/departments/pm/skills/story-write/SKILL.md +3 -2
  208. package/departments/saas/SKILL.md +3 -2
  209. package/departments/saas/skills/benchmark-compare/SKILL.md +3 -2
  210. package/departments/saas/skills/churn-analysis/SKILL.md +3 -2
  211. package/departments/saas/skills/customer-success/SKILL.md +3 -2
  212. package/departments/saas/skills/growth-plan/SKILL.md +3 -2
  213. package/departments/saas/skills/gtm-strategy/SKILL.md +3 -2
  214. package/departments/saas/skills/launch-execute/SKILL.md +3 -2
  215. package/departments/saas/skills/metrics-dashboard/SKILL.md +3 -2
  216. package/departments/saas/skills/micro-saas-stack/SKILL.md +3 -2
  217. package/departments/saas/skills/mvp-build/SKILL.md +3 -2
  218. package/departments/saas/skills/niche-evaluate/SKILL.md +3 -2
  219. package/departments/saas/skills/onboarding-optimize/SKILL.md +3 -2
  220. package/departments/saas/skills/plg-setup/SKILL.md +3 -2
  221. package/departments/saas/skills/pricing-strategy/SKILL.md +3 -2
  222. package/departments/saas/skills/validate-idea/SKILL.md +3 -2
  223. package/departments/sales/SKILL.md +3 -2
  224. package/departments/sales/skills/challenger-sell/SKILL.md +3 -2
  225. package/departments/sales/skills/deal-qualify/SKILL.md +3 -2
  226. package/departments/sales/skills/discovery-call/SKILL.md +3 -2
  227. package/departments/sales/skills/forecast-revenue/SKILL.md +3 -2
  228. package/departments/sales/skills/negotiate-plan/SKILL.md +3 -2
  229. package/departments/sales/skills/objection-handle/SKILL.md +3 -2
  230. package/departments/sales/skills/pipeline-manage/SKILL.md +3 -2
  231. package/departments/sales/skills/pricing-negotiate/SKILL.md +3 -2
  232. package/departments/strategy/SKILL.md +3 -2
  233. package/departments/strategy/skills/blue-ocean/SKILL.md +3 -2
  234. package/departments/strategy/skills/bmc/SKILL.md +3 -2
  235. package/departments/strategy/skills/board-advisor/SKILL.md +3 -2
  236. package/departments/strategy/skills/cto-advisor/SKILL.md +3 -2
  237. package/departments/strategy/skills/extract-data/SKILL.md +3 -2
  238. package/departments/strategy/skills/five-forces/SKILL.md +3 -2
  239. package/departments/strategy/skills/growth-strategy/SKILL.md +3 -2
  240. package/departments/strategy/skills/moat-analysis/SKILL.md +3 -2
  241. package/departments/strategy/skills/position/SKILL.md +3 -2
  242. package/departments/strategy/skills/scenario-plan/SKILL.md +3 -2
  243. package/installer/config-seed.js +81 -25
  244. package/installer/graphify.js +340 -0
  245. package/installer/index.js +8 -1
  246. package/installer/keys.js +18 -3
  247. package/installer/update.js +8 -1
  248. package/knowledge/skills-manifest.json +27 -1
  249. package/mcps/registry.json +9 -9
  250. package/mcps/scripts/apply-mcps.sh +6 -2
  251. package/package.json +2 -1
  252. package/pyproject.toml +1 -1
  253. package/scripts/dashboard-api.py +336 -124
  254. package/scripts/guide_gen.py +139 -0
  255. package/scripts/migrate_skills_kb_first.py +3 -2
  256. package/scripts/synapse-bridge.py +9 -1
@@ -13,8 +13,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
13
13
  ---
14
14
 
15
15
  <!-- arka:kb-first-prefix begin -->
16
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
17
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
16
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
17
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
18
+ > or graph nodes — or declare the gap — BEFORE any external research.
18
19
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
19
20
  <!-- arka:kb-first-prefix end -->
20
21
 
@@ -12,8 +12,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
12
12
  ---
13
13
 
14
14
  <!-- arka:kb-first-prefix begin -->
15
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
16
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
15
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
16
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
17
+ > or graph nodes — or declare the gap — BEFORE any external research.
17
18
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
18
19
  <!-- arka:kb-first-prefix end -->
19
20
 
@@ -13,8 +13,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
13
13
  ---
14
14
 
15
15
  <!-- arka:kb-first-prefix begin -->
16
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
17
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
16
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
17
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
18
+ > or graph nodes — or declare the gap — BEFORE any external research.
18
19
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
19
20
  <!-- arka:kb-first-prefix end -->
20
21
 
@@ -13,8 +13,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
13
13
  ---
14
14
 
15
15
  <!-- arka:kb-first-prefix begin -->
16
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
17
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
16
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
17
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
18
+ > or graph nodes — or declare the gap — BEFORE any external research.
18
19
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
19
20
  <!-- arka:kb-first-prefix end -->
20
21
 
@@ -12,8 +12,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
12
12
  ---
13
13
 
14
14
  <!-- arka:kb-first-prefix begin -->
15
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
16
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
15
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
16
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
17
+ > or graph nodes — or declare the gap — BEFORE any external research.
17
18
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
18
19
  <!-- arka:kb-first-prefix end -->
19
20
 
@@ -0,0 +1,93 @@
1
+ ---
2
+ name: dev/evaluator-build-loop
3
+ description: >
4
+ Adversarial build loop for UI work: a generator implements against a
5
+ weighted rubric while an independent, ruthless evaluator tests the LIVE
6
+ app in a real browser — not the code, not screenshots — and the loop
7
+ repeats until the score clears the threshold. TRIGGER: "/dev
8
+ evaluator-build-loop", "build until it passes", "itera até passar",
9
+ "loop de UI", "evaluator loop", "faz e avalia até estar excelente"; any
10
+ UI build where the excellence-mandate visual benchmark applies and the
11
+ operator wants convergence without babysitting. SKIP: one-shot review
12
+ of an existing diff -> dev/code-review wins; UX audit of a shipped page
13
+ without a build loop -> dev/click-path-audit wins; writing E2E suites
14
+ -> dev/app-test wins.
15
+ allowed-tools: [Read, Grep, Glob, Bash, Edit, Write]
16
+ metadata:
17
+ origin: arkaos
18
+ ---
19
+
20
+ # Evaluator Build Loop — `/dev evaluator-build-loop`
21
+
22
+ > **Agents:** Diana (Frontend, generator) + Rita (QA, evaluator) | **Framework:** Generator–evaluator separation, rubric-driven iteration
23
+
24
+ The dev server is up, the screenshot looks fine, and the agent that built
25
+ the page declares it done. Then someone clicks the second tab, resizes to
26
+ 390px, or submits the form empty — and the illusion collapses. Builders
27
+ grade their own work with the same eyes that produced it, which is why
28
+ this loop never lets them. One role writes; a different role, in a fresh
29
+ context, tries to make the page fail.
30
+
31
+ ## Roles — never merged, never shared
32
+
33
+ | Role | Agent | Contract |
34
+ |---|---|---|
35
+ | **Generator** | Diana | Reads the spec + the latest `feedback-NNN.md`; fixes EVERY open finding in order — functionality → craft → design → originality; keeps the dev server alive; commits once per iteration. |
36
+ | **Evaluator** | Rita | Fresh subagent per iteration, launched with ONLY the spec, the rubric, and the app URL — never the generator's reasoning. Drives the live app via the Playwright MCP. Scores against the rubric; writes the next `feedback-NNN.md`. |
37
+
38
+ The evaluator's launch context is the mechanism, not a detail: any shared
39
+ reasoning re-imports the generator's blind spots.
40
+
41
+ ## The rubric
42
+
43
+ Written BEFORE iteration 1, with explicit weights, from the spec plus the
44
+ project design system and a named visual benchmark (excellence-mandate:
45
+ UI work loads frontend-design, ui-ux-pro-max, and the project design
46
+ system at maximum effort). Typical weighting: functionality 40 · craft
47
+ (states, a11y, responsiveness) 30 · design fidelity 20 · originality 10.
48
+ A dimension the spec does not care about gets weight 0 — do not invent
49
+ criteria mid-loop.
50
+
51
+ ## Evaluator discipline
52
+
53
+ - Test the **live app** in the browser: click paths, keyboard, empty and
54
+ error states, viewport extremes. Not the code. Not screenshots.
55
+ - Be ruthless by instruction: hunt the edge case, penalize
56
+ default-looking output, refuse partial credit for "almost works".
57
+ - **Default-refuted:** when unsure whether a criterion passes, it fails.
58
+ Optimism is the generator's disease; the evaluator is the cure.
59
+ - Every finding names the concrete reproduction — URL, action, expected
60
+ vs. observed — so the generator fixes instead of guessing.
61
+
62
+ ## Loop mechanics
63
+
64
+ 1. Generator builds iteration N; commits on the working branch; emits the
65
+ `[arka:design]` evidence marker (frontend gate).
66
+ 2. Evaluator (fresh context) scores the live app → `feedback-NNN.md` with
67
+ the score per dimension and ranked findings.
68
+ 3. Score ≥ threshold (default 90/100) → exit to Quality Gate. Otherwise
69
+ loop.
70
+ 4. **Circuit breaker:** 5 iterations without clearing the threshold, or
71
+ two consecutive iterations with no score improvement → stop and
72
+ escalate to the operator with the score history. Never grind silently.
73
+
74
+ All handoff is by file — spec, rubric, feedback — so the loop survives a
75
+ `/clear` and either role can be resumed cold.
76
+
77
+ ## Output
78
+
79
+ ```markdown
80
+ ## Evaluator Build Loop Report
81
+
82
+ **Spec:** {path} | **Rubric threshold:** {n}
83
+ **Iterations:** {k} | **Final score:** {score}/100
84
+
85
+ | Iter | Functionality | Craft | Design | Originality | Total |
86
+ |---|---|---|---|---|---|
87
+
88
+ **Open findings:** {none, or the escalation list with reproductions}
89
+ **Evidence:** commits {range}, feedback files, `[arka:design]` markers
90
+ ```
91
+
92
+ The loop feeds the Quality Gate; it does not replace it. Marta still has
93
+ the veto.
@@ -12,8 +12,9 @@ description: >
12
12
  ---
13
13
 
14
14
  <!-- arka:kb-first-prefix begin -->
15
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
16
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
15
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
16
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
17
+ > or graph nodes — or declare the gap — BEFORE any external research.
17
18
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
18
19
  <!-- arka:kb-first-prefix end -->
19
20
 
@@ -13,8 +13,9 @@ allowed-tools: [Read, Bash, Grep, Glob, Agent, WebFetch]
13
13
  ---
14
14
 
15
15
  <!-- arka:kb-first-prefix begin -->
16
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
17
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
16
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
17
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
18
+ > or graph nodes — or declare the gap — BEFORE any external research.
18
19
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
19
20
  <!-- arka:kb-first-prefix end -->
20
21
 
@@ -13,8 +13,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
13
13
  ---
14
14
 
15
15
  <!-- arka:kb-first-prefix begin -->
16
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
17
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
16
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
17
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
18
+ > or graph nodes — or declare the gap — BEFORE any external research.
18
19
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
19
20
  <!-- arka:kb-first-prefix end -->
20
21
 
@@ -19,8 +19,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
19
19
  ---
20
20
 
21
21
  <!-- arka:kb-first-prefix begin -->
22
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
23
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
22
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
23
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
24
+ > or graph nodes — or declare the gap — BEFORE any external research.
24
25
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
25
26
  <!-- arka:kb-first-prefix end -->
26
27
 
@@ -13,8 +13,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
13
13
  ---
14
14
 
15
15
  <!-- arka:kb-first-prefix begin -->
16
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
17
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
16
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
17
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
18
+ > or graph nodes — or declare the gap — BEFORE any external research.
18
19
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
19
20
  <!-- arka:kb-first-prefix end -->
20
21
 
@@ -0,0 +1,86 @@
1
+ ---
2
+ name: dev/spec-miner
3
+ description: >
4
+ Mines a spec OUT of an existing codebase: maps entry points into
5
+ capabilities, samples the code under an explicit token budget, and
6
+ emits machine-parseable WHEN→THEN requirements and invariants — with
7
+ uncertainty marked, nothing invented, and the source commit recorded so
8
+ the spec knows when it has aged. TRIGGER: "/dev spec-miner", "extrai a
9
+ spec", "reverse-engineer the spec", "what does this code actually do,
10
+ as requirements", "documenta o comportamento existente", brownfield
11
+ onboarding, and always BEFORE refactoring code that has no spec. SKIP:
12
+ spec for something new -> dev/spec wins (greenfield WHAT); a guided
13
+ tour of the codebase -> dev/codebase-onboard wins; library or
14
+ framework evaluation -> dev/research wins.
15
+ allowed-tools: [Read, Grep, Glob, Bash, Write]
16
+ metadata:
17
+ origin: arkaos
18
+ ---
19
+
20
+ # Spec Miner — `/dev spec-miner`
21
+
22
+ > **Agent:** Gabriel (Architect) | **Framework:** Living Specs, budgeted behavioral sampling
23
+
24
+ `arka-spec` answers "what should we build?" before code exists. This
25
+ skill answers the inverse — "what did we already build?" — for the far
26
+ more common case: a working system whose only specification is the code
27
+ itself, about to be refactored by someone who cannot afford to be wrong
28
+ about current behavior.
29
+
30
+ ## Phase 1 — Map
31
+
32
+ Detect the structure and group entry points into capabilities: HTTP
33
+ routes, CLI commands, queued jobs, scheduled tasks, event handlers,
34
+ public package exports. Each capability gets a name and its entry files.
35
+ No code reading yet — this phase is inventory, and it bounds phase 2.
36
+
37
+ ## Phase 2 — Sample and expand, under budget
38
+
39
+ Reading everything is a trap: the budget burns on utilities while the
40
+ behavior lives at the surface. So:
41
+
42
+ 1. Read the entry and facade files of each capability first — in most
43
+ codebases they encode ~70% of observable behavior.
44
+ 2. Descend ONE level into the call chain, only where the facade defers a
45
+ decision (validation, branching, persistence rules).
46
+ 3. **Stop** at external boundaries (SDKs, frameworks, network) or at 15
47
+ files per capability, whichever comes first.
48
+ 4. Whatever was deferred is listed in the spec as explicitly unmined —
49
+ deferred scope is visible scope, never silent scope.
50
+
51
+ ## Phase 3 — Emit
52
+
53
+ Requirements in WHEN→THEN form, invariants as standalone guarantees, both
54
+ machine-parseable, written as a markdown document that sits beside the
55
+ authored specs in `core/specs/`:
56
+
57
+ ```markdown
58
+ ### Requirement: {capability} — {behavior}
59
+ WHEN {trigger and preconditions}
60
+ THEN {observable outcome}
61
+ <!-- source: {file}:{lines} -->
62
+
63
+ ### Invariant: {guarantee}
64
+ <!-- source: {file}:{lines} -->
65
+ ```
66
+
67
+ Three hard rules:
68
+
69
+ - **Never invent behavior.** If the code is ambiguous, write the
70
+ requirement with an `<!-- uncertainty: {what is unclear} -->` marker
71
+ instead of a guess. A wrong spec is worse than a gap — the gap gets
72
+ investigated, the wrong spec gets trusted.
73
+ - **Every claim carries a source pointer.** A requirement nobody can
74
+ trace to a file and line is an opinion.
75
+ - **Stamp the mined commit hash** in the spec frontmatter. When HEAD
76
+ moves, the spec's age is measurable with a single
77
+ `git log <hash>..HEAD`, so drift is visible instead of quiet.
78
+
79
+ ## Output
80
+
81
+ The mined spec is a markdown document beside the authored ones, and
82
+ `status: mined` in its frontmatter is a proposed convention, not an
83
+ engine state: it stays `mined` until a human reviews the document and
84
+ changes the status by hand. The report ends with the coverage summary —
85
+ capabilities mined, files read vs. deferred, uncertainty count — so the
86
+ reader knows exactly how much of the system the spec actually saw.
@@ -13,8 +13,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
13
13
  ---
14
14
 
15
15
  <!-- arka:kb-first-prefix begin -->
16
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
17
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
16
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
17
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
18
+ > or graph nodes — or declare the gap — BEFORE any external research.
18
19
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
19
20
  <!-- arka:kb-first-prefix end -->
20
21
 
@@ -7,8 +7,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
7
7
  ---
8
8
 
9
9
  <!-- arka:kb-first-prefix begin -->
10
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
11
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
10
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
11
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
12
+ > or graph nodes — or declare the gap — BEFORE any external research.
12
13
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
13
14
  <!-- arka:kb-first-prefix end -->
14
15
 
@@ -14,8 +14,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
14
14
  ---
15
15
 
16
16
  <!-- arka:kb-first-prefix begin -->
17
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
18
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
17
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
18
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
19
+ > or graph nodes — or declare the gap — BEFORE any external research.
19
20
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
20
21
  <!-- arka:kb-first-prefix end -->
21
22
 
@@ -15,8 +15,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
15
15
  ---
16
16
 
17
17
  <!-- arka:kb-first-prefix begin -->
18
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
19
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
18
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
19
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
20
+ > or graph nodes — or declare the gap — BEFORE any external research.
20
21
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
21
22
  <!-- arka:kb-first-prefix end -->
22
23
 
@@ -13,8 +13,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
13
13
  ---
14
14
 
15
15
  <!-- arka:kb-first-prefix begin -->
16
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
17
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
16
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
17
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
18
+ > or graph nodes — or declare the gap — BEFORE any external research.
18
19
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
19
20
  <!-- arka:kb-first-prefix end -->
20
21
 
@@ -14,8 +14,9 @@ allowed-tools: [Read, Write, Edit, Agent, WebFetch, WebSearch]
14
14
  ---
15
15
 
16
16
  <!-- arka:kb-first-prefix begin -->
17
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
18
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
17
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
18
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
19
+ > or graph nodes — or declare the gap — BEFORE any external research.
19
20
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
20
21
  <!-- arka:kb-first-prefix end -->
21
22
 
@@ -13,8 +13,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
13
13
  ---
14
14
 
15
15
  <!-- arka:kb-first-prefix begin -->
16
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
17
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
16
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
17
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
18
+ > or graph nodes — or declare the gap — BEFORE any external research.
18
19
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
19
20
  <!-- arka:kb-first-prefix end -->
20
21
 
@@ -14,8 +14,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
14
14
  ---
15
15
 
16
16
  <!-- arka:kb-first-prefix begin -->
17
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
18
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
17
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
18
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
19
+ > or graph nodes — or declare the gap — BEFORE any external research.
19
20
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
20
21
  <!-- arka:kb-first-prefix end -->
21
22
 
@@ -14,8 +14,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
14
14
  ---
15
15
 
16
16
  <!-- arka:kb-first-prefix begin -->
17
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
18
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
17
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
18
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
19
+ > or graph nodes — or declare the gap — BEFORE any external research.
19
20
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
20
21
  <!-- arka:kb-first-prefix end -->
21
22
 
@@ -14,8 +14,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
14
14
  ---
15
15
 
16
16
  <!-- arka:kb-first-prefix begin -->
17
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
18
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
17
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
18
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
19
+ > or graph nodes — or declare the gap — BEFORE any external research.
19
20
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
20
21
  <!-- arka:kb-first-prefix end -->
21
22
 
@@ -14,8 +14,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
14
14
  ---
15
15
 
16
16
  <!-- arka:kb-first-prefix begin -->
17
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
18
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
17
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
18
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
19
+ > or graph nodes — or declare the gap — BEFORE any external research.
19
20
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
20
21
  <!-- arka:kb-first-prefix end -->
21
22
 
@@ -14,8 +14,9 @@ allowed-tools: [Read, Write, Edit, Agent, WebFetch]
14
14
  ---
15
15
 
16
16
  <!-- arka:kb-first-prefix begin -->
17
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
18
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
17
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
18
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
19
+ > or graph nodes — or declare the gap — BEFORE any external research.
19
20
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
20
21
  <!-- arka:kb-first-prefix end -->
21
22
 
@@ -13,8 +13,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
13
13
  ---
14
14
 
15
15
  <!-- arka:kb-first-prefix begin -->
16
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
17
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
16
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
17
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
18
+ > or graph nodes — or declare the gap — BEFORE any external research.
18
19
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
19
20
  <!-- arka:kb-first-prefix end -->
20
21
 
@@ -14,8 +14,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
14
14
  ---
15
15
 
16
16
  <!-- arka:kb-first-prefix begin -->
17
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
18
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
17
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
18
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
19
+ > or graph nodes — or declare the gap — BEFORE any external research.
19
20
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
20
21
  <!-- arka:kb-first-prefix end -->
21
22
 
@@ -13,8 +13,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
13
13
  ---
14
14
 
15
15
  <!-- arka:kb-first-prefix begin -->
16
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
17
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
16
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
17
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
18
+ > or graph nodes — or declare the gap — BEFORE any external research.
18
19
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
19
20
  <!-- arka:kb-first-prefix end -->
20
21
 
@@ -8,8 +8,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
8
8
  ---
9
9
 
10
10
  <!-- arka:kb-first-prefix begin -->
11
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
12
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
11
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
12
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
13
+ > or graph nodes — or declare the gap — BEFORE any external research.
13
14
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
14
15
  <!-- arka:kb-first-prefix end -->
15
16
 
@@ -14,8 +14,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
14
14
  ---
15
15
 
16
16
  <!-- arka:kb-first-prefix begin -->
17
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
18
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
17
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
18
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
19
+ > or graph nodes — or declare the gap — BEFORE any external research.
19
20
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
20
21
  <!-- arka:kb-first-prefix end -->
21
22
 
@@ -14,8 +14,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
14
14
  ---
15
15
 
16
16
  <!-- arka:kb-first-prefix begin -->
17
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
18
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
17
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
18
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
19
+ > or graph nodes — or declare the gap — BEFORE any external research.
19
20
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
20
21
  <!-- arka:kb-first-prefix end -->
21
22
 
@@ -14,8 +14,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
14
14
  ---
15
15
 
16
16
  <!-- arka:kb-first-prefix begin -->
17
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
18
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
17
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
18
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
19
+ > or graph nodes — or declare the gap — BEFORE any external research.
19
20
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
20
21
  <!-- arka:kb-first-prefix end -->
21
22
 
@@ -14,8 +14,9 @@ allowed-tools: [Read, Write, Edit, Agent, WebFetch, WebSearch]
14
14
  ---
15
15
 
16
16
  <!-- arka:kb-first-prefix begin -->
17
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
18
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
17
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
18
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
19
+ > or graph nodes — or declare the gap — BEFORE any external research.
19
20
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
20
21
  <!-- arka:kb-first-prefix end -->
21
22
 
@@ -14,8 +14,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
14
14
  ---
15
15
 
16
16
  <!-- arka:kb-first-prefix begin -->
17
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
18
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
17
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
18
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
19
+ > or graph nodes — or declare the gap — BEFORE any external research.
19
20
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
20
21
  <!-- arka:kb-first-prefix end -->
21
22
 
@@ -13,8 +13,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
13
13
  ---
14
14
 
15
15
  <!-- arka:kb-first-prefix begin -->
16
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
17
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
16
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
17
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
18
+ > or graph nodes — or declare the gap — BEFORE any external research.
18
19
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
19
20
  <!-- arka:kb-first-prefix end -->
20
21
 
@@ -14,8 +14,9 @@ allowed-tools: [Read, Write, Edit, Agent, WebFetch, WebSearch]
14
14
  ---
15
15
 
16
16
  <!-- arka:kb-first-prefix begin -->
17
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
18
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
17
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
18
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
19
+ > or graph nodes — or declare the gap — BEFORE any external research.
19
20
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
20
21
  <!-- arka:kb-first-prefix end -->
21
22
 
@@ -14,8 +14,9 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
14
14
  ---
15
15
 
16
16
  <!-- arka:kb-first-prefix begin -->
17
- > **KB-first:** query `mcp__obsidian__search_notes` and cite
18
- > `[[wikilinks]]` — or declare the gap — BEFORE any external research.
17
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
18
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
19
+ > or graph nodes — or declare the gap — BEFORE any external research.
19
20
  > Full doctrine: `arka/SKILL.md` (KB-First Research).
20
21
  <!-- arka:kb-first-prefix end -->
21
22