arkaos 4.16.0 → 4.18.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.
- package/README.md +1 -1
- package/VERSION +1 -1
- package/arka/SKILL.md +1 -1
- package/config/agents-provenance.yaml +126 -0
- package/config/skills-provenance.yaml +357 -0
- package/core/agents/provenance.py +117 -0
- package/core/agents/registry_gen.py +75 -57
- package/core/cognition/insights/store.py +114 -7
- package/core/cognition/memory/schemas.py +45 -5
- package/core/governance/harness_scanner.py +776 -0
- package/core/governance/harness_scanner_cli.py +131 -0
- package/core/hooks/pre_tool_use.py +59 -0
- package/core/provenance.py +108 -0
- package/core/skills/__init__.py +21 -0
- package/core/skills/provenance.py +157 -0
- package/core/workflow/config_guard.py +177 -0
- package/core/workflow/transcript_scope.py +46 -0
- package/departments/dev/skills/click-path-audit/SKILL.md +76 -0
- package/departments/dev/skills/pr-test-analyzer/SKILL.md +79 -0
- package/departments/dev/skills/silent-failure-hunter/SKILL.md +72 -0
- package/departments/dev/skills/type-design-analyzer/SKILL.md +73 -0
- package/installer/cli.js +24 -0
- package/installer/doctor.js +46 -0
- package/knowledge/agents-registry-v2.json +259 -1
- package/knowledge/skills-manifest.json +1005 -237
- package/package.json +1 -1
- package/pyproject.toml +1 -1
- package/scripts/marketplace_gen.py +57 -1
- package/scripts/skill_validator.py +133 -62
package/README.md
CHANGED
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
4.
|
|
1
|
+
4.18.0
|
package/arka/SKILL.md
CHANGED
|
@@ -25,7 +25,7 @@ measures citation compliance per turn.
|
|
|
25
25
|
# ArkaOS — Main Orchestrator
|
|
26
26
|
|
|
27
27
|
> **The Operating System for AI Agent Teams**
|
|
28
|
-
> 86 agents. 17 departments.
|
|
28
|
+
> 86 agents. 17 departments. 279 skills. Multi-runtime. Dashboard. Knowledge RAG.
|
|
29
29
|
|
|
30
30
|
## ⛔ Evidence flow — 4 gates (NON-NEGOTIABLE)
|
|
31
31
|
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# Agent provenance classification — the control that makes omission impossible.
|
|
2
|
+
#
|
|
3
|
+
# Mirror of config/skills-provenance.yaml for the agent tree. The parser
|
|
4
|
+
# (core/agents/provenance.py) closes every way of writing a BROKEN
|
|
5
|
+
# provenance block, but it cannot see an agent that never writes one:
|
|
6
|
+
# absence reads as first-party, which is exactly what a forgotten ECC
|
|
7
|
+
# agent port looks like.
|
|
8
|
+
#
|
|
9
|
+
# EVERY agent YAML must be CLASSIFIED — listed in `first_party` below,
|
|
10
|
+
# listed in `derived` below, or declaring a `provenance:` block in its
|
|
11
|
+
# own YAML. An agent in none of the three fails CI by name.
|
|
12
|
+
# See tests/python/test_agent_provenance.py.
|
|
13
|
+
#
|
|
14
|
+
# `first_party` is the baseline: the agents that existed on the cut date,
|
|
15
|
+
# snapshotted once so they need no edits. CLOSED set — do not add to it.
|
|
16
|
+
# A new agent declares its origin in its own YAML; a ported one lands in
|
|
17
|
+
# `derived` with its licence written down, in a diff, in front of a
|
|
18
|
+
# reviewer.
|
|
19
|
+
#
|
|
20
|
+
# What the baseline is and is not:
|
|
21
|
+
# ASSERTED: these are ArkaOS originals.
|
|
22
|
+
# PROVEN: none can be ECC-derived — every one was created before
|
|
23
|
+
# 2026-07-14, the day we first read that repository (git log
|
|
24
|
+
# --diff-filter=A; verified once).
|
|
25
|
+
# The property the control rests on is that the set is CLOSED:
|
|
26
|
+
# anything new must classify itself.
|
|
27
|
+
#
|
|
28
|
+
# Keys are repo-relative agent YAML paths.
|
|
29
|
+
#
|
|
30
|
+
# derived format:
|
|
31
|
+
# departments/<dept>/agents/<slug>.yaml:
|
|
32
|
+
# origin: <lowercase-slug> # e.g. ecc-derived, community
|
|
33
|
+
# source: https://...
|
|
34
|
+
# license: MIT
|
|
35
|
+
|
|
36
|
+
baseline_date: 2026-07-14
|
|
37
|
+
|
|
38
|
+
derived: {}
|
|
39
|
+
|
|
40
|
+
first_party:
|
|
41
|
+
- departments/brand/agents/brand-director.yaml
|
|
42
|
+
- departments/brand/agents/brand-strategist.yaml
|
|
43
|
+
- departments/brand/agents/design-ops/design-ops-lead.yaml
|
|
44
|
+
- departments/brand/agents/design-ops/extraction-script-writer.yaml
|
|
45
|
+
- departments/brand/agents/design-ops/shadcn-padronizer.yaml
|
|
46
|
+
- departments/brand/agents/design-ops/wcag-auditor.yaml
|
|
47
|
+
- departments/brand/agents/ux-designer.yaml
|
|
48
|
+
- departments/brand/agents/ux-researcher.yaml
|
|
49
|
+
- departments/brand/agents/ux-strategist.yaml
|
|
50
|
+
- departments/brand/agents/visual-designer.yaml
|
|
51
|
+
- departments/community/agents/community-manager.yaml
|
|
52
|
+
- departments/community/agents/community-strategist.yaml
|
|
53
|
+
- departments/community/agents/engagement-designer.yaml
|
|
54
|
+
- departments/content/agents/content-strategist.yaml
|
|
55
|
+
- departments/content/agents/production/content-researcher.yaml
|
|
56
|
+
- departments/content/agents/production/info-compiler.yaml
|
|
57
|
+
- departments/content/agents/production/trends-analyst.yaml
|
|
58
|
+
- departments/content/agents/production/video-producer.yaml
|
|
59
|
+
- departments/content/agents/repurpose-distributor.yaml
|
|
60
|
+
- departments/content/agents/scriptwriter.yaml
|
|
61
|
+
- departments/content/agents/viral-engineer.yaml
|
|
62
|
+
- departments/dev/agents/ai-engineering/ai-engineering-lead.yaml
|
|
63
|
+
- departments/dev/agents/architect.yaml
|
|
64
|
+
- departments/dev/agents/backend-core/laravel-eng.yaml
|
|
65
|
+
- departments/dev/agents/backend-core/node-ts-eng.yaml
|
|
66
|
+
- departments/dev/agents/backend-core/python-eng.yaml
|
|
67
|
+
- departments/dev/agents/backend-dev.yaml
|
|
68
|
+
- departments/dev/agents/cto.yaml
|
|
69
|
+
- departments/dev/agents/data-platform/etl-eng.yaml
|
|
70
|
+
- departments/dev/agents/dba.yaml
|
|
71
|
+
- departments/dev/agents/devops-eng.yaml
|
|
72
|
+
- departments/dev/agents/frontend-dev.yaml
|
|
73
|
+
- departments/dev/agents/qa-eng.yaml
|
|
74
|
+
- departments/dev/agents/research-assistant.yaml
|
|
75
|
+
- departments/dev/agents/security-eng.yaml
|
|
76
|
+
- departments/dev/agents/tech-lead.yaml
|
|
77
|
+
- departments/ecom/agents/commerce-engineer.yaml
|
|
78
|
+
- departments/ecom/agents/cro-specialist.yaml
|
|
79
|
+
- departments/ecom/agents/ecom-director.yaml
|
|
80
|
+
- departments/ecom/agents/retention-manager.yaml
|
|
81
|
+
- departments/finance/agents/cfo.yaml
|
|
82
|
+
- departments/finance/agents/financial-analyst.yaml
|
|
83
|
+
- departments/finance/agents/investment-strategist.yaml
|
|
84
|
+
- departments/kb/agents/data-collector.yaml
|
|
85
|
+
- departments/kb/agents/knowledge-curator.yaml
|
|
86
|
+
- departments/kb/agents/knowledge-director.yaml
|
|
87
|
+
- departments/kb/agents/research-analyst.yaml
|
|
88
|
+
- departments/landing/agents/affiliate-manager.yaml
|
|
89
|
+
- departments/landing/agents/conversion-strategist.yaml
|
|
90
|
+
- departments/landing/agents/cro-specialist.yaml
|
|
91
|
+
- departments/landing/agents/sales-copywriter.yaml
|
|
92
|
+
- departments/leadership/agents/culture-coach.yaml
|
|
93
|
+
- departments/leadership/agents/hr-specialist.yaml
|
|
94
|
+
- departments/leadership/agents/leadership-director.yaml
|
|
95
|
+
- departments/marketing/agents/content-marketer.yaml
|
|
96
|
+
- departments/marketing/agents/marketing-director.yaml
|
|
97
|
+
- departments/marketing/agents/paid-specialist.yaml
|
|
98
|
+
- departments/marketing/agents/seo-specialist.yaml
|
|
99
|
+
- departments/ops/agents/automation-engineer.yaml
|
|
100
|
+
- departments/ops/agents/doc-writer.yaml
|
|
101
|
+
- departments/ops/agents/ops-lead.yaml
|
|
102
|
+
- departments/org/agents/chief-of-staff.yaml
|
|
103
|
+
- departments/org/agents/coo.yaml
|
|
104
|
+
- departments/org/agents/okr-steward.yaml
|
|
105
|
+
- departments/org/agents/org-designer.yaml
|
|
106
|
+
- departments/org/agents/people-ops.yaml
|
|
107
|
+
- departments/pm/agents/pm-director.yaml
|
|
108
|
+
- departments/pm/agents/product-owner.yaml
|
|
109
|
+
- departments/pm/agents/scrum-master.yaml
|
|
110
|
+
- departments/pm/agents/strategic-pm.yaml
|
|
111
|
+
- departments/quality/agents/copy-director.yaml
|
|
112
|
+
- departments/quality/agents/cqo.yaml
|
|
113
|
+
- departments/quality/agents/tech-director.yaml
|
|
114
|
+
- departments/saas/agents/cs-manager.yaml
|
|
115
|
+
- departments/saas/agents/growth-engineer.yaml
|
|
116
|
+
- departments/saas/agents/metrics-analyst.yaml
|
|
117
|
+
- departments/saas/agents/revops-lead.yaml
|
|
118
|
+
- departments/saas/agents/saas-strategist.yaml
|
|
119
|
+
- departments/sales/agents/sales-closer.yaml
|
|
120
|
+
- departments/sales/agents/sales-director.yaml
|
|
121
|
+
- departments/sales/agents/sales-ops.yaml
|
|
122
|
+
- departments/sales/agents/sdr.yaml
|
|
123
|
+
- departments/strategy/agents/business-model-designer.yaml
|
|
124
|
+
- departments/strategy/agents/decision-quality.yaml
|
|
125
|
+
- departments/strategy/agents/market-analyst.yaml
|
|
126
|
+
- departments/strategy/agents/strategy-director.yaml
|
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
# Skill provenance classification — the control that makes omission impossible.
|
|
2
|
+
#
|
|
3
|
+
# The parser (core/skills/provenance.py) closes every way of writing a
|
|
4
|
+
# BROKEN provenance block. It cannot see a skill that never writes one:
|
|
5
|
+
# absence reads as first-party, which is exactly what a forgotten port
|
|
6
|
+
# looks like. A parser is therefore the wrong place to close it.
|
|
7
|
+
#
|
|
8
|
+
# This file closes it. EVERY hand-authored SKILL.md in the repo must be
|
|
9
|
+
# CLASSIFIED — listed in `first_party` below, listed in `derived` below,
|
|
10
|
+
# or declaring `metadata.origin` in its own frontmatter. A skill in none
|
|
11
|
+
# of the three fails CI by name as `unclassified`.
|
|
12
|
+
# See tests/python/test_skill_provenance.py.
|
|
13
|
+
#
|
|
14
|
+
# Coverage is every authored surface, not just department sub-skills:
|
|
15
|
+
# department hubs (departments/<d>/SKILL.md), the orchestrator
|
|
16
|
+
# (arka/SKILL.md) and its meta skills (arka/skills/<s>/) are all here,
|
|
17
|
+
# because a port can land in any of them. The generated trees —
|
|
18
|
+
# plugins/ and marketplace/ — are deliberately NOT listed: they are
|
|
19
|
+
# emitted from departments/ by scripts/marketplace_gen.py and are
|
|
20
|
+
# already byte-drift-gated, so classifying the source classifies them.
|
|
21
|
+
#
|
|
22
|
+
# `first_party` is the baseline: the 275 skills that existed on the cut
|
|
23
|
+
# date, snapshotted once so they need no edits. It is a CLOSED set. Do
|
|
24
|
+
# not add to it — a new skill declares its origin in its own
|
|
25
|
+
# frontmatter, and a ported one lands in `derived` with its licence
|
|
26
|
+
# written down, in a diff, in front of a reviewer.
|
|
27
|
+
#
|
|
28
|
+
# What the baseline IS and IS NOT, stated plainly:
|
|
29
|
+
#
|
|
30
|
+
# ASSERTED, not independently verified: that these 275 are ArkaOS
|
|
31
|
+
# originals. Nobody re-derived each one from scratch to prove it.
|
|
32
|
+
#
|
|
33
|
+
# PROVEN, for the lineage that matters: none of them can be
|
|
34
|
+
# ECC-derived. `git log --diff-filter=A` puts every creation between
|
|
35
|
+
# 2026-03-14 and 2026-07-13 — all of them before 2026-07-14, the day
|
|
36
|
+
# we first read that repository. Zero exceptions.
|
|
37
|
+
#
|
|
38
|
+
# The property the control actually rests on is neither: it is that
|
|
39
|
+
# the set is CLOSED. Anything new must classify itself, whatever the
|
|
40
|
+
# truth about the 275 turns out to be.
|
|
41
|
+
#
|
|
42
|
+
# Residual we accept, on the record: baseline trust is granted to a
|
|
43
|
+
# NAME. Gutting an existing skill and refilling it with someone else's
|
|
44
|
+
# content keeps the name and passes. Per-entry content hashes would
|
|
45
|
+
# close it and are refused — 275 live skills means every legitimate
|
|
46
|
+
# edit would red-line CI until someone regenerated the hash, and a hash
|
|
47
|
+
# people regenerate reflexively is theatre, not a control. The honest
|
|
48
|
+
# defence against a whole-body swap is a diff that visibly replaces an
|
|
49
|
+
# entire skill in front of a reviewer.
|
|
50
|
+
#
|
|
51
|
+
# Keys are repo-relative skill directory paths.
|
|
52
|
+
#
|
|
53
|
+
# derived format:
|
|
54
|
+
# departments/<dept>/skills/<slug>:
|
|
55
|
+
# origin: <lowercase-slug> # e.g. ecc-derived, community
|
|
56
|
+
# source: https://... # where it came from
|
|
57
|
+
# license: MIT # what we are bound by
|
|
58
|
+
|
|
59
|
+
baseline_date: 2026-07-14
|
|
60
|
+
|
|
61
|
+
derived:
|
|
62
|
+
# ECC review lenses (Track C1) — specialised review skills ArkaOS
|
|
63
|
+
# lacked, ported from the MIT-licensed everything-claude-code repo and
|
|
64
|
+
# rewritten in ArkaOS voice with ArkaOS personas.
|
|
65
|
+
departments/dev/skills/silent-failure-hunter:
|
|
66
|
+
origin: ecc-derived
|
|
67
|
+
source: https://github.com/affaan-m/ecc
|
|
68
|
+
license: MIT
|
|
69
|
+
departments/dev/skills/type-design-analyzer:
|
|
70
|
+
origin: ecc-derived
|
|
71
|
+
source: https://github.com/affaan-m/ecc
|
|
72
|
+
license: MIT
|
|
73
|
+
departments/dev/skills/pr-test-analyzer:
|
|
74
|
+
origin: ecc-derived
|
|
75
|
+
source: https://github.com/affaan-m/ecc
|
|
76
|
+
license: MIT
|
|
77
|
+
departments/dev/skills/click-path-audit:
|
|
78
|
+
origin: ecc-derived
|
|
79
|
+
source: https://github.com/affaan-m/ecc
|
|
80
|
+
license: MIT
|
|
81
|
+
|
|
82
|
+
first_party:
|
|
83
|
+
- arka
|
|
84
|
+
- arka/skills/bootstrap-agent
|
|
85
|
+
- arka/skills/checkpoint
|
|
86
|
+
- arka/skills/comfyui
|
|
87
|
+
- arka/skills/conclave
|
|
88
|
+
- arka/skills/costs
|
|
89
|
+
- arka/skills/design-ops
|
|
90
|
+
- arka/skills/dreams
|
|
91
|
+
- arka/skills/flow
|
|
92
|
+
- arka/skills/forge
|
|
93
|
+
- arka/skills/fusion
|
|
94
|
+
- arka/skills/human-writing
|
|
95
|
+
- arka/skills/recipes
|
|
96
|
+
- arka/skills/refine
|
|
97
|
+
- arka/skills/research
|
|
98
|
+
- departments/brand
|
|
99
|
+
- departments/brand/skills/archetype-finder
|
|
100
|
+
- departments/brand/skills/colors
|
|
101
|
+
- departments/brand/skills/design-review
|
|
102
|
+
- departments/brand/skills/design-system
|
|
103
|
+
- departments/brand/skills/identity-system
|
|
104
|
+
- departments/brand/skills/logo-brief
|
|
105
|
+
- departments/brand/skills/mockup-generate
|
|
106
|
+
- departments/brand/skills/naming-evaluate
|
|
107
|
+
- departments/brand/skills/positioning-statement
|
|
108
|
+
- departments/brand/skills/primal-audit
|
|
109
|
+
- departments/brand/skills/ux-audit
|
|
110
|
+
- departments/brand/skills/voice-guide
|
|
111
|
+
- departments/brand/skills/wireframe
|
|
112
|
+
- departments/community
|
|
113
|
+
- departments/community/skills/ai-community
|
|
114
|
+
- departments/community/skills/betting-setup
|
|
115
|
+
- departments/community/skills/business-model
|
|
116
|
+
- departments/community/skills/content-calendar
|
|
117
|
+
- departments/community/skills/events-plan
|
|
118
|
+
- departments/community/skills/gamification-design
|
|
119
|
+
- departments/community/skills/growth-plan
|
|
120
|
+
- departments/community/skills/metrics-track
|
|
121
|
+
- departments/community/skills/moderation
|
|
122
|
+
- departments/community/skills/monetize-plan
|
|
123
|
+
- departments/community/skills/niche-setup
|
|
124
|
+
- departments/community/skills/onboarding-flow
|
|
125
|
+
- departments/community/skills/platform-select
|
|
126
|
+
- departments/community/skills/retention-system
|
|
127
|
+
- departments/content
|
|
128
|
+
- departments/content/skills/ai-workflow
|
|
129
|
+
- departments/content/skills/analytics
|
|
130
|
+
- departments/content/skills/calendar
|
|
131
|
+
- departments/content/skills/content-system
|
|
132
|
+
- departments/content/skills/hook-write
|
|
133
|
+
- departments/content/skills/monetization-plan
|
|
134
|
+
- departments/content/skills/newsletter-write
|
|
135
|
+
- departments/content/skills/platform-optimize
|
|
136
|
+
- departments/content/skills/repurpose-plan
|
|
137
|
+
- departments/content/skills/research-compile
|
|
138
|
+
- departments/content/skills/script-structure
|
|
139
|
+
- departments/content/skills/short-form
|
|
140
|
+
- departments/content/skills/thumbnail-package
|
|
141
|
+
- departments/content/skills/trend-hunt
|
|
142
|
+
- departments/content/skills/video-produce
|
|
143
|
+
- departments/content/skills/video-setup
|
|
144
|
+
- departments/content/skills/viral-design
|
|
145
|
+
- departments/content/skills/youtube-strategy
|
|
146
|
+
- departments/dev
|
|
147
|
+
- departments/dev/skills/adversarial-review
|
|
148
|
+
- departments/dev/skills/agent-design
|
|
149
|
+
- departments/dev/skills/agent-workflow
|
|
150
|
+
- departments/dev/skills/ai-assisted-dev
|
|
151
|
+
- departments/dev/skills/ai-security
|
|
152
|
+
- departments/dev/skills/animated-website
|
|
153
|
+
- departments/dev/skills/api-design
|
|
154
|
+
- departments/dev/skills/app-test
|
|
155
|
+
- departments/dev/skills/architecture-design
|
|
156
|
+
- departments/dev/skills/changelog
|
|
157
|
+
- departments/dev/skills/ci-cd-pipeline
|
|
158
|
+
- departments/dev/skills/clean-code-review
|
|
159
|
+
- departments/dev/skills/code-review
|
|
160
|
+
- departments/dev/skills/codebase-onboard
|
|
161
|
+
- departments/dev/skills/db-design
|
|
162
|
+
- departments/dev/skills/db-schema
|
|
163
|
+
- departments/dev/skills/ddd-model
|
|
164
|
+
- departments/dev/skills/demo-gif
|
|
165
|
+
- departments/dev/skills/dependency-audit
|
|
166
|
+
- departments/dev/skills/deploy
|
|
167
|
+
- departments/dev/skills/devops-pipeline
|
|
168
|
+
- departments/dev/skills/docs
|
|
169
|
+
- departments/dev/skills/env-secrets
|
|
170
|
+
- departments/dev/skills/incident
|
|
171
|
+
- departments/dev/skills/mcp
|
|
172
|
+
- departments/dev/skills/mcp-builder
|
|
173
|
+
- departments/dev/skills/observability
|
|
174
|
+
- departments/dev/skills/onboard
|
|
175
|
+
- departments/dev/skills/performance-audit
|
|
176
|
+
- departments/dev/skills/performance-profiler
|
|
177
|
+
- departments/dev/skills/rag-architect
|
|
178
|
+
- departments/dev/skills/red-team
|
|
179
|
+
- departments/dev/skills/refactor-plan
|
|
180
|
+
- departments/dev/skills/release
|
|
181
|
+
- departments/dev/skills/research
|
|
182
|
+
- departments/dev/skills/runbook
|
|
183
|
+
- departments/dev/skills/scaffold
|
|
184
|
+
- departments/dev/skills/security-audit
|
|
185
|
+
- departments/dev/skills/security-compliance
|
|
186
|
+
- departments/dev/skills/skill-audit
|
|
187
|
+
- departments/dev/skills/spec
|
|
188
|
+
- departments/dev/skills/stack-check
|
|
189
|
+
- departments/dev/skills/tdd-cycle
|
|
190
|
+
- departments/dev/skills/tech-debt
|
|
191
|
+
- departments/ecom
|
|
192
|
+
- departments/ecom/skills/analytics
|
|
193
|
+
- departments/ecom/skills/browse-competitor
|
|
194
|
+
- departments/ecom/skills/cart-recovery
|
|
195
|
+
- departments/ecom/skills/cro-optimize
|
|
196
|
+
- departments/ecom/skills/customer-journey
|
|
197
|
+
- departments/ecom/skills/ecommerce
|
|
198
|
+
- departments/ecom/skills/fulfillment-plan
|
|
199
|
+
- departments/ecom/skills/marketplace-manage
|
|
200
|
+
- departments/ecom/skills/pricing-strategy
|
|
201
|
+
- departments/ecom/skills/product-launch
|
|
202
|
+
- departments/ecom/skills/rfm-segment
|
|
203
|
+
- departments/ecom/skills/social-commerce
|
|
204
|
+
- departments/ecom/skills/store-audit
|
|
205
|
+
- departments/ecom/skills/subscription-model
|
|
206
|
+
- departments/finance
|
|
207
|
+
- departments/finance/skills/budget-plan
|
|
208
|
+
- departments/finance/skills/cashflow-forecast
|
|
209
|
+
- departments/finance/skills/ciso-advisor
|
|
210
|
+
- departments/finance/skills/financial-model
|
|
211
|
+
- departments/finance/skills/pitch-deck
|
|
212
|
+
- departments/finance/skills/scenario-analysis
|
|
213
|
+
- departments/finance/skills/unit-economics
|
|
214
|
+
- departments/finance/skills/valuation-model
|
|
215
|
+
- departments/kb
|
|
216
|
+
- departments/kb/skills/ai-research
|
|
217
|
+
- departments/kb/skills/competitive-intel
|
|
218
|
+
- departments/kb/skills/knowledge
|
|
219
|
+
- departments/kb/skills/knowledge-review
|
|
220
|
+
- departments/kb/skills/learn-content
|
|
221
|
+
- departments/kb/skills/moc-create
|
|
222
|
+
- departments/kb/skills/persona-build
|
|
223
|
+
- departments/kb/skills/research-plan
|
|
224
|
+
- departments/kb/skills/search-kb
|
|
225
|
+
- departments/kb/skills/source-evaluate
|
|
226
|
+
- departments/kb/skills/taxonomy-manage
|
|
227
|
+
- departments/kb/skills/write-as-persona
|
|
228
|
+
- departments/kb/skills/zettelkasten-process
|
|
229
|
+
- departments/landing
|
|
230
|
+
- departments/landing/skills/ab-test
|
|
231
|
+
- departments/landing/skills/affiliate-bridge
|
|
232
|
+
- departments/landing/skills/awareness-diagnose
|
|
233
|
+
- departments/landing/skills/copy-framework
|
|
234
|
+
- departments/landing/skills/email-sequence
|
|
235
|
+
- departments/landing/skills/funnel-design
|
|
236
|
+
- departments/landing/skills/funnel-metrics
|
|
237
|
+
- departments/landing/skills/headline-write
|
|
238
|
+
- departments/landing/skills/landing-gen
|
|
239
|
+
- departments/landing/skills/launch-sequence
|
|
240
|
+
- departments/landing/skills/offer-create
|
|
241
|
+
- departments/landing/skills/optimize-page
|
|
242
|
+
- departments/landing/skills/page-architect
|
|
243
|
+
- departments/landing/skills/persuasion-apply
|
|
244
|
+
- departments/landing/skills/webinar-funnel
|
|
245
|
+
- departments/leadership
|
|
246
|
+
- departments/leadership/skills/change-manage
|
|
247
|
+
- departments/leadership/skills/conflict-resolve
|
|
248
|
+
- departments/leadership/skills/culture-audit
|
|
249
|
+
- departments/leadership/skills/delegation-matrix
|
|
250
|
+
- departments/leadership/skills/disc-assess
|
|
251
|
+
- departments/leadership/skills/feedback-give
|
|
252
|
+
- departments/leadership/skills/hiring-plan
|
|
253
|
+
- departments/leadership/skills/okr-define
|
|
254
|
+
- departments/leadership/skills/performance-review
|
|
255
|
+
- departments/leadership/skills/team-health
|
|
256
|
+
- departments/marketing
|
|
257
|
+
- departments/marketing/skills/ab-test
|
|
258
|
+
- departments/marketing/skills/analytics-report
|
|
259
|
+
- departments/marketing/skills/audience-segment
|
|
260
|
+
- departments/marketing/skills/calendar-plan
|
|
261
|
+
- departments/marketing/skills/cold-email
|
|
262
|
+
- departments/marketing/skills/competitor-analysis
|
|
263
|
+
- departments/marketing/skills/content-audit
|
|
264
|
+
- departments/marketing/skills/email-sequence
|
|
265
|
+
- departments/marketing/skills/growth-loop
|
|
266
|
+
- departments/marketing/skills/marketing-automation
|
|
267
|
+
- departments/marketing/skills/paid-campaign
|
|
268
|
+
- departments/marketing/skills/programmatic-seo
|
|
269
|
+
- departments/marketing/skills/seo-audit
|
|
270
|
+
- departments/marketing/skills/social-strategy
|
|
271
|
+
- departments/ops
|
|
272
|
+
- departments/ops/skills/bottleneck-find
|
|
273
|
+
- departments/ops/skills/dashboard-build
|
|
274
|
+
- departments/ops/skills/gdpr-compliance
|
|
275
|
+
- departments/ops/skills/gtd-setup
|
|
276
|
+
- departments/ops/skills/integration-design
|
|
277
|
+
- departments/ops/skills/iso27001
|
|
278
|
+
- departments/ops/skills/lean-audit
|
|
279
|
+
- departments/ops/skills/metrics-dashboard
|
|
280
|
+
- departments/ops/skills/n8n-flow
|
|
281
|
+
- departments/ops/skills/operations
|
|
282
|
+
- departments/ops/skills/quality-management
|
|
283
|
+
- departments/ops/skills/risk-management
|
|
284
|
+
- departments/ops/skills/soc2-compliance
|
|
285
|
+
- departments/ops/skills/sop-create
|
|
286
|
+
- departments/ops/skills/update
|
|
287
|
+
- departments/ops/skills/workflow-automate
|
|
288
|
+
- departments/ops/skills/zapier-flow
|
|
289
|
+
- departments/org
|
|
290
|
+
- departments/org/skills/compensation-plan
|
|
291
|
+
- departments/org/skills/culture-define
|
|
292
|
+
- departments/org/skills/decision-framework
|
|
293
|
+
- departments/org/skills/hiring-plan
|
|
294
|
+
- departments/org/skills/meeting-optimize
|
|
295
|
+
- departments/org/skills/okr-cadence
|
|
296
|
+
- departments/org/skills/onboarding-design
|
|
297
|
+
- departments/org/skills/org-design
|
|
298
|
+
- departments/org/skills/principles-audit
|
|
299
|
+
- departments/org/skills/remote-setup
|
|
300
|
+
- departments/org/skills/sop-process
|
|
301
|
+
- departments/org/skills/team-assess
|
|
302
|
+
- departments/pm
|
|
303
|
+
- departments/pm/skills/agile-po
|
|
304
|
+
- departments/pm/skills/backlog-groom
|
|
305
|
+
- departments/pm/skills/discovery-plan
|
|
306
|
+
- departments/pm/skills/estimate-forecast
|
|
307
|
+
- departments/pm/skills/impact-map
|
|
308
|
+
- departments/pm/skills/kanban-setup
|
|
309
|
+
- departments/pm/skills/risk-register
|
|
310
|
+
- departments/pm/skills/roadmap-build
|
|
311
|
+
- departments/pm/skills/shape-pitch
|
|
312
|
+
- departments/pm/skills/sprint-plan
|
|
313
|
+
- departments/pm/skills/stakeholder-map
|
|
314
|
+
- departments/pm/skills/standup-run
|
|
315
|
+
- departments/pm/skills/story-write
|
|
316
|
+
- departments/quality
|
|
317
|
+
- departments/saas
|
|
318
|
+
- departments/saas/skills/benchmark-compare
|
|
319
|
+
- departments/saas/skills/churn-analysis
|
|
320
|
+
- departments/saas/skills/customer-success
|
|
321
|
+
- departments/saas/skills/growth-plan
|
|
322
|
+
- departments/saas/skills/gtm-strategy
|
|
323
|
+
- departments/saas/skills/launch-execute
|
|
324
|
+
- departments/saas/skills/leaky-bucket
|
|
325
|
+
- departments/saas/skills/metrics-dashboard
|
|
326
|
+
- departments/saas/skills/micro-saas-stack
|
|
327
|
+
- departments/saas/skills/mvp-build
|
|
328
|
+
- departments/saas/skills/niche-evaluate
|
|
329
|
+
- departments/saas/skills/onboarding-optimize
|
|
330
|
+
- departments/saas/skills/plg-setup
|
|
331
|
+
- departments/saas/skills/pricing-strategy
|
|
332
|
+
- departments/saas/skills/saas-scaffold
|
|
333
|
+
- departments/saas/skills/validate-idea
|
|
334
|
+
- departments/saas/skills/voc-loop
|
|
335
|
+
- departments/sales
|
|
336
|
+
- departments/sales/skills/challenger-sell
|
|
337
|
+
- departments/sales/skills/deal-qualify
|
|
338
|
+
- departments/sales/skills/discovery-call
|
|
339
|
+
- departments/sales/skills/forecast-revenue
|
|
340
|
+
- departments/sales/skills/negotiate-plan
|
|
341
|
+
- departments/sales/skills/objection-handle
|
|
342
|
+
- departments/sales/skills/pipeline-manage
|
|
343
|
+
- departments/sales/skills/pricing-negotiate
|
|
344
|
+
- departments/sales/skills/proposal-write
|
|
345
|
+
- departments/sales/skills/spin-sell
|
|
346
|
+
- departments/strategy
|
|
347
|
+
- departments/strategy/skills/blue-ocean
|
|
348
|
+
- departments/strategy/skills/bmc
|
|
349
|
+
- departments/strategy/skills/board-advisor
|
|
350
|
+
- departments/strategy/skills/cto-advisor
|
|
351
|
+
- departments/strategy/skills/extract-data
|
|
352
|
+
- departments/strategy/skills/five-forces
|
|
353
|
+
- departments/strategy/skills/growth-strategy
|
|
354
|
+
- departments/strategy/skills/moat-analysis
|
|
355
|
+
- departments/strategy/skills/position
|
|
356
|
+
- departments/strategy/skills/premortem
|
|
357
|
+
- departments/strategy/skills/scenario-plan
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"""Agent provenance — supply-chain lineage for every agent YAML.
|
|
2
|
+
|
|
3
|
+
The skill tree got provenance in v4.17.0; agents did not, and the ECC
|
|
4
|
+
teardown puts ~15 derived agents on the roadmap. An ECC agent ported
|
|
5
|
+
today would land with exactly the hole skill provenance closes: no
|
|
6
|
+
origin, no licence trail, indistinguishable from an ArkaOS original.
|
|
7
|
+
This is the agent-side mirror, and it must land before the first agent
|
|
8
|
+
port.
|
|
9
|
+
|
|
10
|
+
An agent YAML may carry a top-level ``provenance`` block:
|
|
11
|
+
|
|
12
|
+
id: silent-failure-hunter
|
|
13
|
+
name: ...
|
|
14
|
+
provenance:
|
|
15
|
+
origin: ecc-derived
|
|
16
|
+
source: https://github.com/affaan-m/ecc
|
|
17
|
+
license: MIT
|
|
18
|
+
|
|
19
|
+
Absent means first-party. The validation rules are the shared
|
|
20
|
+
``core.provenance`` core (https source, licence required for derived,
|
|
21
|
+
no trail on ``arkaos``). This module only reads the YAML.
|
|
22
|
+
|
|
23
|
+
As with skills, no parser can see the omission vector — a port that
|
|
24
|
+
never writes the block reads as first-party. ``config/agents-provenance.yaml``
|
|
25
|
+
classifies every agent as baseline, derived, or self-declaring, and
|
|
26
|
+
``tests/python/test_agent_provenance.py`` fails CI on any agent that is
|
|
27
|
+
none of the three.
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
from __future__ import annotations
|
|
31
|
+
|
|
32
|
+
from pathlib import Path
|
|
33
|
+
|
|
34
|
+
import yaml
|
|
35
|
+
|
|
36
|
+
from core.provenance import (
|
|
37
|
+
FIRST_PARTY,
|
|
38
|
+
Provenance,
|
|
39
|
+
ProvenanceError,
|
|
40
|
+
provenance_from_block,
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
__all__ = [
|
|
44
|
+
"FIRST_PARTY",
|
|
45
|
+
"Provenance",
|
|
46
|
+
"ProvenanceError",
|
|
47
|
+
"agent_provenance",
|
|
48
|
+
"declares_provenance",
|
|
49
|
+
"provenance_from_yaml",
|
|
50
|
+
"provenance_issues_from_yaml",
|
|
51
|
+
]
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def _provenance_block(data: dict) -> dict | None:
|
|
55
|
+
"""The ``provenance`` mapping from a loaded agent YAML.
|
|
56
|
+
|
|
57
|
+
Present-but-not-a-mapping is an error, never a silent first-party
|
|
58
|
+
fallback — the same fail-closed rule the skill parser uses.
|
|
59
|
+
"""
|
|
60
|
+
if "provenance" not in data:
|
|
61
|
+
return None
|
|
62
|
+
block = data["provenance"]
|
|
63
|
+
if not isinstance(block, dict):
|
|
64
|
+
raise ProvenanceError(
|
|
65
|
+
"provenance must be a mapping of origin/source/license"
|
|
66
|
+
)
|
|
67
|
+
return block
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def provenance_from_yaml(data: dict) -> Provenance:
|
|
71
|
+
"""Parse the provenance of a loaded agent YAML mapping.
|
|
72
|
+
|
|
73
|
+
Raises ``ProvenanceError``/``ValidationError`` when the block is
|
|
74
|
+
present but incoherent.
|
|
75
|
+
"""
|
|
76
|
+
if not isinstance(data, dict):
|
|
77
|
+
raise ProvenanceError("agent YAML is not a mapping")
|
|
78
|
+
return provenance_from_block(_provenance_block(data))
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def declares_provenance(data: dict) -> bool:
|
|
82
|
+
"""Did the author WRITE a provenance block? (vs the first-party
|
|
83
|
+
default). The classification control needs this distinction, which
|
|
84
|
+
``provenance_from_yaml`` collapses."""
|
|
85
|
+
if not isinstance(data, dict):
|
|
86
|
+
return False
|
|
87
|
+
try:
|
|
88
|
+
return _provenance_block(data) is not None
|
|
89
|
+
except ProvenanceError:
|
|
90
|
+
return True # broken but attempted
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
def _load_yaml(path: Path) -> dict:
|
|
94
|
+
try:
|
|
95
|
+
data = yaml.safe_load(path.read_text(encoding="utf-8"))
|
|
96
|
+
except (OSError, yaml.YAMLError) as exc:
|
|
97
|
+
raise ProvenanceError(f"{path}: cannot read agent YAML — {exc}") from exc
|
|
98
|
+
return data if isinstance(data, dict) else {}
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
def agent_provenance(path: str | Path) -> Provenance:
|
|
102
|
+
"""Provenance of an agent YAML file. Raises on an incoherent block."""
|
|
103
|
+
return provenance_from_yaml(_load_yaml(Path(path)))
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
def provenance_issues_from_yaml(data: dict) -> list[str]:
|
|
107
|
+
"""Non-raising validation of a loaded agent YAML. Empty = clean."""
|
|
108
|
+
from pydantic import ValidationError
|
|
109
|
+
try:
|
|
110
|
+
provenance_from_yaml(data)
|
|
111
|
+
except ProvenanceError as exc:
|
|
112
|
+
return [str(exc)]
|
|
113
|
+
except ValidationError as exc:
|
|
114
|
+
return [
|
|
115
|
+
err["msg"].removeprefix("Value error, ") for err in exc.errors()
|
|
116
|
+
]
|
|
117
|
+
return []
|