| name | spec-kit-project-map-gate |
| description | Use when changing, reviewing, planning against, or debugging an existing Spec Kit Plus codebase. Require project cognition status and the workflow-appropriate slice first, or route to map refresh when cognition coverage is missing or stale. |
| origin | spec-kit-plus |
Spec Kit Project Map Gate
This passive skill is the brownfield hard gate, not the route selection layer.
Complementary Passive Skills
spec-kit-workflow-routing owns route selection into the correct sp-* workflow
before implementation, planning, or debugging proceeds.
spec-kit-project-learning owns the shared memory capture layer after context is
loaded. Once this gate is satisfied, follow that skill's learning-start and
learning-capture expectations for the active workflow.
Hard Gate
Before code edits, investigation, planning against existing code, or architectural
judgment in an established Spec Kit Plus repository:
- Read
.specify/project-cognition/status.json first.
- Read
.specify/project-cognition/slices/debug.json for sp-debug.
- Read
.specify/project-cognition/slices/change.json for other ordinary brownfield workflows.
- Read targeted graph artifacts, such as
.specify/project-cognition/graph/claims.json or .specify/project-cognition/graph/conflicts.json, only when the active workflow needs ownership or conflict resolution beyond the slice.
- Treat
DEBUG-HANDBOOK.md, BUILD-HANDBOOK.md, and .specify/project-map/** as compatibility/export surfaces, not the default runtime truth path.
- Read
.specify/memory/project-rules.md and .specify/memory/project-learnings.md
when they exist.
Command Surface Discipline
- Treat the live
specify --help output as the only authoritative CLI command surface.
- Before suggesting or running a
specify <subcommand> invocation while satisfying this gate, verify that it exists in specify --help or specify <subcommand> --help.
- Do not invent, paraphrase, or "normalize" unsupported CLI names such as
specify create-feature.
- Feature creation remains
{{invoke:specify}} plus the generated create-feature script at .specify/scripts/bash/create-new-feature.sh or .specify/scripts/powershell/create-new-feature.ps1, not a separate branch-creation command.
Missing Or Stale Cognition
- If the project cognition runtime is missing, route through the canonical
sp-map-scan -> sp-map-build workflow detour before continuing. When giving
the user an explicit command to type, write
{{invoke:map-scan}} -> {{invoke:map-build}}.
- If the project cognition runtime is stale or too weak for a localized touched
area, route through
sp-map-update first. When giving the user an explicit
command to type, write {{invoke:map-update}}.
- If no usable localized baseline remains, route through
{{invoke:map-scan}} -> {{invoke:map-build}}.
- Treat that detour as a user-invoked workflow handoff. Do not silently switch into
sp-map-update, sp-map-scan, or sp-map-build yourself from another workflow;
stop and tell the user which map workflow to run.
- Do not rely on generic framework instinct, chat memory, or prior sessions when the
project cognition runtime should be the source of truth.
Scope Guard
- This gate applies even if the user asks for a direct code change without mentioning
Spec Kit workflows.
- Stand down only when the task is clearly greenfield and does not depend on any
existing project structure, conventions, or runtime surface.