Athenode

Specifications in the web UI

The Specifications page of the web UI shows a project's specification tree and is where you read, create and change specifications by hand. A specification is one described piece of work, with a title, a summary, Markdown content, a status and its own questions and answers. The specification tree is the hierarchy of a project's specifications. Any specification can have sub-specifications, to any depth.

The page shows every change as it happens, including the changes your AI coding agent makes through the Athenode MCP server, so you can keep it open while a skill runs. Specifications and the specification tree explains statuses, blockers, questions and plans.

On the local athenode daemon, every action of the Specifications page is open to you. On Athenode Pro, a viewer reads the page and sees View only in place of New specification, an editor does every task except deleting, and an owner deletes too. Project roles lists the permissions.

Open the Specifications page

  1. Open the web UI, at http://127.0.0.1:3717 for the daemon or at your Pro server's address.
  2. Open the project. The project switcher in the sidebar lists your projects.
  3. In the sidebar group Specs, open Specifications.

The page opens in the Tree view. The View switch at the top of the page chooses between Tree and Orbit. The address of the page names the view, so a reload or a copied link opens the same view. A specification linked from a ToDo card or from the In progress card of the project overview opens on this page already selected.

A project without specifications shows "This project has no specifications yet." with Create the first specification, and the Orbit view shows Add the first specification.

Browse the tree in the Tree view

The Tree view has two panes: the tree on the left and the selected specification on the right.

  • Each row of the tree shows a status dot and the title. Draft is a hollow ring, Prepared brass, Processing teal and Completed green, and the legend below the tree repeats this. A specification with sub-specifications shows their number and a chevron that expands or collapses them.
  • Sub-specifications are listed in the order they were created. The tree has no drag-and-drop and no manual ordering. To move a specification, change its parent, as Move a specification to another parent describes.
  • Select a row to open the specification in the right pane. With nothing selected, the pane says "Select a specification in the tree to see its content, plan and questions."
  • Drag the divider between the panes to give the tree between 220 and 520 pixels. With the divider focused, the arrow keys, Home and End resize it. The browser remembers the width you chose. In a narrow window the two panes are stacked.

The selected specification shows, from the top:

  • the path of the specifications above it, each of which opens when you select it;
  • the title, with Edit, Child and the More actions menu, which holds Delete;
  • the status, which opens the menu of the four statuses, and when it was last updated;
  • the line "Blocked by" with the specifications it waits for, "Blocks" with the specifications that wait for it, and Manage blockers;
  • the tabs Content, Plan and Questions.

Content shows the summary and then the content as formatted Markdown. When the content has two or more headings, an "On this page" outline appears beside it and marks the section in view. Plan appears on leaf specifications only. A leaf specification is a specification with no sub-specifications. Questions shows the number of open questions, or the number of questions when all are answered.

Browse the tree in the Orbit view

The Orbit view shows the specification tree as a half circle, with an inspector beside it.

  1. Select Orbit in the View switch.
  2. Read the map. The top-level specifications share the half circle, and their sub-specifications fill the rings outside them, three rings at a time. The size of a slice follows the number of leaves below it. The coloured edge of a slice marks its status, and a red hatch marks a specification that waits for a blocker that is not Completed. The centre shows how many leaves are done, as "X of Y done".
  3. Point at a slice or select it to see its links. Red curves lead from its blockers into it, and teal curves lead from it to the specifications it blocks.
  4. Select a slice to open it in the inspector. A slice with sub-specifications also zooms in, so that its rings fill the map.
  5. To step back out, select the centre or press Escape. The trail above the map names the path to the slice in focus, and any part of it takes you back there.

With the keyboard, one slice is in the tab order. The left and right arrow keys move along its ring, Home and End to the ends of the ring, the up arrow to its first sub-specification and the down arrow to its parent. Enter or Space opens the slice, and Escape steps out.

With nothing selected, the inspector shows the progress of the project as "N of M deliverables done", where a deliverable is a leaf, with a strip that counts the leaves of each status. Below it are three lists, each with its first five rows and "Show N more":

List What it holds
Waiting on others Specifications that wait for a blocker that is not Completed, each with the blocker it waits on
In progress Leaves that are Processing
Ready to start Leaves that are Prepared and wait for no blocker

Pointing at a row highlights the specification on the map, and selecting it opens it.

