factorialco/factorial-code-skills

fcode-json-schema

Author Factorial Code process input-parameter schemas (parametersSchema.json) — every supported input type and validation option, with a complete annotated sample.

Quelltext ansehen

Verwendung

  1. Installationsbefehl kopieren und das Quellpaket vor der Installation in der eigenen Agentenumgebung prüfen.
  2. Benötigte Werkzeuge, Zugangsdaten und Hosts im Original prüfen.
  3. Eingabe und gewünschtes Ergebnis beschreiben und die Ausgabe mit den Quellen abgleichen.
npx skills add https://github.com/factorialco/factorial-code-skills --skill fcode-json-schema

Vor dem Start

  • Die Installation umfasst weder Modellabo noch API-Kontingent oder Dateizugriffsrechte.
  • Sterne und Installationen zeigen Aktivität, keine unabhängige Qualitäts- oder Sicherheitsprüfung.
Originales Skill-Dokument

Aus dem Quell-Repository gerendert; Überschriften, Beispiele, Code, Tabellen, Links und Bilder bleiben erhalten.

Factorial Code — input parameter schemas

A process's input parameters are defined by a JSON Schema in parametersSchema.json. The same schema is what fcode-forms renders as a web form, so designing the schema is designing the form. Values arrive in code as fcode.context.parameters (see fcode-javascript / fcode-python).

Schemas render with react-jsonschema-form, so its ui: options apply.

How to author one

  1. Top level is "type": "object" with a properties map (one entry per field)

and an optional required array.

  1. Pick a type per field (string, integer, number, boolean, array,

object) and add validation (minimum/maximum, format, enum/oneOf, uniqueItems, nested properties).

  1. Control rendering with a per-field ui object (e.g.

"ui": { "ui:widget": "textarea" }).

  1. Open `assets/parametersSchema.sample.json` for a complete, copy-pasteable

schema exercising every supported type — adapt fields from it rather than guessing the shape.

Field types & widgets (in the sample)

  • Text — "type": "string"; format: "email"; ui:widget of textarea,

color, hidden, or file.

  • Secret — "isSensitive": true masks the input (e.g. passwords/tokens).
  • Numbers — integer / number with minimum / maximum.
  • Boolean — "type": "boolean".
  • Choices — enum (select), oneOf of { const, title } (labeled radio

with ui:widget: "radio"), or an array with ui:widget: "checkboxes" + uniqueItems.

  • Structured — nested object with its own properties/required; arrays

of strings or of objects (type: "array" + items); raw JSON via "ui": { "ui:field": "json" }.

  • Conditional fields — use top-level dependencies to show/hide fields based

on another field's value (see anotherBooleanField in the sample).

  • Content around a field — a per-field markdown object with before /

after strings renders block markdown (full GFM, incl. tables) above/below the field. Detail and a worked example in fcode-forms (references/advanced.md).

  • Long forms — split roughly ten or more fields into steps with a root-level

ui:steps node; see fcode-forms §Multi-step forms.

  • Connect an external account — a string or boolean with

"ui": { "ui:widget": "oauth", "ui:options": { "authorizationUrl": … } } renders a button that completes an OAuth flow in a popup ("ui:field": "oauth" for an object; see oneOauthConnectField in the sample). Contract and callback in fcode-forms §Connect an external account.

Gotchas

  • A file field ("ui:widget": "file") is auto-uploaded to Storage before

the process runs; the parameter arrives as an fcode.storage://… reference, not the file contents. Strip the prefix before fcode.storage.download(...).

  • `isSensitive: true` only affects display/masking — still read the value

from a secret variable, never hardcode it.

  • **An oauth field's authorizationUrl must be injected with

{ "$ref": "#/variables/x" }** from a preRenderProcess variable — never {{x}}, which Mustache HTML-escapes into a URL the widget refuses (the button renders disabled with a console warning).

  • The schema is the single source of the form's fields — to change fields, edit

the schema, not the form embed code.

  • The schema is data, not code — no executable JavaScript, and all form

text is markdown (raw HTML is never rendered). Client-side behaviour belongs in the embedding page — see fcode-forms.

  • Visible text can be translated: schema strings (titles, descriptions,

ui:placeholder) accept fcode.i18n("key") tokens, substituted server-side before the form is served — see fcode-i18n.

Verwandte Aufgaben

aus demselben Repository

Weitere Skills

Alle Skills
factorialco
Community

fcode-code-validation

Pre-production review of a Factorial Code app — clone the workspace read-only, run the static check catalog, classify findings as Blocker/Warning/Suggestion, and write APPVALIDATIONREPORT.md with a ✅/❌ promotion verdict. Use when validating, reviewing, or auditing a Factorial Code (fcode) app or workspace before a release, or when asked whether an app is ready to ship.

Installationen
1
GitHub Stars
1
Aktualisiert
20. Okt.
factorialco
Community

fcode-cli

Use the Factorial Code CLI (fcode) for local development and cloud sync — the pull → add → run → push flow, the local webhook/forms server, workspace versions and aliases, and the workspace config files (metadata.json, settings.json, variables). Use when running fcode commands, testing a process locally, syncing to the cloud, cloning every App of a development team, inspecting or resolving differences between local and cloud, or configuring a process's webhook, Factorial Action (the factorial bl

Installationen
1
GitHub Stars
1
Aktualisiert
20. Okt.
factorialco
Community

fcode-core-concepts

Factorial Code platform architecture and core concepts — processes, modules, execution context, variables, inheritance from parent workspaces, datastore, file storage, workspace structure, and naming conventions. Use when building, editing, or reasoning about any Factorial Code (fcode) process, module, or workspace; start here before writing process or module code.

Installationen
1
GitHub Stars
1
Aktualisiert
20. Okt.
factorialco
Community

fcode-examples

Reference implementations for Factorial Code — a complete marketplace payroll integration, a custom app with full install/uninstall lifecycle, an OAuth account connection from a form, and utility processes. Use when building a Factorial Code (fcode) integration, custom app, or automation end to end and you want a proven, working pattern to adapt — read the matching reference before writing code.

Installationen
1
GitHub Stars
1
Aktualisiert
20. Okt.