# Manage Product

> >

- **Type:** Skill
- **Install:** `agentstack add skill-neuroanalytics-data-science-harness-manage-product`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [neuroanalytics](https://agentstack.voostack.com/s/neuroanalytics)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [neuroanalytics](https://github.com/neuroanalytics)
- **Source:** https://github.com/neuroanalytics/data-science-harness/tree/main/plugins/analyze/skills/manage-product

## Install

```sh
agentstack add skill-neuroanalytics-data-science-harness-manage-product
```

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

## About

# Skill: manage-product

Turn kept comparisons into **products**. A comparison is a `cmp/` branch; a *product* is a
named deliverable that groups a chosen subset of them (plus their outputs) into something you will
release and cite. This is the first place the harness represents *multiple* distinct outputs from
one project — the ledger's `products[]` is the registry the later `disseminate/*` skills release and
cross-link. You own the grouping judgment; you delegate the ledger save to the **datalad doer**.

> Ledger note: `products[]` is an **upsert registry** (edited in place), unlike the append-only
> `log:`. Follow `docs/project-ledger.md`: find a product by `id` and update its fields, or add a
> new entry — never drop or rewrite another product, and move `status` only forward. Every write is
> `datalad save`-d so the grouping is provenanced.

## When to use
- The user wants to bundle comparisons into a paper / dataset release / report, add a comparison to
  an existing product, or see/adjust what products exist.
- Do NOT use to create or run a comparison (`analyze/propose-comparison` / `run-comparison`), to
  release a product with a DOI (`disseminate/dataset-release`), or to cross-link products
  (`disseminate/link-outputs`) — this skill only defines the grouping.

## Steps
1. **Identify the product** — get from the user:
   - `id` — a stable kebab-case slug, unique within `products[]` (e.g. `main-paper`)
   - `kind` — `paper` | `dataset` | `report` | `article` | `agent-bundle` | `other`
   - `title` — a human label
   - which comparisons belong to it (`cmp/` branches). One comparison may appear in more than
     one product (e.g. a shared figure) — that is allowed; call it out so it is intentional.
2. **Verify the comparisons exist and are complete** — delegate to the **datalad doer**:
   > "list branches matching `cmp/*` and the recent log; confirm each of ``
   > exists and has a `run-comparison` entry."
   If a named comparison has no recorded run, warn that the product references incomplete work and
   ask whether to include it anyway or run it first (`analyze/run-comparison`).
3. **Upsert the product** in `project.yaml` `products[]` (per `docs/project-ledger.md`): create the
   entry if `id` is new, else update it. Set `kind`, `title`, `status`
   (`planned` → `in-progress` → `released`), `comparisons` (the branch list), and `outputs` (the
   dataset-relative result paths, e.g. `derivatives/cmp-/`). Leave `dois: []` and
   `relations: []` — those are owned by `disseminate/dataset-release` and `link-outputs`.
4. **Log it** — append one entry to `project.yaml`:
   `{ ts, op: manage-product, stage: analyze, note: "grouped  into product  ()", branch:  }`.
5. **Save** — delegate to the **datalad doer**:
   > "save: `datalad save -m 'manage-product:  groups '`."
6. **Report** — the product `id`, its comparisons/outputs/status, any incomplete comparisons
   flagged, and the next step (add more comparisons, or `disseminate/dataset-release` to release it,
   then `disseminate/link-outputs` to link it to other products).

## Constraints
- Keep `products[]` ids unique; do not duplicate a comparison within a single product's list.
- Products group and describe comparisons — they never move, rename, or modify the branches or
  their data. This skill edits only the ledger.
- Do not set `dois` or `relations` here; releasing and cross-linking are separate skills.
- The `log:` stays append-only; `products[]` is upserted in place but never destructively (status
  moves forward, entries are not deleted). Keep the ledger schema-valid
  (`schemas/project.schema.json`).
- Delegate every DataLad operation (branch listing, save) to the datalad doer.

## Source & license

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

- **Author:** [neuroanalytics](https://github.com/neuroanalytics)
- **Source:** [neuroanalytics/data-science-harness](https://github.com/neuroanalytics/data-science-harness)
- **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-neuroanalytics-data-science-harness-manage-product
- Seller: https://agentstack.voostack.com/s/neuroanalytics
- 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%.
