We consider knowledge acquisition and skill development as an iterative process. In the first phase, an initial capability is achieved by understanding instructions and following advice. Once a person (or machine) tries out its new knowledge, a variety of potential problems and learning opportunities arise. These stimulate refinements to previous knowledge which, in turn, reinitiate the entire cycle. This learning paradigm has led to new work in knowledge representation, operationalization, expectation-driven bug detection, and knowledge refinement techniques. This paper explains how advice is converted into operational behavior, how unexpected or undesirable behavioral outcomes stimulate learning efforts, and how the bugs responsible can be diagnosed and repaired. These phenomena are illustrated with examples of human and machine skill development in a familiar card game. The proposed learning methods provide a basis for a deeper understanding of skilled behavior and its development than previously possible.