.claude/skills/spec-reviewer/SKILL.md
Reviews technical specifications from solution-architect against Jira ticket requirements and project design guidelines. Identifies critical gaps and design principle violations. Provides focused feedback without code snippets. Verdict is APPROVED for implementation or NEEDS WORK with specific issues.
npx skillsauth add codemie-ai/codemie-code spec-reviewerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill reviews technical specifications produced by the solution-architect agent to ensure they:
.codemie/guides/The skill provides a binary verdict (APPROVED or NEEDS WORK) with critical feedback only—no minor comments, no code snippets.
Use this skill when:
Step 1: Obtain Specification
Get the technical specification to review:
Step 2: Identify Jira Ticket
Extract Jira ticket ID from specification or ask user:
EPMCDME-XXXXX pattern in specUse Skill tool with skill="brianna" and args:
"Get ticket details for EPMCDME-XXXXX. I need only the description and summary fields."
Step 3: Load Relevant Project Guides
Based on spec content, load applicable guides from .codemie/guides/:
| Spec Mentions | Load Guide (P0) | Also Load (P1) | |---------------|-----------------|----------------| | Architecture, layers, components | .codemie/guides/architecture/architecture.md | - | | API, endpoints, REST | .codemie/guides/api/ (if exists) | .codemie/guides/architecture/architecture.md | | Agent, plugin, registry | .codemie/guides/architecture/architecture.md | .codemie/guides/integration/external-integrations.md | | Security, auth, credentials | .codemie/guides/security/security-practices.md | .codemie/guides/development/development-practices.md | | Testing, mocking, coverage | .codemie/guides/testing/testing-patterns.md | - | | Error handling, logging | .codemie/guides/development/development-practices.md | .codemie/guides/standards/code-quality.md | | Provider, LLM, integration | .codemie/guides/integration/external-integrations.md | .codemie/guides/architecture/architecture.md | | Git, workflow, CI/CD | .codemie/guides/standards/git-workflow.md | - |
Step 4: Identify Design Principles
Extract key design principles from loaded guides:
Step 5: Verify Against Jira Ticket
Compare specification to Jira ticket requirements:
CRITICAL Issues (Must report):
NOT Critical (Skip):
Step 6: Verify Against Design Principles
Check spec compliance with project design guidelines:
From .codemie/guides/architecture/architecture.md:
Must Report:
Example Feedback Format:
**Architecture Violation**: Spec proposes CLI command directly instantiating ClaudePlugin.
**Principle**: CLI → Registry → Plugin flow (5-layer architecture)
**Reference**: .codemie/guides/architecture/architecture.md:246-273 (Communication Rules)
**Impact**: Breaks plugin isolation, makes testing difficult, violates Open/Closed principle
From .codemie/guides/security/security-practices.md:
Must Report:
Example Feedback Format:
**Security Violation**: Spec shows API key stored in configuration file.
**Principle**: No hardcoded credentials, use CredentialStore
**Reference**: .codemie/guides/security/security-practices.md (Credential Storage section)
**Impact**: Credentials exposed in version control, security risk
From .codemie/guides/development/development-practices.md:
Must Report:
Example Feedback Format:
**Error Handling Violation**: Spec uses generic Error for agent not found.
**Principle**: Use specific error classes from src/utils/errors.ts
**Reference**: .codemie/guides/development/development-practices.md (Error Handling section)
**Impact**: Poor user experience, difficult debugging, no structured error handling
From .codemie/guides/testing/testing-patterns.md:
Must Report:
Example Feedback Format:
**Testing Violation**: Spec proposes static imports for modules that need mocking.
**Principle**: Use dynamic imports after beforeEach for mockable modules
**Reference**: .codemie/guides/testing/testing-patterns.md (Dynamic Imports section)
**Impact**: Tests cannot properly mock dependencies, brittle test suite
From .codemie/guides/integration/external-integrations.md:
Must Report:
Step 7: Verify Focus and Clarity
Check specification quality:
CRITICAL Issues (Must report):
NOT Critical (Skip):
Step 8: Provide Review Verdict
Format review results as follows:
## Specification Review: APPROVED ✅
**Jira Ticket**: EPMCDME-XXXXX
**Specification**: [Title or path]
### Verdict
This specification is **APPROVED** for implementation.
### Review Summary
- ✅ Addresses all Jira ticket acceptance criteria
- ✅ Follows 5-layer architecture principles
- ✅ Complies with security guidelines
- ✅ Proper error handling strategy defined
- ✅ Clear component responsibilities and interfaces
- ✅ [Additional positive findings]
### Next Steps
Proceed with implementation following the specification. Use tech-lead skill to guide implementation.
## Specification Review: NEEDS WORK ⚠️
**Jira Ticket**: EPMCDME-XXXXX
**Specification**: [Title or path]
### Verdict
This specification **REQUIRES ADDITIONAL WORK** before implementation.
### Critical Issues
#### 1. [Issue Category] - [Brief Title]
**Violation**: [What principle/requirement is violated]
**Principle**: [Which design principle from guides]
**Reference**: [Guide path and section]
**Impact**: [Why this matters, consequences of not fixing]
#### 2. [Issue Category] - [Brief Title]
**Violation**: [What principle/requirement is violated]
**Principle**: [Which design principle from guides]
**Reference**: [Guide path and section]
**Impact**: [Why this matters, consequences of not fixing]
[Continue for all critical issues]
### Jira Ticket Alignment
[If applicable]
- ❌ Acceptance criterion "[text]" not addressed
- ❌ Scenario "[text]" not covered
- ❌ [Other alignment issues]
### Recommendations
[High-level guidance - NO code snippets]
1. [Action to address issue category 1]
2. [Action to address issue category 2]
3. [Action to address issue category 3]
### Next Steps
Address critical issues above, then resubmit specification for review.
| Category | Report If | |----------|-----------| | Architecture | Violates 5-layer architecture, breaks dependency rules, skips layers | | Security | Hardcoded credentials, missing validation, unsafe operations, logging sensitive data | | Error Handling | Using generic errors, missing context, swallowing exceptions | | Testing | No strategy for complex features, incorrect mocking approach | | Jira Alignment | Missing acceptance criteria, wrong problem being solved | | Clarity | Vague key details, unclear responsibilities, no success criteria | | Integration | Direct coupling to external services, no error handling |
| Category | Skip If | |----------|---------| | Style | Formatting, minor typos, grammar issues | | Optimization | Performance suggestions not affecting correctness | | Extras | Missing nice-to-have features beyond ticket scope | | Preferences | Alternative approaches that are equally valid | | Documentation | Minor documentation improvements |
✅ Focus on CRITICAL issues only (design principle violations, missing requirements) ✅ Reference specific guides and sections ✅ Explain WHY issue is critical (impact) ✅ Fetch Jira ticket to verify alignment ✅ Load applicable guides before review ✅ Provide clear verdict (APPROVED or NEEDS WORK) ✅ Give focused feedback without code snippets ✅ Be constructive and specific
❌ Don't report minor style or formatting issues ❌ Don't provide code snippets or implementation fixes ❌ Don't suggest "nice to have" improvements ❌ Don't be overly pedantic about minor details ❌ Don't assume—verify against actual guides ❌ Don't approve specs with critical violations ❌ Don't provide vague feedback like "improve clarity"
User: "Review this spec for EPMCDME-10500"
[Spec: New REST endpoint following existing patterns]
Spec Reviewer:
1. Fetches EPMCDME-10500 via brianna
2. Loads .codemie/guides/architecture/architecture.md
3. Reviews spec:
- Follows CLI → Registry → Plugin architecture ✅
- Uses existing error classes ✅
- Addresses all acceptance criteria ✅
- Clear interfaces defined ✅
4. Verdict: APPROVED ✅
5. Recommends: Proceed with implementation
User: "Review this spec for EPMCDME-10600"
[Spec: New agent with CLI directly calling plugin code]
Spec Reviewer:
1. Fetches EPMCDME-10600 via brianna
2. Loads .codemie/guides/architecture/architecture.md
3. Identifies CRITICAL issue:
- Spec shows CLI command directly instantiating agent plugin
- Violates 5-layer architecture (CLI → Registry → Plugin)
- Reference: architecture.md:246-273
4. Verdict: NEEDS WORK ⚠️
5. Feedback: "CLI must call AgentRegistry.getAgent(), not instantiate plugin directly"
User: "Review this spec for EPMCDME-10700"
[Spec: Provider integration with API key in config file]
Spec Reviewer:
1. Fetches EPMCDME-10700 via brianna
2. Loads .codemie/guides/security/security-practices.md
3. Identifies CRITICAL issue:
- API key stored in configuration file
- Violates credential storage principle
- Reference: security-practices.md
4. Verdict: NEEDS WORK ⚠️
5. Feedback: "Use CredentialStore.getInstance() for secure credential storage"
User: "Review this spec for EPMCDME-10800"
[Spec: Agent feature but missing key acceptance criterion]
Spec Reviewer:
1. Fetches EPMCDME-10800 via brianna
2. Ticket has acceptance criterion: "Support batch mode processing"
3. Spec only covers streaming mode
4. Identifies CRITICAL gap:
- Acceptance criterion not addressed
- Spec incomplete for ticket requirements
5. Verdict: NEEDS WORK ⚠️
6. Feedback: "Spec must address batch mode processing (acceptance criterion 3)"
Error: No specification provided for review.
Please provide:
- Specification content (paste directly)
- File path to specification document
- Reference to spec in conversation history
Warning: Unable to fetch Jira ticket EPMCDME-XXXXX.
Proceeding with guide compliance review only. Cannot verify alignment with ticket requirements.
Consider:
- Verifying ticket ID format
- Checking ticket exists and is accessible
- Reviewing ticket requirements manually
Error: Required guide not found: [path]
Cannot complete review without design guidelines.
Please ensure .codemie/guides/ directory is available with:
- architecture/architecture.md
- security/security-practices.md
- development/development-practices.md
- [Other applicable guides]
A successful spec review results in:
For detailed review criteria:
references/review-checklist.md - Comprehensive checklist for each review categoryreferences/violation-examples.md - Examples of critical violations by categoryThis skill coordinates with:
.codemie/guides/: Loads all applicable guides for compliance verificationtools
CodeMie Analytics expert — use this skill whenever the user asks about CodeMie usage data, AI adoption metrics, user leaderboards, CLI insights, spending, LiteLLM costs, token usage, or wants to build a dashboard/report from CodeMie or LiteLLM APIs. Also triggers for: "who uses CodeMie most", "show me AI analytics", "get spending data", "generate a report", "leaderboard", "cost analysis", "LiteLLM customer info", "enrich CSV with costs", "top performers", "AI champions", "tier distribution", or any custom analytics query against the platform. Always use this skill when CodeMie analytics, reporting, or cost data is involved.
tools
Work with Microsoft 365 services via the Graph API — emails, calendar events, SharePoint sites (read and write), Teams chats and channel messages, OneDrive files, OneNote notebooks, contacts, and org chart. Use this skill whenever the user asks about their emails, inbox, unread messages, meetings, calendar, Teams messages or chats, channel messages, SharePoint documents, OneDrive files, OneNote notes or notebooks, colleagues, manager, direct reports, or any personal/organizational Microsoft data. Invoke proactively any time the user mentions Outlook, Teams, SharePoint, OneDrive, OneNote, or wants to interact with their Microsoft 365 account. The skill uses a local Node.js CLI (msgraph.js) that handles authentication, token caching, and all API calls.
tools
Manage CodeMie platform assets (assistants, workflows, datasources, integrations, skills, users, assistant-categories) directly from CLI using CodeMie SDK. Use when user says "create assistant", "list workflows", "update datasource", "delete assistant", "show my assistants", "get workflow details", "manage integrations", "create integration", "list integrations", "list llm models", "list embedding models", "list skills", "get skill", "create skill", "update skill", "delete skill", "publish skill", "import skill", "export skill", "attach skill", "list assistant categories", "get assistant category", "create assistant category", "delete assistant category", "who am i", "current user", "my profile", "user info", or any request to manage CodeMie platform resources. NOTE: For analytics requests (usage analytics, summaries, spending, users activity, leaderboards, etc.) use the codemie-analytics skill instead.
development
Build static HTML pages, reports, dashboards, and mockups that match the CodeMie UI design system. Use this skill whenever the user asks to create an HTML report, dashboard, analytics page, status page, data visualization page, or any static HTML document that should look like the CodeMie/EPAM AI/Run product. Also use it when the user says "make it look like CodeMie", "use the style guide", "dark-themed report", "CodeMie styles", or references the style-guide directory. Trigger for any HTML output task in a project that includes the style-guide folder. IMPORTANT: This skill MUST be used for ALL HTML generation requests — whenever a user asks for an HTML report, HTML analysis output, HTML dashboard, HTML visualization, or any HTML document. Claude must always use this skill to generate HTML in CodeMie styles to ensure consistent, professional, branded output across all HTML artifacts.