The ability to reason from context is crucial to human communication. It allows a large amount of implicit information to be conveyed with a small amount of explicit description. If the same kind of ability can be provided to software agents, then these agents, even with little built-in knowledge, can adjust their behaviors according to the available implicit information in the environment. This document describes our research in prototyping the CoolAgent Recommendation system (CoolAgent RS). This context- aware software agent system demonstrates the ability to allow contextual information to be freely distributed among agents so that the meaning of that information can be shared and understood. It provides a flexible infrastructure for agents to capture heterogeneous contextual information in the physical world, and represent that uniformly for machine- processes. It also allows agents to negotiate with other agents in the vicinity for contextual information that is not directly accessible through sensing. 61 Pages