Flight Instructor Program · program
Ticket: 04. ACS coverage matrix skeleton
Stories: US-8.1, and consumed by US-4.1, US-5.5, US-12.4
Gate: Enrollment. This is the one exception in the release gate
Axis: FAA-S-ACS-25, Flight Instructor for Airplane Category, effective May 31, 2024
ACS edition verified: 2026-08-13, see sources/FAA-SOURCES.md
Rating in scope: Airplane single-engine land
Status: All four phases written, lessons 1 to 42, both halves each. All 69 ASEL-applicable tasks claimed. Phase 4 claims no new task and none of its four lessons appears in the Lessons column below, which is correct rather than an omission: lessons 39 to 42 review, assess, and confirm the whole certificate, and a task is claimed by the lesson that teaches it
Last reconciled: 2026-08-13, ticket 40. See program/MANEUVER-SET-RECONCILIATION.md
Phase 4 consumers: lesson 40 reads the Proficiency column to build its plan of action, and lesson 42 gates the practical test recommendation on every applicable area being PROFICIENT (US-8.1). See standards/MOCK-PRACTICAL.md
Two instruments in one table.
For the build team, it is the answer to the only question the trailing gate cannot answer for itself: do the lessons being written just-in-time still add up to the certificate? An ACS task that no lesson has claimed is visible here as a blank cell, and a blank cell is the whole point. That is why this carries an Enrollment gate when almost nothing else does. Building it last means finding the gap at the mock checkride, which is the most expensive place there is to find one.
For the candidate, it is the readiness view: every area and task the practical test can ask about, and where they stand on each.
It is also, per US-12.4, the single structure Session Transcripts map onto. There is no second matrix. When the Coverage tooling proposes Coverage, it proposes it against the task codes in this document, at this granularity. If a future tool wants a different granularity, it changes this document rather than forking it.
Per Decision 18, the axis is FAA-S-ACS-25 and nothing else. Much of the content a candidate teaches is drawn from the private and commercial ACS, and none of that appears here. A candidate teaching steep turns is demonstrating AI.IX.A of the flight instructor ACS, not the commercial steep turns task, and mixing the two would produce a matrix that measures the wrong certificate.
This is Decision 21 and product principle 1, expressed as table structure so it cannot quietly erode.
Coverage states what a Taught Ground Lesson demonstrably addressed. It is a statement about topics raised, never about how well. Its values are COVERED, PARTIAL, NOT RAISED, and PROMPTED GAP. PROMPTED GAP is the Decision 24 inversion: a topic the Simulated Student had to raise is recorded here, not as Coverage, because the Candidate did not raise it. Coverage is machine-proposed and carries the label machine-generated until an instructor confirms it under US-12.5.
Proficiency is the Supervising Instructor's judgment. It is recorded per area, not per task, which is what US-8.1 asks for. Its values are the Tracker Status vocabulary from CONTEXT.md, and only those: NOT LOGGED, IN PROGRESS, NEEDS WORK, PROFICIENT. Every Proficiency cell names the human who set it and the date they set it, per cross-cutting requirement 9.
No cell in this document is computed from another. A row that is COVERED across every task in an area does not make that area PROFICIENT, and an area that is PROFICIENT does not backfill Coverage. If you ever find yourself writing a formula between the two columns, the matrix has broken and so has the training record.
Recommendation blocking. Per US-8.1, any area without a PROFICIENT status blocks the practical test recommendation. That is a check on the Proficiency column alone. Coverage never blocks and never unblocks anything.
The certificate in scope is airplane single-engine land. The ACS covers ASEL, ASES, AMEL, and AMES in one document, so a number of its tasks do not apply here. They are listed anyway, marked n/a ASEL, for three reasons: so that nobody has to re-derive the exclusion list, so that an audit can see the exclusion was deliberate rather than an omission, and so that a future multiengine or seaplane axis has its rows already present.
A task marked n/a ASEL needs no lesson, gets no Coverage, and does not block a recommendation.
85 tasks total. 69 apply to ASEL. 16 do not.
Per Decision 12, nothing is built for CFII and the public page stays silent on it. The seam that lets a CFII axis arrive later without a restructure is this: the matrix is keyed on the ACS task code, and the certificate is a property of the table, not of the row. Adding CFII means adding a second table keyed on the flight instructor instrument ACS task codes, alongside this one, sharing the same column definitions, the same Coverage vocabulary, and the same Proficiency vocabulary. No row in this document changes. No lesson mapping in this document changes.
What is deliberately not done: no CFII column is added to these rows, and no row is pre-annotated "also CFII". That would be building for CFII, which Decision 12 rules out, and it would put two certificates in one table where a task's applicability differs between them.
| Column | Meaning |
|---|---|
| Code | The ACS's own task code. Area I is prefixed FI, areas II to XIV are prefixed AI. This is the join key for US-12.4 |
| Task | The task title, verbatim from FAA-S-ACS-25 |
| ASEL | Whether the task applies to the certificate in scope |
| Lessons | The lesson or lessons that claim this task. Empty until a lesson claims it |
| Coverage | COVERED, PARTIAL, NOT RAISED, PROMPTED GAP. Per candidate. Machine-proposed, instructor-confirmed |
| Proficiency | Per area, not per task. NOT LOGGED, IN PROGRESS, NEEDS WORK, PROFICIENT, with a name and a date |
Per-candidate Coverage and Proficiency are not recorded in this file. This file is the skeleton and the shared structure. A candidate's own instance is a copy of it in their Drive folder, per Decision 30. The Coverage column is shown here to fix the vocabulary, not to hold data.
Proficiency: NOT LOGGED · set by: not yet set · date: not yet set
| Code | Task | ASEL | Lessons |
|---|---|---|---|
FI.I.A | Effects of Human Behavior and Communication on the Learning Process | yes | 01, 07 |
FI.I.B | Learning Process | yes | 02, 07 |
FI.I.C | Course Development, Lesson Plans, and Classroom Training Techniques | yes | 03, 07 |
FI.I.D | Student Evaluation, Assessment, and Testing | yes | 04, 07 |
FI.I.E | Elements of Effective Teaching in a Professional Environment | yes | 05, 07 |
FI.I.F | Elements of Effective Teaching that Include Risk Management and Accident Prevention | yes | 06, 07 |
Six tasks, six applicable. This area is phase 1 in full and is the whole of Epic 3.
All six claimed. Phase 1 lessons 01 to 07 are written, both halves. Lesson 07 is the consolidation lesson and touches all six tasks, which is why it appears on every row.
Proficiency: NOT LOGGED · set by: not yet set · date: not yet set
| Code | Task | ASEL | Lessons |
|---|---|---|---|
AI.II.A | Human Factors | yes | 16 |
AI.II.B | Visual Scanning and Collision Avoidance | yes | 17 |
AI.II.C | Runway Incursion Avoidance | yes | 17 |
AI.II.D | Principles of Flight | yes | 08 |
AI.II.E | Aircraft Flight Controls and Operation of Systems | yes | 14 |
AI.II.F | Performance and Limitations | yes | 15 |
AI.II.G | National Airspace System | yes | 11 |
AI.II.H | Navigation Systems and Radar Services | yes | 19 |
AI.II.I | Navigation and Cross-Country Flight Planning | yes | 20 |
AI.II.J | 14 CFR and Publications | yes | 05, 09 |
AI.II.K | Endorsements and Logbook Entries | yes | 22 |
AI.II.L | Water and Seaplane Characteristics, Seaplane Bases, Maritime Rules, and Aids to Marine Navigation (ASES, AMES) | n/a ASEL | |
AI.II.M | Night Operations | yes | 18 |
AI.II.N | High Altitude Operations - Supplemental Oxygen | yes | 18 |
AI.II.O | High Altitude Operations - Pressurization | yes | 18 |
AI.II.P | One Engine Inoperative (OEI) Performance (AMEL, AMES) | n/a ASEL |
Sixteen tasks, fourteen applicable. This is the whole of Epic 4 and the largest single area.
Proficiency: NOT LOGGED · set by: not yet set · date: not yet set
| Code | Task | ASEL | Lessons |
|---|---|---|---|
AI.III.A | Pilot Qualifications | yes | 09 |
AI.III.B | Airworthiness Requirements | yes | 12 |
AI.III.C | Weather Information | yes | 21 |
Three tasks, three applicable.
Proficiency: NOT LOGGED · set by: not yet set · date: not yet set
| Code | Task | ASEL | Lessons |
|---|---|---|---|
AI.IV.A | Maneuver Lesson | yes | 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38 |
One task, applicable. Structurally the most important single row in this matrix. This is the ACS task that tests the preflight ground lesson on a maneuver, which is exactly what US-5.2 makes a graded element of every maneuver lesson. Every phase 3 maneuver lesson touches this row.
Claimed by all thirteen phase 3 flying lessons. Lesson 31 is the one phase 3 lesson that does not claim it: it is a ground lesson with no maneuver flown, and it claims AI.X.I alone. In each of the thirteen, the preflight ground lesson on the maneuver is part 1 of the four-part cycle in standards/MANEUVER-LESSON-SHAPE.md and is graded separately from the flying.
Proficiency: NOT LOGGED · set by: not yet set · date: not yet set
| Code | Task | ASEL | Lessons |
|---|---|---|---|
AI.V.A | Preflight Assessment | yes | 10 |
AI.V.B | Flight Deck Management | yes | 10 |
AI.V.C | Engine Starting | yes | 10 |
AI.V.D | Taxiing, Airport Signs, and Lighting (ASEL, AMEL) | yes | 10 |
AI.V.E | Taxiing and Sailing (ASES, AMES) | n/a ASEL | |
AI.V.F | Before Takeoff Check | yes | 10 |
Six tasks, five applicable.
Proficiency: NOT LOGGED · set by: not yet set · date: not yet set
| Code | Task | ASEL | Lessons |
|---|---|---|---|
AI.VI.A | Communications, Light Signals, and Runway Lighting Systems | yes | 10 |
AI.VI.B | Traffic Patterns | yes | 10, 13 |
Two tasks, two applicable.
Proficiency: NOT LOGGED · set by: not yet set · date: not yet set
| Code | Task | ASEL | Lessons |
|---|---|---|---|
AI.VII.A | Normal Takeoff and Climb | yes | 10, 13, 34 |
AI.VII.B | Normal Approach and Landing | yes | 10, 13, 34 |
AI.VII.C | Soft-Field Takeoff and Climb (ASEL) | yes | 35 |
AI.VII.D | Soft-Field Approach and Landing (ASEL) | yes | 35 |
AI.VII.E | Short-Field Takeoff and Maximum Performance Climb (ASEL, AMEL) | yes | 35 |
AI.VII.F | Short-Field Approach and Landing (ASEL, AMEL) | yes | 35 |
AI.VII.G | Confined Area Takeoff and Maximum Performance Climb (ASES, AMES) | n/a ASEL | |
AI.VII.H | Confined Area Approach and Landing (ASES, AMES) | n/a ASEL | |
AI.VII.I | Glassy Water Takeoff and Climb (ASES, AMES) | n/a ASEL | |
AI.VII.J | Glassy Water Approach and Landing (ASES, AMES) | n/a ASEL | |
AI.VII.K | Rough Water Takeoff and Climb (ASES, AMES) | n/a ASEL | |
AI.VII.L | Rough Water Approach and Landing (ASES, AMES) | n/a ASEL | |
AI.VII.M | Slip to a Landing (ASEL, ASES) | yes | 36 |
AI.VII.N | Go-Around/Rejected Landing | yes | 34 |
AI.VII.O | Power-Off 180° Accuracy Approach and Landing (ASEL, ASES) | yes | 36 |
Fifteen tasks, nine applicable. The six seaplane exclusions are the largest block of n/a ASEL rows in the matrix.
All nine applicable tasks claimed. Tasks A and B are introduced in phase 2 at private standards and re-claimed at lesson 34 as teaching content at commercial standards, which is the pattern the whole phase follows: fly it first, teach it later.
Proficiency: NOT LOGGED · set by: not yet set · date: not yet set
| Code | Task | ASEL | Lessons |
|---|---|---|---|
AI.VIII.A | Straight-and-Level Flight | yes | 10, 23, 25, 26 |
AI.VIII.B | Level Turns | yes | 10, 23, 25, 26 |
AI.VIII.C | Straight Climbs and Climbing Turns | yes | 10, 23, 25, 26 |
AI.VIII.D | Straight Descents and Descending Turns | yes | 10, 23, 25, 26 |
Four tasks, four applicable.
The four fundamentals are claimed four times each, and that is deliberate. Lesson 10 flies them at private standards, lesson 23 at commercial standards, lesson 25 teaches them as the vehicle for learning the four-part cycle, and lesson 26 uses them again for the talk-while-flying lesson. Both phase 3 lessons chose these tasks precisely because the flying is already known, so the new skill is the only difficulty.
Proficiency: NOT LOGGED · set by: not yet set · date: not yet set
| Code | Task | ASEL | Lessons |
|---|---|---|---|
AI.IX.A | Steep Turns | yes | 28 |
AI.IX.B | Steep Spiral (ASEL, ASES) | yes | 28 |
AI.IX.C | Chandelles (ASEL, ASES) | yes | 29 |
AI.IX.D | Lazy Eights (ASEL, ASES) | yes | 29 |
AI.IX.E | Ground Reference Maneuvers | yes | 27 |
AI.IX.F | Eights on Pylons (ASEL, ASES) | yes | 29 |
Six tasks, six applicable. This is the commercial maneuver set, and it is the area a P3 candidate with decayed precision is most likely to trigger US-5.7 on.
Proficiency: NOT LOGGED · set by: not yet set · date: not yet set
| Code | Task | ASEL | Lessons |
|---|---|---|---|
AI.X.A | Maneuvering During Slow Flight | yes | 30 |
AI.X.B | Demonstration of Flight Characteristics at Various Configurations and Airspeeds (ASEL and ASES) | yes | 30 |
AI.X.C | Power-Off Stalls | yes | 32 |
AI.X.D | Power-On Stalls | yes | 32 |
AI.X.E | Accelerated Stalls | yes | 32 |
AI.X.F | Cross-Controlled Stall Demonstration (ASEL, ASES) | yes | 33 |
AI.X.G | Elevator Trim Stall Demonstration (ASEL, ASES) | yes | 33 |
AI.X.H | Secondary Stall Demonstration (ASEL, ASES) | yes | 33 |
AI.X.I | Spin Awareness and Spins | yes | 31 |
Nine tasks, nine applicable. Per US-6.3 the stall tasks and AI.X.I are taught in separate lessons so that neither compresses the other, and per US-6.1 the spin ground lesson is required whether or not North Aero owns an aircraft approved for intentional spins.
Proficiency: NOT LOGGED · set by: not yet set · date: not yet set
| Code | Task | ASEL | Lessons |
|---|---|---|---|
AI.XI.A | Straight-and-Level Flight | yes | 37 |
AI.XI.B | Constant Airspeed Climbs | yes | 37 |
AI.XI.C | Constant Airspeed Descents | yes | 37 |
AI.XI.D | Turns to Headings | yes | 37 |
AI.XI.E | Recovery from Unusual Flight Attitudes | yes | 37 |
Five tasks, five applicable.
Proficiency: NOT LOGGED · set by: not yet set · date: not yet set
| Code | Task | ASEL | Lessons |
|---|---|---|---|
AI.XII.A | Emergency Descent | yes | 38 |
AI.XII.B | Emergency Approach and Landing (Simulated) (ASEL, ASES) | yes | 38 |
AI.XII.C | Systems and Equipment Malfunctions | yes | 38 |
AI.XII.D | Emergency Equipment and Survival Gear | yes | 38 |
AI.XII.E | Engine Failure During Takeoff Before VMC (Simulated) (AMEL, AMES) | n/a ASEL | |
AI.XII.F | Engine Failure After Liftoff (Simulated) (AMEL, AMES) | n/a ASEL | |
AI.XII.G | Approach and Landing with an Inoperative Engine (Simulated) (AMEL, AMES) | n/a ASEL |
Seven tasks, four applicable, all four claimed by lesson 38.
A note on US-5.6, because the expectation this section originally carried turned out to be wrong. The skeleton anticipated that these four rows would carry lesson mappings from outside phase 3, on the reasoning that emergency scenarios appear in more than one phase. They do, but not as claims on these rows, and the distinction is worth keeping straight.
Lessons 6, 12, 30, 32, 34, 35, 36, and 37 each carry an emergency scenario, and each claims its own ACS task rather than an Area XII task: the base-to-final scenario at lesson 6 is FI.I.F content, the squawk decision at lesson 12 is AI.III.B, the balked landing at lesson 34 is AI.VII.N, and so on. Area XII is claimed by lesson 38 alone, where emergency operations are taught as their own subject.
That is the correct outcome and not a gap. US-5.6 asks for emergency scenarios threaded through the program, which is a property of the lessons, not of this table. The thread is located and recorded in lesson 38's instructor plan and checked by program/MANEUVER-SET-RECONCILIATION.md, so the claim stays testable without inflating these four rows with lessons that do not actually claim them.
Proficiency: n/a ASEL. This area does not apply and does not block a recommendation
| Code | Task | ASEL | Lessons |
|---|---|---|---|
AI.XIII.A | Maneuvering with One Engine Inoperative (AMEL, AMES) | n/a ASEL | |
AI.XIII.B | VMC Demonstration (AMEL, AMES) | n/a ASEL | |
AI.XIII.C | Demonstration of Effects of Various Airspeeds and Configurations during Engine Inoperative Performance (AMEL and AMES) | n/a ASEL |
Three tasks, none applicable. The only area excluded in full.
Proficiency: NOT LOGGED · set by: not yet set · date: not yet set
| Code | Task | ASEL | Lessons |
|---|---|---|---|
AI.XIV.A | After Landing, Parking, and Securing (ASEL, AMEL) | yes | 38 |
AI.XIV.B | Seaplane Post-Landing Procedures (ASES, AMES) | n/a ASEL |
Two tasks, one applicable.
Regenerate this section whenever a lesson claims a task. It is the reason the matrix exists.
| Metric | Count |
|---|---|
ACS tasks in FAA-S-ACS-25 | 85 |
| Applicable to ASEL | 69 |
Excluded as n/a ASEL | 16 |
| Claimed by at least one written lesson | 69 |
| Applicable and unclaimed | 0 |
A task is counted as claimed when a written lesson claims it, not when the program structure plans for it. program/PROGRAM-STRUCTURE.md plans a lesson for all 69 applicable tasks, and as of 2026-08-13 all 38 of those lessons are written.
Every applicable task is claimed by at least one written lesson. Areas I by phase 1; II, III, V, VI by phase 2; IV, VII, VIII, IX, X, XI, XII, and XIV completed by phase 3. Area XIII is excluded in full as n/a ASEL.
No area has an unclaimed applicable task. That is the condition objective O4 measures, and reaching it at the end of phase 3 rather than at the mock checkride is the point of building this table first. program/MANEUVER-SET-RECONCILIATION.md records the check that established it.
What remains unwritten is phase 4, lessons 39 to 42, which claim no new tasks: they are the checkride preparation lessons and their ACS column reads "All". A phase 4 lesson therefore cannot close a gap in this table, which is precisely why the table had to be complete before phase 4 began.
A lesson claims a task by naming the task code in its instructor-facing plan, and the claim is recorded here in the same change. A claim made in only one of the two places is a defect, because the matrix stops being an instrument the moment it can be out of date.
Ticket 40 reconciles the maneuver set against this matrix at the end of phase 3. That is a check, not the mechanism. The mechanism is per lesson, and if it is working, ticket 40 finds nothing.
FAA-S-ACS-25 appears at task level, from the edition confirmed in ticket 02CONTEXT.md Tracker Status vocabulary and nothing else