Borrowing it
Nothing to install: this file belongs to BlocUnited-LLC/mozaiks. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/BlocUnited-LLC/mozaiks/main/.agents/skills/appgenerator-change/SKILL.mdgit clone --depth 1 https://github.com/BlocUnited-LLC/mozaiksWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/blocunited-llc/mozaiks/appgenerator-change)<a href="https://agentmods.dev/skills/blocunited-llc/mozaiks/appgenerator-change"><img src="https://agentmods.dev/badge/skills/blocunited-llc/mozaiks/appgenerator-change/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/blocunited-llc/mozaiks/appgenerator-change"><img src="https://agentmods.dev/badge/skills/blocunited-llc/mozaiks/appgenerator-change.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00037 | $0.01963 |
| Opus 5.5 | $0.00015 | $0.00785 |
| Sonnet 5.5 | $0.00007 | $0.00393 |
| Haiku 4.5 | $0.00004 | $0.00196 |
Grade A, and why
appgenerator-change scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 26d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 167 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Before starting: git fetch origin && gh pr list --state open && git log origin/main --oneline -3 — if another agent has an open PR touching the same files you need, wait for it to merge, then branch from fresh origin/main.
Use this skill when a change touches AppGenerator specifically.
Typical triggers:
factory_app/workflows/AppGenerator/**- AppGenerator agents or prompts
AppBuildPlanshape or validationstructured_outputs.yamlfactory_app/build_context/AppGenerator/file_contracts.yamlfactory_app/build_context/AppGenerator/domain_catalogs.yamlfactory_app/build_context/AppGenerator/module_archetypes.yamltools/app_build_plan.pytools/assemble_app_tasks.py- shared generated UI contract checks used by AppGenerator
- module, page, or data contract generation behavior
- managed-capability or external-adapter planning
- app-owned facade module patterns
- AppGenerator-specific tests or fixtures
Inspect first:
factory_app/workflows/AppGenerator/agents.yamlfactory_app/workflows/AppGenerator/structured_outputs.yamlfactory_app/workflows/AppGenerator/middleware.yamlfactory_app/workflows/AppGenerator/transition_graph.yamlfactory_app/workflows/AppGenerator/context_variables.yamlfactory_app/build_context/AppGenerator/file_contracts.yamlfactory_app/build_context/AppGenerator/domain_catalogs.yamlfactory_app/build_context/AppGenerator/module_archetypes.yamlfactory_app/workflows/AppGenerator/tools/app_build_plan.pyfactory_app/workflows/AppGenerator/tools/assemble_app_tasks.pyfactory_app/workflows/_shared/generated_ui_contract.py
Catalog placement rule:
- AppGenerator prompt catalogs live only under
factory_app/build_context/AppGenerator/. - AppGenerator runtime workflow files live under
factory_app/workflows/AppGenerator/. - Hooks resolve factory build-context paths through
factory_app.workflows._shared.hook_utils.workflow_context_path(). - Do not recreate
factory_app/workflows/_shared/catalogs/. - Do not add static prompt catalog values to
context_variables.yaml; context variables are runtime/session state. - the narrowest relevant AppGenerator tests before editing:
tests/test_appgenerator_module_contracts.pytests/test_appgenerator_canonical_generation.pytests/test_appgenerator_persistence_alignment.pytests/test_appgenerator_validate_wiring.pytests/test_appgenerator_ui_quality_gate.pytests/test_appgenerator_component_drift_guard.pytests/test_appgenerator_managed_capability_smoke.pytests/test_appgenerator_generated_page_binding.py
- inspect upstream build-sequence context only when the AppGenerator change depends on upstream inputs or assumptions from
ValueEngine,ThemeCapture,DesignDocs, orAgentGenerator
Core truth:
- AppGenerator is the final app-bundle generation workflow inside the broader factory
workflow_sequence. - It consumes upstream outputs from earlier build workflows.
- It does not own product strategy, concept formation, brand discovery, or workflow generation.
- It emits canonical app workspace artifacts.
- It must respect the canonical app structure and the platform's current runtime contracts.
- It must respect
factory_app/build_context/AppGenerator/file_contracts.yaml. - It must not invent runtime contracts unsupported by the platform.
- It must not generate provider-owned managed capability internals.
- It should keep persistent app UI schema-first unless the bounded custom route contract is explicitly required.
Boundary rules:
- Do not treat AppGenerator as the whole build system.
- Do not change
workflow_sequencecomposition from this skill; usefactory-build-workflow-changewhen the change widens intoextension_registry.json, transitions, entrypoints, or cross-workflow build composition. - Do not generate
backend/models.pyorbackend/models/*.py. - Do not generate
contracts/subscriptions.yamlas the canonical reaction contract. - Do not generate flat root manifests when the canonical contract uses
contracts/. - Do not generate
app/capability_packs/. - Do not generate
transport.pyor duplicate runtime transport infrastructure. - Do not bind pages directly to managed-capability internals; use the app-owned facade module pattern.
- Do not hardcode provider-specific or private product examples into OSS guidance, tests, or fixtures.
- Do not assume
ctx.db; use the canonical persistence model andctx.persistence.collection(module_id, collection_name). - Do not generate local visual primitive clones or raw persistent-page React when the shipped schema and primitive contracts can represent the surface.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 26d ago Changed ef5c50086aff
- 1mo ago Changed 9d8d3763d0c6
- 2mo ago First seen · 167 lines · 37 tokens per session scan A 4374d554de3a
appgenerator-change is a skill published in the GitHub repository BlocUnited-LLC/mozaiks (24 stars, last pushed yesterday), licensed MIT. It adds 37 tokens to every session and 1,963 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
appgenerator-change compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| appgenerator-changeBlocUnited-LLC/mozaiks | Skill | 24 | yesterday | MIT | A | 37 | Claude Code |
| building-pydantic-ai-agentspydantic/pydantic-ai | Skill | 21k | yesterday | MIT | A | 92 | Claude Code, Codex |
| pydantic-ai-harnesspydantic/pydantic-ai | Skill | 21k | yesterday | MIT | A | 197 | Claude Code, Codex |
| migrating-langchain-to-pydantic-aipydantic/pydantic-ai | Skill | 21k | yesterday | MIT | A | 100 | Codex |
| migrating-vercel-ai-sdk-and-eve-to-pydantic-aipydantic/pydantic-ai | Skill | 21k | yesterday | MIT | A | 107 | Codex |
| migrating-claude-agent-sdk-to-pydantic-aipydantic/pydantic-ai | Skill | 21k | yesterday | MIT | A | 90 | Codex |
| migrating-mastra-to-pydantic-aipydantic/pydantic-ai | Skill | 21k | yesterday | MIT | A | 73 | Codex |