In the synthesis of a plan or computer program, the problem of achieving several goals simultaneously presents special difficulties, since a plan to achieve one goal may interfere with attaining the others. This paper develops the following strategy: to achieve two goals simultaneously, develop a plan to achieve one of them and then modify that plan to achieve the second as well. A systematic program modification technique is presented to support this strategy. The technique requires the introduction of a special “skeleton model’’ to represent a changing world that can accommodate modifications in the plan. This skeleton model also provides a novel approach to the “frame problem.’’ The strategy is illustrated by its application to three examples. Two examples involve synthesizing the following programs: interchanging the values of two variables and sorting three variables. The third entails formulating a tricky blocks world plan. The strategy has been implemented in a simple QLISP program. It is argued that skeleton modeling is valuable as a planning technique apart from its use in plan modification, particularly because it facilitates the representation of “influential actions’’ whose effects may be far reaching. The second part of the paper is a critical survey of contemporary planning literature, which compares our approach with other techniques for facing the same problems.