neucharframework/ncfpackagesources/develop-xncf-modules
Claude Code and agent skill by neucharframework/ncfpackagesources
- community
Checking that the SKILL.md file is still in the repository.
Create, extend, refactor, and validate NeuCharFramework XNCF modules. Use when Codex needs to scaffold an XNCF, add Domain/Application/OHS/Areas/database/function/EventBus capabilities, plan modular development inside one XNCF, split a business system into multiple XNCFs using DDD bounded contexts, define cross-XNCF contracts and data ownership, or review XNCF architecture and dependency boundaries.
Install
npx vskill@latest install neucharframework/ncfpackagesources/develop-xncf-modulesSKILL.md
Develop XNCF Modules
Build XNCF modules around business boundaries, not pages or tables. Preserve the repository's current NCF conventions while keeping domain ownership, dependencies, and validation evidence explicit.
Route the task
Classify the request before editing:
- Create: scaffold one or more new XNCFs.
- Extend: add a use case, aggregate, page, API, Function, database capability, or integration to an existing XNCF.
- Split: decompose a system or oversized XNCF into bounded contexts and multiple XNCFs.
- Review: report architecture, coupling, migration, or validation findings without changing code.
- Maintain the template: change the XNCF template or generator itself.
Read references/architecture.md for every implementation or review. Read references/bounded-context-splitting.md for split, merge, dependency, or context-map decisions. Read references/creation-and-validation.md before scaffolding, changing the template, packaging, or claiming completion.
Establish the baseline
- Read all applicable
AGENTS.mdfiles. - Run
git status --short --branch; preserve unrelated and user-owned changes. - Locate the solution, host
Senparc.Web.csproj, candidate XNCFs, template version, target framework, and package/project reference convention. - Run the bundled inspector from the skill directory:
``bash python3 scripts/inspect_xncf.py <repository-root> ``
Add --module <name> for focused output and --layers for optional Domain/Application namespace checks. Treat direct XNCF references as review signals, not automatic defects. Confirm each finding in source before changing code.
- Inspect current
Register.cs,Register.Area.cs,Register.Database.cs, project files, resources, tests, and analogous modules. Do not infer architecture from directory names alone.
If the user requested an audit or proposal first, deliver the complete proposal and wait for confirmation before editing.
Model the business before choosing projects
Capture these facts for each capability:
- business purpose and ubiquitous language;
- commands, invariants, aggregates, and transaction boundary;
- authoritative data owner and read-model consumers;
- actors, authorization boundary, and tenant behavior;
- external systems and anti-corruption needs;
- lifecycle, release cadence, optional installation, scale, and failure isolation;
- synchronous and asynchronous dependencies.
Produce a context map before creating multiple XNCFs. Include proposed XNCF, owned aggregates/tables, exposed contracts, dependencies, consistency model, UI/API entry points, and migration sequence.
Choose one XNCF or several
Default to one XNCF while capabilities share the same language, invariants, data owner, permissions, and lifecycle. Split only when there is positive boundary evidence.
Strong split signals include:
- different bounded contexts or conflicting meanings for the same terms;
- independent aggregate and transaction ownership;
- optional installation or independent release/versioning;
- distinct security, tenancy, availability, or scaling requirements;
- external integration that deserves an anti-corruption boundary;
- a dependency that can be expressed as a stable contract rather than shared internals.
Do not split merely by entity, table, CRUD page, controller, team preference, or folder size. Keep one aggregate's write transaction inside one XNCF. See references/bounded-context-splitting.md for the scoring and migration rules.
Design dependencies before code
Use this dependency direction inside an XNCF:
Keep Domain independent of Areas, OHS, Razor, transport DTOs, and another XNCF's implementation. Let Application orchestrate use cases; keep business invariants in aggregates/domain services. Use OHS and Areas as adapters, not as the business layer.
Across XNCFs:
- expose minimal contracts in a small
.Abstractionsproject when compile-time sharing is necessary; - exchange IDs, value snapshots, commands/results, and integration events—not entities, repositories, EF configurations, or
DbContext; - prefer EventBus for in-process asynchronous module collaboration and explicit APIs/application contracts for queries;
- use SSE/stream hubs for browser streaming, not as a replacement for domain integration events;
- design idempotency, retries, timeouts, and failure ownership explicitly;
- avoid dependency cycles; introduce a contract, orchestrator/process manager, or boundary correction instead.
Treat EventBus as a communication mechanism, not a security or process-isolation boundary.
Scaffold safely
- Prefer the installed XNCF template or XncfBuilder over hand-copying an old module.
- Run
dotnet new XNCF --helpand inspect the installed template before choosing switches; do not guess stale package versions or options. - Use explicit organization, module name, stable uppercase GUID/UID, semantic version, menu name, icon, description, target framework, and required feature switches.
- Generate into a new, explicit directory. Review generated files before adding them to a solution or host.
- Keep each XNCF UID and
DatabaseUniquePrefixglobally unique and stable after release. - Add only the capabilities needed now: Web/Areas, Database, Function, or Web API. Remove sample code that is not part of the product.
Never install or update templates/packages, modify a solution, or add host references when the user requested only a plan or audit.
Implement vertical slices
For each use case:
- Define domain behavior and invariants.
- Add application request/response DTOs and orchestration.
- Add persistence mappings/migrations owned by this XNCF.
- Add OHS/API/Function and Areas/UI adapters.
- Register services and mappings in the partial
Registercomposition root. - Add localization for all user-visible text and authorization for all entry points.
- Add unit/contract tests at the lowest meaningful layer; add host integration tests when registration, routing, database, authorization, EventBus, or static assets are involved.
Avoid generic Common, Manager, or shared-database buckets. Name code after the bounded context and use case.
Validate proportionately
Run narrow checks first, then the host. Follow repository instructions; do not restore again unless package references changed or a no-restore build demonstrates that restore is required.
At minimum verify:
- the inspector has no unexplained duplicate identity, database-prefix, layer, or cycle findings;
- changed XNCF projects build with
--no-restorewhen allowed; - tests covering modified domain/application/contracts pass;
- the host builds and discovers the module;
- install/update and migrations are checked when database shape changed;
- resource files, JavaScript, routes, authorization, and static assets are checked when UI changed;
- generated package contents and an independently generated consumer are checked before claiming template/package readiness.
Report proof boundaries separately: static inspection, build, tests, package generation, runtime registration, authenticated behavior, and E2E are not interchangeable.
Deliver the result
Summarize:
- chosen bounded contexts and why they are one or multiple XNCFs;
- dependency direction and cross-XNCF contracts;
- data/transaction ownership and consistency model;
- files/modules changed;
- validations passed and warnings;
- runtime, authenticated, package, migration, or E2E evidence still missing.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/develop-xncf-modules/SKILL.md
Popularity
- Repository stars
- 51
- Repository forks
- 31
- 7-day trend score
- 20
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/neucharframework/ncfpackagesources/develop-xncf-modules)