factorialco/factorial-code-skills

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.

Voir la source

Mode d’emploi

  1. Copiez la commande et examinez le paquet avant de l’installer dans votre environnement agent.
  2. Consultez le document original pour les outils, identifiants et environnements requis.
  3. Décrivez les entrées et le livrable souhaité ; comparez la sortie aux sources.
npx skills add https://github.com/factorialco/factorial-code-skills --skill fcode-code-validation

Avant de commencer

  • L’installation n’inclut ni abonnement au modèle, ni quota API, ni accès aux fichiers.
  • Étoiles et installations reflètent l’activité, pas un test indépendant de qualité ou de sécurité.
Document Skill original

Rendu depuis le dépôt source en conservant titres, exemples, code, tableaux, liens et images.

Factorial Code — App validation

A pre-flight for the platform's own release validation (its criteria are in fcode-ama references/journey.md §8), run locally before the release is requested, adding the review dimensions a human gatekeeper would: forms and lifecycle, i18n, logging hygiene, security, email abuse.

It serves two audiences with the same procedure: an app developer self-checking before requesting a release, and a platform reviewer gating one. Either way the input is a workspace ("team") slug and the output is APP_VALIDATION_REPORT.md in the cloned workspace plus a ✅/❌ verdict in chat.

This skill owns only the procedure, the check catalog, the severities, and the report format. Every rule it checks is owned by another skill and cited on the catalog row — read the owner when a finding needs context.

Gotchas

  • This review is read-only. The only permitted writes are the clone

itself and APP_VALIDATION_REPORT.md. Never fcode push, never --force, never settings:versions:create / settings:aliases:set, never edit workspace files, never fcode add the report.

  • Never `fcode run` during the review. Processes may call real APIs

with credentials inherited from parent workspaces (fcode-core-concepts). This is a static review of code and config.

  • The clone slug is an encoded `dev-…` token, not the app's UUID from

the browser URL — copy it from the app's "How to build locally" guide on its Development tab (see fcode-cli). A UUID-shaped slug will not clone.

  • Any Blocker → ❌. Warnings and Suggestions never flip the verdict.
  • Ambiguity blocks the review. If the user names a development team

with several apps, or it's unclear which workspace (dev- / deploy- / prod-) to review, list the candidates and ask before cloning. dev- is the normal review target.

  • `` placeholders in pulled variables are normal — a masked

secret is never a finding, and the review never needs real secret values. Never ask for them.

  • A failing `fcode clone` usually means UUID confusion or missing

access — point at the access flow in fcode-ama; don't retry blindly.

  • A mixed JS/Python workspace is fine — review each process with its

own language's rules and note the mix in the report header.

  • Review only what the workspace owns. Inherited resources — modules,

processes, and variables from parentTeams parents, variables.inherited.env, i18n/<locale>.inherited.yaml — were already validated when their owning workspace was published. Don't audit their content; findings may only concern how this workspace uses them.

Severity model

SeverityMeaningEffect on verdict
BlockerBreaks at runtime, mishandles credentials, exposes the platform's mail domain to abuse, or fails a criterion the platform release gate checksAny one → ❌
WarningViolates a documented rule; expect reviewer pushback or future breakageAdvisory
SuggestionImprovement aligned with platform conventionsAdvisory

Procedure

  1. Resolve the workspace. Confirm the slug is the encoded token (see

Gotchas) and which workspace kind it is; disambiguate with the user when needed. Record the kind in the report header.

  1. Acquire. Missing CLI: ask the user, then

pnpm install -g @factorialco/fcode-cli — the one permitted install. Fresh copy: fcode clone <workspace-slug> --skipSkillsSetup. Already cloned: fcode pull; on divergence never --force — ask whether to review the local state as-is and record the answer in the report header.

  1. Inventory (read-only). Detect the language per process (index.js

vs main.py). List processes, modules, appRoles, and webhook/form settings from each processes/<slug>/metadata.json; read settings.json, the three variables files, variables.meta.json, and i18n/. Run fcode status, fcode variables:status, fcode settings:status, and fcode i18n:status. Separate owned from inherited as you go — the catalog applies to owned resources only (see Gotchas).

  1. Run the check catalog. Read references/checks.md and evaluate

every check against the inventory, recording file:line evidence. Whether step 2 was a fresh clone or a pre-existing local workspace decides if the STRUCT layout checks run fully or are marked "N/A — fresh clone".

  1. Classify. Apply each catalog row's severity; deviate only where the

row allows it, and say why in the finding.

  1. Write the report to <workspace>/APP_VALIDATION_REPORT.md following

references/report-template.md, overwriting any previous run.

  1. Print the verdict in chat: the ✅/❌ line, per-severity counts, and

the Blocker titles.

Check categories

STRUCT · LANG · FORM · I18N · SEC · MAIL · REUSE · LOG · LIFE · REL — the full catalog, with per-check severities and owner citations, is in references/checks.md.

Tâches connexes

du même dépôt

Autres Skills

Tous les Skills
factorialco
Communauté

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

installations
1
GitHub Stars
1
Mis à jour
20 oct.
factorialco
Communauté

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.

installations
1
GitHub Stars
1
Mis à jour
20 oct.
factorialco
Communauté

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.

installations
1
GitHub Stars
1
Mis à jour
20 oct.
factorialco
Communauté

fcode-forms

Embed a Factorial Code process's input-parameter form on a webpage — embed methods, version pinning to the stable alias, what a public form means for the process behind it, driving behavior from the process return value, styling and themes, multi-step flows, and file uploads. Use when embedding, configuring, styling, or wiring up a Factorial Code (fcode) form.

installations
1
GitHub Stars
1
Mis à jour
20 oct.