DAP: Add Agentic Skills
<!--This issue template can be used as a great starting point for feature requests. Learn more about the process: https://handbook.gitlab.com/handbook/product/product-management/#customer-feature-requests. The section "Release notes" can be used as a summary of the feature and is also required if you want to have your release post blog MR auto generated using the release post item generator: https://about.gitlab.com/handbook/marketing/blog/release-posts/#release-post-item-generator. The remaining sections are the backbone for every feature in GitLab. The goal of this template is brevity for quick/smaller iterations. For a more thorough list of considerations for larger features or feature sets, you can leverage the detailed [feature proposal](https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Feature%20proposal%20-%20detailed.md).--> ### Release notes <!--What is the problem and solution you're proposing? This content sets the overall vision for the feature and serves as the release notes that will populate in various places, including the [release post blog](https://about.gitlab.com/releases/categories/releases/) and [Gitlab project releases](https://gitlab.com/gitlab-org/gitlab/-/releases). "--> ### Status **Review the most recent note at the bottom of this epic for more up to date details.** 2026-04-03 update — https://gitlab.com/groups/gitlab-org/-/work_items/20675#note_3219975839 | Feature | Status | |---------|--------| | IDE: Workspace-level skills | :white_check_mark: Available for Duo clients ([docs](https://docs.gitlab.com/user/duo_agent_platform/customize/agent_skills/)) | | User-level skills (e.g. defined in user home directory) | :test_tube: Available in Duo CLI using the `--enable-global-skills` command line flag to begin gathering feedback on global skills. | | Install skills from Duo CLI | :tools: Pending an additional round of review for https://gitlab.com/gitlab-org/editor-extensions/gitlab-lsp/-/merge_requests/3230 for plugin marketplace support. | | Install skills using slash commands | :brain: Waiting on the above to be finalized. | | Host skills as AI Catalog items | :brain: Finalizing Duo plugin architecture | | Instance/group level skills | :brain: Pending implementation of duo-workspace defined in https://gitlab.com/gitlab-com/content-sites/handbook/-/merge_requests/19020 | | DAP Agents/Flows support | :brain: Investigating Skills in AI Catalog using repository-backed storage per https://gitlab.com/gitlab-com/content-sites/handbook/-/merge_requests/18859 | | Documentation | :construction: In progress. Review for clarity, https://gitlab.com/groups/gitlab-org/-/work_items/20675#note_3190365880+ and https://gitlab.com/gitlab-org/gitlab/-/work_items/596522+ | 1. 2026-05-01: Research spike into Agent Skills and repository backed storage. 2. 2026-04: Demonstrated agent skills governance using Nono in GitLab CI and locally. 3. 2026-03-24: Design how to distribute Agent Skills e.g. in the AI Catalog. https://gitlab.com/gitlab-org/gitlab/-/work_items/592031 https://gitlab.com/groups/gitlab-org/-/work_items/21319 4. 2026-03-19 [GitLab 18.10](https://about.gitlab.com/releases/2026/03/19/gitlab-18-10-released/#support-for-agent-skills-in-ides-and-cicd-pipelines) brings support for Agent Skills at the workspace level, for Agentic Chat in UI, IDE, CLI, and Agents/Flows.[ (docs)](https://docs.gitlab.com/user/duo_agent_platform/customize/agent_skills/) 5. 2026-03-04: Merged https://gitlab.com/gitlab-org/editor-extensions/gitlab-lsp/-/merge_requests/2951+ (pending IDE/CLI releases) 6. 2026-03-03: [Duo Agent Platform ADR 007: Support workspace Agent Skills](https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/duo_workflow/decisions/007_support_workspace_agent_skills/) from @erran has been merged. 7. 2026-02-16: Research @dnsmichi @elwyn-gitlab Needs: Alignment with sub-agents exploration, Agentic Memory, etc. Next steps 1. @erran - Research AI Catalog integration for group/project skills - https://gitlab.com/gitlab-org/gitlab/-/work_items/592031+ ### Problem to solve <!--What is the user problem you are trying to solve with this issue?--> Every new chat or agent/flow invocation happens from scratch. Agents (and LLMs) need to calculate the best strategy to invoke tools, read files into context, and produce the desired outputs - artifacts, file edits, follow-up routes to other agents. The context window is limited for user input, agentic reasoning, and custom instructions. Loading all instructions into context in the beginning can create an overflow, thus `AGENTS.md` often cannot contain all instructions, scripts, external data necessary for all potential agentic execution paths. Therefore, an on-demand way for discovering / loading skills is desirable for Agents. ### Proposal <!--Use this section to explain the feature and how it will work. It can be helpful to add technical details, design proposals, and links to related epics or issues.--> Evaluate the concept of "Agentic Skills" on the Duo Agent Platform. The industry is forming the specification for Agentic Skills: https://agentskills.io/home _"Agent Skills are folders of instructions, scripts, and resources that agents can discover and use to do things more accurately and efficiently."_ Iterative approach: 1. Opt-in, start with Agentic Chat in IDE and Duo CLI with local Skills support (Skills.md spec) 1. Add tools for discovering and loading skills. 2. Expand scope to CLI, IDE and Platform: Research how automated Agents/Flows can share skills (e.g. as AI Catalog item type) 3. Governance: Respect security guardrails (protect sensitive data, do not run Skills scripts without approval) Storage requirements 1. Transient local storage (IDE, CLI) 1. Workspace / Repo level 2. User level (home directory) 2. Platform 1. AI Catalog item (Git repo with versioning, database) 2. Cross-reference existing Git repos? _(to be enhanced)_ ### Resources 1. Skills spec: https://agentskills.io/specification 2. Discussion thread: https://gitlab.com/groups/gitlab-org/-/epics/20675#note_3051586935 3. PoC in Duo CLI 1. https://www.youtube.com/watch?v=Cas4LuNokeo 2. https://gitlab.com/gitlab-org/editor-extensions/gitlab-lsp/-/merge_requests/2804 ### Intended users <!--Who will use this feature? If known, include any of the following: types of users (e.g. Developer), personas, or specific company roles (e.g. Release Manager). It's okay to write "Unknown" and fill this field in later. Personas are described at https://handbook.gitlab.com/handbook/product/personas/ * [Parker (Product Manager)](https://handbook.gitlab.com/handbook/product/personas/#parker-product-manager) * [Delaney (Development Team Lead)](https://handbook.gitlab.com/handbook/product/personas/#delaney-development-team-lead) * [Presley (Product Designer)](https://handbook.gitlab.com/handbook/product/personas/#presley-product-designer) * [Sasha (Software Developer)](https://handbook.gitlab.com/handbook/product/personas/#sasha-software-developer) * [Priyanka (Platform Engineer)](https://handbook.gitlab.com/handbook/product/personas/#priyanka-platform-engineer) * [Sidney (Systems Administrator)](https://handbook.gitlab.com/handbook/product/personas/#sidney-systems-administrator) * [Rachel (Release Manager)](https://handbook.gitlab.com/handbook/product/personas/#rachel-release-manager) * [Simone (Software Engineer in Test)](https://handbook.gitlab.com/handbook/product/personas/#simone-software-engineer-in-test) * [Allison (Application Ops)](https://handbook.gitlab.com/handbook/product/personas/#allison-application-ops) * [Ingrid (Infrastructure Operator)](https://handbook.gitlab.com/handbook/product/personas/#ingrid-infrastructure-operator) * [Dakota (Application Development Director)](https://handbook.gitlab.com/handbook/product/personas/#dakota-application-development-director) * [Dana (Data Analyst)](https://handbook.gitlab.com/handbook/product/personas/#dana-data-analyst) * [Eddie (Content Editor)](https://handbook.gitlab.com/handbook/product/personas/#eddie-content-editor) * [Amy (Application Security Engineer)](https://handbook.gitlab.com/handbook/product/personas/#amy-application-security-engineer) * [Isaac (Infrastructure Engineer)](https://handbook.gitlab.com/handbook/product/personas/#isaac-infrastructure-security-engineer) * [Alex (Security Operations Engineer)](https://handbook.gitlab.com/handbook/product/personas/#alex-security-operations-engineer) * [Cameron (Compliance Manager)](https://handbook.gitlab.com/handbook/product/personas/#cameron-compliance-manager)--> ### Feature Usage Metrics <!--How are you going to track usage of this feature? Think about user behavior and their interaction with the product. What indicates someone is getting value from it? Explore (../../doc/development/internal_analytics/internal_event_instrumentation/quick_start.md) for a guide.--> ### Does this feature require an audit event? <!--- Checkout these docs to know more https://docs.gitlab.com/ee/development/audit_event_guide/#what-are-audit-events https://docs.gitlab.com/administration/compliance/audit_event_reports/ ---> <!--Label reminders Make sure to add the appropriate labels for the product stage and/or group (e.g ~"devops::plan") if known and add a comment tagging the appropriate Product Manager. Use the following resources to find the appropriate labels: - Use only one tier label choosing the lowest tier this is intended for - https://gitlab.com/gitlab-org/gitlab/-/labels - https://about.gitlab.com/handbook/product/categories/features/ Examples: /label ~group:: ~section:: ~Category: /label ~"GitLab Free" ~"GitLab Premium" ~"GitLab Ultimate"-->
epic