inno-platform-conventions

Enforces Innovation Platform coding conventions for app code, storage, identity, and CI gates.

Updated Jul 18, 2026
One-click install
npx skills add https://github.com/dlaporte/claude-plugins --skill inno-platform-conventions-dlaporte
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: inno-platform-conventions
Source: https://github.com/dlaporte/claude-plugins/tree/main/plugins/innovation-platform/skills/inno-platform-conventions
Command: npx skills add https://github.com/dlaporte/claude-plugins --skill inno-platform-conventions-dlaporte

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing code for an Innovation Platform app without knowing the platform's contract leads to CI failures: rejected files, failed security scans, broken deploys, and auth or storage implementations the gateway already handles. This Skill loads the full set of platform conventions before any app code is written, so every rule maps to the CI gate that enforces it. ## Core Features & Use Cases - Version gate and live contract: Verifies the plugin version against the platform via get_platform_status and fetches the authoritative app contract with get_app_contract before any code is written. - Deployment type guidance: Covers container, function, mcp-function, and mcp-container app types, including entry points, health checks, storage bindings, and MCP Streamable HTTP transport requirements. - Security and CI compliance rules: Defines identity handling via X-Forwarded-User headers, storage through the http://storage.internal client instead of local disk, XSS-safe rendering, Variables and Connections for secrets, and the protected files (src/, root package.json, wrangler.jsonc, .npmrc) that the config-integrity gate rejects. - Use Case: Before scaffolding a new Starlette app in an inno-{app} repo, load this Skill to learn that persistence must use the Storage client, identity comes from gateway-injected headers, and a root-level lockfile will fail the deploy. ## Quick Start Load the inno-platform-conventions skill before writing any application code inside an Innovation Platform app's app/ directory.

Frequently Asked Questions about inno-platform-conventions

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write app code for the Innovation Platform?

Load this Skill first, verify the plugin version with get_platform_status, then fetch get_app_contract for the authoritative requirements. Write all code under app/, read identity from X-Forwarded-User, and persist data through the storage client rather than local disk.

What files cause Innovation Platform CI to fail?

The config-integrity gate rejects src/, root package.json and lockfiles, tsconfig.json, wrangler.jsonc, root .env files, .npmrc at any depth, scaffold/ directories, and directory symlinks. These are platform-injected build inputs that must never exist in your repo.

Can I use FastAPI or Node instead of Starlette?

Yes, any stack works since the contract is HTTP on port 8080 and no CI gate checks the language. Python/Starlette is the tested reference path; Node function apps must commit app/package-lock.json and declare every imported package in app/package.json.

How does authentication work in Innovation Platform apps?

The Cloudflare Workers gateway verifies users against Okta before requests reach your app and injects X-Forwarded-User and X-Forwarded-Groups headers. Never build login pages, sessions, or password storage; read the headers and treat empty groups as non-member.

Why does my Innovation Platform deploy fail on storage or secrets?

Container disk is ephemeral, so writing local SQLite files loses data on every restart; use the Storage client backed by D1 and R2 instead. Committed secrets fail the gitleaks gate; set them as Variables with set_app_variable, delivered as environment variables.