Mark section as finished
A “sophisticated” solution:
\documentclass{article}
\usepackage{xparse,xcolor}
% remove for the final version
\let\latexsection\section
\newif\ifsectioncompleted
\RenewDocumentCommand{\section}{sO{#3}m}{%
\IfBooleanTF{#1}
{\latexsection*{#3}}% starred sections don't go in the TOC
{\let\greensection\relax % we don't want green in headers
\ifsectioncompleted
\latexsection[\greensection#2]{#3}%
\else
\latexsection[#2]{#3}%
\fi
\global\sectioncompletedfalse
}%
}
\NewDocumentCommand{\completed}{}{\global\sectioncompletedtrue}
\NewDocumentCommand{\greensection}{}{\color{green!70!red}}
% END of code to remove (remember to remove also \completed in the text)
\begin{document}
\tableofcontents
\bigskip
\hrule
\bigskip
\completed\section{Introduction}
Blah blah
\section{I need to work on this one}
Blah blah
\completed\section{This one is finished}
Blah blah
\end{document}
I'd use
\section{\YeyIveFinished{Foo}}
with
\newcommand\YeyIveFinished[1]{#1}
or
\newcommand\YeyIveFinished[1]{\protect\textcolor{green}{#1}}
in the preamble, as required.