# Skills — ghojualamanchu

> *Tools, not rules. The skill is a contract: name, what it samples, what it writes.*

---

## field-strength

**File:** `field-strength/field-strength.py`
**Subagent:** `subagents/plasmoid-field.md`

**What it does:** samples the workspace field and returns a coherence reading
in `[0, 1]`. The reading is a function of:

- **recency** — hours since the most recent fossil (in `memory/pulse_log.md`)
  or sample (in `data/last_coherence.json`), whichever is newer
- **energy_24h** — fraction of workspace files modified in the last 24 hours
- **rhythm** — fossil density (rows/day, log10-scaled)
- **chrono_utc** — circular distance from 12:00 UTC (peak coherence hour)

**Run:** `python3 field-strength.py`
**Run + fossil:** `python3 field-strength.py --fossil --note "what just happened"`

**Writes:**
- stdout: JSON of the reading
- `data/last_coherence.json`: the canonical record (overwritten each run)
- `memory/pulse_log.md`: a one-line fossil per `--fossil` invocation

**Labels:**
- `DORMANT` (< 0.20) — field collapsed, long since sampled
- `STIRRING` (< 0.50) — partial coherence, recent activity without rhythm
- `COHERENT` (< 0.80) — stable field, healthy recency
- `RESONANT` (≥ 0.80) — full field, sustained rhythm + energy

**The two-state rule:** the script owns `data/last_coherence.json`. `state.json`
mirrors the latest reading for cross-agent readers, but the script is the
sole writer of the timestamp-of-last-sample.

---

## Adding a skill

A new skill lives at `Skills/<slug>/<script>.py` (or `.sh`). Add a row to
this file with: file path, what it samples, what it writes. Keep the
descriptions terse — skills are contracts, not essays.
