agentleFS
vzhukovsvzhukovs/podman-desktop-kit/skills/package-map/SKILL.md

package-map

Skill0 starsChanged 11 days agoApache-2.0View on GitHub

Explains which podman-desktop package owns a piece of functionality and which layer is responsible. Use when asked where something lives, which package to change, or what a layer is for.

The file

We split this skill into the rules it gives an agent

1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Not just the package — the layer, and what the layer implies:

    line 21

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Two sources, and they answer different halves of the question.

pdkit packages --of packages/main/src/plugin/exec.ts   # which package owns a path
pdkit packages                                          # every package, by layer

The generated map ($PDKIT_HOME/package-map.json, built by pdkit init from pnpm-workspace.yaml) knows what exists. ${CLAUDE_PLUGIN_ROOT}/knowledge/package-map.md holds what a generator cannot know: intent, boundaries, and why the layer order is what it is. Answer from the first, explain from the second.

What a complete answer contains

Not just the package — the layer, and what the layer implies:

extension-api → main → preload → renderer + ui → extensions/* → tests → website/docs

That order does two jobs at once. It is merge order, because upper layers depend on lower ones. And it is reviewer selection: the people who review a public API change are not the people who review a UI change, so a change spanning both waits for both. That is why layers decide slicing, and why "which layer" is usually the more useful half of the answer.

The boundary that catches people

Utilities get duplicated between packages/main and packages/renderer. Before concluding that a helper needs writing, look in both — reviewers do, and they push back on it.

The other one: packages/extension-api is a public contract. A type that looks like an internal utility can be declared there too, which makes changing it a compatibility question rather than a refactor. preflight greps for exactly this; do not rely on the file's location to tell you.

When the map cannot answer

  • No map — pdkit init has not run in this repository.
  • Layer other — packages/api, packages/webview-api and storybook match no rule in slicing.layer_order. Say so rather than guessing a layer: merge order for those three is genuinely undecided, and saying so is the answer.
  • The path is not in any package — say that too. Repository-root files (.github/, config, scripts) belong to no layer and are reviewed by whoever owns the area they configure.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.