planning

A structured design process for non-trivial changes in the OpenMetadata code repository. It requires understanding the relevant code and tests, comparing possible approaches, getting approval, and writing an implementation plan before coding.

In plain words
What is it for?
Use it when a change affects several files or layers, such as the Java backend, React frontend, Python ingestion code, database migrations, JSON schemas, or tests.
Why use it?
It reduces wasted work caused by starting a multi-file feature, refactor, or unclear bug fix without understanding its scope and constraints.

Skill for Claude CodeCodex

▶ Embedding an MCP Server into OpenMetadata OpenMetadata · about open-metadata/OpenMetadata · on YouTube →
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/open-metadata/openmetadata/planning
Any agent
npx skills add open-metadata/OpenMetadata --skill planning
Clone the repo
git clone --depth 1 https://github.com/open-metadata/OpenMetadata

Made for: Claude Code, Codex.

Per session 43 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 766 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00043 $0.00766
Opus 5 $0.00022 $0.00383
Sonnet 5 $0.00009 $0.00153
Haiku 4.5 $0.00004 $0.00077

Measured 3d ago against content hash 0c7ddb0228f9, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

planning scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/planning/SKILL.md · 90 lines

How it starts

The opening of the file, as written. The whole thing — 90 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Planning - Design Before Code

Structured workflow for planning implementation before writing code. Prevents wasted effort from diving in without a clear direction.

When to Use

  • New features spanning multiple files or modules
  • Refactors touching backend, frontend, or ingestion layers
  • Bug fixes where the root cause is unclear
  • Any task where the approach isn't immediately obvious

Workflow

Phase 1: Understand the Problem

  1. Read before suggesting. Explore the relevant code, schemas, and tests. Do not propose changes to code you haven't read.
  2. Ask clarifying questions one at a time. Don't dump a list of 10 questions.
  3. Identify constraints:
    • Which layers are affected? (Java backend, React frontend, Python ingestion, JSON schemas)
    • Are there existing patterns to follow? (Check similar implementations)
    • Database migration needed? (Flyway in bootstrap/sql/migrations/)
    • Schema changes needed? (openmetadata-spec/ JSON schemas)

Phase 2: Propose Approaches

Present 2-3 approaches with trade-offs:

## Approach A: [Name]
- How it works: [1-2 sentences]
- Pros: [bullet list]
- Cons: [bullet list]
- Files affected: [list]
- Risk: [low/medium/high]

## Approach B: [Name]
...

## Recommendation: [A or B] because [reason]

Wait for user approval before proceeding.

Phase 3: Create Implementation Plan

Once an approach is approved, break it into ordered tasks:

  1. Each task should be completable in a single focused step
  2. Each task must specify:
    • Exact file paths to create or modify
    • What changes to make (not vague descriptions)
    • Verification command (test to run, build to check)
  3. Order tasks by dependency — schema changes before model generation, backend before frontend
  4. Include a final verification task that runs all relevant tests

OpenMetadata task ordering pattern:

1. JSON Schema changes (openmetadata-spec/)
2. Run: make generate (regenerate Pydantic models)
3. Java backend changes (openmetadata-service/)
4. Run: mvn spotless:apply && mvn test-compile
5. Python ingestion changes (ingestion/)
6. Run: cd ingestion && make py_format && make py_format_check && make unit_ingestion_dev_env
7. Frontend changes (openmetadata-ui/.../ui/)
8. Run: yarn lint && yarn test
9. Database migrations if needed (bootstrap/sql/)
10. Full verification: mvn test or relevant integration tests

Read the full file on GitHub · 90 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 90 lines · 43 tokens per session scan A 0c7ddb0228f9

Subscribe to this mod's changes

planning is a skill published in the GitHub repository open-metadata/OpenMetadata (15,059 stars, last pushed today), licensed Apache-2.0. It adds 43 tokens to every session and 766 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

test-review

You are an expert DataHub test reviewer. Your role is to evaluate smoke tests and integration tests against established testing standards, identify issues, and provide actionable feedback.

datahub-project/datahub · 0 tokens

oss-fuzz

Run Tika's OSS-Fuzz Jazzer targets locally against a working-tree checkout — build the image, build fuzzers from local source, fuzz a target, run a corpus as a regression pass, reproduce a crash, and add seeds. Use for "fuzz the OneNote parser", "run OneNoteParserFuzzer against these files", "reproduce an OSS-Fuzz…

apache/tika · 90 tokens

update-site-for-release

Update/publish the Apache Tika website (tika-site SVN repo) for a release — step 17 of the Release Process. Handles the 4.x track (Changes page + aggregate javadoc + Antora docs branch) vs the 3.x maintenance track (full per-version apt docs + javadoc). Use for "update the site", "publish the site for X.Y.Z", "the…

apache/tika · 92 tokens

file-to-markdown

Turn almost any file into Markdown plus metadata — PDF, Office, HTML, email, archives, images, audio/video, 1000+ formats — powered by Apache Tika, either via the tika-app CLI (zero setup, one file) or a running tika-server (curl, warm process, many calls). Leads with rmeta (structured, embedded-item-aware output) as…

apache/tika · 147 tokens

development

Ground rules for working in the Tika codebase — git policy, Maven wrapper/repo conventions, building and testing specific modules, code and test conventions, pre-commit checks. Load at session start for any Tika development task.

apache/tika · 49 tokens

tika-eval-compare

Compare extracts from two Tika builds over a corpus to detect regressions in content, encoding, exceptions, and embedded-document handling. Use for "compare before/after extracts", "eval this change against the corpus".

apache/tika · 50 tokens