In the first half, you are missing an うに from ほんと. 「ほんと」 is more used in slang/informal writing, but you'd still need the に in this case.
You could say 上手な戦士 (note the necessary な), but [凄腕]{すご・うで} more greatly emphasizes her skill; 上手 works, but sounds a little "plain".
For the second half, 矢印 means an arrow that is a symbol (印), such as one you might be on a street sign, food packaging
(on a cup noodle) ふたを矢印まで[剥]{は}がして、水をいれる → Peel lid back to the arrow mark, fill with water
, or even this very typed character ➡.
矢 is what you use to talk about the weapon fired from a bow.
半分 means "half" in the sense of a portion size.
水を飲みかけて、半分を残す。 → Drink (some) water, leaving half of it.
真っ二つ means "half" in the sense of "(exactly) in two" or "both halves". So this is a case where the more common (IMO) English expression can screw up your translation/thinking: エルヤ doesn't split the arrow in "half", she splits it "in two". Now, if you were to find only one half of an arrow that had previously been split in two, you could probably use 半分.
真っ二つに切った矢の半分を見つける