Plan Verification
SkillDev toolsVerify execution plan completeness and correctness
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Plan Verification skill
What this skill tells your AI
The instructions your AI receives, as published by qarium/goga in goga/assets/skills/goga-review-plan/SKILL.md and read by ahel’s review.
Objective
Verify the execution plan (the file at the path printed by goga history path -f plan.md) for completeness and correctness against the design document and CODEMANIFEST contracts before passing to ralphex.
You verify the plan, report findings, and fix the plan upon discovery of issues (subject to user approval).
Key Principle
Every affected contract obligation and design decision must be traceable within the plan. The plan covers only entities affected by the current feature (as defined in the design document). For all entities the plan claims to cover, it must be correct with respect to the contract and complete with respect to the design. Tasks in the plan that are not traceable to any contract or design also constitute a finding.
Verifiable Artifact
- Plan file at the path printed by
goga history path -f plan.md— the execution plan, verified against sources of truth
Phases
Phase 1: Load Context
- Invoke
goga-lang-dispvia the Skill tool — retrieve the target language skill. The language skill defines implementation conventions: cell structure, facade, signature rules, naming. Examples in other skills may use naming conventions of one language (e.g., snake_case), while the target language requires different conventions (e.g., PascalCase) — the language skill is the authoritative source for the target language. - Read the plan from the path printed by
goga history path -f plan.md - Read the design document from the path printed by
goga history path -f design.md - Read all relevant
CODEMANIFESTfiles referenced by the design document - Load the DSL specification and DSL application principles:
- Invoke
goga-cellvia the Skill tool — obtain the DSL reference (signature syntax, rules for Imports, Usages, Annotations, types, mutations, embeddings, constraints) - Invoke
goga-cookbookvia the Skill tool — understand cell and CODEMANIFEST design principles (when to use Entity vs Routine, when to apply mutations and embeddings, usage file authoring guidelines, cell granularity)
- Invoke
Phase 2: Run Linter
Execute:
goga lint
If the linter reports errors, record each error as a Critical finding. CODEMANIFEST syntax must be valid before the plan can pass verification.
Phase 3: Consistency — Plan vs CODEMANIFEST
The plan covers only entities affected by the current feature (as defined in the design document), not the entire CODEMANIFEST. Use CODEMANIFEST as a correctness reference, not a completeness checklist.
For each entity/obligation the plan actually covers:
Step 1. Entity Details
For each contract entity referenced in the plan:
- Verify the entity name and facade obligation match CODEMANIFEST — record as Critical on mismatch
- Verify the plan specifies implementation in the correct file
locationper CODEMANIFEST — record as Critical on error - Verify method/property descriptions from the contract are reflected in task instructions — record as High if absent
Step 2. Annotation Detailing
For each annotations declaration within the plan's scope (at file, entity, or method/property level):
- Verify the plan embeds annotation content into the corresponding task descriptions
- Verify cascading: file-level annotations appear in every task of the package, entity-level in entity tasks, method-level in the method task
- If annotations are absent from tasks — record as High
Step 3. Import Context
For each Imports entry within the plan's scope:
- Verify plan tasks reference imported types using correct names (including
ASaliases) - For imported usages from
Imports→Usages: verify plan tasks correctly reference the imported usage content, including the source path{from_path}/.usages/{usage_name}.md - If import context is absent from tasks that use imported types — record as High
- If imported usage context is absent from tasks that depend on the imported practice — record as High
Step 4. Re-export Coverage
For each re-export block the plan claims to handle:
- Identify a task that ensures the name is importable from the facade
- If a re-export referenced in the plan is not covered — record as Critical
Step 5. Mutation Coverage
For each Type:: mutation the plan claims to handle:
- Identify a task that implements the mutation
- If a mutation referenced in the plan is not covered — record as High
Phase 4: Consistency — Plan vs Design Document
Step 1. Design Entity Traceability
For each entity and design decision described in the design document:
- Identify where they are reflected in the plan's tasks
- If a design decision is absent from all tasks — record as High
Step 2. Test Scenario Traceability
For each test scenario in the design document:
- Identify the corresponding test instruction in the plan's tasks
- If a test scenario is absent — record as Medium
Step 3. Absence of Orphan Tasks
For each task in the plan:
- Verify it is traceable to a contract entity, design decision, or justified infrastructure requirement
- If a task has no traceable origin — record as Medium
Phase 5: TDD Completeness
For each coding task in the plan (entity skeleton, property, method, mutation implementation):
Verify the task includes all TDD steps as checkboxes:
- Contract tests — written first, expected to fail
- Code — implementation steps
- Interface verification — run contract tests
- Logical tests — behavioral tests
- Debugging — run tests, fix the implementation (NOT the tests)
- Contract re-verification — verify contract obligations
- Lint — formatting check
If any TDD step is absent — record as High.
Infrastructure tasks (Cell structure, facade, re-exports) are exempt — they follow a simplified workflow.
Phase 6: Self-contained Tasks
For each task in the plan, verify all of the following. If any check fails — record as High:
- Does the task contain its own context paragraph explaining what it does and which contract entities it covers? If absent — record as High.
- Does the task include relevant imports, Usages, and annotations? If absent — record as High.
- Does the task specify target files? If absent — record as High.
- Does the task depend on another task for implementation context (e.g., "see Task 3 for API") instead of inlining it? If so — record as High.
Phase 7: Task Order
Verify the overall task order conforms to the convention:
- Infrastructure tasks (Cell structure, facade, re-exports)
- Entity skeleton tasks
- Property implementation tasks
- Method implementation tasks
- Interface mutation tasks
- Integration test tasks
In a multi-package plan:
- Leaf packages are processed before parent packages
- Each package's coding tasks complete before the next package begins
If the order is violated — record as Medium.
Phase 8: Usages Coverage
For each Usages entry within the plan's scope (from affected entities per the design document):
- Identify at least one task in the plan that references this Usages entry
- Verify the task contains specific information (what to use, how to invoke), not merely a name reference
- If the Usages entry value is a file path — verify the plan reflects the actual file content, not merely the path or usage name
For each imported usage from Imports → Usages within the plan's scope:
- Identify at least one task referencing this imported usage
- Verify the task references the correct source path
{from_path}/.usages/{usage_name}.md - Verify the task contains specific information from the imported usage, not merely a name reference
For each planned local .usages/ file specified in the design document:
- Identify a task or step that creates or extends the
.usages/<category-name>.mdfile - Verify the task specifies the expected file content
- If the file extends an existing category — verify the plan specifies addition, not replacement
- Verify file creation is planned alongside the code, not as a separate stage
If a Usages entry is absent from all tasks — record as Medium.
If a Usages mention is too vague — record as Low.
If a Usages file path is referenced but its content is not reflected — record as Medium.
If an imported usage is absent from all tasks — record as Medium.
If a planned local .usages/ file lacks a creation task — record as Medium.
Phase 9: CODEMANIFEST Read-Only Check
For each task in the plan:
- Verify no task instructs the implementation agent to modify
CODEMANIFESTfiles - Verify the plan instructs the implementation agent not to modify CODEMANIFEST files (look for a "read-only" warning in the task context)
If a task proposes CODEMANIFEST modification — record as Critical. If the "read-only" warning is absent — record as Medium.
Phase 10: Report and Fix Findings (Interactive)
Aggregate all findings from Phases 2–9 before presenting them. Sort by severity: Critical → High → Medium → Low.
Present findings one at a time. For each finding:
Step 1. Present the Finding
Display one finding with:
- Severity (Critical / High / Medium / Low)
- Direction (CODEMANIFEST / Design / TDD / Self-containment / Order / Usages / Read-Only)
- Location — exact reference to the task, plan section, or CODEMANIFEST line
- What's wrong — clear description of the problem
- Suggested fix — the precise change required, not vague advice
Step 2. Request User Decision
Use AskUserQuestion with options:
- Apply suggested fix — apply the fix to the plan immediately
- Suggest alternative — the user describes a different fix approach
- Skip — the user dismisses the finding
Step 3. Apply the Decision
- Apply suggested fix: update the plan file at the path printed by
goga history path -f plan.md, then re-verify that the fix introduces no new issues (re-run the relevant checks). Briefly report the re-verification result. - Skip: record the finding as "skipped" and proceed.
- Suggest alternative: discuss the alternative with the user, agree on a fix, apply it, and re-verify.
Step 4. Proceed to Next Finding
Repeat from Step 1 for the next finding. Display a brief counter: "Finding 3 of 12".
After processing all findings, display the summary:
- Fixed: N findings (listed by severity and direction)
- Skipped: N findings (listed by severity and direction)
- Plan status: updated / unchanged
Output
- Findings summary: count of fixed / skipped findings by severity and direction
- Updated plan file (if fixes were applied)
- Verification verdict: passed / failed
Final Self-Check
Before completing, verify:
- Were all relevant CODEMANIFEST files read and each plan entity verified for correctness against the contract (names, locations, descriptions, annotations, imports)?
- Was the design document read and each entity/design decision/test scenario traced in the plan? Were orphan tasks identified?
- Was
goga lintexecuted and results analyzed? - Was each coding task checked for TDD completeness (all 7 steps)?
- Was each task checked for self-contained context?
- Was task order verified against the convention?
- Was each Usages entry checked for coverage in the plan?
- Was each imported usage from
Imports→Usageschecked for coverage and correct source path reference? - Was each planned local
.usages/file checked for a creation task with expected content? - Was each task checked for CODEMANIFEST "read-only" compliance?
- Was each finding presented one at a time with a fix decision via AskUserQuestion?
- Were approved fixes applied and re-verified?
- Was a summary of fixed/skipped findings provided?
If any answer is "no" — complete the missing verification before returning.
Signals
- GitHub stars
- 29
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
goga-review-plan- Source
- github.com/qarium/goga