Skip to content

Commit d990ac2

Browse files
chore: introduce agent development kit skills
1 parent ad4eb77 commit d990ac2

17 files changed

Lines changed: 341 additions & 2 deletions

File tree

gemini-extension.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77
"url": "https://api.klarity.ai/mcp"
88
}
99
},
10-
"contextFileName": "skills/klarity-process-context-graph/SKILL.md"
10+
"contextFileName": "skills/klarity-agent-builder-using-klarity/SKILL.md"
1111
}

klarity_mcp/builders.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,15 @@ def build_gemini_extension_manifest(
190190
"""Output: gemini-extension.json (Gemini CLI extension manifest).
191191
192192
Uses the consolidated `url` key (not `httpUrl`) per Gemini CLI PR #13762.
193+
194+
PARITY LIMITATION: Gemini's extension schema accepts a single
195+
`contextFileName`, so it cannot enumerate every bundled skill the way Codex
196+
(`skills: "./skills/"`) and Claude (plugin-dir discovery) do. We point it at
197+
the agent-builder entry shim (`metadata.gemini_context_skill`), which is the
198+
ADK entry point; that skill's prose routes to the rest of the lifecycle via
199+
the MCP tools. The process-context-graph skill and the remaining
200+
agent-builder step skills are NOT surfaced to Gemini as separate context
201+
files — they remain reachable through the MCP tools the entry shim invokes.
193202
"""
194203
return {
195204
"name": metadata.plugin_name,
@@ -200,7 +209,7 @@ def build_gemini_extension_manifest(
200209
"url": metadata.mcp_url,
201210
}
202211
},
203-
"contextFileName": "skills/klarity-process-context-graph/SKILL.md",
212+
"contextFileName": f"skills/{metadata.gemini_context_skill}/SKILL.md",
204213
}
205214

206215

klarity_mcp/metadata.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,12 @@ class KlarityMCPMetadata:
4343
submission_test_prompts: tuple[str, ...]
4444
license_spdx: str
4545
repository_url: str
46+
# All skill directory names bundled under skills/. Ships across every client.
47+
skills: tuple[str, ...]
48+
# The single entry-point skill Gemini's `contextFileName` points at. Gemini's
49+
# extension schema accepts exactly one context file, so it cannot enumerate
50+
# every skill the way Codex/Claude do; this designates the one that loads.
51+
gemini_context_skill: str
4652

4753

4854
KLARITY_MCP_METADATA = KlarityMCPMetadata(
@@ -87,6 +93,22 @@ class KlarityMCPMetadata:
8793
),
8894
license_spdx="Apache-2.0",
8995
repository_url="https://github.com/Klarity-AI/klarity-mcp",
96+
skills=(
97+
"klarity-process-context-graph",
98+
"klarity-agent-builder-using-klarity",
99+
"klarity-agent-builder-start",
100+
"klarity-agent-builder-home",
101+
"klarity-agent-builder-objective",
102+
"klarity-agent-builder-current-state",
103+
"klarity-agent-builder-diagnose",
104+
"klarity-agent-builder-propose",
105+
"klarity-agent-builder-spec",
106+
"klarity-agent-builder-skill-track",
107+
"klarity-agent-builder-skill-discovery",
108+
"klarity-agent-builder-skill-outline",
109+
"klarity-agent-builder-skill-build",
110+
),
111+
gemini_context_skill="klarity-agent-builder-using-klarity",
90112
)
91113

