feat: Phase 4 — 9 new features (v1.1)
Some checks failed
CI / Build & test backend (push) Failing after 14m56s

REQ-MOB-010: BarcodeScreen.tsx — barcode scanner via react-native-camera
REQ-VIZ-001: WeeklyCalorieChart.tsx — 7-day bar chart on History screen
REQ-VIZ-002: Streak tracker — GET /meals/streak + HomeScreen badge
REQ-UX-001: Quick-add calories — POST /meals/quick-add + QuickAddScreen
REQ-UX-002: Food favourites — UserFoodMemory.favourite + toggle endpoint + FoodRow star
REQ-UX-003: GoalBanner.tsx — in-app slide-in when daily target hit
REQ-EXP-001: ExportController — GET /export/meals CSV download
REQ-WTR-001: Water tracking — WaterEntry entity + POST/GET /water + DailyDetails widget
REQ-UX-004: Daily logging reminder — HomeScreen after-18:00 banner

Also: Flyway V2 (favourite), V3 (water_entries), V4 (source constraints)
Traceability, CHANGELOG, PLAN updated after each feature
This commit is contained in:
2026-05-19 02:11:23 +03:00
parent 904f1c43b3
commit 12820632e7
46 changed files with 8151 additions and 63 deletions

View File

@@ -0,0 +1,207 @@
Skills use SKILL.md format with YAML frontmatter. One skill per folder. Test before deploy.
# Skills Standards - Native Agent Skills
**Module**: Skills Standards
**Component**: Native VS Code Agent Skills (Layer 4)
**Load**: When creating/editing skills in .github/skills/
**Version**: 3.0.0
**Updated**: 2026-04-20
---
## Machine Policy
```
[SKILL_FORMAT]
FORMAT=SKILL.md
STRUCTURE=YAML_frontmatter + Markdown_body
LOCATION=.github/skills/skill-name/SKILL.md
TOKEN_TARGET=<5000_per_skill
DESCRIPTION_LENGTH=~100_tokens
VS_CODE_VERSION=1.109+
```
---
## SKILL.md Format
### File Structure
```markdown
---
name: lowercase-hyphens-only
description: what + when + keywords (1-1024 chars)
license: MIT
compatibility: VS Code 1.109+, Node.js 18+
metadata:
tier: TIER-0 | TIER-1 | TIER-2 | TIER-3
category: governance | security | quality | language | testing
framework-version: "3.0.0"
author: virsaitis
version: "1.0.0"
---
# Skill Title
## Overview
## When to Activate
## Standards & Rules
## Consequences
## Procedures
## Examples
## Validation & Testing
## Quick Reference
```
### Frontmatter Requirements (TIER-1)
| Field | Required | Format | Example |
|-------|----------|--------|---------|
| `name` | Yes | lowercase-hyphens, 1-64 chars | `python-development` |
| `description` | Yes | plain text, 1-1024 chars | What + When + Keywords |
| `license` | No | SPDX identifier | `MIT` |
| `compatibility` | No | version requirements | `VS Code 1.109+` |
| `metadata.tier` | Yes (Virsaitis) | TIER-0 through TIER-3 | `TIER-1` |
| `metadata.category` | Yes (Virsaitis) | governance/security/quality/language/testing | `governance` |
**Name MUST match directory name exactly.**
**Description MUST include**: what the skill does, when to activate, discovery keywords.
---
## Required Sections
### Overview
What this skill does and why. Use atomic sentences. 2-3 paragraphs.
### When to Activate
Keywords and scenarios for VS Code skill activation. Include keyword list for discovery.
### Standards & Rules
Specific rules grouped by TIER level. Each rule: Name, TIER, Enforcement, Rationale.
### Consequences (Virsaitis Extension)
Impact chains per TIER violation. Five dimensions: Operation, User, Technical, Business, Remediation.
```markdown
### TIER-0 Violations
**Rule**: [Rule Name]
**If Violated**:
- **Operation**: BLOCKED immediately
- **User Impact**: [effect on user]
- **Technical Impact**: [what breaks]
- **Business Impact**: [why it matters]
- **Remediation**: [how to fix]
```
### Procedures
Step-by-step workflows with commands and expected outcomes.
### Examples
Good vs Bad code snippets with compliance explanations.
### Validation & Testing
Commands to verify compliance, expected output, error interpretation.
### Quick Reference
Summary table for rapid lookup.
---
## Directory Structure
```
.github/skills/
├── skill-name/
│ ├── SKILL.md (required - main skill file)
│ ├── scripts/ (optional - helper scripts)
│ ├── references/ (optional - reference docs)
│ └── assets/ (optional - images, examples)
```
---
## Validation (TIER-1)
```bash
# Validate skill structure
skills-ref validate .github/skills/skill-name/
# Expected output:
# ✓ Skill name matches directory
# ✓ Description within 1-1024 chars
# ✓ Frontmatter valid YAML
# ✓ SKILL.md found
```
Fix all errors before committing.
---
## Token Efficiency (TIER-2)
**Targets**:
- Description: ~100 tokens (efficient discovery)
- Full skill body: <5000 tokens (~500 lines)
- Total loaded: <1% of 200K context window
**VS Code loads skills in 3 levels**:
1. **Metadata** (~100 tokens): Always loaded for discovery
2. **Instructions** (<5000 tokens): Loaded when skill activated
3. **Resources** (on-demand): Loaded only when referenced
Keep SKILL.md lean. Put large examples in `references/`.
---
## Skill Development Workflow
### Create New Skill
1. Choose skill name (lowercase-hyphens)
2. Create directory: `.github/skills/skill-name/`
3. Fill frontmatter (name must match directory)
4. Write sections: Overview → Rules → Consequences → Procedures
5. Add good/bad examples
6. Validate: `skills-ref validate`
7. Test activation in VS Code 1.109+
8. Update CHANGELOG and commit
### Modify Existing Skill
1. Read current SKILL.md fully
2. Maintain atomic sentence structure
3. Update version in frontmatter
4. Validate and test before commit
---
## Quick Reference
| Aspect | Standard | Tool |
|--------|----------|------|
| **Format** | SKILL.md | VS Code markdown |
| **Location** | .github/skills/ | Repository root |
| **Frontmatter** | YAML | `---` delimiters |
| **Tokens** | <5000 body | Word count estimate |
| **Validation** | skills-ref | `skills-ref validate` |
| **VS Code** | 1.109+ | Check release |
---
*Skills Standards Module v3.0.0*
*Native VS Code Agent Skills for Virsaitis governance*
---
## Key Rules From This Module
- SKILL.md is the entry point. YAML frontmatter with description is required.
- One skill per folder. Folder name matches skill purpose.
- Test every skill before deployment. Manual validation required.
- Skills in `.github/skills/` are the one exception to .github write restrictions.
- Definitions: `.github/virsaitis-definition-library.md`
Return to hub: `.github/copilot-instructions.md`