iiRecord
Agentic AI Atlas · GAP-TOOLS-027: Skill Discovery and Invocation from Process Definitions
page:docs-harness-features-backlog-gaps-tools-capabilities-gap-tools-027a5c.ai
II.
Page JSON

page:docs-harness-features-backlog-gaps-tools-capabilities-gap-tools-027

Structured · live

GAP-TOOLS-027: Skill Discovery and Invocation from Process Definitions json

Inspect the normalized record payload exactly as the atlas UI reads it.

File · wiki/docs/harness-features-backlog/gaps/tools-capabilities/gap-tools-027.mdCluster · wiki
Record JSON
{
  "id": "page:docs-harness-features-backlog-gaps-tools-capabilities-gap-tools-027",
  "_kind": "Page",
  "_file": "wiki/docs/harness-features-backlog/gaps/tools-capabilities/gap-tools-027.md",
  "_cluster": "wiki",
  "attributes": {
    "nodeKind": "Page",
    "sourcePath": "docs/harness-features-backlog/gaps/tools-capabilities/GAP-TOOLS-027.md",
    "sourceKind": "repo-docs",
    "title": "GAP-TOOLS-027: Skill Discovery and Invocation from Process Definitions",
    "displayName": "GAP-TOOLS-027: Skill Discovery and Invocation from Process Definitions",
    "slug": "docs/harness-features-backlog/gaps/tools-capabilities/gap-tools-027",
    "articlePath": "wiki/docs/harness-features-backlog/gaps/tools-capabilities/GAP-TOOLS-027.md",
    "article": "\n# GAP-TOOLS-027: Skill Discovery and Invocation from Process Definitions\n\n| Field | Value |\n|-------|-------|\n| Category | tools-capabilities |\n| Priority | Medium |\n| Effort | M |\n| Status | Partial |\n\n## Description\nEnable process definitions to discover and invoke installed skills as first-class orchestration primitives. Skills should be composable building blocks that processes can call, similar to how processes call tasks, but with the full skill context (SKILL.md instructions, required tools, configuration).\n\n## Current State\nThe `skill:discover` CLI command lists available skills. Skills are invoked via harness wrappers (the harness reads SKILL.md and follows its instructions). However, process definitions cannot programmatically discover or invoke skills. There is no `ctx.skill()` intrinsic. Skills and processes are separate worlds -- skills are harness-driven, processes are orchestrator-driven.\n\n## Target State\nA skill registry queryable from process definitions. A `ctx.skill(skillId, inputs)` intrinsic that delegates skill execution to a capable harness. Skill results flow back through the effect system. Skill capabilities factor into harness routing (if a skill requires specific tools, route to a harness that has them). Skills become composable within processes.\n\n## Dependencies\n- [GAP-HADAPT-001](../harness-adaptation/GAP-HADAPT-001.md) -- capability routing for skill-capable harnesses\n- [GAP-PROC-001](../process-composition/GAP-PROC-001.md) -- process chaining patterns applicable to skill invocation\n\n## Key Files\n| Component | Path |\n|-----------|------|\n| Skill discovery | `packages/sdk/src/cli/` |\n| Plugin package reader | `packages/sdk/src/plugins/packageReader.ts` |\n| Process context | `packages/sdk/src/runtime/processContext.ts` |\n| Harness adapters | `packages/sdk/src/harness/` |\n\n## Recommendation\nPhase 3 implementation. Build a skill registry from `skill:discover` output. Add `ctx.skill()` to ProcessContext. Route skill invocations through effect system to capable harnesses.\n",
    "documents": []
  },
  "outgoingEdges": [],
  "incomingEdges": [
    {
      "from": "page:docs-harness-features-backlog",
      "to": "page:docs-harness-features-backlog-gaps-tools-capabilities-gap-tools-027",
      "kind": "contains_page"
    }
  ]
}