92114

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
name: klarity-agent-builder-current-state
3+
description: Build and maintain an accurate, factual map of how work happens in a workspace, plus a customer-ready read-out. Pure factual capture, no opinions or recommendations. Reads the project scope, pulls process data from Klarity in parallel mini-phases, checks the data against reality, and writes a structured baseline plus an HTML report. Use after objective, or when the user says "current state," "map the workspace," "read-out," or "show me how the work runs."
4+
---
5+
6+
# Current state
7+
8+
This step of the Klarity agent-building lifecycle is served from the Klarity Architect MCP. Do not improvise the methodology — fetch it.
9+
10+
1. Call `get_agent_builder_instructions(step="current_state")`.
11+
2. Follow the returned instructions exactly. They include a **resource manifest** — a list of references/primitives/templates this step needs.
12+
3. For each manifest entry, call `get_agent_builder_resource(type=..., key=...)` and use the returned content. Fetch on demand; do not skip.
13+
4. Write outputs to the project directory as the instructions specify.
14+
15+
This step produces a visual HTML artifact; the fetched instructions include a Rendering section — follow it (fetch the template, inject data into the JSON data-islands, write the file, tell the user to open it).
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
name: klarity-agent-builder-diagnose
3+
description: Turn the project objective and the validated current-state baseline into a set of evidence-backed, scored opportunities. Generates hypotheses against the objective, investigates each one with parallel subagents, scores them on transparent evidence-based axes, and writes a findings report. Runs after current-state. Use when the user says "diagnose," "find opportunities," or "what should we automate."
4+
---
5+
6+
# Diagnose
7+
8+
This step of the Klarity agent-building lifecycle is served from the Klarity Architect MCP. Do not improvise the methodology — fetch it.
9+
10+
1. Call `get_agent_builder_instructions(step="diagnose")`.
11+
2. Follow the returned instructions exactly. They include a **resource manifest** — a list of references/primitives/templates this step needs.
12+
3. For each manifest entry, call `get_agent_builder_resource(type=..., key=...)` and use the returned content. Fetch on demand; do not skip.
13+
4. Write outputs to the project directory as the instructions specify.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
name: klarity-agent-builder-home
3+
description: Renders the Klarity home screen — a single-page HTML artifact showing lifecycle phase progress, current status, and next actions. Invoke when the user says "home," "status," "where am I," or at session start to orient.
4+
---
5+
6+
# Home
7+
8+
This step of the Klarity agent-building lifecycle is served from the Klarity Architect MCP. Do not improvise the methodology — fetch it.
9+
10+
1. Call `get_agent_builder_instructions(step="home")` and follow it.
11+
2. Follow the returned instructions exactly. They include a **resource manifest** — a list of references/primitives/templates this step needs.
12+
3. For each manifest entry, call `get_agent_builder_resource(type=..., key=...)` and use the returned content. Fetch on demand; do not skip.
13+
4. Write outputs to the project directory as the instructions specify.
14+
15+
This step produces a visual HTML artifact; the fetched instructions include a Rendering section — follow it (fetch the template, inject data into the JSON data-islands, write the file, tell the user to open it).
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
name: klarity-agent-builder-objective
3+
description: Set up a new automation project by capturing the things the data cannot tell us: the outcome the user wants, what kind of value matters, where to focus, which tools are allowed, what is off-limits, and who owns it. Writes project.md and manifest.md. Use when the user says "start a project," "set an objective," "new engagement," or when no project exists for the workspace.
4+
---
5+
6+
# Objective
7+
8+
This step of the Klarity agent-building lifecycle is served from the Klarity Architect MCP. Do not improvise the methodology — fetch it.
9+
10+
1. Call `get_agent_builder_instructions(step="objective")`.
11+
2. Follow the returned instructions exactly. They include a **resource manifest** — a list of references/primitives/templates this step needs.
12+
3. For each manifest entry, call `get_agent_builder_resource(type=..., key=...)` and use the returned content. Fetch on demand; do not skip.
13+
4. Write outputs to the project directory as the instructions specify.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
name: klarity-agent-builder-propose
3+
description: Fitness-check a candidate, extract pain points, match tools, and produce an interactive HTML recommendation artifact. Use when the user says "propose," "spec this out," "what should the agent do," or "recommend for X."
4+
---
5+
6+
# Propose
7+
8+
This step of the Klarity agent-building lifecycle is served from the Klarity Architect MCP. Do not improvise the methodology — fetch it.
9+
10+
1. Call `get_agent_builder_instructions(step="propose")`.
11+
2. Follow the returned instructions exactly. They include a **resource manifest** — a list of references/primitives/templates this step needs.
12+
3. For each manifest entry, call `get_agent_builder_resource(type=..., key=...)` and use the returned content. Fetch on demand; do not skip.
13+
4. Write outputs to the project directory as the instructions specify.
14+
15+
This step produces a visual HTML artifact; the fetched instructions include a Rendering section — follow it (fetch the template, inject data into the JSON data-islands, write the file, tell the user to open it).
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
name: klarity-agent-builder-skill-build
3+
description: Load when the skill track has an approved outline and needs the final installable bundle produced — the conductor invokes this after Gate 2 (utterances that reach it: "build it", "generate the bundle", "ship this skill", "make the install steps"). Emits the hub-and-spoke skill bundle, a web-verified install wizard, and a first-run smoke test drawn from the team's real evidence. Needs web search to verify the current install UI against vendor docs. NOT for discovering candidates (that is skill-discovery), NOT for drafting or approving the outline (that is skill-outline), and NOT for any generic non-skill build (there is intentionally no generic build skill).
4+
---
5+
6+
# Skill build
7+
8+
This step of the Klarity agent-building lifecycle is served from the Klarity Architect MCP. Do not improvise the methodology — fetch it.
9+
10+
1. Call `get_agent_builder_instructions(step="skill_build")`.
11+
2. Follow the returned instructions exactly. They include a **resource manifest** — a list of references/primitives/templates this step needs.
12+
3. For each manifest entry, call `get_agent_builder_resource(type=..., key=...)` and use the returned content. Fetch on demand; do not skip.
13+
4. Write outputs to the project directory as the instructions specify.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
name: klarity-agent-builder-skill-discovery
3+
description: Load when the skill track needs candidate skill cards discovered from a team's workspace evidence — utterances reach it through the conductor, not directly (the track has already set the scope, the runner, and the approved systems). Reads processes, observations, and activity timelines, then surfaces a small set of plain-language candidate cards for the user to triage. NOT for expanding a chosen card into a plan (that is skill-outline), NOT for building the final bundle (that is skill-build), and NOT for general automation opportunities across the org (that is diagnose).
4+
---
5+
6+
# Skill discovery
7+
8+
This step of the Klarity agent-building lifecycle is served from the Klarity Architect MCP. Do not improvise the methodology — fetch it.
9+
10+
1. Call `get_agent_builder_instructions(step="skill_discovery")`.
11+
2. Follow the returned instructions exactly. They include a **resource manifest** — a list of references/primitives/templates this step needs.
12+
3. For each manifest entry, call `get_agent_builder_resource(type=..., key=...)` and use the returned content. Fetch on demand; do not skip.
13+
4. Write outputs to the project directory as the instructions specify.

0 commit comments

Comments
 (0)