The 31-year-old had been available since the end of last season when he was released by Championship outfit Leeds United.
"We're delighted to be able to welcome someone of Danny's experience and quality. I've maintained that we only bring in players that improve the quality of the squad and Danny certainly ticks that box for us," Coventry manager Steven Pressley told the club's official website.
"He's shown throughout his career that he is not only defensively resolute but also poses an attacking threat which made him a definitive target for us as we build for next season. Danny will also be a positive influence on our younger players who continue to show promise and they will only benefit from his presence on the pitch and in the dressing room."
The winger started his career with Manchester United, before having spells with Leeds, Preston North End, Stoke City and Sheffield Wednesday.