Skip to content

Customization & Best Practices

This guide outlines how to evolve the Spec Kit integration as NexisChat grows—tuning prompts, automating validation, scaling artifact management, and enabling multi-agent collaboration.

PrincipleWhy It Matters
Intent Before ImplementationPrevent scope creep & misaligned architecture
Deterministic ArtifactsEasier diff/review; lowers ambiguity for AI
Minimal Stable SurfaceOnly bake durable policies into constitution/prompts
Regenerate IntentionallyAvoid drift by upstreaming changes rather than ad-hoc patches
Small, Observable IncrementsFaster feedback loops & reduced merge conflict risk
GoalTechniqueExample
Increase structural consistencyAdd numbered required sections”Return sections 1–8 exactly; omit others”
Reduce hallucinated scopeAdd explicit negative constraints”Do NOT introduce authentication primitives unless spec defines them”
Encourage alternativesAsk for variants with trade-offs”Provide 2 plan options: baseline vs. queue-backed”
Improve edge case coverageRequire explicit table”Add an Edge Cases table with Trigger / Expected Behavior”

Keep prompts under size thresholds to avoid truncation; move large constant policies into constitution.

Add a Changelog section at bottom of memory/constitution.md:

### Change Log
- 2025-09-10: Added rule enforcing feature flags for experimental UI flows.

Perform monthly review (or sooner if major architecture shifts). Remove obsolete guidance to reduce noise.

StageActionOwnership
DraftGenerated by AI, refined via reviewFeature Owner
ApprovedStored & versioned in repoMaintainer / Reviewer
AmendedUpstream change triggers regenerationMaintainer + Owner
ArchivedDeprecated feature or replaced designArchitecture Lead

Consider prefixing archived artifacts with archive__ or relocate to /archive/.

When task lists exceed ~100 items:

  • Group by workstream (e.g., API, UI, Infra, Migrations)
  • Maintain a master index referencing sub-task files
  • Add progress markers (e.g., [37/112 complete] auto-updated via script)
AutomationValue
Lint: required spec sectionsStops incomplete artifacts early
Plan diff toolCompare alternative architectures programmatically
Task size heuristicWarn if task may exceed LOC threshold
Constitution hash checkWarn if changed without checklist update
Edge case enumeratorScript to scan for “Edge Cases” heading presence
make feature slug=team-workspaces # scaffold spec/plan/tasks
make plan slug=team-workspaces # run setup-plan + open plan file
make tasks slug=team-workspaces # generate tasks after plan approval
make validate-artifacts # run custom lint checks

If multiple AI agents (e.g., Copilot + Claude) are used:

  • Standardize artifact contract so outputs are interchangeable.
  • Use a /_agent/ metadata block in artifacts capturing: model, temperature, date.
  • Diff alternative implementations before selecting (store losing variants briefly for rationale capture).

Embed references to test strategy per task:

- [ ] Add unit tests (services)
- [ ] Add integration tests (API endpoints)
- [ ] Add contract tests (schema payload variants)

Automate validation: fail CI if new feature merges without at least one test file touched unless explicitly exempted (label: test-exempt).

During /plan phase require explicit:

  • Metrics (counters, histograms)
  • Logs (structured keys)
  • Traces (critical spans)

Reject plans missing an Observability section unless intentionally trivial.

Add to prompts once stable:

  • Data classification tags per data model
  • Threat model sketch (STRIDE table)
  • Access control matrix (Role x Action)

For legacy modules:

  1. Capture existing behavior spec first (reverse spec)
  2. Propose modernization plan (parallel variant acceptable)
  3. Generate tasks for strangler pattern migration
MetricDefinitionWhy
Spec Iteration CountNumber of revisions pre-approvalDetect over-churn or under-review
Avg Task Cycle TimeStart → mergedFlow efficiency
Regeneration FrequencySpec/plan rework per featureArchitectural stability signal
Task Size DistributionLOC per task diffScope health
  • Generate dependency graphs & embed summaries in plan context.
  • Summarize frequently imported modules (size/touch frequency).
  • Auto-extract data models and feed into /plan.
PhaseGoalIndicator
PilotValidate workflow valueReduced rework comments in PRs
ExpansionOnboard more contributorsIncreased spec artifacts per sprint
MaturityNormalize regeneration disciplineStable regeneration frequency
PitfallMitigation
Over-specifying trivial featuresApply lightweight template variant
Stale constitution entriesQuarterly pruning session
Ignoring open questionsBlock plan approval until answered or deferred explicitly
Task avalanche (too granular)Minimum size heuristic / merge tasks
[ ] /specify complete & reviewed
[ ] /plan approved (constraints aligned)
[ ] /tasks granular & validated
[ ] Observability & security sections present
[ ] Constitution still applicable (no contradictions)
[ ] Automation lint passes

Enhance this doc as we implement automation or adopt new AI workflows.