Scaffold a feature narrative in an existing project layer with Design, Plan, Verify, and Conclusion sections.

MITAuto-check passedDevelopment

Install Feature New

skills CLI
$ npx skills add AnastasiyaW/codex-claude-code-config --skill feature-new -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install AnastasiyaW/codex-claude-code-config feature-new --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/AnastasiyaW/codex-claude-code-config.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/architecture/feature-new .claude/skills/feature-new && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
feature-new
GitHub stars
154
Token cost
~3.4k tokens
SKILL.md length
1,545 words
Files
2 (incl. scripts)
Skills in repo
50
Repo updated
First seen
Licence
MIT

At a glance

Scaffold a feature narrative in an existing project layer with Design, Plan, Verify, and Conclusion sections.

  • Works in 7 steps: Verify environment → Discover and reserve the project-native ID → Validate slug → …
  • : create a new feature
  • SKILL.md covers When to use, When NOT to use, Arguments and Direction (what to do, in order), plus 5 more sections
  • Runs Python scripts from its folder; calls git and gh

What it does

Feature New is an agent skill from AnastasiyaW/codex-claude-code-config. Scaffold a feature narrative in an existing project layer with Design, Plan, Verify, and Conclusion sections. Use when: "create a new feature", "start work on feature", "scaffold feature doc", "/feature-new", or "begin feature narrative". Inspects and preserves the target project's feature ID, registry, filename, and coordination conventions; does not create a missing layer (use /layer-new).

Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/reserve_feature_id.py`).

It sits in Development. The repository describes itself as: Claude Code, Codex, and multi-agent configuration system: principles, hooks, skills, and workflow patterns for AI-assisted development. The licence is MIT.

When your agent uses it

  • : create a new feature
  • Start work on feature
  • Scaffold feature doc
  • Begin feature narrative

Example prompts

  • “create a new feature”
  • “start work on feature”
  • “scaffold feature doc”
  • “/feature-new”

Requirements

  • Python 3

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Verify environment
  2. Discover and reserve the project-native ID
  3. Validate slug
  4. Copy and fill the template
  5. Update layer README
  6. Update feature_list.json (if present)
  7. Confirm and suggest next step

What it can do on your machine

Read from SKILL.md and the folder at commit 3601289. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • git
    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Feature New loads about 3.4k tokens when it runs. Until then it costs about 102 tokens; SKILL.md has 1,545 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~102
When it runs · the whole SKILL.md, loaded when a task matches
~3.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from AnastasiyaW/codex-claude-code-config at commit 3601289, republished under its MIT licence (© AnastasiyaW). 1,545 words, ~3,400 tokens.

Download SKILL.mdSave it as .claude/skills/feature-new/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
feature-new
description
Scaffold a feature narrative in an existing project layer with Design, Plan, Verify, and Conclusion sections. Use when: "create a new feature", "start work on feature", "scaffold feature doc", "/feature-new", or "begin feature narrative". Inspects and preserves the target project's feature ID, registry, filename, and coordination conventions; does not create a missing layer (use /layer-new).
user-invocable
true
model
sonnet

/feature-new -- scaffold a feature narrative

Creates a feature document in an existing layer. The document follows the ULTRAPACK-style narrative template (Design / Plan / Verify / Conclusion) extended with explicit cross-references to layer invariants and global principles.

When to use

  • Beginning design work on a new feature, before writing code
  • Migrating an in-flight feature from "scattered context" into the formal narrative
  • Creating a feature placeholder when planning future work that another session will pick up

When NOT to use

  • One-line bug fixes that do not need a design phase (just commit)
  • Documentation-only changes (those go in handoffs or PR descriptions)
  • Refactors with no behavioral change (commit message is sufficient)

Arguments

/feature-new <layer> <slug> [--title "..."] [--branch <name>] [--id <project-id>]
  • <layer> -- existing layer name. Must be a directory under docs/layers/. If missing, suggest /layer-new <layer> first.
  • <slug> -- kebab-case feature identifier without a project ID prefix. Examples: api-key-rotation, audit-log, dual-encryption.
  • --title -- human-readable feature title. If omitted, derive from slug by title-casing.
  • --branch -- git branch name. If omitted, default to feature/<slug>.
  • --id -- override the auto-allocated project-native ID. Use only when migrating a pre-existing feature with a known ID. Refuse if the ID already exists in this layer.

Direction (what to do, in order)

Step 1 -- Verify environment
  1. Determine repo root via git rev-parse --show-toplevel.
  2. Confirm docs/layers/<layer>/ exists. If not, refuse with a suggestion to run /layer-new <layer> first.
  3. Confirm docs/layers/<layer>/features/_FEATURE-TEMPLATE.md exists. If not, copy from <claude-code-skills-checkout>/templates/kb-skeleton/docs/layers/_LAYER-TEMPLATE/features/_FEATURE-TEMPLATE.md.
Step 2 -- Discover and reserve the project-native ID

Do this before changing the feature document, layer README, or registry. A feature registry is project-owned state; this skill does not impose its old F-NNN example on it.

  1. Inspect existing feature documents, the layer README, feature_list.json (if present), a co-located schema or validator, and AGENTS.md/project docs for the actual ID format, namespace, filename convention, fields, initial status, allocator, and coordination rule. For example, this repository's long-run template uses lowercase feat-NNN IDs with description, dependencies, and string evidence; that is not interchangeable with the old F-NNN example.
  2. If --id was provided, validate it against the discovered convention and check every project-owned feature source that the convention names. If it is already used, refuse without changing anything.
  3. Otherwise use the project's allocator when one exists. If the convention is visible only in current records, derive a candidate from those records and recheck all of them immediately before reservation. Do not infer a global namespace, digit width, prefix, or sort order from this skill.
  4. Follow an existing project coordination mechanism when one exists and you are authorized to use it. Otherwise reserve the logical ID, not a slug-bearing pathname, with scripts/reserve_feature_id.py. It atomically creates refs/feature-new/reservations/<project-id> in the repository and binds that ID to the layer, slug, and final document path. This is a Git allocator record, not a second feature registry: the same request returns resumed; a different layer/slug/path returns conflict and must not edit the registry or another claimant's document.
  5. On conflict, re-inventory the project convention and choose the next project-native candidate. Continue safe reconciliation while the requested scaffold remains actionable; do not guess that a durable reservation has a stale owner, overwrite it, or impose an arbitrary retry limit.
  6. If no project ID/path convention exists at all, bootstrap only this skill's documented default: lowercase feat-NNN, globally allocated through the Git-ref helper, with docs/layers/<layer>/features/feat-NNN-<slug>.md as the document path. Do not create feature_list.json; once a registry exists it becomes authoritative over this fallback.
  7. After reservation, re-read the README and registry before companion updates. If their convention changed, preserve the valid document and stop before a stale README/registry write; report the exact conflict and reserved path for the owner to reconcile.

When the project has no registry schema or helper, do not stop merely because it differs from this skill's example. Adapt by copying one current entry's field set and ID style, changing only values whose meaning is established by the project. If no representative entry or documented meaning exists, create the requested narrative only and leave the unknown registry untouched rather than append an invented record.

Step 3 -- Validate slug
  • Lowercase kebab-case ([a-z][a-z0-9-]*).
  • Length <= 50 characters.
  • Does not repeat the discovered ID prefix.
  • The resulting project-native feature filename does not already exist.
Step 4 -- Copy and fill the template

Source: docs/layers/<layer>/features/_FEATURE-TEMPLATE.md

Destination: the project-native feature filename discovered in Step 2.

In the new file, replace placeholders:

PlaceholderReplacement
feature ID/title placeholderthe discovered ID and <title>
**Layer:** [<layer-name>](../README.md)**Layer:** [<layer>](../README.md)
**Status:** designleave as design
**Branch:** feature/<slug>use --branch value or default
**Started:** YYYY-MM-DDtoday's date
**Owner:** <name>infer from git config user.name, or leave placeholder

Leave Design / Plan / Verify / Conclusion section bodies as template placeholders -- the user fills these.

Step 5 -- Update layer README

Inspect docs/layers/<layer>/README.md for its existing feature index and preserve its columns, ID form, ordering, and link style. Insert the new entry only if a feature index exists and its row convention is understood:

| <project-id> | <title> | <project-native initial status> | YYYY-MM-DD | <project-native link> |

If the table has only known placeholder rows, replace only those placeholders. If there is no compatible index, do not invent one; report that the narrative was created without a README index.

Step 6 -- Update feature_list.json (if present)

If <repo>/feature_list.json exists at repo root, parse it and use the project's schema or validator plus a representative entry to construct a native record. Preserve the existing top-level shape, field names, value types, default status, evidence representation, ordering, and encoding. Change only fields that the project convention establishes for a new feature (such as its unique ID, title/name, description, document link, or initial state).

Important encoding rule (per ~/.claude/rules/api-utf8-posting.md): write the JSON file with json.dump(data, f, ensure_ascii=False, indent=2) to preserve any Cyrillic in titles.

Do NOT change existing entries or add fields merely because this skill's old example had them. Run the project-provided feature registry validator when one exists. If the registry's required fields cannot be determined safely, leave it unchanged and report that fact; the requested narrative remains valid.

If feature_list.json does not exist, do not auto-create it -- emit a hint instead.

Show full SKILL.md (560 more words)Show less
Step 7 -- Confirm and suggest next step

Print a summary:

Created: <project-native feature-document path>
Updated: <README path or "not indexed; no compatible feature index">
Updated: <feature_list.json path and project-native ID, or "not changed; no safe registry mapping">

Suggested next steps:
1. Fill the Design section in <feature document>
   - Approach (one paragraph)
   - Invariants (IV-1, IV-2, ...)
   - Rejected alternatives
2. When Design is reviewed, change Status: design -> planning and fill Plan
3. Create the git branch: git checkout -b feature/<slug>

Blueprints (files this skill writes from)

  • templates/kb-skeleton/docs/layers/_LAYER-TEMPLATE/features/_FEATURE-TEMPLATE.md -- the source template

Status lifecycle

The following lifecycle is the bundled long-run-project convention, not a universal registry schema. Apply it only after Step 2 confirms that the target project uses it; otherwise preserve the project's own lifecycle and mapping.

Doc Status (narrative phase, in feature.md frontmatter)

Tracks where in the ULTRAPACK Design / Plan / Verify / Conclusion journey the feature is.

design --> planning --> executing --> reviewing --> done
                                  \
                                   --> blocked --> executing

Six states: design, planning, executing, reviewing, done, blocked. Transitions are manual edits. Once done, the feature doc is read-only history; further changes go into a superseding feature.

feature_list.json status (machine state, for tooling)

Tracks the machine-readable state used by build_kb_graph.py and validate_kb_links.py.

not-started --> in-progress --> done
              \
               --> blocked --> in-progress

Four states: not-started, in-progress, blocked, done. done is one-way (no rollback; regression becomes a new feature) per principle 27.

Mapping between the two
Doc Statusfeature_list.json statusNotes
designnot-startednewly created, no plan yet
planningin-progressplan being written
executingin-progresscode being written
reviewingin-progressreview/verify phase
blockedblockedidentical
donedoneidentical

For a project that uses this convention, create the doc with Status: design and the native JSON record with status: "not-started". Subsequent transitions are manual and follow that project's coordination rule.

Gotchas

  • ID namespace is project-defined. It may be global, per layer, or managed by a registry. Discover it before allocation; never treat F-NNN as a universal format.
  • Concurrent allocation. Scanning and then writing is a race. Use the existing project coordinator or reserve the logical ID with the Git-ref helper before a document/registry mutation. A same-ID different-slug/layer claimant must conflict; re-inventory it, never overwrite it or guess that the durable reservation is stale.
  • Migration of in-flight features. When migrating an existing feature into the new format, pass its project-native --id explicitly so the feature retains its prior ID in any links from PROBLEMS.md or handoffs. The skill will not auto-detect existing IDs.
  • Cyrillic titles + Windows. Per global rule api-utf8-posting.md, when writing the markdown file or feature_list.json, always specify encoding="utf-8" explicitly to avoid mojibake on Windows.
  • Layer README table edit. Preserve the project's existing columns and ordering. If the index cannot be interpreted safely, leave it unchanged and report the unindexed narrative rather than inventing a canonical 5-column row.

Troubleshooting

SymptomCauseFix
"Layer does not exist"docs/layers/<layer>/ missingRun /layer-new <layer> first
ID reservation conflictAnother request owns that logical IDRe-inventory project state and use the next native candidate; never overwrite or delete the durable reservation
feature_list.json parse/schema errorRegistry is invalid or uses an unknown conventionPreserve the narrative and do not write the registry; report the exact parser/schema failure and use a project-native adapter when its fields are established
Template missing on this machineDifferent host / fresh clonePull from public repo: gh api repos/AnastasiyaW/claude-code-config/contents/templates/kb-skeleton/docs/layers/_LAYER-TEMPLATE/features/_FEATURE-TEMPLATE.md
Cyrillic in title shows as ?????File written without explicit utf-8Re-write the file with encoding="utf-8"; see ~/.claude/rules/api-utf8-posting.md

Implementation note

This is a scaffolding skill: file copy + placeholder replacement + small JSON merge. Keep it deterministic. The Design / Plan / Verify sections of the produced document are meant for the user (or the session that invoked the skill) to fill -- this skill does not attempt to generate Design content from the title.

ID discovery reads only the sources that the project's convention declares. Reserve the resulting logical ID atomically, then re-read mutable sources; cache is not authority across a concurrent mutation.

© AnastasiyaW, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (scripts) in skills/architecture/feature-new of AnastasiyaW/codex-claude-code-config.

  • SKILL.md
  • scripts/reserve_feature_id.py

Open the folder on GitHubat commit 3601289

Compare with similar skills

Feature New next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Feature New compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Feature New this skillAnastasiyaW/codex-claude-code-config154—~3.4kAutomated safety check: PassMIT
Vercel Composition Patternssupabase/supabase111k58 repos~726Automated safety check: PassMIT
Finishing a Development Branchobra/superpowers297k5 repos~1.9kAutomated safety check: PassMIT
Typescript Advanced Typesrolling-scopes/rsschool-app10k25 repos~4.2kAutomated safety check: PassMPL-2.0
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Code Review ChecklistshareAI-lab/learn-claude-code78k4 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Official

    React composition patterns that scale. An agent skill from supabase/supabase.

    111k GitHub starsUsed in 58 repos~726 tokens
    DevelopmentAuto-check passed
  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    297k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Typescript Advanced Types

    rolling-scopes/rsschool-app

    Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.

    10k GitHub starsUsed in 25 repos~4.2k tokens
    DevelopmentAuto-check passed
  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 4 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Greploop

    onyx-dot-app/onyx

    Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.

    32k GitHub starsUsed in 4 repos~3.3k tokens
    DevelopmentAuto-check passed

More from AnastasiyaW/codex-claude-code-config

All 50 skills in this repo
  • Bug Reproducer

    AnastasiyaW/codex-claude-code-config

    Find likely software bugs in a codebase, rank concrete bug candidates, and prove or reject them with focused regression tests before proposing a fix.

    154 GitHub stars~4.1k tokensUpdated today
    Auto-check passed
  • Motion Framer

    AnastasiyaW/codex-claude-code-config

    A skill your agent uses when implementing Motion or Framer Motion in React/JavaScript: interactive UI components, micro-interactions, gestures, layout or page transitions, and scroll-based animation.

    154 GitHub starsUsed in 1 repo~5.2k tokens
    Auto-check passed
  • Proof Verify

    AnastasiyaW/codex-claude-code-config

    Plan-based verification - freeze acceptance criteria before building, then verify after with an independent fresh-context agent (the builder must not verify their own work).

    154 GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Workflow Orchestration

    AnastasiyaW/codex-claude-code-config

    Написание и запуск Claude Code dynamic workflows (JS-оркестратор субагентов).

    154 GitHub stars~3.8k tokensUpdated today
    Auto-check passed
  • Notebooklm Grounded Research

    AnastasiyaW/codex-claude-code-config

    A skill your agent uses when: NotebookLM, notebooklm MCP, large documentation sets, courses, books, papers, or citation-backed research are mentioned.

    154 GitHub stars~2.4k tokensUpdated today
    Auto-check: warnings
  • Deepseek Provider Contract

    AnastasiyaW/codex-claude-code-config

    Validate a proposed DeepSeek API integration before any key or project context is sent: check thinking-mode tool-call history, strict-schema assumptions, bounded output, and provider data boundaries.

    154 GitHub stars~1.2k tokensUpdated today
    Auto-check passed

Categories

Questions about Feature New

What does Feature New do?

Scaffold a feature narrative in an existing project layer with Design, Plan, Verify, and Conclusion sections. Feature New is an agent skill from AnastasiyaW/codex-claude-code-config. Scaffold a feature narrative in an existing project layer with Design, Plan, Verify, and Conclusion sections.

When should I use Feature New?

Feature New fits situations like: : create a new feature; start work on feature; scaffold feature doc; begin feature narrative.

How do I install Feature New in Claude Code?

Run `npx skills add AnastasiyaW/codex-claude-code-config --skill feature-new -a claude-code`. Or copy the skill folder (skills/architecture/feature-new in AnastasiyaW/codex-claude-code-config) into .claude/skills/feature-new in your project. Claude Code loads it when a task matches its description.

How do I install Feature New in Codex?

Run `npx skills add AnastasiyaW/codex-claude-code-config --skill feature-new -a codex`. Or copy the skill folder (skills/architecture/feature-new in AnastasiyaW/codex-claude-code-config) into .agents/skills/feature-new in your project. Codex loads it when a task matches its description.

Can I use Feature New in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AnastasiyaW/codex-claude-code-config --skill feature-new -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/feature-new, .gemini/skills/feature-new, .github/skills/feature-new and .opencode/skills/feature-new in your project.

What does Feature New need to run?

Going by SKILL.md and its folder, Feature New needs Python for the scripts in its folder and the command-line tools its instructions call (git and gh). Our summary lists: Python 3.

Does Feature New access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Feature New safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Feature New use?

Feature New is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Feature New use?

About 3.4k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Feature New?

Skills that share tags, products or a category with Feature New: Vercel Composition Patterns (supabase/supabase, 111k stars), Finishing a Development Branch (obra/superpowers, 297k stars), Typescript Advanced Types (rolling-scopes/rsschool-app, 10k stars) and PR Babysitter (openinterpreter/openinterpreter, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Feature New?

AnastasiyaW (a GitHub user) maintains it in AnastasiyaW/codex-claude-code-config, which has 154 GitHub stars. The repository holds 50 skills in this directory. The repository was last updated on October 11, 2026.

Source: AnastasiyaW/codex-claude-code-config on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.