pnocera avatar

adviser

Critical analysis and quality assurance for design documents, implementation plans, and code verific

by pnocera|Open Source

Adviser Skill

A protocol-driven analysis executor. The consuming agent discovers relevant AISP protocols from protocols/, composes a prompt, and calls this tool to execute analysis.

How to Use

Step 1: Discover Protocols

Scan protocols/*.aisp and read headers to find relevant protocols:

𝔸<version>.<name>@<date>
γ≔<domain.path>        ;; Domain (e.g., software.architecture)
ρ≔⟨tag1,tag2,...⟩      ;; Tags for matching
⊢<claims>              ;; Formal claims

Match protocols to your activity context using semantic reasoning:

  • Domain matching: Activity "code architecture review" → γ≔software.architecture.*
  • Tag intersection: Activity mentions "dependencies" → protocols with DIP or deps tags
  • Claim compatibility: Activity requires validation → protocols claiming ∧verification

Step 2: Compose Prompt

Write a prompt file to ./tmp/adviser-prompt-<activity>-<timestamp>.md containing:

  1. Role & Objective - Prime the LLM for the analysis task
  2. Activity Context - Describe what you're analyzing and why
  3. Protocols - Full content of selected protocols wrapped in <protocol> tags
  4. Output Requirements - AISP 5.1 format requirements

Example structure:

# Dynamic Adviser Prompt

## Role & Objective
You are an expert adviser analyzing the provided input. Apply the protocols 
below rigorously to identify issues, gaps, and recommendations.

## Activity Context
- Activity: Design review for authentication system refactor
- Focus areas: Security, extensibility, error handling
- Expected output: AISP verdict with categorized issues

## Protocols to Apply

### Protocol: SOLID Principles
<protocol>
[Full content of solid.aisp]
</protocol>

### Protocol: Adviser Flow
<protocol>
[Full content of flow.aisp]
</protocol>

## Output Requirements
Respond in AISP 5.1 format. Your response MUST:
1. Start with header: 𝔸1.0.adviser@YYYY-MM-DD
2. Include required blocks: ⟦Ω⟧, ⟦Σ⟧, ⟦Γ⟧, ⟦Λ⟧, ⟦Ε⟧
3. Categorize issues by severity: ⊘ (critical), ◊⁻ (high), ◊ (medium), ◊⁺ (low)
4. Conclude with verdict: ⊢Verdict(approve|revise|reject)

Return a JSON object with:
- summary: Brief overview of findings
- issues: Array of {severity, description, location?, recommendation?}
- suggestions: Array of improvement recommendations

Important: Keep generated prompts in ./tmp/ for analysis and SKILL.md improvement.

Step 3: Execute

adviser --prompt-file ./tmp/adviser-prompt-<activity>-<timestamp>.md \
        --input <file-to-analyze> \
        --mode aisp

Step 4: Parse Output

Read the manifest from stdout to find the .aisp output file:

[Adviser] Output manifest: /path/to/review.aisp.manifest.json

Parse the AISP file for:

  • ⊢Verdict(approve|revise|reject) — Final verdict
  • Issue counts in ⟦Σ:Types⟧ block
  • Individual issues in ⟦Λ:Analysis⟧ block

Command Reference

adviser --prompt-file <path> --input <file> [options]
ArgumentRequiredDescription
--prompt-file, -pYesPath to composed system prompt
--input, -iYesPath to content to analyze
--mode, -mNoOutput: aisp (default), human, workflow
--output, -oNoExplicit output path
--output-dirNoOutput directory (default: docs/reviews/)
--timeout, -tNoTimeout in ms (default: 1,800,000)

Protocol Selection Examples

ActivityRecommended ProtocolsRationale
Architecture reviewsolid.aisp, flow.aispSOLID principles + workflow structure
Implementation planningflow.aisp, yagni.aispTask flow + necessity validation
Code verificationsolid.aisp, triangulation.aispCode quality + multi-pass verification
Cost analysisyagni.aispFocus on necessity and efficiency

AISP Output Reference

See motifs/aisp-quick-ref.md for interpreting AISP output:

SymbolMeaning
⊢Verdict(approve)Pass - proceed with work
⊢Verdict(revise)Needs changes - address high issues
⊢Verdict(reject)Critical issues - significant rework needed
Critical severity
◊⁻High severity
Medium severity
◊⁺Low severity

Error Handling

ErrorCauseResolution
"Missing required --prompt-file"No prompt providedCreate prompt file per Step 2
"Prompt file not found"Invalid pathCheck path exists
"Prompt file is empty"Empty fileAdd content per Step 2 template
"Input file not found"Invalid input pathVerify input file exists

Prompt Preservation

Generated prompts should be preserved for analysis:

  • Helps improve SKILL.md instructions
  • Reveals agent reasoning patterns
  • Identifies protocol selection heuristics that work well
  • Use naming: adviser-prompt-<activity>-<timestamp>.md