Home Gallery AISPA Paper GitHub Follow

formax system prompt

Category: General-purpose assistants. Audited against the AISPA standard.

1 Prompts on record
0 Flagged instructions
AI audit Audit source
D1 · Identity Transparency D2 · Truthfulness & Information Integrity D3 · Privacy & Data Protection D4 · Tool/Action Safety D5 · User Agency & Manipulation Prevention D6 · Unsafe Request Handling D7 · Harm Prevention & User Safety D8 · Fairness, Inclusion & Neutrality

formax - .codex skills formax system prompt workflow SKILL

4191 characters

--- name: formax-system-prompt-workflow description: Use when designing, refactoring, or debugging Formax system prompt assembly, system-reminder injection, or skills/deferred-tool prompt exposure semantics; mandatory for any change involving FORMAX_DEFERRED_TOOL_EXPOSURE and request-payload parity checks. --- # formax-system-prompt-workflow ## Goal Use this skill when changing system prompt assembly, reminder injection, deferred tool exposure, or skills prompt presentation. ## Read First - `docs/contracts/prompt-tool-exposure-contract.md` - `docs/contracts/skills-contract.md` - `docs/contracts/semantics-contract.md` when request-scoped helper blocks affect replay or transcript semantics Optional working notes: - `references/parity-checklist.md` - `references/parity-evidence-template.md` These docs are canonical. If stable behavior changes, update them before or with code. ## Invariants 1. Keep a single prompt-profile path. - do not reintroduce `promptProfile`, `lite`, or similar profile branches 2. Treat `FORMAX_DEFERRED_TOOL_EXPOSURE` as a linked behavior bundle. - prompt variant, tools exposure style, and skills presentation must stay aligned 3. Keep helper blocks request-scoped and ephemeral. - injected `<system-reminder>` blocks and deferred helper blocks must not pollute persisted long-term history 4. Only claim capabilities that Formax runtime actually implements. - do not add CC-like capability prose before the runtime supports it ## Code Map - `packages/core/src/prompts/system.ts`: system prompt text, variant selection, capability gates - `packages/core/src/features/repl/controller/send/sendMainTurn.ts`: per-turn injected block order and REPL assembly - `packages/core/src/tools/runtime/deferredToolExposureResolver.ts`: deferred tools exposure and helper-block content - `packages/core/src/tools/modules/skill/index.ts`: skill tool description shaping and skills reminder text - `packages/core/src/chat/engine.ts`: request assembly and injected-block persistence boundaries - Cross-entrypoint mirrors when semantics move: - `packages/core/src/app-server/turnRunner.ts` - `packages/core/src/sdk/query/runner.ts` - `scripts/repl-request-preview.ts`: quick dry-run payload preview without live network calls ## Deferred Exposure Checklist (`FORMAX_DEFERRED_TOOL_EXPOSURE=1`) - system prompt variant resolves to `deferred_aligned` - request contains `<available-deferred-tools>` helper content - skills availability is delivered as a skills system-reminder helper block - tool list starts from deferred exposure resolver output (`ToolSearch` first) - tool-call chain remains valid: `ToolSearch(select:<tool>) -> <tool>` ## Minimal Workflow 1. Classify the change first: all-mode or deferred-only (`FORMAX_DEFERRED_TOOL_EXPOSURE=1`). 2. Update the canonical contract and prompt text first, then change resolver / wiring code. 3. Keep helper blocks request-scoped and ephemeral; do not let them leak into persisted history. 4. If semantics move, check REPL, app-server, and SDK paths together before calling the change done. 5. Run the minimum regression set below, then use request preview only as evidence, not as the only validation. ## Minimum Regression - `bun run test -- packages/core/src/prompts/system.test.ts packages/core/src/tools/runtime/deferredToolExposureResolver.test.ts packages/core/src/features/repl/controller/send/sendMainTurn.test.ts` - `bun run test -- packages/core/src/chat/engine.test.ts packages/core/src/config/settings/resolve.test.ts packages/core/src/sdk/query.test.ts packages/core/src/sdk/query.options-alignment.test.ts` - `bun run test -- packages/core/src/app-server/turnRunner.test.ts` when app-server request assembly changes - `bun run type-check` - `bun run request:preview -- --text "执行下 pwd" --deferred` for quick payload inspection when deferred exposure is involved ## Guardrails - Do not reintroduce prompt-profile branches (`lite`, `full`, `promptProfile`, or equivalents). - Do not add new environment toggles for prompt capability sections; use code-level capability switches in `system.ts`. - Do not loosen permissions or allow-list behavior just to make parity demos pass.

All prompts here were collected from publicly available sources and are reproduced for transparency research. Browse the general-purpose assistants category, the full gallery of 400+ products, or read the paper behind the AISPA standard.