Concrete5 started as a CMS used specifically to build websites for creative agencies and startups. These clients demanded pixel-perfect precision and exact fidelity to their intricate design. While web development trends may have drifted away from this since then, it is to Concrete5's benefit that we started this way: there is no design that Concrete5 can't handle, and it makes no alterations to website markup, because it was created to fulfill the needs of an industry where these weren't tolerated.
With this in mind, it's no surprise that the suggested Concrete5 theming process shares a lot in common with the suggested web development process shared by mid-level web shops around the world. First, determine how you want your site or theme to work. This can be as complicated as an information architecture document or as simple as a list of pages on a sheet of notebook paper. Next, use Photoshop or your favorite web design graphics tool to create examples designs of your themes (hereafter referred to as "comps.") Some sites will have many of these files, others may just have one for the home page and a single comp for every other "detail" page.
It's at this point that you're going to take your raw HTML and web assets and turn it into a Concrete5 theme. This is a simple process and one that anyone who suffered through HTML can do.