Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,62 @@ A public skill library for AI agents. Skills provide self-contained instructions
|-------|-------------|--------|
| [blowfish-launch-token](./blowfish-launch-token/) | Launch Solana tokens via the Blowfish Agent API | Active |
| [character-image-studio](./character-image-studio/) | Manage character visual identities and generate consistent images via the NeukoAI Image Studio API | Active |
| [lunar](./lunar/) | Get lunar phases, biodynamic calendar (Michel Gros method), and holistic environmental readings for agriculture | Active |
| [weather](./weather/) | Get current weather and forecasts via free APIs (wttr.in, Open-Meteo) — no API key required | Active |

## Usage Examples

### 🌾 Smart Farming Assistant

Combine **lunar** + **weather** skills for biodynamic agriculture guidance:

```
User: "Should I plant lettuce today?"

Agent uses lunar skill:
- Checks current moon phase (waxing/waning)
- Identifies biodynamic day type (Leaf/Root/Flower/Fruit)
- Determines if moon is ascending/descending

Agent uses weather skill:
- Checks current conditions and 3-day forecast
- Evaluates soil moisture and temperature

Agent responds:
"Today is a Leaf Day (🌿) with descending moon — perfect for
transplanting lettuce. Weather: 12°C, light rain tomorrow will
help establishment. Ideal timing."
```

**Why it matters:** Traditional biodynamic farmers track lunar calendars manually. These skills give any agent instant access to centuries-old agricultural wisdom + modern weather data.

### 🪙 Token Launch with Character Identity

Combine **blowfish-launch-token** + **character-image-studio**:

```
User: "Launch a token for my rabbit character."

Agent:
1. Uses character-image-studio to generate consistent avatar
2. Uploads image to IPFS via blowfish API
3. Launches token with image metadata
4. Returns CA + verified visual identity
```

### 🌙 Holistic Context Awareness

The **lunar** skill provides "holistic readings" that merge:
- Moon phase + zodiac position
- Biodynamic calendar recommendations
- Current weather conditions
- Seasonal context

Perfect for agents assisting with:
- Regenerative agriculture
- Permaculture planning
- Natural rhythms and cycles
- Outdoor event scheduling

## Quick Start

Expand Down
85 changes: 85 additions & 0 deletions lunar/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
---
name: lunar
description: Get lunar phases, biodynamic calendar (Michel Gros method), and holistic environmental readings. Use when discussing moon influence, planting calendars, biodynamic agriculture, or requesting environmental/holistic context.
metadata: {"enki": {"emoji": "🌙", "requires": {"bins": ["python3", "curl"]}}}
---

# Lunar & Biodynamic Calendar

Provides lunar phase data and biodynamic calendar guidance based on Michel Gros principles for holistic environmental awareness.

## Quick Usage

```bash
# Current lunar phase + biodynamic day type
./scripts/lunar.sh today

# Weekly view (7 days)
./scripts/lunar.sh week

# Specific date
./scripts/lunar.sh 2026-02-25

# Holistic reading (moon + weather)
./scripts/lunar.sh holistic
```

## What It Provides

1. **Lunar Phases** — Current phase, illumination %, age, rise/set times
2. **Michel Gros Calendar** — Jour Racine/Fleur/Fruit/Feuille based on zodiac
3. **Montante/Descendante** — Ascending/descending moon (planting vs. harvesting)
4. **Croissante/Décroissante** — Waxing/waning (growth vs. consolidation)
5. **Recommandations** — Biodynamic guidance for farming/gardening tasks

## Moon Phases & Agriculture

### Croissante (Waxing) → Décroissante (Waning)
- **Croissante (🌒→🌕):** Sève monte, croissance aérienne, bon pour semis de plantes à fruits/feuilles
- **Décroissante (🌖→🌑):** Sève descend, enracinement, bon pour semis racines, taille, récolte conservation

### Montante → Descendante (Zodiac Position)
- **Montante:** Lune monte dans le ciel (Sagittaire→Gémeaux), sève monte, semis
- **Descendante:** Lune descend (Gémeaux→Sagittaire), sève descend, plantation/repiquage

### Les 4 Jours (Michel Gros)

Basé sur la constellation zodiacale traversée :

