# Source: https://docs.avaamo.com/user-guide/how-to/build-skills/create-skill/customize-your-skill/reference-library.md

# Reference library

- [Context](/user-guide/how-to/build-skills/create-skill/customize-your-skill/reference-library/context.md): Encapsulates various details of a user’s interaction with the agent at a particular context
- [variables](/user-guide/how-to/build-skills/create-skill/customize-your-skill/reference-library/context/variables.md)
- [user](/user-guide/how-to/build-skills/create-skill/customize-your-skill/reference-library/context/user.md)
- [live\_agent\_user](/user-guide/how-to/build-skills/create-skill/customize-your-skill/reference-library/context/user-1.md)
- [insights](/user-guide/how-to/build-skills/create-skill/customize-your-skill/reference-library/context/insights.md)
- [history](/user-guide/how-to/build-skills/create-skill/customize-your-skill/reference-library/context/history.md)
- [User.setProperty](/user-guide/how-to/build-skills/create-skill/customize-your-skill/reference-library/user.setproperty.md): Sets the user property of the specified key to the indicated value
- [User.setProperties](/user-guide/how-to/build-skills/create-skill/customize-your-skill/reference-library/user.setproperties.md): Sets the user property of the specified key to the indicated value
- [User.removeProperty](/user-guide/how-to/build-skills/create-skill/customize-your-skill/reference-library/user.removeproperty.md)
- [Storage](/user-guide/how-to/build-skills/create-skill/customize-your-skill/reference-library/storage.md): Stores data either for a global session or for a specific user session.
- [Flow control](/user-guide/how-to/build-skills/create-skill/customize-your-skill/reference-library/flow-control.md): Customize the navigation of the agent flow using JS functions
- [Notifications](/user-guide/how-to/build-skills/create-skill/customize-your-skill/reference-library/notifications.md): Allows agent to send SMS and email notifications to the users
- [Agent commands](/user-guide/how-to/build-skills/create-skill/customize-your-skill/reference-library/skill-commands.md): Perform actions such as clear, reset, and transfer (to name a few) during a user’s interacting with the agent
- [Language.switch](/user-guide/how-to/build-skills/create-skill/customize-your-skill/reference-library/language.switch.md): Switch language to anyone of the languages added to the agent.
- [Agent.transfer](/user-guide/how-to/build-skills/create-skill/customize-your-skill/reference-library/agent.transfer.md): Allows agent to switch to a live agent, if live agent option is enabled.
- [Agent.setContext](/user-guide/how-to/build-skills/create-skill/customize-your-skill/reference-library/agent.setcontext.md): Allows agent to set context before transferring the request. Used in Skill-based routing
- [Advance JS libraries](/user-guide/how-to/build-skills/create-skill/customize-your-skill/reference-library/advanced-js-libraries.md): List of supported Nodejs libraries with version no.
- [SmartCall (C-IVR)](/user-guide/how-to/build-skills/create-skill/customize-your-skill/reference-library/smartcall-c-ivr.md)