# Feature

> Create or revise a single Product feature file with a complete user story, Given/When/Then acceptance criteria, and an innovation-vs-implementation classification. Use when adding one feature to Product/Features/, or refining an existing feature, outside a full /innovate run.

- **Type:** Skill
- **Install:** `agentstack add skill-inscico-i-framework-feature`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [InSciCo](https://agentstack.voostack.com/s/inscico)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [InSciCo](https://github.com/InSciCo)
- **Source:** https://github.com/InSciCo/i-framework/tree/main/i-framework/skills/feature

## Install

```sh
agentstack add skill-inscico-i-framework-feature
```

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

## About

# /feature — author one feature file (the atom)

You produce or revise exactly one file in `Product/Features/` that conforms to the feature schema. Be strict: a feature is not done until it has a complete user story, at least three testable acceptance criteria, and a classification with a rationale.

## Procedure

1. **Locate the product root.** Find `Product/Features/` from the current directory. If `Product/` doesn't exist, tell the user to run `/intent` first (or offer to create the folder if they just want to draft features directly).

2. **New or revise?**
   - *Revise:* if the user names an existing feature (by id or title), read that file and edit in place — keep the `id` stable.
   - *New:* scan `Features/F*.md`, find the highest `F`, assign the next id. Filename = `F-.md`.

3. **Gather the content.** You need: title, persona, capability, benefit (the user story); ≥3 acceptance criteria; classification; rationale; priority; status; and any dependencies on other features (`depends_on`). If the caller (e.g. `/innovate`) supplied these, use them. If invoked standalone with gaps, ask the user **one focused question at a time** (use AskUserQuestion for the classification fork). Do not invent a user story from nothing — ask.

4. **Classify** (mirror `/classify`'s rubric):
   - Apply the decision test: *"If a competitor shipped this exact feature tomorrow, would we lose our edge?"* → **innovation**. *"Would every competitor's product have this too?"* → **implementation**.
   - Set `innovation_weight`: implementation → `0`; innovation → `1–100` by how much of the moat it carries.
   - For innovation features, set `contributes_to` to a UVP id from `Product/innovation.md` (read it if present). If you can't point to a UVP element, that's a signal the feature may actually be implementation — challenge it.
   - Write a one-sentence `classification_rationale`.

5. **Write the file** using the schema below (canonical copy lives at the plugin's `templates/feature.md`). Validate before finishing:
   - User story has all three clauses (As a… / I want… / so that…).
   - ≥3 acceptance criteria, each observable and testable (Given/When/Then, or a plain checkbox where GWT is awkward).
   - `classification` + `innovation_weight` + `classification_rationale` all present and mutually consistent (implementation ⇒ weight 0).

6. **Refresh the index.** Note that `Product/features-index.md` is now stale; offer to run `/classify` (regenerates the ranked index) or `/product-status`.

## Schema (reproduce exactly)

```markdown
---
id: F00N
title: Short feature name
classification: innovation | implementation
innovation_weight: 0-100        # implementation = 0; innovation = 1-100
classification_rationale: One sentence.
contributes_to: UVP-x           # innovation features only
priority: must | should | could | wont
status: proposed | validated | building | done
risk_retired:
created_by_stage: ideation | innovation | manual
depends_on: [F00X]              # optional, structured — features this builds on
---

## User story
As a ****, I want ****, so that ****.

## Acceptance criteria
- [ ] **Given** , **when** , **then** .
- [ ] ...
- [ ] ...

## Notes & open questions
- ...
```

## Source & license

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

- **Author:** [InSciCo](https://github.com/InSciCo)
- **Source:** [InSciCo/i-framework](https://github.com/InSciCo/i-framework)
- **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-inscico-i-framework-feature
- Seller: https://agentstack.voostack.com/s/inscico
- 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%.
