A snowball is simply a tarball containing a single directory, with any number of programs, libraries or data files therein. Links to these files come from the external repository meta data, but for simplicity when you create a snowball with snow-chibi it will create a file called "package.scm" in the tarball with much of the same information. The current supported structure of the meta data is as follows:

  ;; The name of a package uses the same namespace as the library names.
  ;; If the package name is not provided, then the package can only be
  ;; referred to by the individual library names in the package.
  (name (wonderland))
  ;; A list of author names, optionally with email addresses.
  (authors "Charles Dodgson")
  ;; A list of maintainers if different from the authors.
  (maintainers "Alice Caroll <alice@wonderland.org>")
  ;; A URL pointing to the manual for the package.
  (manual "manual.html")
  ;; A short description of the package.
  (description "...")
  ;; A list of licenses as symbols, e.g.
  ;;  * gpl2
  ;;  * gpl3
  ;;  * lgpl
  ;;  * mit
  ;;  * bsd
  ;;  * artistic
  ;;  * apache
  ;;  * public-domain
  (license 'bsd)
  ;; Current version string.
  (version "1.2.3")
  ;; Program containing tests to run before installing this package.
  ;; The program should exit with a success value (0 on POSIX systems)
  ;; if all tests pass.  On failure it should either exit otherwise,
  ;; or output either "ERROR" or "FAIL".  Tools should fail or warn
  ;; before installing libraries for which any tests fail.
  (test "path/to/test-program.scm")

  ;; The URL points to a tarred, gzipped file containing a single
  ;; directory - any other format is invalid.  Only available from
  ;; repository info.
  ;; All path references below are relative to that directory.
  (url "http://www.wonderland.org/repo/cheshire-cat.tgz")
  ;; The size of the package tarball in bytes, for information prior
  ;; to downloading and as an additional checksum (since this is
  ;; a checksum this refers to the size of the unzipped tarball).
  (size 1234)
  ;; A package can contain zero or more signatures.  Each signature
  ;; contains the identity of a publisher as registered with reg-key,
  ;; and an RSA signature of one or more of the checksums as hex strings.
  ;; Due to speed concerns generating and verifying signatures is
  ;; disabled by default.
  (signature (email "hatter@wonderland.org")
             (digest sha-256)
             (sha-256 "0123...")
             (rsa "0123..."))

  ;; Packages may contain any number of libraries.
   ;; Every library _must_ have a name.
   (name (wonderland cheshire cat))
   ;; Each library must point to a single library description file
   ;; within the tarball.  It is an error if this path is absolute.
   ;; The extension has no specific meaning and can be chosen at will,
   ;; so it is up to install tools to convert as needed for
   ;; host Scheme implementations.
   (path "cheshire/cat.sch")
   ;; A list of libraries which are required to install the given
   ;; library - installation tools should determine and install the
   ;; transitive closure of dependencies when any library is
   ;; installed.
    (scheme base)
    (srfi 1)
    (rabbit holes))
   ;; List of phases this library is used for, where <phase> can be any
   ;; of final, build or test.  The default is just install.  If used by other
   ;; phases, this library will be installed in a temporary location for use
   ;; during the given phase.
   (use-for final))

  ;; A program has all the same fields as a library, except the name
  ;; is optional, and the path indicates a file containing a single
  ;; top-level program to install in a binary directory.  A package
  ;; can contain a mix of programs and libraries.

  ;; A package can also contain data files, installed relative to
  ;; the library files.

The original Snow2 specification describes many features not yet implemented by clients.