With a specification selected, the inspector shows Part of with its parent, arrows to the previous and next specification at the same level with its position as "i of n", and the same details as the Tree view. A specification with sub-specifications also lists them under Sub-specifications, with "X of Y deliverables done". Close the specification returns the inspector to the project's progress. Drag the divider to give the inspector between 340 and 960 pixels.

Search for a specification

You search to find a specification by a word you remember from its title, summary or content.

  1. Enter a word or part of a word in Search specifications, above the tree or above the map.
  2. Wait a moment after you stop typing. The results replace the tree.

In the Tree view, the results are shown as a tree: up to 20 matches, best matches first, each with the specifications above it. In the Orbit view, only the branches that hold a match stay on the map, and the specifications on the way to a match are dimmed. When nothing matches, the page says "No specification matches the search." Clear the box to see the whole tree again.

On an Athenode Pro server whose administrator turned on search by meaning, the box also finds specifications that describe the same thing in other words. Configure Athenode Pro says how an administrator turns it on.

Create a specification

You create a specification by hand to note a piece of work in the tree without running a mind map. On Athenode Pro you need the editor or owner role.

  1. Select New specification at the top of the page.
  2. Enter the Title. It is required, and an empty title shows "Enter a title."
  3. Optional: enter a Summary and the Content (Markdown).
  4. Optional: choose the Parent. None (top level) makes it a top-level specification.
  5. Optional: choose the Status. A new specification is a Draft unless you choose another.
  6. Optional: choose the specifications it waits for in Blocked by. Hold Ctrl or ⌘ to choose more than one. Completed specifications are not listed.
  7. Select Create specification.

The new specification appears in the tree and opens. If a blocker you chose breaks one of the blocker rules, the form names it and nothing is created. Change the selection and create it again.

To shape a new specification by questions, run /atn:mindmap in your AI tool. The specification appears on this page as soon as the skill creates it.

Add a sub-specification

You add a sub-specification to break a specification down by hand. On Athenode Pro you need the editor or owner role.

  1. Select the specification that will be the parent.
  2. Select Child. In the Orbit view, you can instead select Add a sub-specification next to Sub-specifications in the inspector.
  3. Fill in the form as in Create a specification. The Parent is already set.
  4. Select Create specification.

A leaf that gets its first sub-specification stops being a leaf, and its Plan tab disappears. To break a specification into stages together with your AI agent, run /atn:decompose.

Edit a specification

You edit a specification to change its title, summary, content, parent or status. On Athenode Pro you need the editor or owner role.

  1. Select the specification.
  2. Select Edit. The form Edit specification opens with the current values.
  3. Change the fields.
  4. Select Save.

The specification shows the new text, and "Updated" shows the time of the change. The blockers of an existing specification are changed with Manage blockers, which the edit form does not hold. If an agent or another tab changed the specification while the form was open, the save stops, as Resolve a change made in the meantime describes.

Move a specification to another parent

A specification moves when you change its parent, and its whole subtree moves with it. On Athenode Pro you need the editor or owner role.

  1. Select the specification and select Edit.
  2. Choose the new Parent, or None (top level). The specification itself and the specifications below it are not offered.
  3. Select Save.

A move is refused when it would put two specifications that block one another above and below each other in the tree, or would create a cycle of blockers. The form names the links in the way. Remove them with Manage blockers, then move the specification again. Moving a specification out from under a parent also ends the blockers it inherited from that parent.

Change the status of a specification

You change a status by hand to make a specification available to an apply run again, or to record work finished outside Athenode. On Athenode Pro you need the editor or owner role.

  1. Select the specification.
  2. Select its status, next to "Updated".
  3. Choose Draft, Prepared, Processing or Completed.

The status changes at once, in the tree and on the map. Any status can be set from any other, and blockers do not prevent it. Setting a leaf to Completed by hand leaves its parent's status as it is. The Status field of the edit form changes the status as well.

Manage the blockers of a specification

A blocker is a dependency between two specifications: a specification that is blocked by another is implemented after it. You manage blockers to change the order of an apply run. On Athenode Pro you need the editor or owner role.

  1. Select the specification.
  2. Select Manage blockers, under the status.
  3. To remove a blocker, select the remove button next to it in the list.
  4. To add a blocker, choose it in Choose a specification and select Add blocker. The list leaves out the specification itself, its current blockers and Completed specifications.
  5. Select Manage blockers again to close the panel.