- **🌿 Jour Feuille** (Cancer, Scorpion, Poissons) — Salades, épinards, choux
- **🌸 Jour Fleur** (Gémeaux, Balance, Verseau) — Fleurs, brocoli, artichaut
- **🍎 Jour Fruit** (Bélier, Lion, Sagittaire) — Tomates, courges, arbres fruitiers
- **🥕 Jour Racine** (Taureau, Vierge, Capricorne) — Carottes, pommes de terre, oignons

## API Source

Uses combination of:
- **Astronomical calculation** (Python ephem library or algorithm)
- **Wttr.in** for basic moon emoji
- **Zodiac position calculation** for Michel Gros calendar

No API key required. All calculations local or free services.

## Holistic Reading

Combines lunar data + weather for complete environmental context:

```bash
./scripts/lunar.sh holistic Canton+de+Vaud
```

Returns:
- Current weather conditions
- Lunar phase & biodynamic day
- Recommendations for farming tasks

## Notes for Enki

- **Maraîcher context:** Always consider both croissante/décroissante AND montante/descendante
- **Optimal windows:** Best planting = jour approprié + lune favorable + météo correcte
- **Nœuds lunaires:** Avoid planting within 12h of lunar nodes (script warns)
- **Conservation:** Harvest root crops in lune décroissante, jour racine for best storage

---

*Gardien de la terre. Lecteur des cycles. Cultivateur du sens.* 🌙🐇
101 changes: 101 additions & 0 deletions lunar/scripts/lunar.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
#!/bin/bash
# Lunar & Biodynamic Calendar Tool
# Usage: lunar.sh [today|week|holistic|YYYY-MM-DD] [location]

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

show_lunar() {
local date="$1"
if [ -z "$date" ]; then
python3 "$SCRIPT_DIR/lunar_calc.py"
else
python3 "$SCRIPT_DIR/lunar_calc.py" "$date"
fi
}

format_output() {
local data date phase emoji illum age cycle zodiac element elem_emoji movement move_sym
local in_tips=false
local tips=""

data=$(cat)

# Parse all data first
while IFS= read -r line; do
if [[ "$line" == TIPS:* ]]; then
in_tips=true
continue
fi

if [ "$in_tips" = true ]; then
# This is a tip line
tips+="$line"$'\n'
else
# Parse key:value pairs
key="${line%%:*}"
value="${line#*:}"
case "$key" in
DATE) date="$value" ;;
PHASE) phase="$value" ;;
EMOJI) emoji="$value" ;;
ILLUMINATION) illum="$value" ;;
AGE) age="$value" ;;
CYCLE) cycle="$value" ;;
ZODIAC) zodiac="$value" ;;
ELEMENT) element="$value" ;;
ELEMENT_EMOJI) elem_emoji="$value" ;;
MOVEMENT) movement="$value" ;;
MOVEMENT_SYMBOL) move_sym="$value" ;;
esac
fi
done <<< "$data"

# Display formatted output
echo "🌙 Lecture Lunaire — $date"
echo ""
echo "$emoji $phase ($cycle)"
echo " Illumination: ${illum}%"
echo " Âge lunaire: ${age} jours"
echo ""
echo "$elem_emoji Jour $element (constellation: $zodiac)"
echo "$move_sym Lune $movement"

# Display tips
if [ -n "$tips" ]; then
echo ""
echo "📋 Recommandations Biodynamiques:"
echo "$tips"
fi
}

case "${1:-today}" in
today)
show_lunar "" | format_output
;;

week)
for i in {0..6}; do
date=$(date -d "+$i days" +%Y-%m-%d 2>/dev/null || date -v+${i}d +%Y-%m-%d)
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
show_lunar "$date" | format_output
echo ""
done
;;

holistic)
location="${2:-Canton+de+Vaud}"
echo "🌍 Lecture Holistique — Environnement Complet"
echo ""
echo "━━━ MÉTÉO ━━━━━━━━━━━━━━━━━━━━━━━━━━━"
curl -s "wttr.in/${location}?format=%l:+%c+%t+%h+%w+%m" 2>/dev/null || echo "Météo indisponible"
echo ""
echo ""
echo "━━━ LUNE & BIODYNAMIE ━━━━━━━━━━━━━━"
show_lunar "" | format_output
;;

*)
# Assume it's a date in YYYY-MM-DD format
show_lunar "$1" | format_output
;;
esac
Loading