There is the key node contents
that specifically allows you to drop the empty braces, {}
. A minor pitfall is that this key needs to come after the name of the node.
\documentclass[tikz,border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}[circle only/.style={circle,draw,inner sep=2pt,node contents={}}]
\path node (P) [circle only] ;
%\path node[circle only] (P) ; % does not work
\draw (P.north west) -- ++ (-1,1);
\end{tikzpicture}
\end{document}
Image may be NSFW.
Clik here to view.
For somewhat more advanced options look up the definition of vertex
that ships with tikz-feynman
.