# Layerkit Inventory Surfaces

> Inventory package languages/surfaces for multi-lang heals; session file used by Layerkit to enforce all languages updated before PR.

- **Type:** Skill
- **Install:** `agentstack add skill-hariharapanigrahy-layerkit-layerkit-inventory-surfaces`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [hariharapanigrahy](https://agentstack.voostack.com/s/hariharapanigrahy)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [hariharapanigrahy](https://github.com/hariharapanigrahy)
- **Source:** https://github.com/hariharapanigrahy/layerkit/tree/main/skills/layerkit-inventory-surfaces

## Install

```sh
agentstack add skill-hariharapanigrahy-layerkit-layerkit-inventory-surfaces
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# layerkit-inventory-surfaces

Before research/source-edit on a multi-language package, list **every language or surface** the package supports so Layerkit can block PR/handoff until each is `updated` or explicit `residual`.

This step is **required for heal and full**. Domain discover may be skipped on heal; **surfaces is never skipped**.

## Protocol

1. Walk the package (source:code): e.g. `**/server/node`, `server/python`, `server/ruby`, `server/php*`, `server/java`, `server/go`, `server/dotnet`, `server/nextjs`, client UIs.
2. Write session inventory:

```text
{projectDir}/memory/runbooks/surface-inventory.json
```

```json
{
  "schemaVersion": 1,
  "package": "org/repo",
  "languages": [
    {
      "id": "node",
      "roots": ["fixed-price-subscriptions/server/node"],
      "status": "pending"
    },
    {
      "id": "python",
      "roots": ["fixed-price-subscriptions/server/python"],
      "status": "pending"
    }
  ],
  "notes": "Inventoried from package layout; source:code"
}
```

3. Put the same JSON (or a pointer + summary) in mark-done `--evidence`.
4. Later, during **source-edit**, update each language:
   - `"status": "updated"` + `"paths": ["…/server.js"]` when production files for that language were changed, or
   - `"status": "residual"` + `"residual": "why not changed (SDK gap, out of scope, …)"`
5. Layerkit **rejects** source-edit complete / handoff while any language is still `pending`.

## Forbidden

- Listing only one language when the package clearly has more (freestyle single-lang heal)
- Marking `updated` without real paths
- Marking `residual` without a concrete residual reason
- Skipping this step on heal

## Success

- [ ] `surface-inventory.json` exists with ≥1 language and non-empty `roots[]`
- [ ] Evidence cites package layout (source:code)
- [ ] Agent understands that multi-lang completeness is enforced before PR

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [hariharapanigrahy](https://github.com/hariharapanigrahy)
- **Source:** [hariharapanigrahy/layerkit](https://github.com/hariharapanigrahy/layerkit)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-hariharapanigrahy-layerkit-layerkit-inventory-surfaces
- Seller: https://agentstack.voostack.com/s/hariharapanigrahy
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
