No product decisions
Skill lubochka/xiigen-mvp-engine/.agents/skills/no-product-decisions
Self-building AI code generation engine that generates application flows instead of implementing them. AGPL-3.0.From the repository description
npx -y skills add lubochka/xiigen-mvp-engine --skill no-product-decisionsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 23 days oldThe repository was created 23 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.2 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
No Product Decisions — XIIGen
ABSOLUTE constraint — priority 2 in governance chain. Cannot be overridden.
Priority: ABSOLUTE — second only to agent-constitution
What This Skill Does
Prevents Codex from making product decisions that belong to Luba. Every DNA threshold, every scoring weight, every quality gate criterion is a product decision. Codex executes — it does not decide.
The Core Rule
Codex may not change behavior that affects engine output without Luba's explicit approval.
Product decisions include, but are not limited to:
- DNA pattern thresholds (e.g., compliance score cutoffs in quality-scorer.ts)
- Quality scoring weights (test_quality, spec_adherence, etc.)
- AF station activation logic (which archetypes trigger which stations)
- BFA severity classification
- Task type contract requirements (which fields are mandatory)
- Flow promotion criteria (what score constitutes "ready")
- Model selection logic (when to use Codex vs GPT-4o vs Gemini)
The XIIGen Analog of FIX-27
What happened with FIX-27 (translated to XIIGen context):
A developer changed the DNA compliance threshold in quality-scorer.ts from 0.7 to 0.8 to "improve quality." The change broke backward compatibility with FLOW-01 through FLOW-05 — six flows that previously passed were now marked as FAILURE overnight, with no warning and no rollback path. The engine was generating the same output it always had; the scorer's criteria had changed beneath it.
The pattern:
- Symptom: Flows that worked yesterday fail today
- Root cause: A "small" threshold/weight change that seemed like a bugfix
- Why it happened: Developer confused "fixing a bug in the scorer" with "deciding what score is acceptable"
- The rule that emerged: Scoring behavior is product behavior. Fix the code, not the criteria.
What Codex CAN Do (Without Approval)
- Fix a bug where the scorer returns
NaN(that's a code defect) - Fix a bug where a DNA check crashes with a null pointer (code defect)
- Fix a bug where AF-9 calculates quality score using the wrong task type's contract (code defect)
- Add new test coverage for existing behavior
- Refactor code that doesn't change observable output
What Codex CANNOT Do (Requires Luba Approval)
- Change any numeric threshold that affects pass/fail outcomes
- Change scoring weight distributions
- Add or remove required fields from engine contracts
- Change which AF stations run for a given archetype
- Change which DNA patterns apply to which generated code types
- Modify BFA conflict rules
- Add new quality layers without approval
Baseline Regression Check
Before any change to guardrails/, learning/, or engine-contracts/, run:
# Record current output shapes for existing flows
grep -r "StationOutput\|DataProcessResult\|qualityScore\|dnaCompliance" \
server/src/guardrails/ server/src/learning/ | head -50
# Check which flows will be affected
grep -r "FLOW-0[1-9]\|FLOW-[12][0-9]\|FLOW-3[01]" \
server/src/engine-contracts/ server/src/factories/
If the change touches anything that affects the above output shapes: STOP and escalate.
Decision Log Requirement
Every time Codex is tempted to change a threshold and does not (because this rule applies), log it:
AVOIDED-PRODUCT-DECISION: [date]
File: [file]
What I almost changed: [description]
Why I didn't: no-product-decisions rule
What Luba should decide: [the actual question]
Write this to DECISIONS.md so Luba can review and decide explicitly.
STOP Test + External-Tool Boundary (G02 universal addition from llm_mvp_core)
The one-sentence STOP test
Before choosing between two approaches, ask: "Would this require editing
DECISIONS.md / DECISIONS-LOCKED.md?" If yes, it is a product decision —
⛔ STOP and escalate. STOP when the choice affects user-facing behavior, a public
API contract, architecture, or a locked decision. In this TypeScript monorepo
"public API" means a NestJS controller / DTO contract, a React route / props
contract, or a FastAPI RAG-sidecar endpoint — changing the shape of any of
these is a product decision, not a refactor.
External-AI tool-approval boundary (R7)
Agents must NOT use external AI tools or services that the task does not require. If such a tool is genuinely needed, the agent must request Luba's explicit permission BEFORE use. Using an external AI tool/service without permission is a hard violation. This boundary is absolute and sits at the same priority as the no-product-decisions rule itself: convenience is never authority.
Log a refusal the same way as an avoided product decision:
AVOIDED-EXTERNAL-TOOL: [date]
Tool/service I was tempted to use: [name]
Why the task did not require it: [reason]
What I did instead: [in-repo path] OR "requested Luba approval"
| File | Read When |
|---|---|
| rules/no-product-decisions.md | Language rules for identifying product decisions |
| rules/baseline-regression-check.md | Protocol for regression baseline before guardrail changes |
| rules/session-completeness-rule.md | What "done" means under this constraint |
What ships with it: 4 files
7.1 KB alongside SKILL.md
rules/
- skill.yaml756 B
Gives 0 of the 12 instructions most product growth skills give in ~1.2k tokens
Counted across 728 of the 1,010 authors here whose files we hold, read 2026-08-07
- Read product marketing context before asking questionsin 24 of 728, across 18 files
- Define the ideal customer profilein 21 of 728, across 3 files
- Document a rollback plan before deploymentin 21 of 728, across 12 files
- Analyze the codebase to understand the productin 19 of 728, across 1 file
- Ask clarifying questions about the value propositionin 19 of 728, across 1 file
- Search for companies matching the criteriain 19 of 728, across 1 file
- Look for signals of immediate needin 19 of 728, across 1 file
- Assign a fit score from one to tenin 19 of 728, across 1 file
- Identify the target decision-maker rolein 19 of 728, across 1 file
- Suggest a personalized contact strategyin 19 of 728, across 1 file
- Provide conversation starters for outreachin 19 of 728, across 1 file
- Format results in a scannable markdown templatein 19 of 728, across 1 file
Said here and by no other author read
- Record baseline output shapes before changing guardrails.
- Stop and escalate if a change affects output shapes.
- Log avoided product decisions to a decision file.
- Ask if a choice requires editing a locked decisions file.
- Request permission before using external tools.
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.