Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
412 commits
Select commit Hold shift + click to select a range
f02fe92
docs: add @fiction17 to contributors
github-actions[bot] Feb 20, 2026
ac0190b
Create __init__.py
Rizwan-095 Feb 20, 2026
e330f84
Add files via upload
Rizwan-095 Feb 20, 2026
62219e5
Update README.md
Rizwan-095 Feb 20, 2026
c3a2a48
Update main.py
Rizwan-095 Feb 20, 2026
bac493b
Add HN digest skill (#100)
Kuberwastaken Feb 20, 2026
6071f95
docs: add @Kuberwastaken to contributors
github-actions[bot] Feb 20, 2026
eeddda3
Enhance BasicTemplateCapability with comments and prompts
Rizwan-095 Feb 20, 2026
d4c2d95
Refactor ApiTemplateCapability by removing register_capability
Rizwan-095 Feb 20, 2026
33c92f5
Refactor LoopTemplateCapability by cleaning imports
Rizwan-095 Feb 20, 2026
da7dcbe
Revise register capability method note in README
Rizwan-095 Feb 20, 2026
2ec32f8
Update validate_ability.py
Rizwan-095 Feb 20, 2026
37ba43b
Fix error message for missing register capability tag
Rizwan-095 Feb 20, 2026
76c8eed
Update path-check workflow to use GitHub script
Rizwan-095 Feb 24, 2026
b4468ff
Improve community PR path check with detailed comments
Rizwan-095 Feb 24, 2026
392a178
Fix regex for register capability tag detection
Rizwan-095 Feb 24, 2026
c5b2878
Add permissions for pull requests and issues
Rizwan-095 Feb 24, 2026
7d54135
Improve path-check workflow for PR file validation
Rizwan-095 Feb 24, 2026
87abe20
Fix register capability tag detection and message
Rizwan-095 Feb 24, 2026
f3f7c38
Add recipe-coach community ability (#113)
sterling-prog Feb 24, 2026
7a94b7d
docs: add @sterling-prog to contributors
github-actions[bot] Feb 24, 2026
b6a0850
Add gdrive voice manager (#112)
cedarscarlett Feb 24, 2026
e2452a5
docs: add @cedarscarlett to contributors
github-actions[bot] Feb 24, 2026
eee7a17
feat: add N8N Commander ability (#99)
BILLKISHORE Feb 24, 2026
0b18ed8
docs: add @BILLKISHORE to contributors
github-actions[bot] Feb 24, 2026
87c8865
Add movie-recommender community ability (#128)
Kaushal-205 Feb 24, 2026
255f60e
docs: add @Kaushal-205 to contributors
github-actions[bot] Feb 24, 2026
2deeef0
Add air-quality-checker community ability (#122)
Kaushal-205 Feb 24, 2026
9bf8999
docs: add @Kaushal-205 to contributors
github-actions[bot] Feb 24, 2026
4d15266
Add meditation-breathing-guide community ability (#127)
Kaushal-205 Feb 24, 2026
bf11dd5
docs: add @Kaushal-205 to contributors
github-actions[bot] Feb 24, 2026
91cdc55
Revise API token instructions in README
Rizwan-095 Feb 24, 2026
7138cda
Add noise-machine-ability community ability (#111)
yonaseth12 Feb 24, 2026
a6113a2
docs: add @yonaseth12 to contributors
github-actions[bot] Feb 24, 2026
d02c6c0
Fix capability worker initialization in README example
Rizwan-095 Feb 25, 2026
485f7a4
Fix CapabilityWorker initialization in Ability lifespan
Rizwan-095 Feb 25, 2026
73c4bcc
Fix access method for capability_worker in documentation
Rizwan-095 Feb 25, 2026
de22e55
Update main.py
Rizwan-095 Feb 25, 2026
59bb6e3
Fix reference to CapabilityWorker in call method
Rizwan-095 Feb 25, 2026
c31720f
Fix CapabilityWorker initialization in main.py
Rizwan-095 Feb 25, 2026
557cd59
Update main.py
Rizwan-095 Feb 25, 2026
a00211b
Update main.py
Rizwan-095 Feb 25, 2026
73813c4
Create __init__.py
Rizwan-095 Feb 25, 2026
b8cb8ef
Add files via upload
Rizwan-095 Feb 25, 2026
3612016
Update README.md
Rizwan-095 Feb 25, 2026
65dc1eb
Update README.md
Rizwan-095 Feb 25, 2026
ff92c61
Create __init__.py
Rizwan-095 Feb 25, 2026
a210a4b
Add files via upload
Rizwan-095 Feb 25, 2026
2503ae0
Update README.md
Rizwan-095 Feb 25, 2026
0d5cf02
Add earthquake-monitor community ability (#125)
Kaushal-205 Feb 25, 2026
d6bb077
docs: add @Kaushal-205 to contributors
github-actions[bot] Feb 25, 2026
739153c
Add MTG Game Master community ability (#121)
BILLKISHORE Feb 25, 2026
10c5be1
docs: add @BILLKISHORE to contributors
github-actions[bot] Feb 25, 2026
052c9ba
Add astronomy-guide community ability (#123)
Kaushal-205 Feb 25, 2026
91e35b0
docs: add @Kaushal-205 to contributors
github-actions[bot] Feb 25, 2026
639bf81
Add plant-care-reminder community ability (#129)
Kaushal-205 Feb 25, 2026
7fcd666
docs: add @Kaushal-205 to contributors
github-actions[bot] Feb 25, 2026
6e8096b
Add Google Daily Brief (#104)
ammyyou112 Feb 25, 2026
1b0663e
docs: add @ammyyou112 to contributors
github-actions[bot] Feb 25, 2026
866bb84
Add discord-connector community ability (#119)
MKmuneebkhalid Feb 25, 2026
8e35f7b
docs: add @MKmuneebkhalid to contributors
github-actions[bot] Feb 25, 2026
8f90625
Update README.md
Rizwan-095 Feb 26, 2026
b5be76e
Twilio sms (#147)
ArturKozhushnyi Feb 26, 2026
a348846
docs: add @ArturKozhushnyi to contributors
github-actions[bot] Feb 26, 2026
16d9298
Create __init__.py
Rizwan-095 Feb 26, 2026
f9a6017
Add files via upload
Rizwan-095 Feb 26, 2026
efd9fb6
Update README.md
Rizwan-095 Feb 26, 2026
fbfd77e
Update README.md
Rizwan-095 Feb 26, 2026
a693f65
Add language-phrase-helper community ability (#126)
Kaushal-205 Feb 26, 2026
6fd6998
docs: add @Kaushal-205 to contributors
github-actions[bot] Feb 26, 2026
6c06876
Update README.md
Rizwan-095 Feb 26, 2026
1f156f1
Create __init__.py
Rizwan-095 Feb 26, 2026
33aa558
Add files via upload
Rizwan-095 Feb 26, 2026
bf43fd6
Update README.md
Rizwan-095 Feb 26, 2026
ef3eda3
Add Coding Agent Runner community ability (#118)
Ju-usc Feb 26, 2026
6292740
docs: add @Ju-usc to contributors
github-actions[bot] Feb 26, 2026
ae3092d
feat: Add Pet Care Assistant Ability with Persistent Storage & Real-t…
megz2020 Feb 26, 2026
2d01567
todoist voice task added (#151)
code-guru1 Feb 26, 2026
8e65e3a
docs: add @code-guru1 to contributors
github-actions[bot] Feb 26, 2026
a44e01f
watcher.py added in watcher template
zainirfan13 Feb 26, 2026
746b20c
Add flight-information-email ability with Amadeus + Composio integrat…
fiction17 Feb 27, 2026
520399f
docs: add @fiction17 to contributors
github-actions[bot] Feb 27, 2026
8ee1268
Refactor naming conventions
Husnain-Bhatti Feb 27, 2026
27ec537
Create Futuristic_OpenHome_Abilities.md
Rizwan-095 Feb 27, 2026
df48913
Refactoring
Husnain-Bhatti Feb 27, 2026
6a7eff5
Update capability-worker.md
Rizwan-095 Feb 27, 2026
a240f0c
Update OpenHome_SDK_Reference.md
Rizwan-095 Feb 27, 2026
7701ef7
Update Building_Great_OpenHome_Abilities.md
Rizwan-095 Feb 27, 2026
de38ea6
Add WhatsApp Messenger community ability (#158)
hassan1731996 Feb 27, 2026
87bbe03
docs: add @hassan1731996 to contributors
github-actions[bot] Feb 27, 2026
492c62c
Update main.py
Rizwan-095 Feb 27, 2026
e354905
Update watcher.py
Rizwan-095 Feb 27, 2026
505c435
Update watcher.py
Rizwan-095 Feb 27, 2026
2d61dab
Add Google Tasks ability (#163)
samsonadmasu Mar 2, 2026
adfd771
docs: add @samsonadmasu to contributors
github-actions[bot] Mar 2, 2026
fd16ef0
implement Twilio Outbound Voice Calls and Call Logs (#171)
ArturKozhushnyi Mar 2, 2026
c398fdc
Update README.md
Rizwan-095 Mar 2, 2026
0480742
Create README.md
Rizwan-095 Mar 2, 2026
2503382
Add Traffic & Travel Time ability (#155)
samsonadmasu Mar 2, 2026
00185a6
docs: add @samsonadmasu to contributors
github-actions[bot] Mar 2, 2026
9a0e007
Add GitHub Voice Manager ability - voice-controlled GitHub workflow (…
saifrehman100 Mar 2, 2026
fc0ffa7
docs: add @saifrehman100 to contributors
github-actions[bot] Mar 2, 2026
ae1c316
Restaurant recommendation (#173)
melodygui Mar 2, 2026
82502de
docs: add @melodygui to contributors
github-actions[bot] Mar 2, 2026
260c457
Create Designing_OpenHome_Abilities.md
Rizwan-095 Mar 2, 2026
81f5256
Update README.md
Rizwan-095 Mar 3, 2026
1d2f89d
Add quiet-company community ability (#176)
FHLiang221 Mar 3, 2026
e386093
docs: add @FHLiang221 to contributors
github-actions[bot] Mar 3, 2026
523917b
Add Package Tracker ability with direct carrier APIs (FedEx, UPS, USP…
BhargavTelu Mar 3, 2026
cb0bddb
docs: add @BhargavTelu to contributors
github-actions[bot] Mar 3, 2026
229e563
HubSpot-Update-Log (#179)
Akio9090-dev Mar 3, 2026
910ef49
docs: add @Akio9090-dev to contributors
github-actions[bot] Mar 3, 2026
04c2b59
Add dev-standup-assistant community ability (#183)
yonaseth12 Mar 3, 2026
243da91
docs: add @yonaseth12 to contributors
github-actions[bot] Mar 3, 2026
c6f17ed
Microsoft mail management ability (#180)
RyanBhandal Mar 3, 2026
9fda7bf
docs: add @RyanBhandal to contributors
github-actions[bot] Mar 3, 2026
ba568a2
feat: Add Local Event Explorer community ability (#186)
megz2020 Mar 3, 2026
1319607
docs: add @megz2020 to contributors
github-actions[bot] Mar 3, 2026
d2b9db5
Add Dungeon and Dragons Storyteller Master community ability (#185)
harmsolo13 Mar 3, 2026
1a70b47
docs: add @harmsolo13 to contributors
github-actions[bot] Mar 3, 2026
b254e9c
Update README.md
chrisgbiz Mar 3, 2026
edd12bd
Update Designing_OpenHome_Abilities.md
Rizwan-095 Mar 4, 2026
052f2a1
Update Designing_OpenHome_Abilities.md
Rizwan-095 Mar 4, 2026
036289b
Update Designing_OpenHome_Abilities.md
Rizwan-095 Mar 4, 2026
a0aed28
Update OpenHome_SDK_Reference.md
Rizwan-095 Mar 4, 2026
7cafb32
Update capability-worker.md
Rizwan-095 Mar 4, 2026
d564a0b
Update Futuristic_OpenHome_Abilities.md
Rizwan-095 Mar 4, 2026
73e26e9
Update README.md
Rizwan-095 Mar 4, 2026
cd3ecac
Update and rename watcher.py to background.py
Rizwan-095 Mar 4, 2026
d2e43a3
updated templates naming and then updated all docs according to new n…
Rizwan-095 Mar 4, 2026
1a1dffb
Update main.py
Rizwan-095 Mar 4, 2026
6e47c4b
Update and rename watcher.py to background.py
Rizwan-095 Mar 4, 2026
f9d5cfa
Update README.md
Rizwan-095 Mar 4, 2026
f5dba7a
Update README.md
Rizwan-095 Mar 5, 2026
31ae27c
Update README.md
Rizwan-095 Mar 5, 2026
47ebba5
Outlook daily brief (#195)
RyanBhandal Mar 10, 2026
7ca8e52
docs: add @RyanBhandal to contributors
github-actions[bot] Mar 10, 2026
fdb28a2
Add Alarm & Timer ability (#194)
hassan1731996 Mar 10, 2026
832c65b
docs: add @hassan1731996 to contributors
github-actions[bot] Mar 10, 2026
a8a221b
Feat/micro adventure planner plan (#200)
megz2020 Mar 10, 2026
ea7ac17
docs: add @megz2020 to contributors
github-actions[bot] Mar 10, 2026
07e8a2f
Update auto-label.yml
Rizwan-095 Mar 10, 2026
ecaf2bc
Salesforce CRM Voice Assistant (#199)
Akio9090-dev Mar 10, 2026
15fbf2e
docs: add @Akio9090-dev to contributors
github-actions[bot] Mar 10, 2026
69c715f
Create Agent-Memory-and-Context-Injection.md
Rizwan-095 Mar 10, 2026
da1dc5f
Delete official/music-player/config.json
Rizwan-095 Mar 10, 2026
48a5ac5
Delete official/quiz-game/config.json
Rizwan-095 Mar 10, 2026
f67b711
Delete official/sound-generator/config.json
Rizwan-095 Mar 10, 2026
ddd7ae5
Delete official/weather/config.json
Rizwan-095 Mar 10, 2026
1407c10
Updated docs
Mar 10, 2026
87ee2fd
Rename Building_Great_OpenHome_Abilities.md to What_Makes_a_Good_Abil…
Rizwan-095 Mar 10, 2026
fdc3e7b
new updates
Mar 10, 2026
a05a7a1
Merge branch 'dev' of https://github.com/openhome-dev/abilities into dev
Mar 10, 2026
5b29e0b
new sdk function added
Mar 11, 2026
6337894
Update lint.yml
Rizwan-095 Mar 12, 2026
6f73570
Update lint.yml
Rizwan-095 Mar 12, 2026
397a14a
Refactoring
Mar 13, 2026
63703ec
Refactoring
Mar 13, 2026
ab9cda6
Refactoring
Mar 17, 2026
a704959
feat(community): add prayer-times ability (#217)
mahsumaktas Mar 18, 2026
348af90
docs: add @mahsumaktas to contributors
github-actions[bot] Mar 18, 2026
34fe67f
Refactoring
Mar 24, 2026
89b9113
Refactoring
Mar 24, 2026
f37f693
Refactoring
Mar 25, 2026
84a7493
Refactoring
Mar 25, 2026
302d364
Add Airthings air quality ability (#215)
brianchilders Mar 26, 2026
45a7261
docs: add @brianchilders to contributors
github-actions[bot] Mar 26, 2026
ba7703c
Add Home Assistant community ability (#184)
harmsolo13 Mar 27, 2026
3ce1d0d
docs: add @harmsolo13 to contributors
github-actions[bot] Mar 27, 2026
87ae4f9
timers-alarms-reminders (#208)
FHLiang221 Mar 27, 2026
de41b06
docs: add @FHLiang221 to contributors
github-actions[bot] Mar 27, 2026
8ebae52
Add flight-booking community ability (#209)
hassan1731996 Mar 27, 2026
655fb18
docs: add @hassan1731996 to contributors
github-actions[bot] Mar 27, 2026
82bf029
Ability Name: community/notion-quick-capture (#188)
azazrashid Mar 30, 2026
c4913ac
docs: add @azazrashid to contributors
github-actions[bot] Mar 30, 2026
7056951
feat: add health-supplement-search ability (#214)
megz2020 Mar 30, 2026
ca66821
docs: add @megz2020 to contributors
github-actions[bot] Mar 30, 2026
ce303e5
Add MTA Next Train community ability (#227)
chadnewbry Mar 30, 2026
2a9a7f7
docs: add @chadnewbry to contributors
github-actions[bot] Mar 30, 2026
cb81f03
Kortexa Weather - a simple Porch demo ability (#230)
francip Mar 31, 2026
216126b
docs: add @francip to contributors
github-actions[bot] Mar 31, 2026
29a3f22
Google calendar (#229)
Mmiless Mar 31, 2026
2a21500
docs: add @Mmiless to contributors
github-actions[bot] Mar 31, 2026
d925d34
feat: add private notes note-taking agent (#232)
Ju-usc Mar 31, 2026
774c0a2
docs: add @Ju-usc to contributors
github-actions[bot] Mar 31, 2026
3f72c72
feat: proactive weather ability (#233)
melodygui Mar 31, 2026
529bad3
docs: add @melodygui to contributors
github-actions[bot] Mar 31, 2026
f8a1a8b
Kortexa Radio (#222)
francip Apr 1, 2026
db52a74
docs: add @francip to contributors
github-actions[bot] Apr 1, 2026
606b072
Zoom meeting manager (#237)
uchebuzz-coder Apr 1, 2026
5f55b29
docs: add @uchebuzz-coder to contributors
github-actions[bot] Apr 1, 2026
a1b27bf
Fix typo in README description
Rizwan-095 Apr 6, 2026
10d51f4
Add Debate Partner community ability (#241)
hassan1731996 Apr 6, 2026
8ffcc13
docs: add @hassan1731996 to contributors
github-actions[bot] Apr 6, 2026
21f7b50
X news feed ability (#242)
alimujtaba478 Apr 13, 2026
ea1a8c5
Add Conversation Insights Coach ability (#247)
hassan1731996 Apr 13, 2026
c65ca79
docs: add @hassan1731996 to contributors
github-actions[bot] Apr 13, 2026
8fffd30
Added: Custom API keys
Apr 14, 2026
7776be5
Merge branch 'dev' of https://github.com/openhome-dev/abilities into dev
abubakar4360 Apr 14, 2026
87a97a9
Updated: Image paths in Custom API keys
abubakar4360 Apr 14, 2026
3494fab
Feature/podcast player (#245)
SpkArtZen Apr 14, 2026
38c2789
docs: add @SpkArtZen to contributors
github-actions[bot] Apr 14, 2026
0dce039
Updated: URL provider in custom keys as required
abubakar4360 Apr 14, 2026
a1c6bf5
Merge branch 'dev' of https://github.com/openhome-dev/abilities into dev
abubakar4360 Apr 14, 2026
fa7028a
Curiosity Queue Ability (#254)
hassan1731996 Apr 21, 2026
73bb3e1
docs: add @hassan1731996 to contributors
github-actions[bot] Apr 21, 2026
86b00fc
Decision Journal ability (#262)
hassan1731996 May 5, 2026
f4b7b71
docs: add @hassan1731996 to contributors
github-actions[bot] May 5, 2026
877b45e
Improve private notes voice flows (#267)
Ju-usc May 5, 2026
8cb9cf0
Social Memory ability (#264)
hassan1731996 May 6, 2026
51d1f05
docs: add @hassan1731996 to contributors
github-actions[bot] May 6, 2026
b36f030
Clean up formatting in main.py
Rizwan-095 May 11, 2026
0ad9c14
Refactor: Updated functionality and implemented changes to ensure com…
uzair401 May 12, 2026
d2de716
refactor: refactor readme.md as per the new updates
uzair401 May 12, 2026
ba2ab1f
Rename project from 'OpenHome Daily Brief' to 'My Daily Brief'
uzair401 May 12, 2026
3aaa7ea
refactor: add features to fetch trending podcasts, and fixed intent i…
uzair401 May 13, 2026
377b0c7
Enhance README with features and usage examples
uzair401 May 13, 2026
0df5b10
Revise README for Local Event Explorer
uzair401 May 14, 2026
76b3757
Fix typo in README for event sources section
uzair401 May 14, 2026
8a337e3
Improve Event Explorer ability, APIs, and setup guidance
uzair401 May 14, 2026
bbd8682
Improve Movie Recommender functionality, SDK flow, and voice UX
uzair401 May 14, 2026
9ed2ee1
Enhance README with detailed features and usage
uzair401 May 14, 2026
b311e2e
Update developer credit in README.md
uzair401 May 14, 2026
a2b46a2
Add developer credit section to README
uzair401 May 14, 2026
f636aad
Revise README for Daily Morning Brief details
uzair401 May 14, 2026
c091dbf
Rename to Gmail Voice Assistant and update README
uzair401 May 14, 2026
7c4c5da
Improve Gmail Assistan functionality, SDK flow, and voice UX
uzair401 May 14, 2026
d604f8b
Revise README for Google Tasks Assistant
uzair401 May 14, 2026
7328b40
Improve Google Tasks Assistant functionality, SDK flow, and voice UX
uzair401 May 14, 2026
a3bc8d2
Improve Google Calender Assistant functionality, SDK flow, and voice UX
uzair401 May 14, 2026
15489d1
Delete community/google-calendar/background.py
uzair401 May 14, 2026
c925ddc
Rename Google Calendar Ability to Google Calendar Assistant
uzair401 May 14, 2026
ac5544d
Update README with community abilities details
uzair401 May 14, 2026
23ab7f2
Conflict Detector ability (#270)
hassan1731996 May 19, 2026
6175a21
docs: add @hassan1731996 to contributors
github-actions[bot] May 19, 2026
aa7046b
feat: add PhilipsHueLightControl template (Local category)
abubakar4360 May 21, 2026
a836e1f
Update README with correct OpenHome documentation link
uzair401 May 21, 2026
28e6436
Revise README for Ambient Sounds functionality
uzair401 May 22, 2026
778f737
Integrate Freesound API for ambient sound playback
uzair401 May 22, 2026
06f5161
fix: removed mp3 fiels from ambient music play
abubakar4360 May 22, 2026
3c4dd71
feat: add devkit_led_lights_control template (Local category)
abubakar4360 May 25, 2026
b29074c
Add astral community ability
Jmesmykil Aug 8, 2026
785055d
Sync with upstream dev
Jmesmykil Aug 8, 2026
e0d9efd
Rebuild: only community/astral on top of current dev
Jmesmykil Aug 8, 2026
651a3c7
Lint: split one-line defs so flake8 passes
Jmesmykil Aug 8, 2026
783867c
Expand engine: speed/area/time conversions, powers, factorial, roman …
Jmesmykil Aug 8, 2026
8943663
Astral: extend the exact-answer class to coursework, and fix four wro…
Jmesmykil Aug 17, 2026
d529db4
Astral: stop calling very small numbers zero
Jmesmykil Aug 17, 2026
969bd9b
Astral: stop answering questions that merely contain a time word
Jmesmykil Aug 17, 2026
5555339
Astral: fix chemistry in the cloud build, and normalize spoken punctu…
Jmesmykil Aug 17, 2026
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
89 changes: 89 additions & 0 deletions community/astral/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Astral — deterministic base capability
![Community](https://img.shields.io/badge/OpenHome-Community-orange?style=flat-square)
![Skill](https://img.shields.io/badge/Category-Skill-green?style=flat-square)

Instant answers for the things with one right answer: time, date, math, money, unit conversions, grades, chemistry, physics, statistics, and number tools. Computed directly, no model. Anything else passes to your agent.

This is the generalized version of the `date-and-time` base capability. The whole engine is inlined in `main.py` (pattern and table code, no `eval`), so it runs anywhere an agent runs, no DevKit required.

## Category

**Skill.** Trigger words route a phrase here; the engine answers and the agent handles the rest.

## What it answers

- Time and date, in the agent's timezone.
- Math: add, subtract, multiply, divide, percentages, powers, roots, factorials.
- Money: tips, tax, splitting a bill.
- Unit conversions: weight, length, volume, temperature, speed, area, time, energy,
pressure, force, data sizes, and astronomical distances.
- Grades: what you need on the final, weighted totals, percent to letter, score out of
total, GPA over credits.
- Chemistry: molar mass for a named compound or a formula, moles and grams, molarity,
pH, the ideal gas law, atomic mass and number for all 118 elements.
- Physics: escape velocity and surface gravity for the Sun, the Moon and every planet,
weight on another world, free fall, kinetic and potential energy, momentum, force,
work, power, Ohm's law, time dilation, Schwarzschild radius, photon energy, light
travel time.
- Statistics: mean, median, mode, range, variance, sample and population standard
deviation, z scores, combinations and permutations.
- Number tools: binary, hex and octal, logs, trig, GCD and LCM, primes and prime
factors, modulo, the quadratic formula, percent change, fractions, significant
figures, scientific notation.

Examples:

```
what time is it -> It's 3:55 pm.
what's twenty percent of eighty -> 20 percent of 80 is 16.
convert ten pounds to kilograms -> 10 pounds is 4.54 kilograms.
eighteen percent tip on forty five dollars
-> A tip of 18 percent on 45 dollars is 8.1 dollars, for a total of 53.1.
I have an 87 and the final is worth 20 percent, what do I need to get a 90
-> You'd need 102 percent on the final for 90 percent,
which isn't possible. A perfect final leaves you at 89.6 percent.
molar mass of water -> The molar mass of water (H2O) is 18.015 grams per mole.
escape velocity of mars -> Escape velocity at Mars is 5.02 kilometers per second,
11234.25 miles per hour.
standard deviation of 4 6 8 10 -> The sample standard deviation of 4, 6, 8, 10 is 2.58,
around a mean of 7.
is 91 prime -> No, 91 isn't prime. It's 7 times 13.
tell me a joke -> (nothing; the agent takes it)
```

Two things it says out loud rather than assuming. Anything resting on a grading scale
names the scale, because a scale is a convention and not a fact. A standard deviation
says whether it is the sample or the population one, because those are different numbers
and a course grades you on which you used.

## Suggested trigger words

Set these in the dashboard:

`what time`, `what's the time`, `what's the date`, `what day is it`, `calculate`, `what's`, `how much is`, `percent of`, `square root of`, `convert`, `how many`, `tip on`, `tax on`, `split`, `what do i need`, `what letter grade`, `out of`, `weighted`, `gpa`, `molar mass`, `how many moles`, `atomic mass`, `atomic number`, `molarity`, `ph of`, `escape velocity`, `surface gravity`, `kinetic energy`, `momentum`, `how long does light`, `average of`, `mean of`, `median of`, `standard deviation`, `z score`, `choose`, `in binary`, `in hexadecimal`, `log of`, `sine of`, `prime factors`, `quadratic`, `percent change`, `simplify`, `significant figures`

## How it works

`main.py` is a `MatchingCapability`. On a trigger word it takes the transcript, normalizes the punctuation, routes it through the inlined engine, and speaks the answer. The engine is one router with a fixed order: time and date first, then grades, chemistry, physics, statistics, number tools, and plain arithmetic last. Specific before general, because the general one will match a fragment of a specific question. If nothing matches, it speaks nothing and calls `resume_normal_flow()` so the agent takes the turn. Never blocks, never blanket-denies.

## Accuracy

Every answer is a formula over a table, so it is either exactly right or it does not
answer. Unit factors are the exact defined values. Molar masses are computed by parsing
the formula against the element table rather than stored per compound, because a
hand-entered constant is a typo waiting to be spoken with confidence. Surface gravity
and escape velocity are computed from mass and equatorial radius and agree with
published figures for eight bodies to better than half a percent.

120 answers are asserted byte-exact in the source repo, alongside a suite that fuzzes
four thousand utterances and rechecks every result a second independent way — statistics
against Python's own `statistics` module, factorizations multiplied back out, physics
against published constants.

## Requirements

Python standard library only. No API keys, no external services.

## Note

This version computes in the cloud, without the LLM. For the fully on-device, no-network path (wake and speech-to-text on the DevKit too), see the local DevKit build.
Empty file added community/astral/__init__.py
Empty file.
Loading
Loading