The "Blocked by" and "Blocks" lines show the change at once, and the specification you added appears in the "Blocks" line of the blocker. A blocker that breaks one of the blocker rules, such as a specification above or below this one in the tree, is refused, and the panel shows the reason. "Not blocked by any specification." means the specification has no blockers of its own.

The panel lists the specification's own blockers. A blocker it inherits from a specification above it is managed on that specification.

Write or edit an implementation plan

The implementation plan says how a leaf will be built in your codebase. An apply run writes it for you, and you can write or change it on the Plan tab of a leaf. On Athenode Pro you need the editor or owner role.

  1. Select the leaf and open the Plan tab. A leaf without a plan shows "No implementation plan yet."
  2. Select Add plan, or Edit plan when the leaf has one.
  3. Write the plan in Implementation plan (Markdown).
  4. Select Save plan, or Cancel to leave it as it was.

The plan is shown as formatted Markdown, with an "On this page" outline when it has two or more headings. Saving an empty plan removes it.

To remove a plan, select Clear plan and confirm in "Clear the implementation plan?". The plan is removed, and the content and questions of the specification stay. The next apply run on the leaf writes a new plan, and planning a leaf again replaces the plan it has.

Answer a question

Your AI agent stores its questions on the specification, and you can answer them here or in your AI tool. The agent continues once a question is answered. On Athenode Pro you need the editor or owner role.

  1. Select the specification and open the Questions tab. Its label shows how many questions are open.
  2. Find a question marked Open. Each question shows its number, its text with the first line in bold, and when it was asked.
  3. Choose an option. A single choice takes one option, a multiple choice any number. The option the agent recommends is marked Recommended.
  4. Optional: write your own answer in Markdown, in place of an option or in addition to it.
  5. Select Answer.

The question is marked Answered. Its options are locked, with the ones you chose highlighted, and your own text is shown below them. An answered question cannot be changed on this page. Your agent can record a new answer to it, which replaces yours, so ask it in your AI tool when you change your mind.

The project overview shows the number of open questions under Needs attention, with a link to this page.

Ask a question

You ask a question to record a decision that is still open on a specification, so that the agent or another member answers it. On Athenode Pro you need the editor or owner role.

  1. Select the specification and open the Questions tab.
  2. Write the question in Ask a question, below the list. Its placeholder shows the format.
  3. Optional: add the options, one per line, as - A) … for a single choice or - [ ] A) … for a multiple choice. Add (Recommended) after the option you recommend.
  4. Select Add question.

The question is added at the end of the list, marked Open. A question cannot be edited or deleted once it is added.

Delete a specification

You delete a specification that is no longer wanted, together with everything below it. On Athenode Pro you need the owner role.

Warning

Deleting a specification deletes every specification below it. This cannot be undone.

  1. Select the specification.
  2. Open More actions next to Child and select Delete.
  3. Read the dialog "Delete this specification?". When the specification has sub-specifications, it lists them under "Deleted with it", with their number.
  4. Select Delete.
  5. If specifications outside the deleted part of the tree are blocked by it or by one of its sub-specifications, a second dialog, "Other specifications depend on it", lists them under "Blocked by it". Select Delete anyway to delete and drop those links, or Cancel to keep everything.

The specification and its sub-specifications leave the tree with their questions, answers and plans. The specifications that depended on them stop waiting for them. A ToDo card that came from a deleted specification, or that became one, is kept and loses its link.

Resolve a change made in the meantime

A save stops with the dialog "Changed in the meantime" when the specification was changed after you started your change, in another tab or by an agent. Your change is not saved, and the specification keeps the other change.

  1. Select Re-read in the dialog. The page loads the current version of the specification. An edit form or a plan you were writing stays open, with your text.
  2. Compare your text with the current version and make your change again.
  3. Save.

Close closes the dialog without re-reading.

Work with specifications from your AI tool

  • The skills of the standard plugin create and change specifications for you: /atn:mindmap shapes one by questions, /atn:decompose breaks one into stages and /atn:apply implements it.
  • Your AI agent reads, searches and changes specifications, their questions, plans and blockers with the specs_* tools of the Athenode MCP server. A deletion through the MCP server takes effect without a confirmation step.