{
  "__type": "IngestedDoc",
  "__tag": 4010,
  "_content": {},
  "_ordered_sections": [],
  "item_file": null,
  "item_line": null,
  "item_type": null,
  "aliases": [],
  "example_section_data": {
    "__type": "Section",
    "__tag": 4015,
    "children": [],
    "title": [],
    "level": 0,
    "target": null
  },
  "see_also": [],
  "signature": null,
  "references": null,
  "qa": "skips:0-skip-process",
  "arbitrary": [
    {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "FieldList",
          "__tag": 4035,
          "children": [
            {
              "__type": "FieldListItem",
              "__tag": 4036,
              "name": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "Author"
                }
              ],
              "body": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Jarrod Millman <millman@berkeley.edu>"
                    }
                  ]
                }
              ]
            },
            {
              "__type": "FieldListItem",
              "__tag": 4036,
              "name": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "Author"
                }
              ],
              "body": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Juan Nunez-Iglesias <juan.nunez-iglesias@monash.edu>"
                    }
                  ]
                }
              ]
            },
            {
              "__type": "FieldListItem",
              "__tag": 4036,
              "name": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "Author"
                }
              ],
              "body": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Stéfan van der Walt <stefanv@berkeley.edu>"
                    }
                  ]
                }
              ]
            },
            {
              "__type": "FieldListItem",
              "__tag": 4036,
              "name": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "Status"
                }
              ],
              "body": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Active"
                    }
                  ]
                }
              ]
            },
            {
              "__type": "FieldListItem",
              "__tag": 4036,
              "name": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "Type"
                }
              ],
              "body": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Process"
                    }
                  ]
                }
              ]
            },
            {
              "__type": "FieldListItem",
              "__tag": 4036,
              "name": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "Created"
                }
              ],
              "body": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "2019-07-30"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "title": [
        {
          "__type": "Text",
          "__tag": 4046,
          "value": "SKIP 0 — Purpose and Process"
        }
      ],
      "level": 0,
      "target": "skip0"
    },
    {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "SKIP stands for "
            },
            {
              "__type": "Strong",
              "__tag": 4048,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "s"
                }
              ]
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "i\\ "
            },
            {
              "__type": "Strong",
              "__tag": 4048,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "k"
                }
              ]
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "t-\\ "
            },
            {
              "__type": "Strong",
              "__tag": 4048,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "i"
                }
              ]
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "mage "
            },
            {
              "__type": "Strong",
              "__tag": 4048,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "p"
                }
              ]
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "roposal. A SKIP is a design document providing information to the community, or describing a new feature for scikit-image or its processes or environment. The SKIP should provide a rationale for the proposed change as well as a concise technical specification, if applicable."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "We intend SKIPs to be the primary mechanisms for proposing major new features, for collecting community input on an issue, and for documenting the design decisions that have gone into scikit-image. The SKIP author is responsible for building consensus within the community and documenting dissenting opinions."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "Because the SKIPs are maintained as text files in a versioned repository, their revision history is the historical record of the feature proposal "
            },
            {
              "__type": "FootnoteReference",
              "__tag": 4066,
              "label": "1"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "."
            }
          ]
        }
      ],
      "title": [
        {
          "__type": "Text",
          "__tag": 4046,
          "value": "What is a SKIP?"
        }
      ],
      "level": 1,
      "target": null
    },
    {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "There are three kinds of SKIPs:"
            }
          ]
        },
        {
          "__type": "BulletList",
          "__tag": 4053,
          "ordered": true,
          "start": 1,
          "children": [
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "A "
                    },
                    {
                      "__type": "Strong",
                      "__tag": 4048,
                      "children": [
                        {
                          "__type": "Text",
                          "__tag": 4046,
                          "value": "Standards Track"
                        }
                      ]
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " SKIP describes a new feature or implementation    for scikit-image."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "An "
                    },
                    {
                      "__type": "Strong",
                      "__tag": 4048,
                      "children": [
                        {
                          "__type": "Text",
                          "__tag": 4046,
                          "value": "Informational"
                        }
                      ]
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " SKIP describes a scikit-image design issue, or provides    general guidelines or information to the Python community, but does not    propose a new feature. Informational SKIPs do not necessarily represent a    scikit-image community consensus or recommendation, so users and    implementers are free to ignore Informational SKIPs."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "A "
                    },
                    {
                      "__type": "Strong",
                      "__tag": 4048,
                      "children": [
                        {
                          "__type": "Text",
                          "__tag": 4046,
                          "value": "Process"
                        }
                      ]
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " SKIP describes a process surrounding scikit-image, or    proposes a change to (or an event in) a process. Process SKIPs are    like Standards Track SKIPs but apply to areas other than the scikit-image    library itself. They may propose an implementation, but not to    scikit-image's codebase; they require community consensus. Examples include    procedures, guidelines, changes to the decision-making process, and changes    to the tools or environment used in scikit-image development. Any meta-SKIP    is also considered a Process SKIP."
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "title": [
        {
          "__type": "Text",
          "__tag": 4046,
          "value": "Types"
        }
      ],
      "level": 2,
      "target": null
    },
    {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "The SKIP process begins with a new idea for scikit-image. A SKIP should contain a single key proposal or new idea. Small enhancements or patches often don't need a SKIP and can be injected into the scikit-image development workflow with a pull request to the scikit-image "
            },
            {
              "__type": "Link",
              "__tag": 4049,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "repo"
                }
              ],
              "url": "https://github.com/scikit-image/scikit-image",
              "title": ""
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ". The more focused the SKIP, the more likely it is to be accepted."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "Each SKIP must have a champion---someone who writes the SKIP using the style and format described below, shepherds the discussions in the appropriate forums, and attempts to build community consensus around the idea.  The SKIP champion (a.k.a. Author) should first attempt to ascertain whether the idea is suitable for a SKIP. Posting to the scikit-image "
            },
            {
              "__type": "Link",
              "__tag": 4049,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "developer forum"
                }
              ],
              "url": "https://discuss.scientific-python.org/c/contributor/skimage",
              "title": ""
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " is the best way to do this."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "The proposal should be submitted as a draft SKIP via a "
            },
            {
              "__type": "Link",
              "__tag": 4049,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "GitHub pull request"
                }
              ],
              "url": "https://github.com/scikit-image/scikit-image/pulls",
              "title": ""
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " to the "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "doc/source/skips"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " directory with the name "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "skip-<n>.rst"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " where "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "<n>"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " is an appropriately assigned number (e.g., "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "skip-35.rst"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "). The draft must use the "
            },
            {
              "__type": "CrossRef",
              "__tag": 4002,
              "value": "skip_template",
              "reference": {
                "__type": "LocalRef",
                "__tag": 4022,
                "kind": "docs",
                "path": "skips:template"
              },
              "kind": "exists"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " file."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "Once the PR is in place, the SKIP should be announced on the developer forum for discussion (comments on the PR itself should be restricted to minor editorial and technical fixes)."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "At the earliest convenience, the PR should be merged (regardless of whether it is accepted during discussion). A SKIP that outlines a coherent argument and that is considered reasonably complete should be merged optimistically, regardless of whether it is accepted during discussion. Additional PRs may be made by the author to update or expand the SKIP, or by maintainers to set its status, discussion URL, etc."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "Standards Track SKIPs consist of two parts, a design document and a reference implementation. It is generally recommended that at least a prototype implementation be co-developed with the SKIP, as ideas that sound good in principle sometimes turn out to be impractical. Often it makes sense for the prototype implementation to be made available as PR to the scikit-image repo, as long as it is properly marked as WIP (work in progress)."
            }
          ]
        }
      ],
      "title": [
        {
          "__type": "Text",
          "__tag": 4046,
          "value": "SKIP Workflow"
        }
      ],
      "level": 1,
      "target": null
    },
    {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "SKIPs are discussed on the developer forum. The possible paths of the status of SKIPs are as follows:"
            }
          ]
        },
        {
          "__type": "Figure",
          "__tag": 4024,
          "value": {
            "__type": "RefInfo",
            "__tag": 4000,
            "module": "skimage",
            "version": "0.26.1rc0.dev0+git20260530.b607368ff",
            "kind": "assets",
            "path": "skip-flowchart.png"
          }
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "All SKIPs should be created with the "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Draft"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " status."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "Eventually, after discussion, there may be a consensus that the SKIP should be accepted – see the next section for details. At this point the status becomes "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Accepted"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "Once a SKIP has been "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Accepted"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ", the reference implementation must be completed. When the reference implementation is complete and incorporated into the main source code repository, the status will be changed to "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Final"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "To allow gathering of additional design and interface feedback before committing to long term stability for a language feature or standard library API, a SKIP may also be marked as \"Provisional\". This is short for \"Provisionally Accepted\", and indicates that the proposal has been accepted for inclusion in the reference implementation, but additional user feedback is needed before the full design can be considered \"Final\". Unlike regular accepted SKIPs, provisionally accepted SKIPs may still be Rejected or Withdrawn even after the related changes have been included in a release."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "Wherever possible, it is considered preferable to reduce the scope of a proposal to avoid the need to rely on the \"Provisional\" status (e.g. by deferring some features to later SKIPs), as this status can lead to version compatibility challenges in the wider ecosystem."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "A SKIP can also be assigned status "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Deferred"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ". The SKIP author or a core developer can assign the SKIP this status when no progress is being made on the SKIP."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "A SKIP can also be "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Rejected"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ". Perhaps after all is said and done it was not a good idea. It is still important to have a record of this fact. The "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Withdrawn"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " status is similar---it means that the SKIP author themselves has decided that the SKIP is actually a bad idea, or has accepted that a competing proposal is a better alternative."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "When a SKIP is "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Accepted"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ", "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Rejected"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ", or "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Withdrawn"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ", the SKIP should be updated accordingly. In addition to updating the status field, at the very least the "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Resolution"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " header should be added with a link to the relevant post on the discussion forum."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "SKIPs can also be "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Superseded"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " by a different SKIP, rendering the original obsolete. The "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Replaced-By"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " and "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Replaces"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " headers should be added to the original and new SKIPs respectively."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "Process SKIPs may also have a status of "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Active"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " if they are never meant to be completed, e.g. SKIP 0 (this SKIP)."
            }
          ]
        }
      ],
      "title": [
        {
          "__type": "Text",
          "__tag": 4046,
          "value": "Review and Resolution"
        }
      ],
      "level": 2,
      "target": null
    },
    {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "A SKIP is "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Accepted"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " by consensus of all interested contributors. We need a concrete way to tell whether consensus has been reached. When you think a SKIP is ready to accept, start a topic on the developer forum with a subject like:"
            }
          ]
        },
        {
          "__type": "Blockquote",
          "__tag": 4059,
          "children": [
            {
              "__type": "Paragraph",
              "__tag": 4045,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "Proposal to accept SKIP #<number>: <title>"
                }
              ]
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "In the body of your email, you should:"
            }
          ]
        },
        {
          "__type": "BulletList",
          "__tag": 4053,
          "ordered": false,
          "start": 1,
          "children": [
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "link to the latest version of the SKIP,"
                    }
                  ]
                }
              ]
            },
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "briefly describe any major points of contention and how they were   resolved,"
                    }
                  ]
                }
              ]
            },
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "include a sentence like: \"If there are no substantive objections   within 7 days from this email, then the SKIP will be accepted; see   SKIP 0 for more details.\""
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "For an equivalent example in the NumPy library, see: https://mail.python.org/pipermail/numpy-discussion/2018-June/078345.html"
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "After you send the email, you should make sure to link to the email thread from the "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Discussion"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " section of the SKIP, so that people can find it later."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "Generally the SKIP author will be the one to send this email, but anyone can do it – the important thing is to make sure that everyone knows when a SKIP is on the verge of acceptance, and give them a final chance to respond. If there's some special reason to extend this final comment period beyond 7 days, then that's fine, just say so in the email. You shouldn't do less than 7 days, because sometimes people are travelling or similar and need some time to respond."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "In general, the goal is to make sure that the community has consensus, not provide a rigid policy for people to try to game. When in doubt, err on the side of asking for more feedback and looking for opportunities to compromise."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "If the final comment period passes without any substantive objections, then the SKIP can officially be marked "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Accepted"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ". You should send a followup email notifying the list (celebratory emoji optional but encouraged 🎉✨), and then update the SKIP by setting its "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": ":Status:"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " to "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Accepted"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ", and its "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": ":Resolution:"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " header to a link to your followup email."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "If there "
            },
            {
              "__type": "Emphasis",
              "__tag": 4047,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "are"
                }
              ]
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " substantive objections, then the SKIP remains in "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Draft"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " state, discussion continues as normal, and it can be proposed for acceptance again later once the objections are resolved."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "In unusual cases, when no consensus can be reached between core developers, the "
            },
            {
              "__type": "Link",
              "__tag": 4049,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "scikit-image Steering Council"
                }
              ],
              "url": "https://scikit-image.org/docs/stable/skips/1-governance.html",
              "title": ""
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " may be asked to decide whether a controversial SKIP is "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Accepted"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "."
            }
          ]
        }
      ],
      "title": [
        {
          "__type": "Text",
          "__tag": 4046,
          "value": "How a SKIP becomes Accepted"
        }
      ],
      "level": 2,
      "target": null
    },
    {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "In general, Standards track SKIPs are no longer modified after they have reached the Final state, as the code and project documentation are considered the ultimate reference for the implemented feature. They may, however, be updated under special circumstances."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "Process SKIPs may be updated over time to reflect changes to development practices and other details. The precise process followed in these cases will depend on the nature and purpose of the SKIP being updated."
            }
          ]
        }
      ],
      "title": [
        {
          "__type": "Text",
          "__tag": 4046,
          "value": "Maintenance"
        }
      ],
      "level": 2,
      "target": null
    },
    {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "SKIPs are UTF-8 encoded text files using the "
            },
            {
              "__type": "Link",
              "__tag": 4049,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "reStructuredText"
                }
              ],
              "url": "https://docutils.sourceforge.io/rst.html",
              "title": ""
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " format.  Please see the "
            },
            {
              "__type": "CrossRef",
              "__tag": 4002,
              "value": "skip_template",
              "reference": {
                "__type": "LocalRef",
                "__tag": 4022,
                "kind": "docs",
                "path": "skips:template"
              },
              "kind": "exists"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " file and the "
            },
            {
              "__type": "Link",
              "__tag": 4049,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "reStructuredTextPrimer"
                }
              ],
              "url": "http://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html",
              "title": ""
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " for more information.  We use "
            },
            {
              "__type": "CrossRef",
              "__tag": 4002,
              "value": "Sphinx",
              "reference": {
                "__type": "LocalRef",
                "__tag": 4022,
                "kind": "docs",
                "path": "skips:0-skip-process"
              },
              "kind": "exists"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " to convert SKIPs to HTML for viewing on the web "
            },
            {
              "__type": "FootnoteReference",
              "__tag": 4066,
              "label": "2"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "."
            }
          ]
        }
      ],
      "title": [
        {
          "__type": "Text",
          "__tag": 4046,
          "value": "Format and Template"
        }
      ],
      "level": 1,
      "target": null
    },
    {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "Each SKIP must begin with a header preamble.  The headers must appear in the following order.  Headers marked with "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "*"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " are optional.  All other headers are required.       "
            }
          ]
        },
        {
          "__type": "Code",
          "__tag": 4050,
          "value": "  :Author: <list of authors' real names and optionally, email addresses>\n  :Status: <Draft | Active | Accepted | Deferred | Rejected |\n           Withdrawn | Final | Superseded>\n  :Type: <Standards Track | Process>\n  :Created: <date created on, in dd-mmm-yyyy format>\n* :Requires: <skip numbers>\n* :skimage-Version: <version number>\n* :Replaces: <skip number>\n* :Replaced-By: <skip number>\n* :Resolution: <url>",
          "execution_status": null
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "The Author header lists the names, and optionally the email addresses of all the authors of the SKIP.  The format of the Author header value must be"
            }
          ]
        },
        {
          "__type": "Blockquote",
          "__tag": 4059,
          "children": [
            {
              "__type": "Paragraph",
              "__tag": 4045,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "Random J. User <address@dom.ain>"
                }
              ]
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "if the email address is included, and just"
            }
          ]
        },
        {
          "__type": "Blockquote",
          "__tag": 4059,
          "children": [
            {
              "__type": "Paragraph",
              "__tag": 4045,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "Random J. User"
                }
              ]
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "if the address is not given.  If there are multiple authors, each should be on a separate line."
            }
          ]
        }
      ],
      "title": [
        {
          "__type": "Text",
          "__tag": 4046,
          "value": "Header Preamble"
        }
      ],
      "level": 2,
      "target": null
    },
    {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "BulletList",
          "__tag": 4053,
          "ordered": false,
          "start": 1,
          "children": [
            {
              "__type": "ListItem",
              "__tag": 4054,
              "children": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "https://github.com/scikit-image/scikit-image/pull/3585"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "title": [
        {
          "__type": "Text",
          "__tag": 4046,
          "value": "Discussion"
        }
      ],
      "level": 1,
      "target": null
    },
    {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Footnote",
          "__tag": 4067,
          "label": "1",
          "children": [
            {
              "__type": "Paragraph",
              "__tag": 4045,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "This historical record is available by the normal git commands    for retrieving older revisions, and can also be browsed on    "
                },
                {
                  "__type": "Link",
                  "__tag": 4049,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "GitHub"
                    }
                  ],
                  "url": "https://github.com/scikit-image/scikit-image/tree/main/doc/source/skips",
                  "title": ""
                },
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "."
                }
              ]
            }
          ]
        },
        {
          "__type": "Footnote",
          "__tag": 4067,
          "label": "2",
          "children": [
            {
              "__type": "Paragraph",
              "__tag": 4045,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "The URL for viewing SKIPs on the web is    https://scikit-image.org/docs/stable/skips/"
                }
              ]
            }
          ]
        },
        {
          "__type": "Target",
          "__tag": 4061,
          "label": "repo"
        },
        {
          "__type": "Target",
          "__tag": 4061,
          "label": "developer forum"
        },
        {
          "__type": "Target",
          "__tag": 4061,
          "label": "issue tracker"
        },
        {
          "__type": "Target",
          "__tag": 4061,
          "label": "scikit-image Steering Council"
        },
        {
          "__type": "Target",
          "__tag": 4061,
          "label": "GitHub pull request"
        },
        {
          "__type": "Target",
          "__tag": 4061,
          "label": "reStructuredText"
        },
        {
          "__type": "Target",
          "__tag": 4061,
          "label": "reStructuredTextPrimer"
        }
      ],
      "title": [
        {
          "__type": "Text",
          "__tag": 4046,
          "value": "References and Footnotes"
        }
      ],
      "level": 1,
      "target": null
    },
    {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "This document has been placed in the public domain."
            }
          ]
        }
      ],
      "title": [
        {
          "__type": "Text",
          "__tag": 4046,
          "value": "Copyright"
        }
      ],
      "level": 1,
      "target": "Sphinx"
    }
  ],
  "local_refs": []
}