Research output types
Research output types: skills, tools, agents, knowledge
- Five output types are enumerated consistently across three authoritative locations (`AGENTS.md`, `Research/README.md`, `Research/_template.md`): `skill`, `tool`, `agent`, `knowledge`, and `backlog-item`, with no discrepancies between the three sources
- `knowledge` is the default and universal output type because the completed research item itself — containing Findings, Evidence Map, and Key Findings — constitutes a structured knowledge artifact stored in `Research/completed/` and published to the GitHub wiki automatically by `publish-wiki.yml`
- `tool` outputs are stored in `src/` and have a documented 6-step handling procedure in `AGENTS.md`: create the Python file, write tests, register in the CLI, optionally write an ADR, and update `BACKLOG.md` and `PROGRESS.md`
- `skill` outputs are stored as named directories containing a `SKILL.md` file in `davidamitchell/Skills`; the repository currently has 13 skill directories, and the submodule sync to `.github/skills/` and `.claude/skills/` is automated via `sync-skills.yml`
- The `skill` output type is under-acted in the corpus: two completed items declare it in their front-matter, but neither contains a link to a newly created skill directory in `davidamitchell/Skills`, indicating the handling step has not been completed
- The `agent` output type has no documented storage location or handling procedure beyond its one-line definition in `AGENTS.md`; no completed research item has used this output type in 26 completed items
- `backlog-item` outputs spawn numbered W-XXXX entries in `BACKLOG.md` and are the second most common output type, appearing in 13 of 26 completed items; the handling convention (append entry, assign number, link from `## Output`) is well-understood and consistently applied
- No additional output types are warranted: "dataset" folds into `tool` or `knowledge`; "prompt template" folds into `skill` or `agent`; the five-type taxonomy has been stable since the repository's founding with no gaps requiring extension over 26 completed items
Research Question
What are the possible output types from a research item, and how should each type be handled, stored, and acted upon?
Findings
Executive Summary
The research item output taxonomy consists of exactly five types — skill, tool, agent, knowledge, and backlog-item — defined consistently across AGENTS.md, Research/README.md, and Research/_template.md. The taxonomy is sufficient: no additional types such as "dataset" or "prompt template" are warranted because they fold cleanly into existing types. The handling procedures for tool, knowledge, and backlog-item are well-defined and demonstrated by the completed corpus; the procedures for skill (creating a directory and SKILL.md in the external Skills repo) and agent (no storage convention exists) are under-documented and have not been fully acted upon in any completed item.
Key Findings
- Five output types are enumerated consistently across three authoritative locations (
AGENTS.md,Research/README.md,Research/_template.md):skill,tool,agent,knowledge, andbacklog-item, with no discrepancies between the three sources. tooloutputs are stored insrc/and have a documented 6-step handling procedure inAGENTS.md: create the Python file, write tests, register in the CLI, optionally write an ADR, and updateBACKLOG.mdandPROGRESS.md.skilloutputs are stored as named directories containing aSKILL.mdfile indavidamitchell/Skills; the repository currently has 13 skill directories, and the submodule sync to.github/skills/and.claude/skills/is automated viasync-skills.yml.- The
skilloutput type is under-acted in the corpus: two completed items declare it in their front-matter, but neither contains a link to a newly created skill directory indavidamitchell/Skills, indicating the handling step has not been completed. - The
agentoutput type has no documented storage location or handling procedure beyond its one-line definition inAGENTS.md; no completed research item has used this output type in 26 completed items. backlog-itemoutputs spawn numbered W-XXXX entries inBACKLOG.mdand are the second most common output type, appearing in 13 of 26 completed items; the handling convention (append entry, assign number, link from## Output) is well-understood and consistently applied.- No additional output types are warranted: "dataset" folds into
toolorknowledge; "prompt template" folds intoskilloragent; the five-type taxonomy has been stable since the repository's founding with no gaps requiring extension over 26 completed items. - The
output:front-matter field (array, e.g.output: [knowledge, backlog-item]) makes output types machine-readable; the## Outputsection provides the human-readable description, type, and links — both fields are required for a complete output record.
Assumptions
- Assumption: "prompt template" outputs do not require a separate output type. Justification: Prompt templates consumed from the Skills submodule are
skilloutputs; standalone prompt files likeresearch-prompt.mdareagentoutputs; the distinction is one of deployment mechanism rather than fundamental type. - Assumption: An
agentoutput most plausibly maps to a prompt file at the repo root or a configuration in.github/. Justification:research-prompt.mdand.github/mcp.jsonare the only agent-like configurations in the repository; no other format is in use and no convention points elsewhere.
Analysis
Risks, Gaps, and Uncertainties
- Gap: The
agentoutput type has no storage convention. If a research item produces an agent configuration, there is no documented guidance on where to store it or what format it should take. This gap is not urgent (no completed item has triggered it) but will become a problem when the first agent-type output is produced. - Gap: The
skillhandling procedure is under-documented in AGENTS.md. The single sentence "add it to the Skills repo first" does not explain the directory/SKILL.md structure, the authentication method for committing to an external repository, or how to link the resulting skill from the research item's## Outputsection. - Uncertainty: The
knowledgetype is simultaneously implicit (every item is a knowledge artifact) and explicit (an ADR or README update was also produced). This dual meaning has not caused problems in practice, but it creates ambiguity about what an agent should do when a research item produces a knowledge output — is action required beyond completing the item, or is the item completion itself sufficient? - Uncertainty: The wiki publish pipeline constitutes an additional, implicit storage location for
knowledgeoutputs that is not described in the output type taxonomy. The taxonomy does not distinguish between knowledge that lives only inResearch/completed/and knowledge that is also published to the wiki.
Open Questions
- Should AGENTS.md document a handling procedure for
skilloutputs with the same specificity as it documentstooloutputs — including the directory structure, SKILL.md format, and how to commit to the external Skills repo? - Should the
agentoutput type have a designated storage location (e.g., anagents/directory at the repo root) and a documented handling procedure? - Should the
knowledgetype be clarified to distinguish "the completed item itself is the knowledge artifact" from "a separate ADR, README update, or wiki note was also produced"?