Yes, a resume is definitely a sales document. It's one of the most basic.
I didn't see anyone give you feedback on your resume specifically so I thought I would offer the most obvious thing that stands out to me from your resume. In my opinion, placing the languages and tools, and application types that you're familiar with orients you more as a programmer / developer than a problem solver / provider of business solutions. It orients you more towards commodity type work than to speciality or managment type work. I may be wrong, but I was thinking that you would want to project the latter rather than the former, to be considered for higher level positions, but I my be wrong. If I'm correct, I would suggest placing the those after your list of engagements.
In addition, when you describe each assignment / engagement you've worked on, you do a good job of describing it in short order. I would suggest that you continue to do that and add additional content. The additional content would be any accomplishments at each assignment / engagement. What did you help the client/customer do? What objectives were reached? How did they benefit from your assistance?
In terms of what I would give a client as an Independent Consultant, I would not give them a resume unless they asked for one specifically. What I would give a client as an IC would be more in line with your capabilities brief. Stay at a high level and don't get into the technical weeds unless the client asked for that information.
If you're doing contract work, it's likely that the client and the bork are going to want a resume and not a capabilities brief.