Agent skill

Ng Forge Dynamic Forms

by ng-forge in ng-forge/ng-forge

Write and validate @ng-forge/dynamic-forms FormConfig objects for Angular.

MITAuto-check passedDevelopment

Install Ng Forge Dynamic Forms

skills CLI
$ npx skills add ng-forge/ng-forge --skill ng-forge-dynamic-forms -a claude-code

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

GitHub CLI
$ gh skill install ng-forge/ng-forge ng-forge-dynamic-forms --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/ng-forge/ng-forge.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/dynamic-forms .claude/skills/ng-forge-dynamic-forms && 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
ng-forge-dynamic-forms
GitHub stars
101
Token cost
~1.1k tokens
SKILL.md length
521 words
Files
5 (incl. references)
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

Write and validate @ng-forge/dynamic-forms FormConfig objects for Angular.

  • Works in 8 steps: options goes at field level, never… → Hidden fields require value and support… → Containers (page, group, row, array)… → …
  • Debugging dynamic form schemas
  • SKILL.md covers Before you start, The loop, Non-negotiable rules and References, plus 1 more section
  • Calls node and npx

What it does

Ng Forge Dynamic Forms is an agent skill from ng-forge/ng-forge. Write and validate @ng-forge/dynamic-forms FormConfig objects for Angular. Use when creating, editing, or debugging dynamic form schemas, field types, validation, conditional logic, or value derivations in a project that depends on @ng-forge/dynamic-forms.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/field-types.md`, `references/patterns.md` and `references/pitfalls.md`).

It sits in Development. It works with Angular and TypeScript. The repository describes itself as: Type-safe dynamic forms library for Angular 21 signal forms. The licence is MIT.

When your agent uses it

  • Debugging dynamic form schemas
  • Conditional logic
  • Value derivations in a project that depends on @ng-forge/dynamic-forms

Example prompts

  • “/ng-forge-dynamic-forms”

Requirements

  • Node.js

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. options goes at field level, never inside props.
  2. Hidden fields require value and support nothing else: no validators,
  3. Containers (page, group, row, array) accept only hidden logic. Put
  4. Container fields take no label. Use a text field inside for headings.
  5. There is no hideWhen, showWhen, or expressions shorthand. Use
  6. Derivations live on the target field, via derivation: '...' or
  7. Keys are unique within their group scope. Page, row, and array
  8. Navigation buttons go inside the page they belong to, not beside it.

What it can do on your machine

Read from SKILL.md and the folder at commit 8f8f998. 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

    Shell commands in SKILL.md call:

    • node
    • npx

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

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    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

Ng Forge Dynamic Forms loads about 1.1k tokens when it runs, and up to ~20k if it reads all its reference files. Until then it costs about 70 tokens; SKILL.md has 521 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~70
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~20k

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from ng-forge/ng-forge at commit 8f8f998, republished under its MIT licence (© ng-forge). 521 words, ~1,059 tokens.

Download SKILL.mdSave it as .claude/skills/ng-forge-dynamic-forms/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
ng-forge-dynamic-forms
description
Write and validate @ng-forge/dynamic-forms FormConfig objects for Angular. Use when creating, editing, or debugging dynamic form schemas, field types, validation, conditional logic, or value derivations in a project that depends on @ng-forge/dynamic-forms.
<!-- Generated by scripts/generate-skills.ts. Do not edit by hand. -->

ng-forge Dynamic Forms

Authoring guidance for @ng-forge/dynamic-forms FormConfig objects.

This skill documents version 1.2.0.

Before you start

Check what the project actually has installed:

bash
node -p "require('@ng-forge/dynamic-forms/package.json').version"

That reads the resolved package, so it works in a monorepo and when the library is a dev dependency. Reading dependencies from the nearest package.json reports a range like ^1.2.0 rather than what is installed, and misses both cases.

If it does not match 1.2.0, say so before generating a config. The rules below track 1.2.0 and some of them have changed between releases.

The loop

Do not hand back a config you have not checked. The library ships a validator:

bash
npx --yes @ng-forge/dynamic-forms-cli@next "path/to/your.form.ts" --ui material

--yes matters: without it npx prompts before its first install and waits for an answer that will never come. @next matters too: the latest tag is still a placeholder release with no executable, so the unpinned command fails with "could not determine executable to run". Requires Node 24 or newer.

It reports the exact property that is wrong and how to fix it. Exit code 1 means a config failed, 2 means the invocation was wrong. Run it after writing or editing any config, and fix what it reports before replying.

Pass --require-config when the file is supposed to contain a config: without it, a file the extractor finds nothing in exits 0, which reads the same as a clean run.

If the config is written in TypeScript, as const satisfies FormConfig plus a typecheck already catches a large share of mistakes. Use both.

Show full SKILL.md (272 more words)Show less

Non-negotiable rules

These are the mistakes that come up most often. The full set is in references/rules.md.

  1. options goes at field level, never inside props.
  2. Hidden fields require value and support nothing else: no validators, no required, no props, no col.
  3. Containers (page, group, row, array) accept only hidden logic. Put disabled, required, readonly, and derivation on child fields.
  4. Container fields take no label. Use a text field inside for headings.
  5. There is no hideWhen, showWhen, or expressions shorthand. Use logic: [{ type: 'hidden', condition: {...} }].
  6. Derivations live on the target field, via derivation: '...' or logic: [{ type: 'derivation', expression: '...' }]. targetField no longer exists.
  7. Keys are unique within their group scope. Page, row, and array containers do not introduce a scope.
  8. Navigation buttons go inside the page they belong to, not beside it.

References

Read these on demand rather than up front:

FileWhen to read it
references/rules.mdThe complete authoring contract, including expression syntax and i18n
references/field-types.mdWhich field types exist, their props, and where each may be nested
references/patterns.mdWorking configs to adapt: wizards, arrays, conditionals, validation
references/pitfalls.mdError-to-fix table, the same one the validator emits

UI adapters

A config is validated against one adapter: material, bootstrap, primeng, or ionic. Field types are shared, but props differ per adapter, and this skill documents none of them.

Install the skill for the adapter the project uses, which carries its props:

AdapterSkill
materialng-forge-dynamic-forms-material
bootstrapng-forge-dynamic-forms-bootstrap
primengng-forge-dynamic-forms-primeng
ionicng-forge-dynamic-forms-ionic

Two adapters cannot both provide the same field type, so a project has one adapter per field type. Check which one it provides before writing props.

© ng-forge, 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 4 other files (references) in skills/dynamic-forms of ng-forge/ng-forge.

  • SKILL.md
  • references/field-types.md
  • references/patterns.md
  • references/pitfalls.md
  • references/rules.md

Open the folder on GitHubat commit 8f8f998

Compare with similar skills

Ng Forge Dynamic Forms 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.

Ng Forge Dynamic Forms compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ng Forge Dynamic Forms this skillng-forge/ng-forge101—~1.1kAutomated safety check: PassMIT
Igniteui Angular LintingIgniteUI/igniteui-angular599—~614Automated safety check: PassCustom licence
Zardzard-ui/zardui1.2k—~3.8kAutomated safety check: PassMIT
AngularJS to Angular Migrationwshobson/agents40k10 repos~1.8kAutomated safety check: PassMIT
Angular Copfmflurry/settings-opencode171—~1.4kAutomated safety check: PassMIT
Angularericrisco/rsc-harness156—~3.4kAutomated safety check: PassMIT

Similar skills

  • Igniteui Angular Linting

    IgniteUI/igniteui-angular

    Quick-reference for linting the core Ignite UI for Angular library.

    599 GitHub stars~614 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Zard

    zard-ui/zardui

    Manages zard/ui components and projects — adding, composing, styling, and debugging Angular UI built on TailwindCSS v4.

    1.2k GitHub stars~3.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Guides migrating AngularJS 1.x apps to modern Angular: choosing a strategy, running a hybrid app with ngUpgrade, and converting controllers, directives and services.

    40k GitHub starsUsed in 10 repos~1.8k tokens
    DevelopmentAuto-check passed
  • Angular Cop

    fmflurry/settings-opencode

    Pre-merge code review for Angular + TypeScript pull requests.

    171 GitHub stars~1.4k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Angular

    ericrisco/rsc-harness

    A skill your agent uses when building, refactoring, or debugging Angular (v20/21+): standalone components, signals, zoneless change detection, @if/@for/@defer control flow, inject() DI…

    156 GitHub stars~3.4k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Angular Ddd

    fmflurry/settings-opencode

    Domain-Driven Design for Angular/TypeScript: functional patterns with type aliases, readonly fields, pure rule functions, immutable value types, branded IDs, and ports as abstract classes.

    171 GitHub stars~2.5k tokensUpdated 2 days ago
    DevelopmentAuto-check passed

More from ng-forge/ng-forge

  • Bootstrap specific field properties for @ng-forge/dynamic-forms.

    101 GitHub stars~407 tokensUpdated 2 days ago
    Auto-check passed
  • Ionic specific field properties for @ng-forge/dynamic-forms.

    101 GitHub stars~397 tokensUpdated 2 days ago
    Auto-check passed
  • Angular Material specific field properties for @ng-forge/dynamic-forms.

    101 GitHub stars~413 tokensUpdated 2 days ago
    Auto-check passed
  • PrimeNG specific field properties for @ng-forge/dynamic-forms.

    101 GitHub stars~402 tokensUpdated 2 days ago
    Auto-check passed

Categories

Questions about Ng Forge Dynamic Forms

What does Ng Forge Dynamic Forms do?

Write and validate @ng-forge/dynamic-forms FormConfig objects for Angular. Ng Forge Dynamic Forms is an agent skill from ng-forge/ng-forge. Write and validate @ng-forge/dynamic-forms FormConfig objects for Angular.

When should I use Ng Forge Dynamic Forms?

Ng Forge Dynamic Forms fits situations like: debugging dynamic form schemas; conditional logic; value derivations in a project that depends on @ng-forge/dynamic-forms.

How do I install Ng Forge Dynamic Forms in Claude Code?

Run `npx skills add ng-forge/ng-forge --skill ng-forge-dynamic-forms -a claude-code`. Or copy the skill folder (skills/dynamic-forms in ng-forge/ng-forge) into .claude/skills/ng-forge-dynamic-forms in your project. Claude Code loads it when a task matches its description.

How do I install Ng Forge Dynamic Forms in Codex?

Run `npx skills add ng-forge/ng-forge --skill ng-forge-dynamic-forms -a codex`. Or copy the skill folder (skills/dynamic-forms in ng-forge/ng-forge) into .agents/skills/ng-forge-dynamic-forms in your project. Codex loads it when a task matches its description.

Can I use Ng Forge Dynamic Forms 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 ng-forge/ng-forge --skill ng-forge-dynamic-forms -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ng-forge-dynamic-forms, .gemini/skills/ng-forge-dynamic-forms, .github/skills/ng-forge-dynamic-forms and .opencode/skills/ng-forge-dynamic-forms in your project.

What does Ng Forge Dynamic Forms need to run?

Going by SKILL.md and its folder, Ng Forge Dynamic Forms needs the command-line tools its instructions call (node and npx). Our summary lists: Node.js.

Does Ng Forge Dynamic Forms access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Ng Forge Dynamic Forms 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. Review the folder before installing.

What licence does Ng Forge Dynamic Forms use?

Ng Forge Dynamic Forms 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 Ng Forge Dynamic Forms use?

About 1.1k tokens (SKILL.md is roughly 4.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 19k tokens, read only when the agent opens those files.

What are the alternatives to Ng Forge Dynamic Forms?

Skills that share tags, products or a category with Ng Forge Dynamic Forms: Igniteui Angular Linting (IgniteUI/igniteui-angular, 599 stars), Zard (zard-ui/zardui, 1.2k stars), AngularJS to Angular Migration (wshobson/agents, 40k stars) and Angular Cop (fmflurry/settings-opencode, 171 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ng Forge Dynamic Forms?

ng-forge (a GitHub organization) maintains it in ng-forge/ng-forge, which has 101 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 5, 2026.

Source: ng-forge/ng-forge on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.