Add code skills#28420
Conversation
| --- | ||
| name: setup-matt-pocock-skills | ||
| description: Sets up an `## Agent skills` block in AGENTS.md/CLAUDE.md and `docs/agents/` so the engineering skills know this repo's issue tracker (GitHub or local markdown), triage label vocabulary, and domain doc layout. Run before first use of `to-issues`, `to-prd`, `triage`, `diagnose`, `tdd`, `improve-codebase-architecture`, or `zoom-out` — or if those skills appear to be missing context about the issue tracker, triage labels, or domain docs. | ||
| disable-model-invocation: true | ||
| --- | ||
|
|
||
| # Setup Matt Pocock's Skills | ||
|
|
||
| Scaffold the per-repo configuration that the engineering skills assume: | ||
|
|
||
| - **Issue tracker** — where issues live (GitHub by default; local markdown is also supported out of the box) | ||
| - **Triage labels** — the strings used for the five canonical triage roles | ||
| - **Domain docs** — where `CONTEXT.md` and ADRs live, and the consumer rules for reading them | ||
|
|
||
| This is a prompt-driven skill, not a deterministic script. Explore, present what you found, confirm with the user, then write. |
There was a problem hiding this comment.
⚠️ Quality: Generic third-party agent skills added without project customization
This PR adds ~2100 lines of generic agent skill definitions (from what appears to be Matt Pocock's skill framework) to the OpenMetadata repository without any customization for OpenMetadata's domain, conventions, or workflows. The skills reference concepts like CONTEXT.md, AGENTS.md, CLAUDE.md, and workflows (e.g., /setup-matt-pocock-skills) that don't exist in this project. The skill named setup-matt-pocock-skills is particularly incongruous in an OpenMetadata context.
Consider:
- Renaming/adapting the setup skill to reference OpenMetadata rather than a third-party author's name.
- Pre-configuring
docs/agents/domain.mdanddocs/agents/issue-tracker.mdfor OpenMetadata's GitHub-based workflow rather than requiring a separate setup step. - Adding a README in
.agents/skills/explaining the purpose of these files and how they relate to OpenMetadata development. - Linking a GitHub issue that explains the motivation and expected usage of these agent skills.
Was this helpful? React with 👍 / 👎
|
|
||
| The skills speak in terms of five canonical triage roles. This file maps those roles to the actual label strings used in this repo's issue tracker. | ||
|
|
||
| | Label in mattpocock/skills | Label in our tracker | Meaning | |
There was a problem hiding this comment.
💡 Quality: Triage labels table references wrong source repo name
The triage-labels.md file has a column header "Label in mattpocock/skills" which references an external repository rather than OpenMetadata. This should be renamed to reflect the OpenMetadata project context (e.g., "Canonical role" or "Default label").
Rename the column header to be project-agnostic:
| Canonical role | Label in our tracker | Meaning |
| ----------------- | -------------------- | ---------------------------------------- |
Was this helpful? React with 👍 / 👎
Code Review
|
| Compact |
|
Was this helpful? React with 👍 / 👎 | Gitar
There was a problem hiding this comment.
Pull request overview
This PR adds a set of GitHub Copilot agent “skills” under .agents/skills/ to support engineering workflows such as triage, TDD guidance, prototyping, architectural review, diagnosis, and generating PRDs/issues.
Changes:
- Introduces multiple new agent skills (each with YAML frontmatter + instructions) for planning/triage and engineering execution.
- Adds supporting reference docs for some skills (e.g., TDD guidance, triage out-of-scope KB format, architecture report scaffold).
- Adds a HITL (human-in-the-loop) bash loop template for structured bug reproduction.
Reviewed changes
Copilot reviewed 35 out of 35 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| .agents/skills/zoom-out/SKILL.md | Adds a “zoom-out” skill to request higher-level codebase context. |
| .agents/skills/write-a-skill/SKILL.md | Adds guidance/template for authoring new skills. |
| .agents/skills/triage/SKILL.md | Adds a state-machine based issue triage workflow skill. |
| .agents/skills/triage/OUT-OF-SCOPE.md | Documents the .out-of-scope/ knowledge base format/purpose for rejected enhancements. |
| .agents/skills/triage/AGENT-BRIEF.md | Defines a durable “agent brief” template for AFK execution. |
| .agents/skills/to-prd/SKILL.md | Adds a skill to synthesize a PRD and publish it to the issue tracker. |
| .agents/skills/to-issues/SKILL.md | Adds a skill to break a plan/PRD into vertical-slice issues and publish them. |
| .agents/skills/tdd/SKILL.md | Adds TDD process/philosophy guidance as an agent skill. |
| .agents/skills/tdd/tests.md | Adds examples of good vs bad tests (integration-style vs implementation-detail). |
| .agents/skills/tdd/mocking.md | Adds guidelines for mocking at system boundaries. |
| .agents/skills/tdd/interface-design.md | Adds interface-design-for-testability guidance. |
| .agents/skills/tdd/deep-modules.md | Adds “deep modules” concept notes for design/testability. |
| .agents/skills/tdd/refactoring.md | Adds refactor-candidate checklist after TDD cycles. |
| .agents/skills/setup-matt-pocock-skills/SKILL.md | Adds a setup skill to configure issue tracker/labels/domain-doc layout for other skills. |
| .agents/skills/setup-matt-pocock-skills/triage-labels.md | Adds a mapping template between canonical triage roles and repo label strings. |
| .agents/skills/setup-matt-pocock-skills/issue-tracker-github.md | Documents GitHub issue tracker conventions (gh CLI). |
| .agents/skills/setup-matt-pocock-skills/issue-tracker-gitlab.md | Documents GitLab issue tracker conventions (glab CLI). |
| .agents/skills/setup-matt-pocock-skills/issue-tracker-local.md | Documents local-markdown issue tracker conventions. |
| .agents/skills/setup-matt-pocock-skills/domain.md | Documents how skills should consume CONTEXT.md / ADRs. |
| .agents/skills/prototype/SKILL.md | Adds a prototyping skill that routes to logic vs UI prototype flows. |
| .agents/skills/prototype/LOGIC.md | Adds guidance for a terminal-based logic/state prototype shape. |
| .agents/skills/prototype/UI.md | Adds guidance for multi-variant UI prototyping on a route with a switcher. |
| .agents/skills/improve-codebase-architecture/SKILL.md | Adds an architecture-improvement skill focused on “deepening” opportunities and reporting. |
| .agents/skills/improve-codebase-architecture/LANGUAGE.md | Adds canonical vocabulary for architecture suggestions (module/interface/seam/etc.). |
| .agents/skills/improve-codebase-architecture/DEEPENING.md | Adds dependency-category guidance for safe deepening + testing strategy. |
| .agents/skills/improve-codebase-architecture/INTERFACE-DESIGN.md | Adds a parallel sub-agent pattern for comparing alternative interfaces. |
| .agents/skills/improve-codebase-architecture/HTML-REPORT.md | Adds an HTML report scaffold using Tailwind + Mermaid for architecture review output. |
| .agents/skills/handoff/SKILL.md | Adds a skill to write a handoff doc for another agent. |
| .agents/skills/grill-with-docs/SKILL.md | Adds a grilling workflow that updates CONTEXT.md/ADRs inline. |
| .agents/skills/grill-with-docs/CONTEXT-FORMAT.md | Defines the CONTEXT.md glossary format and rules. |
| .agents/skills/grill-with-docs/ADR-FORMAT.md | Defines an ADR format and when to write ADRs. |
| .agents/skills/grill-me/SKILL.md | Adds a lightweight “grill me” interview skill for design stress-testing. |
| .agents/skills/diagnose/SKILL.md | Adds a disciplined diagnosis loop for bugs/perf regressions. |
| .agents/skills/diagnose/scripts/hitl-loop.template.sh | Adds a bash template for a human-in-the-loop repro loop with captured outputs. |
| .agents/skills/caveman/SKILL.md | Adds an ultra-terse “caveman mode” communication skill. |
| --- | ||
| name: zoom-out | ||
| description: Tell the agent to zoom out and give broader context or a higher-level perspective. Use when you're unfamiliar with a section of code or need to understand how it fits into the bigger picture. | ||
| disable-model-invocation: true |
|
|
||
| A deep module (as opposed to a shallow module) is one which encapsulates a lot of functionality in a simple, testable interface which rarely changes. | ||
|
|
||
| Check with the user that these modules match their expectations. Check with the user which modules they want tests written for. |
| 2. **Draft the skill** - create: | ||
| - SKILL.md with concise instructions | ||
| - Additional reference files if content exceeds 500 lines | ||
| - Utility scripts if deterministic operations needed | ||
|
|
| ## Review Checklist | ||
|
|
||
| After drafting, verify: | ||
|
|
||
| - [ ] Description includes triggers ("Use when...") | ||
| - [ ] SKILL.md under 100 lines | ||
| - [ ] No time-sensitive info |
| <script src="https://cdn.tailwindcss.com"></script> | ||
| <script type="module"> | ||
| import mermaid from "https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs"; | ||
| mermaid.initialize({ startOnLoad: true, theme: "neutral", securityLevel: "loose" }); | ||
| </script> |
🟡 Playwright Results — all passed (9 flaky)✅ 4248 passed · ❌ 0 failed · 🟡 9 flaky · ⏭️ 87 skipped
🟡 9 flaky test(s) (passed on retry)
How to debug locally# Download playwright-test-results-<shard> artifact and unzip
npx playwright show-trace path/to/trace.zip # view trace |
Describe your changes:
Fixes #
I worked on ... because ...
Type of change:
High-level design:
N/A — small change.
Tests:
Use cases covered
Unit tests
Backend integration tests
Ingestion integration tests
Playwright (UI) tests
Manual testing performed
UI screen recording / screenshots:
Not applicable.
Checklist:
Fixes <issue-number>: <short explanation>Fixes #<issue-number>above.Summary by Gitar
diagnosefor debugging,tddfor test-driven development, andtriagefor issue management.prototypefor quick design iteration andimprove-codebase-architecturefor structural refactoring.issue-trackerandtriage-labelsto standardize agent interactions.This will update automatically on new commits.